function siteMapToggle(elementName) {
	
	var element = document.getElementById(elementName);
	var toggleElement = document.getElementById(elementName+'Toggle');
	if (element.className == "open") {
		element.className = "close";
	} else if (element.className == "close") {
		element.className = "open";
				
	}else if(element.className == "open currentToggle"){
		element.className = "close currentToggle";
		if (!window.XMLHttpRequest){
	
			element.parentNode.parentNode.style.marginBottom = "-14px";
		}
	}else if(element.className == "close currentToggle"){
		element.className = "open currentToggle";
		if (!window.XMLHttpRequest){
			element.parentNode.parentNode.style.marginBottom = "0px";	
		}
	}
	//alert(element.parentNode.parentNode.className);
	if (element.parentNode.parentNode.className == "open" ) {
		element.parentNode.parentNode.className = "close";	
	} else if (element.parentNode.parentNode.className == "close") {
		element.parentNode.parentNode.className = "open";
	} else if (element.parentNode.parentNode.className == "open currentToggle"){
		element.parentNode.parentNode.className  = "close currentToggle";	
	}
	
	if (toggleElement.style.display != 'none') {
		toggleElement.style.display = 'none';
	}
	else {
		toggleElement.style.display = '';
	}
}

document.getElementsByClassName = function(cl) {
	var retnode = [];
	var myclass = new RegExp('\\b'+cl+'\\b');
	var elem = this.getElementsByTagName('*');
	for (var i = 0; i < elem.length; i++) {
		var classes = elem[i].className;
		if (myclass.test(classes)) retnode.push(elem[i]);
	}
	return retnode;
}

function siteMapStart() {
	var element1 = document.getElementsByClassName('open');
	var element = new Array('open');

	for (var j = 0; j < element.length; j++) {
		var items;
		items = document.getElementsByClassName(element[j]);
		for (var i = 2; i < items.length; i++) {
			items[i].className = "close";
		}
	}
	
	if (document.getElementById("siteMap")) {
		var items = document.getElementById("siteMap").getElementsByTagName("ul");
		for (var i = 2; i < items.length; i++) {
			items[i].style.display = 'none';
		}
	}
	
}

function toggleCurrent(){
	
	siteMapStart();
	
	var target_block = new Object;
	var current = false;	
	url = window.location;

	tmp = new Array;
	tmp = String(url).split("?loc=/");
	tmp0 = tmp[1].replace("&","/");
	tmp1 = String(tmp0).split("/");
	
	target = tmp1[0];
	
	/* Search target string on the page to get target ID*/
	parentDiv = document.getElementById('siteMap');
	rootUL = parentDiv.getElementsByTagName('li');
	//alert(target);
	for(x=1;x<rootUL.length;x++){
		arrLI = rootUL[x].getElementsByTagName('a');
		for(i=0;i<arrLI.length;i++){
			
			/** trim the target url*/
			targetURL = arrLI[i].getAttribute('href');
			tmp2 = new Array;
			tmp2 = String(targetURL).split("/");
			target_a = tmp2[tmp2.length-1];
			/****/
			
			if(target_a==target){
				tmp= arrLI[i].parentNode.getElementsByTagName('ul');
				
				if(tmp.length!=0){
					target_block= arrLI[i].parentNode.getElementsByTagName('ul');
					var current = true;
				}
				break;
			}
		}
	
	}
	/*toggle the root link*/
	
	if(current == true){
		
	target_block[0].style.display='';
	rootLi=String(target_block[0].id).replace(/Toggle/, "");
	//alert(rootLi);
	document.getElementById(rootLi).className = 'open currentToggle';
	
	ul_arr =  target_block[0].getElementsByTagName('ul');
	li_hack = target_block[0].parentNode;

	if (!window.XMLHttpRequest){
		li_hack.style.marginBottom = "0px";
	}

	/*toggle sub links*/
	for(ul_num=0;ul_num<ul_arr.length;ul_num++){
		
			ul_arr[ul_num].style.display = '';
				
	}
	/*toggle link icon*/
	btl_arr = target_block[0].getElementsByTagName('a');
		
		for(a=0;a<btl_arr.length;a++){
			if(btl_arr[a].className=='close'){
				btl_arr[a].className='open currentToggle';
				li_hack_sub = btl_arr[a].parentNode.parentNode
				if (!window.XMLHttpRequest){
					li_hack_sub.style.marginBottom = "0px";
				}
			}
		}
	}

}

window.onload = function() {
	toggleCurrent();
	externalLinks();
}
