
/*

	MenuTree 
	Author: Medio web production 2007

*/
var useTreeLinks = true;
var tempArr, tempArr2, cookieArray, cookieArray2, cookieCount;
function initiateIt(){
	cookieCount=0;
	if(document.cookie){
		cookieArray=document.cookie.split(";");
		cookieArray2=new Array();
		for(i in cookieArray){
		  cookieArray2[cookieArray[i].split("=")[0].replace(/ /g,"")]=cookieArray[i].split("=")[1].replace(/ /g,"");
		}
	}else{
		//No cookie support. Tell user
		//alert('Om du vill behålla trädets struktur mellan sidor, aktiverar du javascript och cookies\nPlease aktivate cookies for easier use of the product tree.');
	}
	cookieArray=(document.cookie.indexOf("state=")>=0)?cookieArray2["state"].split(","):new Array();

	tempArr=document.getElementById("tree");
	for(var o=0;o<tempArr.getElementsByTagName("li").length;o++){
		//list all item in tris ul, if any
		if(tempArr.getElementsByTagName("li")[o].getElementsByTagName("ul").length>0){
		  tempArr2 = document.createElement("span");
		  tempArr2.className = "symbols";
		  tempArr2.style.backgroundImage = (cookieArray.length>0)?((cookieArray[cookieCount]=="true")?"url(/Images/tree/minus.gif)":"url(/Images/tree/plus.gif)"):"url(/Images/tree/plus.gif)";
		  tempArr2.onclick=function(){
			showhideIt(this.parentNode);
			writeCookies();
			
		  }
		  tempArr.getElementsByTagName("li")[o].insertBefore(tempArr2,tempArr.getElementsByTagName("li")[o].firstChild)
		  tempArr.getElementsByTagName("li")[o].getElementsByTagName("ul")[0].style.display = "none";
		  if(cookieArray[cookieCount]=="true"){
			showhideIt(tempArr.getElementsByTagName("li")[o]);
		  }

			if(useTreeLinks){
				//Open selected item in tree.. Easier navigation?
			  if(tempArr.getElementsByTagName("li")[o].className=="open"){
				showhideIt(tempArr.getElementsByTagName("li")[o]);
				writeCookies();
			  }
			}
			cookieCount++;
		} else{
			//Används inte, endast om ikoner används i trädet
		  tempArr2 = document.createElement("span");
		  tempArr2.className = "symbols1";
		  tempArr2.style.backgroundImage = "url(page.png)";
		  tempArr.getElementsByTagName("li")[o].insertBefore(tempArr2,tempArr.getElementsByTagName("li")[o].firstChild);
		}
	}
}

/*
*  Finds nextSibling to insert object into
*/
function insertAfter(nPrevious,nInsert) {
  var nParent = nPrevious.parentNode;
  if (nPrevious.nextSibling) {
    nParent.insertBefore(nInsert, nPrevious.nextSibling)
  } else {
    nParent.appendChild(nInsert);
  }
}

/*
Show, hide tree elements
*/
function showhideIt(el){
	el.getElementsByTagName("ul")[0].style.display=(el.getElementsByTagName("ul")[0].style.display=="block") ? "none" : "block";
	el.getElementsByTagName("ul")[0].style.display=="none";
	el.getElementsByTagName("span")[0].style.backgroundImage=(el.getElementsByTagName("ul")[0].style.display=="block")?"url(/Images/tree/minus.gif)":"url(/Images/tree/plus.gif)";
}
	
/*
Keep position of nodes
Runs through the menu and puts the "states" of each nested list into an 
array, the array is then joined together and assigned to a cookie.
 */
function writeCookies(){ 
	cookieArray=new Array()
	for(var q=0;q<tempArr.getElementsByTagName("li").length;q++){
		if(tempArr.getElementsByTagName("li")[q].childNodes.length>0){
		  if(tempArr.getElementsByTagName("li")[q].childNodes[0].nodeName=="SPAN" && tempArr.getElementsByTagName("li")[q].getElementsByTagName("ul").length>0){
			cookieArray[cookieArray.length]=(tempArr.getElementsByTagName("li")[q].getElementsByTagName("ul")[0].style.display=="block");
		  }
		}
	}
	document.cookie="state="+cookieArray.join(",")+";expires="+new Date(new Date().getTime() + 365*24*60*60*1000).toGMTString();
}


/*
	Language bar
	Change language
*/
strUrl = '';
function changeLang(intLang){
	var u = document.URL;
	var s = u.replace("#","");
	var x = 'intLanguage='+intLang;
	var re = 'intLanguage='+getURLParam("intLanguage",intLang);
	var newurl = s.replace(re,x)
	document.location.href=newurl;
}


/*
Get request parameter from url
*/
function getURLParam(strParamName){ 
	var strReturn = ""; 
	var strHref = window.location.href; 
	if ( strHref.indexOf("?") > -1 ){ 
		
		var strQueryString = strHref.substr(strHref.indexOf("?")).toLowerCase(); 
		var aQueryString = strQueryString.split("&"); 
		
		for ( var iParam = 0; iParam < aQueryString.length; iParam++ ){ 
			
			if (aQueryString[iParam].indexOf("=") > -1 ) { 
				var aParam = aQueryString[iParam].split("="); 
				strReturn = aParam[1]; 
				strUrl += aParam[iParam]+',';
				//break; Remove last id
			} 
		} 
	} 
	return strReturn; 
} 
