﻿/// <reference path="jquery.min-vsdoc.js" />

jQuery(document).ready(function() {
    jQuery("a.window-open,a[@rel='invoice']").click(function() {
        window.open(this.href, "_blank");
        return false;
     });
});


/*
* Dynamic Menu
* Written by Andy Peatling - http://www.cssdev.com/
* April 1, 2006.
* Edited by Matthew Butt
* 16 October 2006
*/

// CHANGE: implemented as static methods of a holder object
var AnimateMenu = {
    collapseMenu: function(node) {
        if (!document.getElementById) return false;
        if (!document.getElementById("menu")) return false;
        if (!node) node = document.getElementById("menu");

        if (node.childNodes.length > 0) {
            for (var i = 0; i < node.childNodes.length; i++) {
                var child = node.childNodes[i];
                if (child.nodeName == "UL") {
                    child.style.display = "none";
                }
                AnimateMenu.collapseMenu(child);
            }
            // CHANGE add next block
            // This is a clunky fix, but just preventing the previous block from executing >>
            // when (node.className.indexOf("selected") < 0) gives rendering problems in IE.
            for (var i = 0; i < node.childNodes.length; i++) {
                var child = node.childNodes[i];
                if (child.nodeName == "UL" && node.className.indexOf("selected") >= 0) {
                    child.style.display = "";
                }
            }
        }
    },
    prepareMenu: function() {
        if (!document.getElementById || !document.getElementsByTagName) return false;
        if (!document.getElementById("menu")) return false;

        var links = document.getElementById("menu").getElementsByTagName("a");
        for (var i = 0; i < links.length; i++) {
            // CHANGE: implemented addEvent
            addEvent(links[i], "onclick", function() {
                // CHANGE next line instead of ff.
                return AnimateMenu.toggleMenu(this.parentNode.getElementsByTagName("UL")[0], this.href);
                // toggleMenu(this.parentNode.getElementsByTagName("UL")[0], this.href);
                // return false;
            });
        }
    },
    toggleMenu: function(node, link) {
        if (!document.getElementById) return false;
        if (!link) return false;
        // CHANGE next line instead of f.
        if (!node) return true;
        // if (!node) location.href = link.href;
        // Collapse all nodes, and only show clicked node (when clicking top level of menu)
        if (node.parentNode.parentNode.id == "menu") {
            AnimateMenu.hideTopLevels();
        }

        if (node.style.display == "") {
            //Effect.BlindUp(node, {duration: 0.2});
        } else {
            Effect.BlindDown(node, { duration: 0.2 });
        }
        return false;
    },
    hideTopLevels: function() {
        if (!document.getElementById) return false;
        if (!(node = document.getElementById("menu"))) return false;

        if (node.childNodes.length > 0) {
            for (var i = 0; i < node.childNodes.length; i++) {
                var child = node.childNodes[i];
                for (var j = 0; j < child.childNodes.length; j++) {
                    var grandchild = child.childNodes[j];
                    if (grandchild.nodeName == "UL") {
                        if (grandchild.style.display == "") {
                            Effect.BlindUp(grandchild, { duration: 0.2 });
                        }
                    }
                }
            }
        }
    },
    doAnimateMenu: function() {
        AnimateMenu.collapseMenu();
    }
}

addDOMLoadEvent(AnimateMenu.doAnimateMenu);
addDOMLoadEvent(AnimateMenu.prepareMenu);
