if (!org) {
  var org = {} ;
  org.archomai = {} ;
  org.archomai.transMenus = {};
} else if (!org.archomai) {
    org.archomai = {};
    org.archomai.transMenus = {};
} else {
   org.archomai.transMenus = {};
}
org.archomai.transMenus.collapsibleMenuImages = {
        openImage : "/customer/images/navigation/minus.gif" ,
        closedImage : "/customer/images/navigation/plus.gif"
}
org.archomai.transMenus.standards = (document.getElementById && 
                    document.getElementsByTagName);
org.archomai.transMenus.MenuRegistry = {} ;
org.archomai.transMenus.Menu = function(id)  {
        this.id = id;
        this.menuElement = document.getElementById(id);
        this.timerId = null;
        this.isOpen = false;
        this.inLimbo = false;
        this.ancestorMenuIds = new Array();
        this.childrenMenuIds = new Array();
        this.gRef = this.id + "_Menu";
        eval(this.gRef + "=this");
        org.archomai.transMenus.MenuRegistry[this.id] = this;
        this.Hide = function() {
                if (this.timerId) this.timerId = window.clearTimeout(this.timerId);
                if (this.isOpen) {
                        this.menuElement.style.visibility = "hidden";
                   this.isOpen = false;
                }
        }
        this.ScheduleHide = function() {
                if (this.timerId) this.timerId = window.clearTimeout(this.timerId);
                this.timerId = window.setTimeout(this.gRef + ".Hide()",500);
        }
        this.HandleMouseOver = function() {
                if (this.inLimbo) {
                        this.menuElement.onmouseout = new Function("eval('org.archomai.transMenus.MenuRegistry[\"' + this.id + '\"].ScheduleHide()')");
                        this.inLimbo = false;
                }                
                if (this.timerId) {
                        this.timerId = window.clearTimeout(this.timerId);
                }
                if (!this.isOpen) {
                        for (var i in org.archomai.transMenus.MenuRegistry)  {
                                var qualified = true;
                                if (org.archomai.transMenus.MenuRegistry[i].id == this.id) qualified = false
                                else if (this.ancestorMenuIds.length>0) {
                                        for (var j = 0; j < this.ancestorMenuIds.length; j++) {
                                                if (org.archomai.transMenus.MenuRegistry[i].id == this.ancestorMenuIds[j]) qualified = false;                                
                                        }
                                }
                                if (qualified) org.archomai.transMenus.MenuRegistry[i].Hide();
                        }
                        this.isOpen = true;
                        this.inLimbo = true;
                        this.menuElement.style.visibility = "visible";
                        this.menuElement.onmouseover = new Function("eval('org.archomai.transMenus.MenuRegistry[\"' + this.id + '\"].HandleMouseOver()')");        
                }
          }
        this.HandleMouseDown = function() {
                if (this.menuElement.style.display == "none") {
                        this.menuElement.style.display = "block";
                        this.menuElement.parentNode.style.listStyleImage = 'url(' + org.archomai.transMenus.collapsibleMenuImages.openImage + ')';
                } else {
                        this.menuElement.style.display = "none";
                        this.menuElement.parentNode.style.listStyleImage = 'url(' + org.archomai.transMenus.collapsibleMenuImages.closedImage + ')';
                }
        }        
} ;
org.archomai.transMenus.ShowMenu = function(e)
{
        var eventTarget = (document.all) ? event.srcElement : e.target.parentNode;
        if (eventTarget.subMenu) org.archomai.transMenus.MenuRegistry[eventTarget.subMenu].HandleMouseOver();
} ;
org.archomai.transMenus.HideMenu = function(e) 
{
        var eventTarget = (document.all) ? event.srcElement : e.target.parentNode;
        if (eventTarget.subMenu) org.archomai.transMenus.MenuRegistry[eventTarget.subMenu].ScheduleHide();
} ;
org.archomai.transMenus.ExpandMenu = function(e) 
{
        var eventTarget = (document.all) ? event.srcElement : e.target;
        if (eventTarget.subMenu) {
                org.archomai.transMenus.MenuRegistry[eventTarget.subMenu].HandleMouseDown();
                if (document.all) event.cancelBubble = true;
                if (e && !document.all) e.stopPropagation();
        }
} ;
org.archomai.transMenus.MenuSetup = function() 
{
        org.archomai.transMenus.SetStylesheet();
        var ListArray = document.getElementsByTagName("UL");
        var j = 0;
        for (var i=0;i<ListArray.length;i++) {
                if (ListArray[i].className == "popUpMenu") {
                        if (!ListArray[i].id) {ListArray[i].id = "Menu_" + j; j++ }
                        ListArray[i].style.position = "absolute";
                        ListArray[i].style.visibility = "hidden";
                        new org.archomai.transMenus.Menu(ListArray[i].id);
                        if (ListArray[i].parentNode.parentNode.className == "popUpMenu") {
                                org.archomai.transMenus.MenuRegistry[ListArray[i].id].ancestorMenuIds[0] = ListArray[i].parentNode.parentNode.id;
                                org.archomai.transMenus.MenuRegistry[ListArray[i].id].ancestorMenuIds = org.archomai.transMenus.MenuRegistry[ListArray[i].id].ancestorMenuIds.concat(org.archomai.transMenus.MenuRegistry[ListArray[i].parentNode.parentNode.id].ancestorMenuIds)                
                        }
                        var triggerElement = (ListArray[i].parentNode.firstChild.nodeType == 3) ? ListArray[i].parentNode : ListArray[i].parentNode.firstChild;
                        triggerElement.subMenu = ListArray[i].id;
                        if (triggerElement.addEventListener) {
                                triggerElement.addEventListener("mouseover",org.archomai.transMenus.ShowMenu,false);
                                triggerElement.addEventListener("mouseout",org.archomai.transMenus.HideMenu,false);
                        } else if (triggerElement.attachEvent) {
                                triggerElement.attachEvent("onmouseover",org.archomai.transMenus.ShowMenu);
                                triggerElement.attachEvent("onmouseout",org.archomai.transMenus.HideMenu);
                        }
                } else if (ListArray[i].className == "collapsibleMenu") {
                        if (!ListArray[i].id) {ListArray[i].id = "Menu_" + j; j++ }
                        new org.archomai.transMenus.Menu(ListArray[i].id);
                        ListArray[i].style.display = "none";
                        var triggerElement = ListArray[i].parentNode;
                        triggerElement.subMenu = ListArray[i].id;
                        triggerElement.style.listStyleImage = 'url(' + org.archomai.transMenus.collapsibleMenuImages.closedImage + ')';
                        if (triggerElement.addEventListener) {
                                triggerElement.addEventListener("click",org.archomai.transMenus.ExpandMenu,false);
                        } else if (triggerElement.attachEvent) {
                                triggerElement.attachEvent("onclick",org.archomai.transMenus.ExpandMenu);
                        }
                } else continue;
          }
        org.archomai.transMenus.SMDTimeout = window.setTimeout("org.archomai.transMenus.SetMenusDisplay()",1000);
} ;
org.archomai.transMenus.SetMenusDisplay = function() 
{
        if (org.archomai.transMenus.SMDTimeout) window.clearTimeout(org.archomai.transMenus.SMDTimeout);
        for (i in org.archomai.transMenus.MenuRegistry) {
                var trigger = org.archomai.transMenus.MenuRegistry[i].menuElement.parentNode;
                var offParLeft = (trigger.offsetParent) ? trigger.offsetParent.offsetLeft : 0;
                var offParTop = (trigger.offsetParent) ? trigger.offsetParent.offsetTop : 0;
                var x, y;
                if (trigger.parentNode.className == "popUpMenu") {
                        x = trigger.offsetLeft + trigger.parentNode.offsetWidth - 6;
                        y = trigger.offsetTop;
                } else {
                        x = trigger.offsetLeft + offParLeft;
                        y = trigger.offsetTop + trigger.offsetHeight + offParTop + 2;
                }
                org.archomai.transMenus.MenuRegistry[i].menuElement.style.left = x + "px";
                org.archomai.transMenus.MenuRegistry[i].menuElement.style.top = y + "px";
        }
} ;
org.archomai.transMenus.SetStylesheet = function() 
{
        var sheets = document.getElementsByTagName("LINK");
        for (var i=0;i<sheets.length;i++) {
                if (sheets[i].getAttribute("REL").toUpperCase().indexOf("STYLE")>-1 && 
                    sheets[i].getAttribute("TITLE").toUpperCase().indexOf("DEFAULT")>-1) {
                        sheets[i].disabled = true;
                } else if (sheets[i].getAttribute("REL").toUpperCase().indexOf("ALT")>-1 && 
                    sheets[i].getAttribute("TITLE").toUpperCase().indexOf("EXTENDED")>-1) {
                        if (document.all) {
                                var link = document.createElement('link'); 
                                link.rel = "stylesheet"; 
                                link.type = "text/css"; 
                                link.href = sheets[i].getAttribute("HREF"); 
                                var head = document.getElementsByTagName('head')[0]; 
                                head.appendChild(link);
                        } else {
                                sheets[i].disabled = false;
                        }
                }
        }
};
if (org.archomai.transMenus.standards) 
{
        if (window.addEventListener) {
                window.addEventListener("load",org.archomai.transMenus.MenuSetup,true);
                window.addEventListener("resize",org.archomai.transMenus.SetMenusDisplay,true);
        } else if (window.attachEvent){
                window.attachEvent("onload",org.archomai.transMenus.MenuSetup);
                window.attachEvent("onresize",org.archomai.transMenus.SetMenusDisplay);
        }
}
