﻿    var booPreloaded = false;
    var arrImageSrc = new Array();
    var arrImg = new Array();
    
    function SiteMenuPreload()
    {
        // populate array of image src values
        arrImageSrc.push('graphics/home_off.jpg','graphics/home_on.jpg','graphics/about_off.jpg','graphics/about_on.jpg','graphics/web_services_off.jpg','graphics/web_services_on.jpg','graphics/web_hosting_off.jpg','graphics/web_hosting_on.jpg','graphics/hosted_solutions_off.jpg','graphics/hosted_solutions_on.jpg','graphics/support_off.jpg','graphics/support_on.jpg','graphics/contact_off.jpg','graphics/contact_on.jpg');
        
        // loop through array, load image object via src property
        for(var i = 0; i < arrImageSrc.length; i++)
        {
            arrImg[i] = new Image();
            arrImg[i].src = arrImageSrc[i];
        }
        booPreloaded = true;
    }
    SiteMenuPreload();
 
    function MenuItem(MenuID, ParentItem)
	{ 
		this.MenuID = MenuID;
		this.ParentItem = ParentItem;
		this.ChildrenItems = new Array;
		
	    return this;	
	}
	
	function CreateNewMenuItem(MenuID, ParentItem) 
	{ 
			NewMenuItem = new MenuItem(MenuID, ParentItem);
			return NewMenuItem;
	}
		
    function ShowSubMenu(MenuID){
    
        //Hide all others on same level as specified menu
        var srchItem = FindItem(SiteMenu, MenuID);
        if(srchItem){
       
            
            //Hide all others on same level as specified menu
            var ParentItem = srchItem.ParentItem;
           
            var i = 0;
            for(;i<ParentItem.ChildrenItems.length;i++){
            
                if(ParentItem.ChildrenItems[i].MenuID!= MenuID){
                    //hide
                    HideSubMenu(ParentItem.ChildrenItems[i].MenuID);
                }
            }
            
            //Set HideAfterTimeout for specified menu and parent tree to false
            //And Set HideAfterTimeout for specified menu's parent tree to false
            for(;srchItem != null;){
                var hd = document.getElementById('hid' + srchItem.MenuID);
                if(hd)
                    hd.value = 'false';
                    
                srchItem = srchItem.ParentItem;
            }
            
        }
 
        //Show selected
        var sm = document.getElementById(MenuID);
        if(sm){
            sm.style.visibility = "visible";
            sm.style.position = 'absolute';
            sm.style.display = 'block';
        }
 
    }
    
    function HideSubMenu(MenuID){
    
        //hide specified menu
        var sm = document.getElementById(MenuID);
        if(sm){
            sm.style.visibility = "hidden";
            sm.style.display = 'none';
        }
    
        //set timeout to false
        var hd = document.getElementById('hid' + MenuID);
        if(hd)
            hd.value = 'false';
                
        //hide children
        var srchItem = FindItem(SiteMenu, MenuID);
        if(srchItem){
           
            var i = 0;
            for(;i<srchItem.ChildrenItems.length;i++){
                HideSubMenu(srchItem.ChildrenItems[i].MenuID)
            }
            
        }
        
    }
    
    function MenuRollout(MenuID){
       
        //Set HideAfterTimeout for specified menu to true
        var hd = document.getElementById('hid' + MenuID);
        if(hd){
            hd.value = 'true';
            setTimeout("HideSubMenuAfterTimeout('" + MenuID + "');",500);
        }
        
    }
    
    function HideSubMenuAfterTimeout(MenuID){
        var hd = document.getElementById('hid' + MenuID);
        if(hd){
            if(hd.value == 'true'){
                HideSubMenu(MenuID);
            }
        }
     
    }
    
    function KeepAlive(MenuID){
        //Hide all others on same level as specified menu
        var srchItem = FindItem(SiteMenu, MenuID);
        if(srchItem){
       
            //Set HideAfterTimeout for specified menu and parent tree to false
            //And Set HideAfterTimeout for specified menu's parent tree to false
            for(;srchItem != null;){
                var hd = document.getElementById('hid' + srchItem.MenuID);
                if(hd)
                    hd.value = 'false';
                    
                srchItem = srchItem.ParentItem;
            }
            
        }
        
    }
    
    function FindItem(SearchArray, MenuID){
    
        var i = 0;
        for(;i<SearchArray.length;i++){
            
            if(SearchArray[i].MenuID == MenuID){
                return SearchArray[i];
            }else{
                if(SearchArray[i].ChildrenItems.length > 0){
                    var retItem = FindItem(SearchArray[i].ChildrenItems,MenuID);
                    if(retItem)
                        return retItem;
                }
            }
            
        }
        
    }
    
     //************************************************************
    var SiteMenu = new Array;
    
    var root = CreateNewMenuItem('root', null);
    SiteMenu[SiteMenu.length] = root;
    
    
     function SetBannerImage(sNewImage){
            var imgBannerImage= document.getElementById('imgBannerImage');
            if(booPreloaded && imgBannerImage){
                imgBannerImage.src = sNewImage;
                imgBannerImage.style.display = 'block';
                imgBannerImage.style.visibility = 'visible';
                imgBannerImage.style.position = 'absolute';
            }
           
        }
        
        function ResetBannerImage(){
            var imgBannerImage= document.getElementById('imgBannerImage');
            if(booPreloaded && imgBannerImage){
                imgBannerImage.style.display = 'none';
                imgBannerImage.style.visibility = 'hidden';
            }
            
            
        }
        