//***************************************************************************
// *                                                                        *
// *      JAVASCRIPT  HIGHLIGHTER FOR NAVIGATION                            *
// *                                                                        * 
//***************************************************************************
 
function extractPageName(hrefString)
{
 var myString = _removehttp(hrefString);
 return myString.toLowerCase();
}


function _removehttp (str) 
{
	re1 = /http:\/\/.*?\//g;
	re2 = /.*(STAGING|(WORKAREA|EDITION)\/[^\/]+)\//;
  var a1= str.replace(re1, "");
  return a1.replace(re2,"");
}

function setActiveMenu(arr, crtPage)
{
	for(var i=0; i < arr.length; i++)
		if(extractPageName(arr[i].href) == crtPage)
		{
            // the current page is emphasised
            var emNode = document.createElement('em');
            var text = document.createTextNode(arr[i].firstChild.data);
		    emNode.appendChild(text);
            arr[i].replaceChild(emNode, arr[i].firstChild);
            
            // get root li node in the current list block
            var rootListElement = getRootListElement(arr[i], null);
            
            if (rootListElement != "undefined") {
                if ((typeof(navFormat) != "undefined") && (navFormat == 'css'))
                    rootListElement.className = "selected";
                else
                    rootListElement.className = "enabled selected";
            }
		}
}


// recursively find the root list element (li node) for a given child of a
// (possibly) descendent li list element
//
function getRootListElement(node, child)
{
    if (node.parentNode != "undefined" &&
        node.parentNode.parentNode != "undefined")
    {
        var parentListElement = node.parentNode;              // li node?
        var parentListNode    = parentListElement.parentNode; // ul node?

        // nodeName returns the tag name in uppercase (refer DOM standards)
        if (parentListNode.nodeName == "UL" &&
            parentListElement.nodeName == "LI")
        {
            return getRootListElement(parentListNode, parentListElement);
        }
        else {
            return child;
        }
    }
    else return child;
}


function setPage()
{
	if(document.location.href) 
		hrefString = document.location.href;
	else
		hrefString = document.location;

	if (document.getElementById("navigation")!=null) 
		setActiveMenu(document.getElementById("navigation").getElementsByTagName("a"), extractPageName(hrefString));

}


