﻿
var url=window.location.href;
var splitUrl=url.toLowerCase().split('privacy/');
var matchString;
var currentReveal;
var mainMenuState=0;
var originalSub;
var originalNav;
var theClose;
var originalSubUltimate;
var oldSub;
var oldLevel3;
var oldSubOn;
var oldSubClassName;
var navigationCount;
var flag = true;

//selectNavigation();
//init();

function selectNavigation(count)
{

 navigationCount=count;
//alert("count:"+navigationCount);
var newSplit=splitUrl[1].split('#')[0];
//alert(newSplit);
//alert(newSplit);
var newRegex=new RegExp(".aspx","i");
if(newSplit.match(newRegex))
{
    matchString="privacy/"+newSplit;
}
else
{
   matchString="privacy/"+newSplit+"default.aspx";
}
 
 //alert(matchString);
 var regex=new RegExp(matchString,"i");
 //alert(regex);
 var temp=0;
 var i=0;
 //alert(matchString);
     
 while(i<navigationCount)
 {
     //alert(document.getElementById("subNav"+i).getElementsByTagName('a').length);
     for (x=0; x<document.getElementById("subNav"+i).getElementsByTagName('a').length; x++)
     {
        //alert(document.getElementById("subNav"+i).getElementsByTagName('a')[x].href);
          if(document.getElementById("subNav"+i).getElementsByTagName('a')[x].href.match(regex))
          {
              document.getElementById("mainNav").getElementsByTagName('a')[i].className="on";
              document.getElementById("subNav"+i).className=document.getElementById("subNav"+i).className+"On";
              currentReveal=i;
	          originalSub=document.getElementById("subNav"+i);
	          originalNav=document.getElementById('mainNav').getElementsByTagName('a')[i];
              
              if(document.getElementById("subNav"+i).getElementsByTagName('a')[x].className!="")
              {
              //alert("insideif"+i);
              document.getElementById("subNav"+i).getElementsByTagName('a')[x].className=document.getElementById("subNav"+i).getElementsByTagName('a')[x].className+"On";
              
              originalSubUltimate=document.getElementById("subNav"+i).getElementsByTagName('a')[x];
              }
              else
              {
                for(var j=x;x>=0;j--)
                {
                    if(document.getElementById("subNav"+i).getElementsByTagName('a')[j].className=="withSubs")
                    {
                        document.getElementById("subNav"+i).getElementsByTagName('a')[j].className=document.getElementById("subNav"+i).getElementsByTagName('a')[j].className+"On";
                        originalSubUltimate=document.getElementById("subNav"+i).getElementsByTagName('a')[j];
                        break;
                    }
                }
              }
              i=navigationCount;
              temp=1;
              break;
          }
      
     }
     i++;
     
     
 }
//alert(temp);
if(temp==0)
{

    for (x = 0; x < document.getElementById("mainNav").getElementsByTagName('a').length; x++) 
    {
        if (document.getElementById("mainNav").getElementsByTagName('a')[x].href.match(regex)) 
        {
            document.getElementById("mainNav").getElementsByTagName('a')[x].className = "on";
            document.getElementById("subNav"+x).className = document.getElementById("subNav"+x).className + "On";
            currentReveal = x;
            originalSub = document.getElementById("subNav"+x);
            originalNav = document.getElementById('mainNav').getElementsByTagName('a')[x];
            flag = false;
            break;
          
        }
    }
    if (flag) 
    {
        document.getElementById("mainNav").getElementsByTagName('a')[0].className = "on";
        document.getElementById("subNav0").className = document.getElementById("subNav0").className + "On";
        currentReveal = 0;
        originalSub = document.getElementById("subNav0");
        originalNav = document.getElementById('mainNav').getElementsByTagName('a')[0];
    }
    
}
  
}


// adjusts main navigation and sub navigation based on sender element
function revealSub(sender) {
	if(theClose!=""){
		window.clearTimeout(theClose);
	}
	mainMenuState=0;
	resetSub();
	mainMenuState=1;
	var theSubs=document.getElementById('subNav');
	theSubs.className="reveal";
	for (x=0; x<navigationCount; x++){
		if (document.getElementById("subNav"+x).className=="subLinksOn"){
			originalSub=document.getElementById("subNav"+x);
			document.getElementById('mainNav').getElementsByTagName('a')[x].className="off";
			originalNav=document.getElementById('mainNav').getElementsByTagName('a')[x];
		}
		if (sender==document.getElementById('mainNav').getElementsByTagName('a')[x]){
			currentReveal=x;
			document.getElementById("subNav"+x).className="subLinksReveal";
			document.getElementById('mainNav').getElementsByTagName('a')[x].className="on";
			adjustSubPosition(sender, x);
		}
	}
	
}

// adjusts sub navigation left position if sub navigation elements are not positioned to overlap the width of sender
function adjustSubPosition(sender, args){
	var tempWidth=0;
	var senderPositionVector=sender.offsetLeft+sender.offsetWidth;
	var theAs=document.getElementById("subNav"+args).getElementsByTagName('a');
	var ImageWidthCenter=sender.offsetWidth/2;
	var LeftPosition = sender.offsetLeft;
	var p1 = LeftPosition+ImageWidthCenter;
	var TotalWidth=document.getElementById('mainNav').offsetWidth;
	
	for (z=0; z<theAs.length; z++) {
		if (theAs[z].className.indexOf('Subs')!=-1){
			tempWidth+=theAs[z].offsetWidth;
		}
	}
	//alert(p1);
	var CenterSub = p1-(tempWidth/2);//Center the subnav
	
	//alert("Canter sub="+CenterSub+" Tempwidth="+tempWidth+" total="+TotalWidth);
	
	
	if((CenterSub+tempWidth)>=TotalWidth-30)
	{
	    CenterSub=TotalWidth-tempWidth-25;
	   //flag=true; 
	     //If the right edge of the subnav is great than the total width, align right
	}
	
	if(CenterSub<100){
	    CenterSub=0; //If the sub is close to the left side, dont center it
	}
	//var obj=document.getElementById("subNav"+args);
	if (senderPositionVector>tempWidth) {
	    

        if (navigator.userAgent.indexOf('MSIE')==-1){

		    document.getElementById("subNav"+args).style.paddingLeft=CenterSub+"px";
		} else {
            
		    document.getElementById("subNav"+args).style.paddingLeft=CenterSub+"px";			
		}

		
	}
		
}

// adjusts level3 dropdown menu relative to current sub (var oldSub)
function adjustLevel3Position(){
    
//     var posTop=oldSub.offsetHeight+oldSub.offsetTop;
//    var posLeft=oldSub.offsetLeft;
//    if (navigator.userAgent.indexOf('MSIE')==-1){
//        oldLevel3.style.left=posLeft+document.getElementById('centeredContentDiv').offsetLeft+"px";
//    } else {
//        oldLevel3.style.left=posLeft+document.getElementById('navContainer').offsetLeft+document.getElementById('centeredContentDiv').offsetLeft+"px";    
//    }

    var posTop=oldSub.offsetHeight+oldSub.offsetTop;
    var posLeft=oldSub.offsetLeft;
    var mainNavWidth=document.getElementById('mainNav').offsetWidth;
    var TotalLeft=oldLevel3.offsetWidth+posLeft;
  
    if(TotalLeft > mainNavWidth)
    {
    
        if (navigator.userAgent.indexOf('MSIE')==-1)
        {
          oldLevel3.style.right=(mainNavWidth-posLeft-oldSub.offsetWidth)+8+"px";
        } 
        else 
        {
           oldLevel3.style.right=(mainNavWidth-posLeft-oldSub.offsetWidth)+document.getElementById('navContainer').offsetLeft+8+"px";
        }
      
    }
    else
    {
        if (navigator.userAgent.indexOf('MSIE')==-1)
        {
            oldLevel3.style.left=posLeft-6+"px";
        } 
        else 
        {
            oldLevel3.style.left=posLeft+document.getElementById('navContainer').offsetLeft-6+"px";
        }
    }

}

// resets original "page load state" of main nav and sub nav - page load state is inaccurate but sufficient to describe function
function resetSub(){
    if (originalSub){
	    var theSubs=document.getElementById('subNav');
	    if (mainMenuState!=1) {
		    var theSubs=document.getElementById('subNav');
		    if (oldSub && oldSubClassName){
                oldSub.className=oldSubClassName;
                
	            document.getElementById(oldSub.innerHTML.replace("&amp;", '&').replace(/^\s+|\s+$/g, "")+"Subs").style.display="none";
            }
	for (x=0; x<document.getElementById('subNav').getElementsByTagName('a').length; x++){
			if (document.getElementById('subNav').getElementsByTagName('a')[x].className.indexOf('with')!=-1){
		    if(originalSubUltimate!=document.getElementById('subNav').getElementsByTagName('a')[x]){
		        document.getElementById('subNav').getElementsByTagName('a')[x].className=document.getElementById('subNav').getElementsByTagName('a')[x].className.replace("On","");
		    }
		}

	}
			    for (x=0; x < navigationCount; x++){
				    document.getElementById('mainNav').getElementsByTagName('a')[x].className="off";
				    if (document.getElementById("subNav"+x).className=="subLinksReveal")                    {
					    document.getElementById("subNav"+x).className="subLinks";
				    }
			    }
            theSubs.className="normal";
	        originalSub.className="subLinksOn";
	        originalNav.className="on";
	    }
	}
}


function triggerSub(){
	if(theClose!="" && originalSub){
		window.clearTimeout(theClose);
	}
	mainMenuState=0;
	theClose = window.setTimeout('resetSub()', 500);
}

// prevents main nav and sub nav from changing based on context
function sustain() {
    //alert("sustain");
	mainMenuState=1;
	if(theClose!=""){
		window.clearTimeout(theClose);
	}
}

// triggers timer to reset main nav and sub nav to original page load state
function release() {
   // alert("release");
	triggerSub();
	mainMenuState=0;
}



// displays level3 dropdown menu relative to sender
function showLevel3(sender)
{
    if (originalSub)
    {
        if (oldSub && sender != oldSub) 
        {
            if (oldSubOn != 1)
	        {
    	        oldSub.className="withSubs";
    	    }
    	    
	        document.getElementById(oldSub.innerHTML.replace("&amp;", '&').replace(/^\s+|\s+$/g, "") +"Subs").style.display="none";
	    }
	    if (sender.className.indexOf('On') != -1 && sender == originalSubUltimate)
	    {
	        oldSubOn=1;
	    }
	    else 
	    {
	        oldSubOn=0;
	    }
        //alert(oldSubOn);
	    oldSub=sender;
	    oldSubClassName=sender.className;
	    //alert(sender.innerHTML);
	    //var senderID = (sender.innerHTML).replace("&amp;", '&').replace(/^\s+|\s+$/g, "");
	    //alert(senderID);
	    oldLevel3 = document.getElementById(sender.innerHTML.replace("&amp;", '&').replace(/^\s+|\s+$/g, "") + "Subs");
		oldLevel3.style.display = "block";
		    //document.getElementById(sender.innerHTML.replace("&amp;", '&').replace(/^\s+|\s+$/g, "") +"Subs").style.display="block";
	    //alert(sender.className);
	    if (sender.className.indexOf('On') == -1)
	    {	    
            sender.className=sender.className+"On";
            //alert(sender.className);
        }
	    adjustLevel3Position();
	}
}

// hides level3 dropdown menu relative to sender
function hideLevel3(sender){
    if (originalSub){
	    if (sender!=oldSub) {
	        document.getElementById(sender.innerHTML.replace("&amp;", '&').replace(/^\s+|\s+$/g, "") +"Subs").style.display="none";
	    if (oldSub.className.indexOf('On')!=-1 && oldSubOn!=1){
	            oldSub.className="withSubs";
	        }
	    }
	}
}

// if current element doesn't have level3 dropdown navigation elements, this function hides any immediate previous dropdown menu
function hideOldLevel3(){
	if (oldSub && oldSub.className.indexOf('On')!=-1 && oldSubOn!=1){
        oldSub.className="withSubs";
	    document.getElementById(oldSub.innerHTML.replace("&amp;", '&').replace(/^\s+|\s+$/g, "") +"Subs").style.display="none";
	    oldSub=null;
	    oldSubOn=0;
    }
}

