/************************************************************************************************************
(C) www.dhtmlgoodies.com, October 2005

This is a script from www.dhtmlgoodies.com. You will find this and a lot of other scripts at our website.	

Terms of use:
You are free to use this script as long as the copyright message is kept intact. However, you may not
redistribute, sell or repost it without our permission.

Thank you!

www.dhtmlgoodies.com
Alf Magne Kalleland

************************************************************************************************************/	

var clearCookies = false;
var activeMenuItem = new Array();

function isUlInArray(inputObj,ulObj){
	while(inputObj && inputObj.id!='dhtmlgoodies_listMenu'){
		if(inputObj==ulObj)return true;
		inputObj = inputObj.parentNode;			
	}		
	return false;
}

function showHideSub(e,inputObj) {	
	if(!inputObj)inputObj=this;
	var parentObj = inputObj.parentNode;
	var ul = parentObj.getElementsByTagName('UL')[0];

	if(activeMenuItem.length>0){
		for(var no=0;no<activeMenuItem.length;no++){
			if(!isUlInArray(ul,activeMenuItem[0]) && !isUlInArray(activeMenuItem[0],ul)){
				//alert("1" + isUlInArray(ul,activeMenuItem[0]) + "  " + isUlInArray(activeMenuItem[0],ul))
				activeMenuItem[no].style.display='none';
									
				if(activeMenuItem[no].parentNode != null) {
					var img = activeMenuItem[no].parentNode.getElementsByTagName('IMG')[0]
					if(img != null)
						switchImg(img,"close");
				}
				
				activeMenuItem.splice(no,1);
				no--;
			} else {
				if(!isUlInArray(ul,activeMenuItem[no]) && !isUlInArray(activeMenuItem[no],ul)){
					//alert("2" + isUlInArray(ul,activeMenuItem[no]) + "  " + isUlInArray(activeMenuItem[no],ul))	
					activeMenuItem[no].style.display='none';
									
					if(activeMenuItem[no].parentNode != null) {
						var img = activeMenuItem[no].parentNode.getElementsByTagName('IMG')[0]
						if(img != null)
							switchImg(img,"close");
					}
					
					activeMenuItem.splice(no,1);
					no--;
				}	
			}
			
			
		}			
	}
	
	
	if(ul.offsetHeight == 0){
		ul.style.display='block';
		activeMenuItem.push(ul);
		
		if(inputObj.getElementsByTagName('IMG')[0] != null)
			switchImg(inputObj.getElementsByTagName('IMG')[0],"open")
	}else{
		ul.style.display='none';
		
		if(inputObj.getElementsByTagName('IMG')[0] != null)
			switchImg(inputObj.getElementsByTagName('IMG')[0],"close")
	}
}

function showHidePath(inputObj) {
	var startTag = inputObj;
	showHideSub(false,inputObj);
	inputObj = inputObj.parentNode;
	while(inputObj){
		inputObj = inputObj.parentNode;
		if(inputObj.tagName=='LI')showHideSub(false,inputObj.getElementsByTagName('A')[0]);
		if(inputObj.id=='dhtmlgoodies_listMenu')inputObj=false;
	}	
}

function initMenu() {
	var obj = document.getElementById('dhtmlgoodies_listMenu');
	var linkCounter=0;
	var aTags = obj.getElementsByTagName('a');
	var activeMenuItem = false;
	var activeMenuLink = false;
	var elementIndex = 0;
	var existElement = false;
	var delCookie = false;
	
	if(clearCookies) {
		writeSessionCookie("menuNavISAGEN","");	
	}
	

	var thisLocationArray = location.href.split(/\//);
	var fileNameThis = thisLocationArray[thisLocationArray.length-1];
		
	if(fileNameThis.indexOf('rsc=') > 0 && fileNameThis.indexOf('&') > 0) 
		fileNameThis = fileNameThis.substring(fileNameThis.indexOf('rsc='),fileNameThis.indexOf('&'));
	else if(fileNameThis.indexOf('rsc=') > 0) 
		fileNameThis = fileNameThis.substr(fileNameThis.indexOf('rsc='));
		
	if(fileNameThis.indexOf('?')>0)fileNameThis = fileNameThis.substr(0,fileNameThis.indexOf('?'));
	if(fileNameThis.indexOf('#')>0)fileNameThis = fileNameThis.substr(0,fileNameThis.indexOf('#'));
		
	
	var no = 0;
	var i=0;
	for(i=0; i<aTags.length; i++){
		var parent = aTags[i].parentNode;
		var subs = parent.getElementsByTagName('UL');
		if(subs.length > 0){
			aTags[i].onclick = showHideSub;	
			linkCounter++;
			aTags[i].id = 'aLink' + linkCounter;
			
			var imgs = aTags[i].getElementsByTagName('IMG')[0];
			if(imgs != null)
				imgs.id = 'img_' + linkCounter;
			
		}	
		
		if(aTags[i].href.indexOf(fileNameThis) >= 0 && aTags[i].href.charAt(aTags[i].href.length-1) != '#') {
			existElement = true;
			no = i;
			delCookie = true;
			//alert("lo encontró")
		} 
	}
	
	if(!existElement && ((document.referrer && document.referrer!="") || (referrer != "null" && referrer != ""))) {
		for(i=0; i<aTags.length; i++){
			if(aTags[i].href.indexOf(getCookieValue("menuNavISAGEN")) >= 0 && aTags[i].href.charAt(aTags[i].href.length-1) != '#') {
				existElement = true;
				no = i;
				delCookie = false;
				//alert("lo encontró 2")
				break;
			}	 
		}
	}
		
	if(existElement){
		parent = aTags[no].parentNode
		var ul = parent.getElementsByTagName('UL')[0];
					
		if(ul != null) {
			ul.style.display='block';
			showHideSub(false,aTags[no]);
		}
						
		if(aTags[no].parentNode.parentNode){								
			var parentObj = aTags[no].parentNode.parentNode.parentNode;
			var a = parentObj.getElementsByTagName('A')[0];
				
			if(a.id && !activeMenuLink){
				activeMenuLink = aTags[no];
				activeMenuItem = a.id;
			}				
		}
	}		
	
	//alert("activeMenuLink " + activeMenuLink);
	//alert("activeMenuItem " + activeMenuItem);
	

	if(activeMenuLink){
		activeMenuLink.className = ' activeMenuLink ' + activeMenuLink.className;
		//alert(activeMenuLink.className);
		if(delCookie) {
			//DeleteCookie("menuNavISAGEN");
			//SetCookie ("menuNavISAGEN", fileNameThis);
			writeSessionCookie("menuNavISAGEN",fileNameThis);
		}
		
		writeSessionCookie("previousPageMenuISAGEN",fileNameThis);		
	}
	
	if(activeMenuItem){
		if(document.getElementById(activeMenuItem)) {
			showHidePath(document.getElementById(activeMenuItem));	
		}
	}	
}

function switchImg(obj, strImg) {
	if(strImg == "open") {
		obj.src='/images/ico_menosBlue.gif'
	} else if(strImg == "close") {
		obj.src='/images/MenuLeftBlueIcon_isagen.gif'
	}
}

function getParametros(paramName) {
	searchString = document.location.search;
	var parametrosValor = searchString.substring(1).split("&");
	var valor = "";
	for(i = 0; i < parametrosValor.length; i++) {
	parametroValor = parametrosValor[i].split("=");
	if(parametroValor[0] == paramName) {
		valor += parametroValor[1] + "|";
		}
	}
	if (valor ==  "")
		return null;
	else
		return valor;
}

function getParametro(paramName) {
	searchString = document.location.search;
	var parametrosValor = searchString.substring(1).split("&");
	for(i = 0; i < parametrosValor.length; i++) {
	parametroValor = parametrosValor[i].split("=");
	if(parametroValor[0] == paramName)
		return parametroValor[1];
	}
	return null;
}
