// Added condition to check if user is in Edit Mode or Content Management Mode.
// Javascript is not run under Edit Mode to prevent occassional errors from occurring.
//
if (typeof(oFCKeditor) == 'undefined') {
    roundCorners();

    window.onload = makeDoubleDelegate(window.onload, resetSubMenu );// This statement ensures that any functions in the window.onload are not wiped out.

}
    var menuContainer = document.getElementById("horizmenu");
    function menuLoad(){
        BrowserDetect.init();
        if(BrowserDetect.browser == "Firefox" || BrowserDetect.browser == "Safari" || BrowserDetect.browser == "Mozilla") {
    	    var menuLeft = document.getElementById("leftMenuImage");
    	    var menuMain = document.getElementById("Menucontent");
    	    var menuRight = document.getElementById("rightMenuImage");
    	    //all settings below had changed from 23px to 26px
    	    menuLeft.style.marginTop = "26px"; 
    	    menuMain.style.marginTop = "26px";
    	    menuRight.style.marginTop = "26px";
    	   }
    	
	    var menuItemsULs;
	    var menuItemsLIs;
      var openMenuID = retrieveParameter('openMenu');
	    var menuWidth = 0;
    	
   	  menuItemsULs = menuContainer.getElementsByTagName("ul");	
	    menuItemsLIs = menuContainer.getElementsByTagName("li");	
	    
	    for(var i=0;i<menuItemsLIs.length;i++){
		    var elem = document.getElementById(menuItemsLIs[i].id);
		    if (elem.className.substr(0,11) == 'CMSListMenu') {
			    menuWidth += document.getElementById(elem.id).offsetWidth;// Menu items’ width are added together to obtain the total menu width.
			    elem.style.height = '30px';// FireFox needs to set height since line-height does not affect FireFox span height which is a child of CMSListMenuLI that have sub menus.  The line-height is set via the CMSListMenuLink class using CSS.
		    }
		    if (elem.className.substr(0,23) == 'SubCMSListMenuNewWindow' ) {
		      elem.onclick = function(){window.open(this.childNodes[0].href,'newwin'); return false;};// This code is added to menu items with links to urls pointing outside this website so that it will open in a new window.
		    } else {elem.onclick = openAndCloseSubMenu;}
	    }
	    for(var i=0;i<menuItemsULs.length;i++){
		    var elem = document.getElementById(menuItemsULs[i].id);
		    if (elem.className == 'SubCMSListMenuUL' ) {
		        //Set display on submenus in order to measure size for positioning
			    var closeSubMenu = true; // Keeps sub menu close if they were originally close.
			    if (elem.style.display == 'inline-block' || elem.style.display == '-moz-inline-block') {
			        closeSubMenu = false; // Keeps sub menu open if they were originally open.
			    } else {
			        if(BrowserDetect.browser == "Firefox" && BrowserDetect.version <= 2){
			            elem.style.display = '-moz-inline-block';
			        }		        
			        else { 
    			        elem.style.display = 'inline-block';
                    }
			    }
			    // Sub menu elem needs to have display in inline-block mode in order to measure position properly.
			    elem.style.left = setSubMenuPositions(elem, menuWidth);
			    //alert("elem.style.left: " + elem.style.left);
			    //elem.style.display = 'none';
			    elem.style.visibility = 'visible';//Makes sub menu item visible after hidden by CSS. CSS makes submenu hidden to prevent it from appearing initially.
			    if (elem.id == openMenuID) {
			        if(BrowserDetect.browser == "Firefox" && BrowserDetect.version <= 2){
			            elem.style.display = '-moz-inline-block';
			         } 
			         else {
			            elem.style.display = 'inline-block';
			         }
			         elem.parentNode.className = "OpenCMSListMenuHighlightedLI";
			         setUpArrowImage(elem.parentNode);
			    } else {
			  
			        if (closeSubMenu) {
			            document.getElementById(elem.id).style.display = 'none';
			        } else {
			            if(BrowserDetect.browser == "Firefox" && BrowserDetect.version <= 2){
			                document.getElementById(elem.id).style.display = '-moz-inline-block';
			            } 
			            else {
			                document.getElementById(elem.id).style.display = 'inline-block';
			            }
			         }
			    }
		    }
	    }
	    // Keeps menu open when sub menu page non-menu links are clicked.
	    var pageContainer = document.getElementById("staterbroscontentwrap");
	    var nonMenuLinks = pageContainer.getElementsByTagName("a");
	    for(i=0;i<nonMenuLinks.length;i++){
	        if (openMenuID == null || openMenuID == "") {
	        } else {
    		    if (nonMenuLinks[i].className == 'NonMenuLinks'||nonMenuLinks[i].className == 'CMSBreadCrumbsLink') {nonMenuLinks[i].onclick = function(){this.href += "?openMenu=" + openMenuID;};}
                // Gallery Links use a query string so an ampersand must be used to add the openMenu parameter.
	    	    if (nonMenuLinks[i].className == 'NonMenuLinksGallery') {nonMenuLinks[i].onclick = function(){this.href += "&openMenu=" + openMenuID;};}
     	    }
	    }
	    window.onresize = resetSubMenu;
    }
    // Removes last image from "horizmenu" which is added by Kentico
    function removeExtraImage() 
    {if(menuContainer.childNodes[menuContainer.childNodes.length-2].nodeName == "img"||menuContainer.childNodes[menuContainer.childNodes.length-2].nodeName == "IMG") 
      {menuContainer.childNodes[menuContainer.childNodes.length-2].style.display='none';}
    }

    function setSubMenuPositions(elem, menuWidth) {
        
	    menuContainer = document.getElementById("horizmenu");

	    var subMenuWidth = 0;
	    var subMenuWidthText = "";

	    for(var n=0;n < document.getElementById(elem.id).childNodes.length;n++){
	        // check for null or undefined objects
	        if(document.getElementById(elem.id).childNodes[n].offsetWidth){ 
	            subMenuWidth += document.getElementById(elem.id).childNodes[n].offsetWidth;
	        }
	    }

        //alert("subMenuWidth: " +  subMenuWidth);
 	    var elemWidth = subMenuWidth; //document.getElementById(elem.id).offsetWidth;
	    var parentWidth = document.getElementById(elem.id).parentNode.offsetWidth;
        //alert("parentWidth: " +  parentWidth);
	    var elemMid = Math.round((elemWidth/2));
	    var parentMid = Math.round((parentWidth/2));
	    var elemFirstChildOffsetLeft = 0;
	    var menuContainerWidth = menuContainer.offsetWidth;
	    
	    for(var n=0;n < menuContainer.childNodes.length;n++){
	    //comment out for WCAG 2 A CSS for ADA retrofit 9-15-09 this only affect the top menu
	        //if (menuContainer.childNodes[n].id == "menuElem") {
	          if (menuContainer.childNodes[n].id == "cmslistmenu") {
	            //alert("menuContainer.childNodes[" + n + " ].id: " + menuContainer.childNodes[n].id);
	            if (menuContainer.childNodes[n].childNodes[0].offsetLeft) {
	                elemFirstChildOffsetLeft = menuContainer.childNodes[n].childNodes[0].offsetLeft;
                    //alert("elemFirstChildOffsetLeft: " + elemFirstChildOffsetLeft);
	            }
	        }
	    }

        if(BrowserDetect.browser == "Firefox" || BrowserDetect.browser == "Safari" || BrowserDetect.browser == "Mozilla") {
            var menuLeft = document.getElementById("horizmenu").offsetLeft + elemFirstChildOffsetLeft;
        }  
        else
        {
            var menuLeft = document.getElementById("websitecontainer").offsetLeft + elemFirstChildOffsetLeft + document.getElementById("headercontainer").offsetLeft;
        }
        
	    var menuRight = document.getElementById("websitecontainer").offsetLeft + menuContainerWidth;
        if(BrowserDetect.browser == "Firefox" || BrowserDetect.browser == "Safari" || BrowserDetect.browser == "Mozilla") {
            var elemLeftOffSet = document.getElementById("websitecontainer").offsetLeft + document.getElementById(elem.id).parentNode.offsetLeft + document.getElementById(elem.id).parentNode.offsetWidth;
        }  
        else
        {
            var elemLeftOffSet = document.getElementById("websitecontainer").offsetLeft + document.getElementById(elem.id).parentNode.offsetLeft + document.getElementById(elem.id).parentNode.offsetWidth + document.getElementById("headercontainer").offsetLeft;
        }

        //alert("elemLeftOffSet: " + elemLeftOffSet + " / elemMid: " + elemMid + " / parentMid: " + parentMid + " / document.getElementById('headercontainer').offsetLeft: " + document.getElementById("headercontainer").offsetLeft);
        if(BrowserDetect.browser == "Firefox" || BrowserDetect.browser == "Safari" || BrowserDetect.browser == "Mozilla") {
    	    var elemLeft = (elemLeftOffSet - elemMid - parentMid - document.getElementById("headercontainer").offsetLeft + 2);
        } 
        else {
    	    var elemLeft = (elemLeftOffSet - elemMid - parentMid + 19);
        }

        var elemRight = (elemLeft + elemWidth);
        //alert("elemLeft: " + elemLeft + " / menuLeft: " + menuLeft);

	    if (elemLeft < menuLeft) {elemLeft = menuLeft;} 

        if(BrowserDetect.browser == "Firefox" || BrowserDetect.browser == "Safari" || BrowserDetect.browser == "Mozilla"){elemLeft = elemLeft + "px";elemRight = elemRight + "px";}

	    return elemLeft;
    }

    function openAndCloseSubMenu(e) {

	    if (!e) {var e = window.event;}
	    // v-- Checks for event from sub link. If is a sub menu link event, the new page is launched.--v
        // Inner element sub menu click creates two events. Once during capture phase and the other during bubble phase.
	    // This command stops second event and prevents double concatenation of menu id to query string.	
	    if (e.target) {
	        e.stopPropagation();
	        if (e.target.className =='SubCMSListMenuLink'||e.target.className =='SubCMSListMenuLinkHighlighted') 
	        {if (this.nodeName == "li"||this.nodeName == "LI") 
	          {if (this.parentNode.id != null) 
	            {this.childNodes[0].href += "?openMenu=" + this.parentNode.id;}return;
	            }
	          }
	        } 
	    else {
	        // IE Browser
		    // Inner element sub menu click creates two events. Once during capture phase and the other during bubble phase.
		    // This command stops second event and prevents double concatenation of menu id to query string.
		    e.cancelBubble = true;
		 
		    if ( e.srcElement.className =='SubCMSListMenuLink'||e.srcElement.className =='SubCMSListMenuLinkHighlighted') 
		    {if (this.nodeName == "li"||this.nodeName == "LI") 
		      {if (this.parentNode.id != null) 
		        {this.childNodes[0].href += "?openMenu=" + this.parentNode.id;}return;
		        }
		      }
	    }
	    // ^-- Checks for event from sub link. If is a sub menu link event, the new page is launched.--^
	    // Opens sub menu for menu item when not a sub menu link event.
	    var elem = this;
	    for(i=0;i<elem.childNodes.length;i++){
		    if (elem.childNodes[i].nodeName == "ul"||elem.childNodes[i].nodeName == "UL") {
		        //alert("display: " + elem.childNodes[i].style.display);
			    if (elem.childNodes[i].style.display == 'inline-block'|| elem.childNodes[i].style.display == '-moz-inline-block') 
			    {
			        document.getElementById(elem.id).childNodes[i].style.display = 'none';
			        setDownArrowImage(elem);
			        //document.getElementById(elem.id).style.height = '30px';
				    document.getElementById(elem.id).style.height = 'auto';
		
			        if (document.getElementById(elem.id).className == "CMSListMenuHighlightedLI"||document.getElementById(elem.id).className == "OpenCMSListMenuHighlightedLI"||document.getElementById(elem.id).className == "ClosedCMSListMenuHighlightedLI") 
			        {
			            if (document.getElementById(elem.id).className == "OpenCMSListMenuHighlightedLI") 
			            {
			                document.getElementById(elem.id).className = "ClosedCMSListMenuHighlightedLI";
			            }
			         } else {
			     
			                    document.getElementById(elem.id).className = "CMSListMenuLI";
			         }
			    } else {
			        //alert("Browser: " + BrowserDetect.browser + "Version: " + BrowserDetect.version);
			        if(BrowserDetect.browser == "Firefox" && BrowserDetect.version <= 2) {
				    // Height needs to be set to auto in order to see sub menus. 
				    // This assignment needed due to Fire Fox glitch, see notes under menuLoad().
					    document.getElementById(elem.id).childNodes[i].style.display = '-moz-inline-block';
					    document.getElementById(elem.id).style.height = '30px';
				    } else {
				        document.getElementById(elem.id).childNodes[i].style.display = 'inline-block';
				        document.getElementById(elem.id).style.height = '30px';
				    }
				    setUpArrowImage(elem);
				    if (document.getElementById(elem.id).className == "ClosedCMSListMenuHighlightedLI") 
				    {
				        document.getElementById(elem.id).className = "HoldClosedCMSListMenuLI";
				    } else {
				        document.getElementById(elem.id).className = "HoldCMSListMenuLI";
				    }
				    
				    closeAllSubMenus ();
			    }
		    }
	    }
    }

    function closeAllSubMenus () 
    { var menuItemsULs;
      var menuContainer = document.getElementById("horizmenu");
      menuItemsULs = menuContainer.getElementsByTagName("ul");
    
	    for(i=0;i<menuItemsULs.length;i++)
	      {var elem = document.getElementById(menuItemsULs[i].id);
	        if(elem.parentNode.className == "HoldCMSListMenuLI") 
	          {elem.parentNode.className = "OpenCMSListMenuLI";} 
	          else if (elem.parentNode.className == "HoldClosedCMSListMenuLI"||elem.parentNode.className == "OpenCMSListMenuHighlightedLI"||elem.parentNode.className == "ClosedCMSListMenuHighlightedLI") 
	            {if (elem.parentNode.className == "OpenCMSListMenuHighlightedLI") 
	              {elem.style.display = 'none';
	                elem.parentNode.className = "ClosedCMSListMenuHighlightedLI";
	                setDownArrowImage(elem.parentNode);
	              } else {if (elem.parentNode.className == "HoldClosedCMSListMenuLI") 
	                        {elem.parentNode.className = "OpenCMSListMenuHighlightedLI";}
	                      }
	              } else {if (elem.className == 'SubCMSListMenuUL' ) 
	                        {elem.style.display = 'none';
	               
	                         elem.parentNode.className = "CMSListMenuLI";
	                         setDownArrowImage(elem.parentNode);}
	                      }
	            }
    }
    // Search for sub menu image indicator and replace with up arrow.
    function setUpArrowImage(elem)
    {for (j=0;j<elem.childNodes.length;j++)
    
      {if (elem.childNodes[j].nodeName == "img"||elem.childNodes[j].nodeName == "IMG")
        {
        elem.childNodes[j].src=prependAppPath("CMSWebParts/Navigation/Images/menuitemuparrow.gif");}
      }
    }
	// Search for sub menu image indicator and replace with up arrow.
    function setDownArrowImage(elem) 
    {for (j=0;j<elem.childNodes.length;j++) 
      {if (elem.childNodes[j].nodeName == "img"||elem.childNodes[j].nodeName == "IMG") 
        {elem.childNodes[j].src=prependAppPath("CMSWebParts/Navigation/Images/menuitemdownarrow.gif");}
      }
    }
    // Parses query string and returns value of name parameter.
    function retrieveParameter( name ) {  name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");var regexS = "[\\?&]"+name+"=([^&#]*)";var regex = new RegExp( regexS );var results = regex.exec( window.location.href );if( results == null ) {return "";  } else{return results[1];}}
    function storelocator () {document.location.href="/Bottom-Menu/Store-Locator.aspx?address=" + document.getElementById("addressinput").value + "&city=" + document.getElementById("cityinput").value + "&zip=" + document.getElementById("zipinput").value;}
    function resetSubMenu() 
    {window.onresize = null;
    divMotionId = setTimeout("menuLoad()", 100);
    }
    function toggleDiv(divid){if(document.getElementById(divid).style.display == 'none') {document.getElementById(divid).style.display = 'inline';document.getElementById('collapseImg').src=prependAppPath("CMSWebParts/Navigation/Images/open.gif");document.getElementById('collapseImg').alt="Hide Content"}else{document.getElementById(divid).style.display = 'none';document.getElementById('collapseImg').src=prependAppPath("CMSWebParts/Navigation/Images/close.gif");document.getElementById('collapseImg').alt="Show Content";}}
    function toggleDiv2(divid,collapseid,divclassopen,divclassclose){if(document.getElementById(divid).style.display == 'none'){document.getElementById(divid).style.display = 'block';document.getElementById(collapseid).className= divclassopen;document.getElementById(collapseid).alt="Hide Content";document.getElementById(collapseid).title="Hide Content";} else {document.getElementById(divid).style.display = 'none';document.getElementById(collapseid).className= divclassclose;document.getElementById(collapseid).alt="Show Content";document.getElementById(collapseid).title="Show Content";}}
    function setDefault(ctlZip, keyEvent){var characterCode;if(keyEvent && keyEvent.which){keyEvent = keyEvent;characterCode = keyEvent.which;}else{keyEvent = event;characterCode = keyEvent.keyCode; }if(ctlZip.value.length == 5){if(characterCode == 13){if(isNaN(ctlZip.value)){ alert("Please enter a valid Zip Code");ctlZip.value=""; ctlZip.focus();}else {document.getElementById("btnsubmit").focus();}}}else if(ctlZip.value.length > 5){alert("Please enter a valid Zip Code");ctlZip.value=""; ctlZip.focus();}else if(ctlZip.value.length < 5){if(characterCode == 13){alert("Please enter a valid Zip Code");ctlZip.focus();}}}

