if(window.XMLHttpRequest)
	xhr = new XMLHttpRequest();
else if(window.ActiveXObject)
	xhr = new ActiveXObject('Microsoft.XMLHTTP');
else
	xhr = false;
	
function ajax_callback(url, func, arg, bar)
{
	if(document.getElementById(arg))
	{
		if(bar)
			document.getElementById(arg).innerHTML = '<img src="http://www.xenwars.com/images/icons/ajax_bar.gif">';	
		else
			document.getElementById(arg).innerHTML = '<img src="http://www.xenwars.com/images/icons/ajax_icon.gif">';
	}
	if(xhr)
	{
		callback_func = func;
		callback_arg = arg;
		xhr.open('GET', url, true);
		xhr.onreadystatechange = orst;
		xhr.send(null);
	}
	else
		return false;
}

function ajax_callback2(url, params, func, arg, bar)
{
	if(document.getElementById(arg))
	{
		if(bar)
			document.getElementById(arg).innerHTML = '<img src="http://www.xenwars.com/images/icons/ajax_bar.gif">';	
		else
			document.getElementById(arg).innerHTML = '<img src="http://www.xenwars.com/images/icons/ajax_icon.gif">';
	}
	if(xhr)
	{
		callback_func = func;
		callback_arg = arg;
		xhr.open("POST", url, true);
		xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		xhr.setRequestHeader("Content-length", params.length);
		xhr.setRequestHeader("Connection", "close");
		xhr.onreadystatechange = orst;
		xhr.send(params);
	}
	else
		return false;
}

function orst()
{
	if(xhr.readyState  == 4 && xhr.status  == 200)
			eval(callback_func + '(\'' + escape(xhr.responseText) + '\',\'' + escape(callback_arg) + '\');');
}

/* define the callback procedures you want to use below */

function set_div(data, divname)
{
	div = document.getElementById(unescape(divname));
	div.innerHTML = unescape(data);
}

function run_js(data, dummy)
{
	eval(unescape(data));
}
