this.document.MaintainScrollPositionOnPostback = true;

//	set global variables
var xmlHttp		= new Array()
var elements	= new Array()
var shows		= new Array()
var ele			= new Array()
var ele_nieuw	= new Array()
var para		= new Array()

var url			= new Array()

var str
var strtosend

var targets
var element
var object
var action
var object_id
var show_id
var warning
var k

//	-------- ajax functions ---------------------------------------------------------------------

function ajax(f_element, f_object, f_action, f_object_id, f_show_id, f_warning)
{
	//alert(f_element)
//	show the loading div
	loading_start()

//	display a warning where a user has to confirm his action
	if(f_warning)
	{
		answer = confirm(f_warning)
		if(!answer)
		{
			loading_end()
			return;
		}
	}

	k=0
	targets = f_element
	element = f_element
	object = f_object
	action = f_action
	object_id = f_object_id
	show_id = f_show_id
	warning = f_warning

	runAJAX()
}

function runAJAX()
{
//	set the correct object
	xmlHttp[k]=GetXmlHttpObject()
	if (xmlHttp[k]==null)
	{
		alert ("Browser does not support HTTP Request")
		return
	}

	strtosend += "&element=" + encodeURI( element[k] ) + "&system_object=" + encodeURI( object ) + "&system_action=" + encodeURI( action ) + "&system_object_id=" + encodeURI( object_id ) + "&show_id=" + encodeURI( show_id[k] )
	object = action = ''

//	process the result
	xmlHttp[k].onreadystatechange=stateChanged
	xmlHttp[k].open("POST",'ajax.php', true)
	xmlHttp[k].setRequestHeader("Content-type", "application/x-www-form-urlencoded")
	xmlHttp[k].setRequestHeader("Content-length", strtosend.length)
	xmlHttp[k].setRequestHeader("Connection", "close")
	xmlHttp[k].send(strtosend)
}

function stateChanged()
{
	if (xmlHttp[k].readyState==4 || xmlHttp[k].readyState=="complete")
	{
		results=xmlHttp[k].responseText.split('|execution_time|')
		if(ele[k] = document.getElementById(targets[k]))
		{
			para[k] = ele[k].parentNode;
			ele_nieuw[k] = document.createElement('div');
			ele_nieuw[k].innerHTML =results[0];
			para[k].replaceChild(ele_nieuw[k], ele[k]);

	    	document.getElementById(targets[k]).style.display = 'block';
			
		//	loop through all target elements
			k++
			if(undefined===targets[k])
			{
				xmlHttp		= new Array()
				elements	= new Array()
				shows		= new Array()
				ele			= new Array()
				ele_nieuw	= new Array()
				para		= new Array()
				url			= new Array()
				str			= ''
				strtosend	= ''
				targets		= ''
				element		= ''
				object		= ''
				action		= ''
				object_id	= ''
				show_id		= ''
				warning		= ''
				k=0
				loading_end()
			}
			else
			{
				runAJAX()
			}
		}
		else
		{
			loading_end();
			return;
		}
	}
}

function GetXmlHttpObject()
{
	var XMLHttp=null

	try
	{
		XMLHttp=new ActiveXObject("Msxml2.XMLHTTP")
	}
	catch(e)
	{
		try
		{
			XMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
		}
		catch(e)
		{
			XMLHttp=new XMLHttpRequest()
		}
	}

	if (XMLHttp==null)
	{
		XMLHttp=new XMLHttpRequest()
	}

	return XMLHttp
}

function loading_start()
{
	if(document.getElementById('loading'))
		document.getElementById('loading').style.display = 'block';
}

function loading_end()
{
	if(document.getElementById('loading'))
		document.getElementById('loading').style.display = 'none';
}

function menu_editor(f_action, f_object_id, f_warning, f_prompt, f_default_value)
{
//	show the loading div
	loading_start()

//	display a warning where a user has to confirm his action
	if(f_warning)
	{
	    if(f_prompt)
	 		answer = prompt(f_warning,f_default_value);
	 	else
			answer = confirm(f_warning)
		if(!answer)
		{
			loading_end()
			return;
		}
	}
	document.getElementById('menu_item_id').value = f_object_id
	document.getElementById('menu_action').value = f_action
	document.getElementById('menu_item_name').value = answer
	document.forms['menu_form'].submit()

	loading_end()
}

