
/*------------- UTIL -------------*/
// Changes the HTML inside a tag
function UTIL_ChangeInnerHTML(id, newhtml)
{
	var itemopen = "";
	var itemwrite = "";
	var itemclose = "";
	if(document.layers){ //if ns4
		itemopen="document."+id+".document.open()";
		itemwrite="document."+id+".document.write(''+newhtml+'')";
		itemclose="document."+id+".document.close()";
	}
	else if (document.all){ //if ie4
		itemopen="";
		itemwrite=""+id+".innerHTML=''+newhtml+''";
		itemclose="";
	}
	else if (document.getElementById){ //if ns6
		rng = document.createRange();
		el = document.getElementById(id);
		rng.setStartBefore(el);
		htmlFrag = rng.createContextualFragment("" + newhtml + "");
		while (el.hasChildNodes())
			el.removeChild(el.lastChild);
		el.appendChild(htmlFrag);
		return true;
	}
	eval(itemopen);
	eval(itemwrite);
	eval(itemclose);
}

// Sets and gets cookies
function UTIL_SetCookie(c_name,value,expiredays,path)
{
	var exdate = new Date();
	exdate.setDate(exdate.getDate()+expiredays);
	document.cookie = c_name + "=" + escape(value) + ((expiredays == null) ? "" : "; expires="+exdate.toGMTString()) + "; path=" + path;
}

function UTIL_GetCookie(c_name)
{
	if (document.cookie.length > 0)
	{
		c_start = document.cookie.indexOf(c_name + "=");
		if (c_start != -1)
		{
			c_start = c_start + c_name.length+1;
			c_end = document.cookie.indexOf(";", c_start);
			if (c_end == -1)
			{
				c_end=document.cookie.length;
			}
			return unescape(document.cookie.substring(c_start,c_end));
		}
	}
	return "";
}

// Gets an element from the DOM given its ID. Browser independent call
function UTIL_GetElementById(id)
{
	var object;
	if (document.getElementById){ object = document.getElementById(id); }
	else if (document.all){ object = eval(id); }
	else if (document.layers){ object = eval("document."+id); }

	return object;
}

// Preloads an image
function UTIL_PreloadImages()
{
	var args = simplePreload.arguments;
	document.imageArray = new Array(args.length);
	for(var i=0; i<args.length; i++)
	{
		document.imageArray[i] = new Image;
		document.imageArray[i].src = args[i];
	}
}

/*------------- AJAX -------------*/
// Sends an asynch HTTP request
function AJAX_SendHTTPRequest(method,url,postVars,id,show_load)
{
	if (show_load)
	{
		AJAX_setLoading(id);
	}

	// generate HTTP request object
	var myRequest = false;
	if (window.XMLHttpRequest) {
		// all browsers except IE ...
		myRequest = new XMLHttpRequest();
	}
	else if (window.ActiveXObject) {
		// Internet Explorer - take care here
		try
		{ // old versions of MSXML
			myRequest = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e)
		{
			try { // IE5 or higher
				myRequest = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e) {} // hopeless case
		}
	}
	if (!myRequest) {
		alert("Your browser seems to be unable to do AJAX - please upgrade!");
		return false;
	}
	// open request and configure
	myRequest.open(method.toUpperCase(), url, true);
	// special treatment for some older Mozilla versions
	if (myRequest.overrideMimeType)
	{
		myRequest.overrideMimeType('text/html');
	}
	// set additional header for POST requests
	if (method.toUpperCase() == 'POST')
	{
		myRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	}
	// define callback method
	myRequest.onreadystatechange = function() { ajaxResponse(myRequest, id); };
	// Request senden
	myRequest.send(postVars);
	return true;
}
