function extractPageName(hrefString)
{
 var myString = _removehttp(hrefString); 
 return myString.toLowerCase();
}


function _removehttp (str) 
{
    re1 = /http:\/\/.*?\//g;
    re2 = /.*(STAGING|(WORKAREA|EDITION)\/[^\/]+)\//;
	re3 = /html.*?$/;
    var a1= str.replace(re1, "");
    var a2= a1.replace(re2,"");
    return a2.replace(re3,"html");
}

function _displayEntity(str) {
    var xlate = str.replace(/&amp;/,'&');
    return xlate;
}

function setActiveMenu(arr, crtPage) {
    /*
        This method of highlighting is based on a CSS class.
        Based on the value of the CSS class the navifation node is highlighted.
        The current node needs to be set using JavaScript as it cannot be set as HTML generation time
    */
    
    for(var i=0; i < arr.length; i++) {
        var menuItem = extractPageName(arr[i].href); 
        if(menuItem == crtPage) {         
			//alert ('found page');
			 var papa = arr[i].parentNode;
			 var papa1 = papa.parentNode;
			 var papa2 = papa.parentNode.parentNode;
			 var papa3 = papa.parentNode.parentNode.parentNode.parentNode;
			 var papa4 = papa.parentNode.parentNode.parentNode.parentNode.parentNode;
					
			 if ((papa2.tagName =='SPAN') && (papa4.tagName == 'SPAN')) {
				 // we are on level 3
                 papa2.className= 'l3show';
			     papa4.className= 'l2show';
				 papa.className='navon';
			 } else if ((papa2.tagName =='SPAN') && (papa4.tagName == 'DIV')){
				 // We are on level 2 
				// alert ('we are on level 2');
				  papa2.className= 'l2show';
				  papa.className='navon';
				
				var children = papa.getElementsByTagName('span');
                for ( var ii=0; ii < children.length; ii++) {
				//	alert ('in children');
				//	alert (children[ii].tagName)
                    children[ii].className= 'l3show';
				}
			 }
			 else {
			   //first level
			    papa.className='navon';
				var children = papa.getElementsByTagName('span');
                for ( var ii=0; ii < children.length; ii++) {
				//	alert ('in children');
				//	alert (children[ii].tagName)
				   if (children[ii].className=='l2hide') { children[ii].className= 'l2show';
				   }
                   

				}

			 }
			 			
            break;
        }
    }
}

function setPage(level4) {

    if(document.location.href) { 
        hrefString = document.location.href;
    } else {
        hrefString = document.location;
    }
	//alert (hrefString);

    var pageName = extractPageName(hrefString);
     if (level4 == '4'){
         pageName = dirname (pageName) + '/index.html';
     }
  //  alert ('page name:'+pageName);
    var leftNavigationId = document.getElementById("navigation");
    if (leftNavigationId != null)    { 
        setActiveMenu(leftNavigationId.getElementsByTagName("a"), pageName);
    }
}


function dirname(path) {
    return path.replace(/\\/g,'/').replace(/\/[^\/]*$/, '');
}



