var recentNode;
var dontBold ;
var DHTML = (document.getElementById || document.all || document.layers);

function getObj(name) {

//	alert('getObj sai argumenttina: ' + name);

  if (document.getElementById)
  {
  	this.obj = document.getElementById(name);
	this.style = document.getElementById(name).style;
	this.classname = document.getElementById(name).className;
//	alert('eka if: ' + this.style.toString());
  }
  else if (document.all)
  {
	this.obj = document.all[name];
	this.style = document.all[name].style;
  }
  else if (document.layers)
  {
   	this.obj = document.layers[name];
   	this.style = document.layers[name];
  }
}

function getElementsByClassName(clsName,htmltag){ 
	if(!DHTML) return;
	var arr = new Array(); 
	var elems = document.getElementsByTagName(htmltag);
	for ( var cls, i = 0; ( elem = elems[i] ); i++ ){
		if ( elem.className == clsName ){
			arr[arr.length] = elem;
		}
	}
	return arr;
}

// functions for storing and editing a site:
function enableStore(element) {
	if(!DHTML) 
		return;
	// get the form-object;
	var oForm = document.getElementById("mainForm");
//	var oForm = new getObj('mainForm');
	
	// get the submit-buttons:
	var oPicSubmit = oForm.elements["submitPicture"];
	var oFileSubmit = oForm.elements["submitFile"];

	// activate the picture-submit:
	if(element == 0)
		oPicSubmit.disabled = false;
	
	// activate the file-submit:
	if(element == 1)
		oFileSubmit.disabled = false;

}


// open the right menu palette
function openMenu(int) {
	var elements = new Array();
	elements = getElementsByClassName('Xtree', 'ul');
	var sToMatch = 'div_' + int;

	i = 0;
	while(i < elements.length) {
		if(elements[i].innerHTML.search(sToMatch) > 0) {
			elements[i].style.display = 'block';
//			alert('löytyi');
		}
		i++;
	}
}


// Show / hide a sub-menu
function xMenuShowHide(obj, node)
{
	if(!DHTML) return;
	var x = new getObj('center');
	x.style.display = 'none';
	if(dontBold > -1)
		document.getElementById('div_' + dontBold).className = '';	

	if(obj.style.display == 'block'){
		obj.style.display = 'none';
		
	} else {

		var elements = new Array();
		elements = getElementsByClassName('Xnode', 'li');
		i = 0;
		while(i < elements.length) {
			var x = new getObj('Xtree' + (i+2));
			if(x.style.display == 'block')
				x.style.display = 'none';
				
//			if(document.getElementById('Xtree' + (i+2)).style.display == 'block')
//				document.getElementById('Xtree' + (i+2)).style.display = 'none';
			i++;
		}
	
		var x = new getObj('Xtree' + node);
		if(node > 1) {
			x.style.display = 'block';
//			document.getElementById('Xtree' + node).style.display = 'block';
		}
	
		if(obj.style.display == 'none'){
			obj.style.display = 'block';
		} else {
			obj.style.display = 'none';
		}
	}

}

// Toggle expanded / collapsed versions of items' images
function xSwapImg(imgDiv,srcImg,srcAltImg){

	/* Update by Christian Vallee <cv@valtechnologie.com> 
	   ==> No need to specify absolute URL for images anymore, this feature will find it on its own */
	
		// looking for the images' root URL based on the current image
		var str = imgDiv.src;
		var pos = str.search(srcImg);
		// if the URL root wasn't found using the first image, try with the alternative one
		if ( pos == -1 ) { pos = str.search(srcAltImg); }
		// extracting the URL root
		var root = str.substring(0,pos);
		// adding the root the image path supplied
		srcImg = root.concat(srcImg);
		srcAltImg = root.concat(srcAltImg);
	
	/* End Update */

	if(imgDiv.src == srcImg){
		imgDiv.src = srcAltImg;
	}else{
		imgDiv.src = srcImg;
	}

}


// Restore the menu state when the page loads
function xRestoreState()
{
	//restore list state
	var name = "xMenuState";
	var start = document.cookie.indexOf(name+"=");
	if(start != -1)
	{
		var len = start+name.length+1;
		if ((!start) && (name != document.cookie.substring(0,name.length))) return null;
		if (start == -1) return null;
		var end = document.cookie.indexOf(";",len);
		if (end == -1) end = document.cookie.length;
		var value = unescape(document.cookie.substring(len,end));
		var values = value.split("|");
		for(i=0;i<values.length-1;i++)
		{
			var couple = values[i].split(":");
			document.getElementById(couple[0]).style.display = couple[1];
		}
	}
}


// Save the menu state when the page unloads
function xSaveState()
{
	//Save list state
	var value = "";
	var myLists = document.getElementsByTagName("UL");
	for(i=0;i<myLists.length;i++)
	{
		if(myLists[i].className == "Xtree")	value += myLists[i].id + ":" + myLists[i].style.display + "|";
//		if(myLists[i].className == "Xtree")	value += myLists[i].id + ":" + 'foo' + "|";
	}
	document.cookie = "xMenuState=" + escape(value) + ";";
	//save img state
	value = new Array();
	myLists = document.getElementsByTagName("IMG");
	for(i=0;i<myLists.length;i++)
	{
		if(myLists[i].id.substring(0,4) == "Ximg")
		{
			if(value[myLists[i].src]){value[myLists[i].src] += "," + myLists[i].id;}
			else{value[myLists[i].src] = myLists[i].id;}
		}
	}
	var str = "";
	for(var imgPath in value)
	{
		str += imgPath + ">>" + value[imgPath] + "[]";
	}
	var cook = str.substring(0,str.length-2);
	document.cookie = "xMenuStateImg=" + escape(cook) + ";";
}