/*

Global functions

*/

var windowOnloads = new Array();

// window.onload is usually only one function
function doWindowOnload()
{
	window.onload = function()
	{
		for (var i = 0; i < windowOnloads.length; i++)
		{
			eval(windowOnloads[i]);
		}
	}
}

function windowOnload(task)
{
	windowOnloads[windowOnloads.length] = task;
}

function shadeItem(id, opacity)
{
	var styles = document.getElementById(id).style;
	
	// opacity van 0 vindt JS niet zo prettig geloof ik
	if (opacity == undefined || opacity == "" || opacity == 0)
	{
		opacity = 1;
	}

	styles.opacity = (opacity / 100);
	styles.KhtmlOpacity = (opacity / 100);
	styles.filter = "alpha(opacity=" + opacity + ")";
	
	// IE hack...
	styles.zoom = 1;
}

function xmltostring(xmlobject)
{
	var string = (new XMLSerializer()).serializeToString(xmlobject);
	
	return string;
}

function setProgressbar(divid, percent)
{
	if (isNaN(percent))
	{
		return false;
	}
	
	if (percent > 100)
	{
		percent = 100;
	} else if (percent < 0)
	{
		percent = 0;
	}
	
	document.getElementById(divid).style.width = percent + "%";
}

function reporterror(text, title, debugtext)
{
	if (typeof(title) == "undefined")
	{
		title = "Message";
	}
	
	if (typeof(debugtext) == "undefined")
	{
		debugtext = "";
	}
	
	MessageBox.displayMessage(text, title);
}

function addorchangeUrlVar(url, variable, val)
{
	var urlparts = url.split("?");
	
	// da's makkelijk...
	if (!urlparts[1])
	{
		return urlparts[0] + "?" + variable + "=" + val;
	}
	
	var url = urlparts[0];
	var urlparts2 = urlparts[1].split("&");
	var params = {};
	
	for (var i = 0; i < urlparts2.length; i++)
	{
		var urlparts3 = urlparts2[i].split("=");
		
		params[urlparts3[0]] = urlparts3[1];
	}
	
	params[variable] = val;
	
	var questionmarkset = false;
	for (i in params)
	{
		if (!questionmarkset)
		{
			questionmarkset = true;
			
			url += "?" + i + "=" + params[i];
		} else
		{
			url += "&" + i + "=" + params[i];
		}
	}
	
	return url;
}

function addorchangeCurrenturlVar(variable, val)
{
	return addorchangeUrlVar(document.location.href, variable, val);
}
