﻿//************************************************************************************************************		
//** MENU FUNCTIONS     		
//************************************************************************************************************	
	
	var oTimer=new Object;
	var filterTimer=0;
		
    function showMenu(strType) {
 	
	    clearMenuTimeout(strType);
    	
	    // Close Previous Type
	    for(var i in oTimer) {
 	
		    document.getElementById("div"+i).style.display="none";
	    }
	  
	    filterTimer=window.setTimeout('maintainFilters(false);',200);
	    			
	    // Open Selected
	    document.getElementById("div"+strType).style.display="block";
    }

    function setMenuTimeout(strType, intPassTime) {
        
        if(!intPassTime) intPassTime=500;
        
        eval('oTimer.'+strType.toUpperCase()+'=window.setTimeout("closeMenus(\''+strType+'\');",'+intPassTime+')')
    }

    function clearMenuTimeout(strType) {
        
        eval('window.clearTimeout(oTimer.'+strType.toUpperCase()+');')
    }

    function closeMenus(strType) {
        
        filterTimer=window.setTimeout('maintainFilters(true);',500);
               
        document.getElementById("div"+strType).style.display="none";
        eval('window.clearTimeout(oTimer.'+strType.toUpperCase()+');')
    }
    
    function menuLoad(xmlDoc) {  
    
        var arrNav=new Array();
            
        arrNav[arrNav.length]='<ul>';
        
        if(document.implementation.createDocument) {

            // KW 11/07/2008 Move span inside DIV to fix firefox 3 layout bug
            arrNav[arrNav.length] = '<li><div class="nav_option"><a href="' + getSingleNodeAttribute('//PULLDOWNMENU/HOME', 'url', xmlDoc) + '" class="nav_option_text" style="cursor:pointer;">' + getSingleNodeAttribute('//PULLDOWNMENU/HOME', 'value', xmlDoc).toLowerCase() + '</a><span class="nav_option_text">|</span></div></li>';
   
            var xmlRows=xmlDoc.evaluate("//PULLDOWNMENU/MENU", xmlDoc, null, XPathResult.ANY_TYPE, null);

            var xmlRow =  xmlRows.iterateNext(); 

            while (xmlRow) { 
                
                 if (getSingleNodeAttribute('','visible', xmlDoc, xmlRow).toUpperCase()=='TRUE') {
                 
                    var tagData = getSingleNodeAttribute('','tag', xmlDoc, xmlRow);
                    var valueTopData = getSingleNodeAttribute('', 'value', xmlDoc, xmlRow).toLowerCase();

                    // KW 02/06/2010 Allow url link from top level menu
                    var urlTopData = getSingleNodeAttribute('', 'url', xmlDoc, xmlRow);
                   
                    eval('oTimer.'+tagData+'=0');

                    arrNav[arrNav.length]='<li>';
                    arrNav[arrNav.length]='<div id="div'+tagData+'" class="nav_option_menu" onmouseover="clearMenuTimeout(\''+tagData+'\');" onmouseout="setMenuTimeout(\''+tagData+'\');">';
                    arrNav[arrNav.length]='<table cellpadding="0" cellspacing="0" border="0">';

                    var xmlRows2=xmlDoc.evaluate("ITEM", xmlRow, null, XPathResult.ANY_TYPE, null);
                    
                    var xmlRow2 =  xmlRows2.iterateNext(); 
                    
                    while (xmlRow2) { 
                     
                        var valueData=getSingleNodeAttribute('','value', xmlDoc, xmlRow2);
                        var visibleData=getSingleNodeAttribute('','visible', xmlDoc, xmlRow2);
                        var lastItemData=getSingleNodeAttribute('','lastItem', xmlDoc, xmlRow2); 
                        var urlData=getSingleNodeAttribute('','url', xmlDoc, xmlRow2); 
                                                
                        if(visibleData.toUpperCase()=='TRUE') {
                        
                            var sOnClick=' onclick="window.location=\''+urlData+'\';" ';
                            
                            if(urlData.toUpperCase().indexOf('ACTIONGRID') > -1) {
                            
                                var sOnClick=' onclick="'+urlData+'closeMenus(\''+tagData+'\');" ';
                            }
                        
                            if(lastItemData.toUpperCase()=='FALSE') {
                            
                                arrNav[arrNav.length]='<tr><td class="nav_option_menu_item" '+sOnClick+' onmouseover="this.style.backgroundColor=\'#B5AEB5\';this.style.color=\'#FFFFFF\';" onmouseout="this.style.backgroundColor=\'#F8F8F8\';this.style.color=\'#000000\';">'+valueData.replace(/ /g,'&nbsp;')+'</td></tr>';    
                            }
                            else {
                                arrNav[arrNav.length]='<tr><td class="nav_option_menu_item_bottom" '+sOnClick+' onmouseover="this.style.backgroundColor=\'#B5AEB5\';this.style.color=\'#FFFFFF\';" onmouseout="this.style.backgroundColor=\'#F8F8F8\';this.style.color=\'#000000\';">'+valueData.replace(/ /g,'&nbsp;')+'</td></tr>';    
                            }
                        }
                                                    
                        xmlRow2 = xmlRows2.iterateNext(); 
                    }
                    
                    arrNav[arrNav.length]='</table></div>';

                    // KW 11/07/2008 Move span inside DIV to fix firefox 3 layout bug
                    // KW 02/06/2010 Allow url link from top level menu
                    arrNav[arrNav.length] = '<div class="nav_option" onclick="showMenu(\'' + tagData + '\')" onmouseover="showMenu(\'' + tagData + '\');" onmouseout="setMenuTimeout(\'' + tagData + '\',100);"><a href="' + urlTopData + '" class="nav_option_text" ' + (urlTopData == '#' ? '' : 'style="cursor:pointer;"') + '>' + valueTopData + '</a><span class="nav_option_text">|</span></div>';
			        arrNav[arrNav.length]='</li>';			    	
                                     
                 }
                 
                xmlRow = xmlRows.iterateNext(); 
            }
            
            arrNav[arrNav.length]='</ul>';
  
            document.getElementById('divNavigator').innerHTML=arrNav.join("");
        }
        else {

            // KW 11/07/2008 Move span inside DIV to fix firefox 3 layout bug
            arrNav[arrNav.length] = '<li><div class="nav_option"><a href="' + getSingleNodeAttribute('//PULLDOWNMENU/HOME', 'url', xmlDoc) + '" class="nav_option_text" style="cursor:pointer;">' + getSingleNodeAttribute('//PULLDOWNMENU/HOME', 'value', xmlDoc).toLowerCase() + '</a><span class="nav_option_text">|</span></div></li>';
      
            var xmlRows=xmlDoc.selectNodes('//PULLDOWNMENU/MENU');
            
            for(var xmlRow = xmlRows.nextNode(); xmlRow; xmlRow = xmlRows.nextNode()) {
                
                if(getSingleNodeAttribute('','visible', xmlRow).toUpperCase()=='TRUE') {
                    
                    var tagData=getSingleNodeAttribute('','tag', xmlRow);
                    var valueTopData = getSingleNodeAttribute('', 'value', xmlRow).toLowerCase();

                    // KW 02/06/2010 Allow url link from top level menu
                    var urlTopData = getSingleNodeAttribute('', 'url', xmlRow);

                    eval('oTimer.'+tagData+'=0');
                    
                    arrNav[arrNav.length]='<li>';
                    arrNav[arrNav.length]='<div id="div'+tagData+'" class="nav_option_menu" onmouseover="clearMenuTimeout(\''+tagData+'\');" onmouseout="setMenuTimeout(\''+tagData+'\');">';
                    arrNav[arrNav.length]='<table cellpadding="0" cellspacing="0" border="0">';
                    
                    var xmlRows2=xmlRow.selectNodes('ITEM');
                    
                    for(var xmlRow2 = xmlRows2.nextNode(); xmlRow2; xmlRow2 = xmlRows2.nextNode()) {
                    
                        var valueData=getSingleNodeAttribute('','value', xmlRow2).toLowerCase();
                        var visibleData=getSingleNodeAttribute('','visible', xmlRow2);
                        var lastItemData=getSingleNodeAttribute('','lastItem', xmlRow2); 
                        var urlData=getSingleNodeAttribute('','url', xmlRow2); 
                                                 
                        if(visibleData.toUpperCase()=='TRUE') {
                            
                            var sOnClick=' onclick="window.location=\''+urlData+'\';" ';
                            
                            if(urlData.toUpperCase().indexOf('ACTIONGRID') > -1) {
                            
                                var sOnClick=' onclick="'+urlData+'" ';
                            }
                                                       
                            if(lastItemData.toUpperCase()=='FALSE') {
                            
                                arrNav[arrNav.length]='<tr><td class="nav_option_menu_item" '+sOnClick+' onmouseover="this.style.backgroundColor=\'#B5AEB5\';this.style.color=\'#FFFFFF\';" onmouseout="this.style.backgroundColor=\'#F8F8F8\';this.style.color=\'#000000\';">'+valueData.replace(/ /g,'&nbsp;')+'</td></tr>';    
                            }
                            else {
                                arrNav[arrNav.length]='<tr><td class="nav_option_menu_item_bottom" '+sOnClick+' onmouseover="this.style.backgroundColor=\'#B5AEB5\';this.style.color=\'#FFFFFF\';" onmouseout="this.style.backgroundColor=\'#F8F8F8\';this.style.color=\'#000000\';">'+valueData.replace(/ /g,'&nbsp;')+'</td></tr>';    
                            }
                        }
                    }

                    arrNav[arrNav.length] = '</table></div>';

                    // KW 11/07/2008 Move span inside DIV to fix firefox 3 layout bug
                    // KW 02/06/2010 Allow url link from top level menu
                    arrNav[arrNav.length] = '<div class="nav_option" onclick="showMenu(\'' + tagData + '\')" onmouseover="showMenu(\'' + tagData + '\');" onmouseout="setMenuTimeout(\'' + tagData + '\',100);"><a href="' + urlTopData + '" class="nav_option_text" ' + (urlTopData == '#' ? '' : 'style="cursor:pointer;"') + '>' + valueTopData + '</a><span class="nav_option_text">|</span></div>';
			        arrNav[arrNav.length]='</li>';		
                }
            }
            
            arrNav[arrNav.length]='</ul>';
  
            document.getElementById('divNavigator').innerHTML=arrNav.join("");
        }
        
        // ** Add LOGOUT Code
        var arrNav=new Array();
    
        arrNav[arrNav.length]='<ul>';
        arrNav[arrNav.length]='<li><a class="logout" href="JavaScript: PerformLogoff();">'+getSingleNodeAttribute('//LANGUAGESYSTEM/LOGOUT', 'Label', xmlDoc).toLowerCase()+'</a><a id="siteLogout" nohref></a></li>';
        arrNav[arrNav.length]='</ul>';
							    
        document.getElementById('divLogOut').innerHTML=arrNav.join("");
        
        if(document.getElementById('bread_crumb')) {
            document.getElementById('bread_crumb').href=window.location.href;
        }
    }
