var LINKCLASSTEXT="link";
var HIGHLIGHT_COLOR="#EEDFA5";
var NAVIGATION_ID="siteLinks";

function getLinkLevel(s){
	linklevel=0;
	if (s.indexOf(LINKCLASSTEXT)>-1)
		linklevel=parseInt(s.substring(LINKCLASSTEXT.length,s.length));
	return linklevel;
}

function getRelativeLocation(path){
	
	// GET RID OF QUERYSTRING
	if (path.indexOf('#')>-1)
	{
		var temparray = path.split('#');
		path=temparray[0];
	}
	if (path.indexOf('?')>-1)
	{
		var temparray2 = path.split('?');
		path=temparray2[0];
	}
	if (path.indexOf(FOLDER)>-1)
	{
		path=path.substring(path.lastIndexOf(FOLDER),path.length);
	}
	return path;
}

function highlightLink(l){
	l.style.backgroundColor=HIGHLIGHT_COLOR;
	l.style.backgroundImage='url("/globalassets/v3/images/leftNavIcn_aro.gif")';
}

function showLink(l){
	l.style.display="block";
}

function getAnchorElement(d){
	var anchors=d.getElementsByTagName("a");
	return anchors[0];
}

function displayNavigation(){
	var ThisPageIndex=-1;
	var ThisPageLevel=0;
	var navigation = document.getElementById(NAVIGATION_ID);
	links=navigation.getElementsByTagName("div");

	//identify and highlight this page
	for (var i=0;i<links.length;i++)
	{
		link=getAnchorElement(links[i]);
		if (getRelativeLocation(window.location.toString())==getRelativeLocation(link.href))
		{
			ThisPageIndex=i;
			ThisPageLevel=getLinkLevel(links[i].className);
			highlightLink(links[i]);
			break;
		}
	}
	
	//show children
	for (var i=ThisPageIndex+1;i<links.length;i++)
	{
		if(getLinkLevel(links[i].className)==ThisPageLevel+1)
			showLink(links[i]);
		if(getLinkLevel(links[i].className)==ThisPageLevel)
			break;
	}
			
	
	//show previous generations
	getFolder(links,ThisPageIndex,ThisPageLevel);
}

function getFolder(linkarray,linkindex,linklevel){
	var folderindex=-1;
	if (linklevel>1)
	{
		for (var i=linkindex-1;i>-1;i--)
		{
			if(getLinkLevel(linkarray[i].className)==linklevel-1)
			{
				folderindex=i;
				break;
			}
		}
		showFolderContents(linkarray,folderindex,linklevel-1);
		getFolder(linkarray,folderindex,linklevel-1);
	}	
}

function showFolderContents(linkarray,linkindex,linklevel){
	for (var i=linkindex+1;i<linkarray.length;i++)
	{
		if(getLinkLevel(linkarray[i].className)==linklevel+1)
			showLink(linkarray[i]);
		if(getLinkLevel(linkarray[i].className)==linklevel)
			break;
	}

}


