var wipsitebase = "http://wip.cms3prod.njit.edu/njit-edc/"; //set wip sitebase
var activesitebase = "http://www.njit-edc.org/"; //set active sitebase

var breadcrumb  = document.createElement('div');

function initNavigation(){
	var page_url = document.location;

	page_url = page_url.toString();
	
	var subnavurl = page_url;
	
	if (page_url.indexOf(wipsitebase) != -1) { 
		page_url = page_url.replace('http://wip.cms3prod.njit.edu/njit-edc/','');
	}
	
	if (page_url.indexOf(activesitebase) != -1) { 
		page_url = page_url.replace('http://www.njit-edc.org/','');
	}
	
	var spliturl = new Array();
	spliturl = page_url.split('/');
	
	var mainnavNodes = $('main_nav');
	
	mainnavNodes.cleanWhitespace();
	
	var mainnavANodes = mainnavNodes.childNodes;

	if($('left_hand_col'))  { getlhnNav(subnavurl); }

	for(i=0; i < mainnavANodes.length; i++)
	{
		var mainnavURL = mainnavANodes[i].getAttribute('href');
		
		mainnavURL = mainnavURL.replace('http://wip.cms3prod.njit.edu/njit-edc/','');
		mainnavURL = mainnavURL.replace('http://www.njit-edc.org/','');
		
		var mainnavArray = new Array();
		mainnavArray = mainnavURL.split('/');
		
		if(mainnavArray[0] == spliturl[0])
		{
			mainnavANodes[i].id = 'main_nav_linksOn';
			addbreadcrumb(mainnavANodes[i]);
		}
		else
		{
			mainnavANodes[i].id = '';
		}
	}
	
	var pushBC = breadcrumb.childNodes;
	if(pushBC)
	{
		pushBC[0].id = "breadcrumbsSpecialUnderlined";
		for(i = pushBC.length; i > 0; i--)
		{
			$('breadcrumb').appendChild(pushBC[i-1]);	
			if(i != 1)
			{
				var bracket= document.createTextNode(" > ");
				$('breadcrumb').appendChild(bracket);	
			}
		}
	}
}

//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){
	if($('left_hand_navigation'))
	{
		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;
	if(node)
	{
		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--]);
		  }
		}
	}
}
