var wipsitebase = "http://wip.cms3prod.njit.edu/"; //set wip sitebase
var activesitebase = "http://www.njit.edu/"; //set active sitebase

var breadcrumb  = document.createElement('div');

function initNavigation(){
		
	var page_url = document.location;
	page_url = page_url.toString();
	var subnavurl = '';
	
	if(typeof lhn_override != 'undefined')
	{
		if(lhn_override == '')
		{
			subnavurl = page_url;
		}	
		else 
		{
			subnavurl = lhn_overrideSB; 
		}
	}
	else 
	{
		subnavurl = page_url;
	}
	
	
	var mainnavNodes = $('main_nav');
	
	mainnavNodes.cleanWhitespace();
	
	var mainnavANodes = mainnavNodes.childNodes;

	
	//Following to compare main nav
	if (page_url.indexOf(wipsitebase) != -1) { 
		page_url = page_url.replace(wipsitebase,activesitebase);
	}
	
	//And turn on appropriate nav item

	for(i=0; i < mainnavANodes.length; i++)
	{
		if(mainnavANodes[i].nodeName == 'A') 
		{
			var mainnavURL = mainnavANodes[i].getAttribute('href');
			if(page_url.indexOf(mainnavURL) != -1)
			{
				mainnavANodes[i].id = 'main_nav_linksOn';
			}
			else
			{
				mainnavANodes[i].id = '';
			}
		}
	}


	if($('left_hand_col'))  { getlhnNav(subnavurl); }

	var pushBC = breadcrumb.childNodes;
	for(i = pushBC.length; i > 0; i--)
	{
		var firstbracket= document.createTextNode(" > ");
		$('breadcrumb').appendChild(firstbracket);	
		
		$('breadcrumb').appendChild(pushBC[i-1]);	
	}
	var lastBC = $('getlast_bc').getElementsByTagName('a');
	lastBC[lastBC.length -1].id = 'breadcrumbsSpecialUnderlined';
}

//Function to initialize and RECURSIVELY go through any left hand naviation
function recurseA(node)
{
	var parentDIV = node.parentNode;
	if(parentDIV.className == 'left_handNav_links')
	{
		node.id = 'left_handNav_linksOn';
		
	}
	else
	{
		//node.id = 'left_handSubNav_On';
		node.id = 'on';
		node.style.fontWeight = 'bold';
		node.style.color = '#FFFFFF';
		parentDIV.style.display = 'block';
		if(parentDIV.previousSibling.parentNode.className == 'left_handNav_links')
			{	
				parentDIV.previousSibling.id ='left_handNav_linksOn';
				addbreadcrumb(parentDIV.previousSibling);
			}
		else
			{	
				addbreadcrumb(parentDIV.previousSibling);
				recurseA(parentDIV.previousSibling);
			}
	}
}

//Function to start initialize LHN nav
function getlhnNav(URL){
	var lhn = $('left_hand_navigation');
	removeWhitespace(lhn);
	
	var Acollect = lhn.getElementsByTagName('a');
	var DIVcollect = lhn.getElementsByTagName('div');
	
	for(i=0; i<Acollect.length; i++) //init all on id's
	{
		Acollect[i].id = '';
		
	}
	for(i=0; i<DIVcollect.length; i++) //init all on id's
	{
		if(DIVcollect[i].className != 'left_handNav_links')
			{	
				DIVcollect[i].style.display = 'none';
			}
	}
	
	for(i=0; i<Acollect.length; i++)
	{
		var checksuburl = Acollect[i].getAttribute('href');
		if (URL.indexOf(checksuburl) != -1)
		{
			addbreadcrumb(Acollect[i]);
			recurseA(Acollect[i]);
			if(Acollect[i].nextSibling != null)
			{
				if(Acollect[i].nextSibling.nodeName == 'DIV')
				{
					Acollect[i].nextSibling.style.display = 'block';
				}
			}	

		}
	}
	
}

// Function to build breadcrumb
function addbreadcrumb(node)
{
	var currentBC = document.createElement('a');
	currentBC.innerHTML = node.innerHTML;
	currentBC.setAttribute('href', node.getAttribute('href'));
	breadcrumb.appendChild(currentBC);
}


// Function to remove white spaces from nodes
function removeWhitespace(node) 
{
	var loopIndex;
	
	for (loopIndex = 0; loopIndex < node.childNodes.length; 
	  loopIndex++) {
	
	  var currentNode = node.childNodes[loopIndex];
	
	  if (currentNode.nodeType == 1) {
		removeWhitespace(currentNode);
	  }
	
	  if (((/^\s+$/.test(currentNode.nodeValue))) &&   
		(currentNode.nodeType == 3)) {
		  node.removeChild(node.childNodes[loopIndex--]);
	  }
	}
}
