
            function menuHover(id, hide) 
            {
                var d = document.getElementById(id);
                
                if(hide !=0)
                {
                    d.style.display='block';
                }
                else
                {
                    d.style.display='none';
                }
            }
            
            
            function levelOneSelectedHover(hide) 
            {
                var d = document.getElementById('test');
                var className = d.className;
                
                if(d)
                {
                    if(hide !=0)
                    {
                        d.className="grayBox";
                    }
                    else
                    {
                        d.className="noGrayBox";
                    }
                }
                /*alert(d.className + "-" + d.style.border);*/
            }
            
            // handle debug output
            function debugOutput(debug)
            {
               if(document.getElementById("debug")&&debug)
               {
                    document.getElementById("debug").style.display='block';
                    document.getElementById("debug").innerHTML=debug;
               }
            }
            
            function getLevels()
            {
                var d = document.getElementById("DivNavigationSource");
                var level1Found = 1;
                var level1Str = ""; // holds all menu level1 
                var getAllTags;
                var levelsStr = "";  // hold all other menu levels 
                var innerElemetHtml = "";
                
               getAllTags = d.getElementsByTagName("div");
               //debugOutput(d.innerHTML);
                // find and save all level1 menues
                for (k = 0 ; k < getAllTags.length ; k++) 
	            {
  	                 innerElemetHtml = "" + getAllTags[k].innerHTML;               
	                
	                if(innerElemetHtml.match("level1"))
	                {         
               	        // save level1 menu content
	                    level1Str += innerElemetHtml + "#¤";
	                }
	           }     
	           
	           var levelOneCounter=0; 
               // find and sort all menu levels diferent form level1
                for (k = 0 ; k < getAllTags.length ; k++) 
	            {
	                var nextElemetCounter = k + 1; // get the number of the next element	    
	                                    
	                innerElemetHtml = getAllTags[k].innerHTML;
	                
	                /*if(nextElemetCounter == getAllTags.length)
	                {
	                    innerElemetHtml="";
	                }*/
	                
	                //alert(innerElemetHtml);
	                // if this element contains level1, find all subMenus 
	                if(innerElemetHtml.match("level1"))
	                {	
	                    //alert(k +" -" + nextElemetCounter + " level1 Found");
	                    //get the next tag 
	                    if(nextElemetCounter == getAllTags.length)
	                    {
	                        levelsStr += "#¤";
	                        endLoop=0;
	                    }
	                    else
	                        innerElemetHtml = getAllTags[nextElemetCounter].innerHTML;
	                    
	                    //alert(getAllTags[9].innerHTML);
	                    // chek for sub menues 
	                    if(!innerElemetHtml.match("level1"))
	                    {
	                        var endLoop=1;
	                        var subLevelCounter=0;
	                        
	                        do
	                        {
	                            // get the nex element
	                            if(nextElemetCounter >= getAllTags.length)
	                            {
	                                endLoop=0; // end loop
	                                //alert("End Loop" + nextElemetCounter + (getAllTags.length - 2));
	                            }
	                            else
	                            {
	                                innerElemetHtml = getAllTags[nextElemetCounter].innerHTML;
	                             
	                                //alert( k + " -" + nextElemetCounter + innerElemetHtml);    
	                                //chek it
    	                            
	                                if(innerElemetHtml.match("level1"))
	                                {
	                                    // end loop
	                                    endLoop=0;
	                                    levelsStr += "#¤"; // separate menu content by #¤ tag 
	                                }
	                                else
	                                {
	                                    // get it 
	                                    //alert(nextElemetCounter + innerElemetHtml);
	                                    levelsStr += innerElemetHtml;
	                                    subLevelCounter ++;
	                                    //alert("next is:sublevel " + "" + k + "-" + nextElemetCounter + innerElemetHtml);
	                                }
	                                nextElemetCounter ++; 
	                             }
	                        }
	                        while(endLoop);
	                        
	                        //alert(subLevelCounter);
	                    }
	                    else
	                        levelsStr += "#¤"; // separate menu content by #¤ tag 
	                    
	                    //levelsStr += "#¤"; // separate menu content by #¤ tag 
	                    //alert(innerElemetHtml);
	                  }
                }
                
                renderLevels(level1Str,levelsStr);
                //alert(levelsStr);
                
            }
            
            function renderLevels( level1, levels )
            {
                var topMenuHtml = "";
                var menuStart ="<div id=TopNav>"
                var menuEnd ="</div>";
                var subMenuStart ="<div id=TopNavSub>"
                var subMenuEnd ="</div>";
               // alert(levels);
                
                // remove all span tags
                var subMenues = levels.split("#¤");
                var menues = level1.split("#¤");
                //alert(menues.length + " " + subMenues.length);
                //alert(subMenues);
                
                //alert(subMenues[2]);
                for( i=0; i<menues.length-1; i++)
                {
                    //alert(menues.length-1 + "-" + i);
                    //subMenues[i]= subMenues[i].replace(/span/gi,"div");
                    menues[i]= menues[i].replace(/span/gi,"div");
                    menues[i]= menues[i].replace(/level1/gi,"menu"+i);                   
                }
                   
                // construct the menu.
                for( i=0; i< 6; i++)
                {
                    var menuID = "TopNav" + i;
                    var subMenuID = "TopNavSub" + i;
                    var menuHoverScript ="onmouseover=\"javascript:menuHover('TopNavSub" + i +"',1); \"   onmouseout=\"javascript:menuHover('TopNavSub" + i +"',0); \""; 
                    var emtyMenu="<div class=menu" + i + " ></div>";
                    //alert(menues.length-1 + "-" + i);
                    
                    if(i==4)
                    {
                       topMenuHtml += menuStart.replace(/TopNav/,"TopNavEmty")  + menuEnd;
                    }
                    
                    if (i >= menues.length-1) 
                    {
                        topMenuHtml += menuStart.replace(/TopNav/,menuID) +  emtyMenu + menuEnd;
                    }
                    else
                    { 
                        if(subMenues[i].length -1 < 1)
                            topMenuHtml += menuStart.replace(/TopNav/,menuID) + menues[i] + menuEnd;
                        else
                            topMenuHtml += menuStart.replace(/TopNav/,menuID + " " + menuHoverScript ) + menues[i]+ subMenuStart.replace(/TopNavSub/, subMenuID ) +  subMenues[i] + subMenuEnd + menuEnd;
                        //alert(menuStart.replace(/TopNav/,"TopNav"+i) + " - " + menuID);
                    }
                    
                }
                
                //render the generated html
                
                document.getElementById("topNav").innerHTML = topMenuHtml; 
            }
            
             //--------------------------
              //print page content            
		    function printSite(){
			    
			    var myLink = new String(window.location);
			    var linkParts = myLink.split("?");
			    //var queryParts = linkParts[1].split("&");
			    //alert(linkParts[1]);
			    //window.open('/webtop/site.asp?p=35&t=print');
			    window.open('/cms/site.asp?' + linkParts[1] + '&t=print&searchstring=');
		    }	
		    
		    function run()
		    {
		        //debugOutput("hello");
		        getLevels();
		        //levelOneSelectedHover(0);
		    }
		    
		    
		    window.onload = run; 
  
