// Copyright: Carsten Stadler - source-worx.de
// use, copying, etc. is not permitted

// create the search popup div onload
//document.write('<div id="search_popup" style="display: none;" class="standard" onmouseover="setCloseState(false);" onmouseout="setCloseState(true);"></div>');

var close_popup = true;
var open_divs = new Array();

function popupMenu(pid,cid,level)
{	
	var test  = "";
	
	close_popup = false;
	
	// close the div if it has the same level
	if (open_divs.length > 0)
 	{
 		//alert("close " + cid);
 		for (var i=0; i < open_divs.length; i++) // i=1; because the first should never be closed
 		{
 			//test += "+" + open_divs[i];
			if (open_divs[level] != null)
			{
				//alert("close " +  open_divs[i]);
				document.getElementById('item_' + open_divs[level]).style.display= "none";
			}
 		}
 	}
 	//alert(test);
	
 	open_divs[level] = cid;
	
	//alert(open_divs[level]);
	if (open_divs.length > 0)
	{
		for (i=0; i < open_divs.length; i++)
		{
			test += "+" + open_divs[i];
		}
	}
	//alert(test);
	level++;
	
	
	// width of the navi div
	var navi_width = 176;
	
	var navi_padding = 16;
	
	if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)) // for ie 5.x,6.x,etc. and firefox >= 3.x
	{
		var padding_top = -2 + document.body.scrollTop; // -2 = div border
		var padding_left =  navi_width - document.getElementById('box_main').getBoundingClientRect().left; // 176 = div width
		
		var pos_open_left = document.getElementById('item_' + pid + '.' + cid).getBoundingClientRect().left;
		var pos_open_top = document.getElementById('item_' + pid + '.' + cid).getBoundingClientRect().top;
		
		pos_open_left += padding_left;
		pos_open_top += padding_top;
	}
	else // for firefox 2.x, 3.x
	{
		navi_width += 2;
		var padding_left = level * navi_width + navi_padding ;
		var pos_open_left = document.getElementById('item_' + pid + '.' + cid).offsetLeft;
		
		pos_open_left += padding_left;
		
		
		// get the top position for the popup
		var pos_open_top = 0;
		var elementid=document.getElementById('item_' + pid + '.' + cid)
		
		// loop through all divs the to get the sum of all top positions
		while (elementid != null)
		{
			pos_open_top += elementid.offsetTop;
			elementid = elementid.offsetParent;
		}
	}
	
	// close all not needed open divs
//  	for (var i = 0; i > ar_open.length; i++)
//  	{
//  		document.getElementById(ar_open[i]).style.display= "none";
//  	}
	
	//alert(pos_open_top);
	
	// open the popup div
	document.getElementById('item_' + cid).style.top = pos_open_top;
	document.getElementById('item_' + cid).style.left = pos_open_left;
	document.getElementById('item_' + cid).style.display= "block";
	
// 	}
// 	else 
// 	{
// 		document.getElementById('search_popup').innerHTML = "";
// 		document.getElementById('search_popup').style.display = "none";
// 	}
	
}

function closeItem(pid,cid,level)
{
	close_popup = true;
	//alert(cid);
	setTimeout("doCloseItem("+pid+","+cid+","+level+")", 200);
}

function doCloseItem(pid,cid,level)
{
	if (close_popup == true) document.getElementById('item_' + cid).style.display= "none";
}

function setActiveItem(pid,cid,level)
{
	close_popup = false;
	
	open_divs[level] = pid;

// 	var test = "";
// 	if (open_divs.length > 0)
// 	{
// 		for (i=0; i < open_divs.length; i++)
// 		{
// 			test += "+" + open_divs[i];
// 		}
// 	}
// 	alert(test);
}

function closeRes()
{
	if (close_popup == true) document.getElementById('search_popup').style.display= "none";
}

function setCloseState(state)
{
	close_popup = state;
	document.getElementById('search_field').focus();
}

function closePreview()
{
	//alert("close");
	document.getElementById('preview').style.display= "none";
	document.getElementById('preview').innerHTML = "";
}

function openPreview(page_id)
{
	// the url of the website
	var request_url = "http://" + window.location.hostname + "/cms/cms/modules/page/preview.php";
	
	// the query string for the search script
	var query_string = "&page_id=" + page_id;
	
	document.getElementById('preview').style.display= "block";
	//document.getElementById('preview').innerHTML = "Here goes the page preview....";
	getRes(request_url,query_string,document.getElementById('preview'));
}

function getRes(strURL,query_string,div_id)
{	
	var xmlHttpReq = false;
	var self = this;
	
	if (window.XMLHttpRequest) // Mozilla/Safari
	{
		self.xmlHttpReq = new XMLHttpRequest();
	}
	else if (window.ActiveXObject) // IE
	{
		self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
	}
	
	self.xmlHttpReq.open('POST', strURL, true);
	self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	
	self.xmlHttpReq.onreadystatechange = function()
	{
		if (self.xmlHttpReq.readyState == 4)
		{
			//alert(self.xmlHttpReq.responseText);
			div_id.innerHTML = self.xmlHttpReq.responseText;
		}
	}
	
	self.xmlHttpReq.send(query_string);
}
