///---------------------------------------------------------------------------------
/// AJAX Simple Functions
///---------------------------------------------------------------------------------
function createXmlHttpRequestObject()
{
	// will store the reference to the XMLHttpRequest object
	var xmlHttp;
	// this should work for all browsers except IE6 and older
	try
	{
		// try to create XMLHttpRequest object
		xmlHttp = new XMLHttpRequest();
	}
	catch(e)
	{
		// assume IE6 or older
		var XmlHttpVersions = new Array("MSXML2.XMLHTTP.6.0",
						"MSXML2.XMLHTTP.5.0",
						"MSXML2.XMLHTTP.4.0",
						"MSXML2.XMLHTTP.3.0",
						"MSXML2.XMLHTTP",
						"Microsoft.XMLHTTP");
		// try every prog id until one works
		for (var i = 0; i < XmlHttpVersions.length && !xmlHttp; i++)
		{
			try
			{
				// try to create XMLHttpRequest object
				xmlHttp = new ActiveXObject(XmlHttpVersions[i]);
			}
			catch (e)
			{

			}
		}
	}
	// return the created object or display an error message
	if (!xmlHttp)
	{
		alert("Error creating the XMLHttpRequest object.");
	}
	else return xmlHttp;
}

function ajaxGet()
{
	var args = ajaxGet.arguments;
	var x = createXmlHttpRequestObject();
	if (x) {
		x.onreadystatechange = function()
		{
			if (x.readyState == 4 && x.status == 200) {
				func = args[1];
				if (func!=null) func( x.responseText );
			}
		}
		x.open("GET", args[0], true);
		x.setRequestHeader("Cache-Control", "no-cache");
		x.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT" ); 
		x.send(null);
	}
}
function ajaxPost(iURL, iParams, iAsyn)
{
	//var x = (window.ActiveXObject) ? new ActiveXObject("Microsoft.XMLHTTP"): new XMLHttpRequest();
	var x = createXmlHttpRequestObject();
	if (x) {
		x.onreadystatechange = function()
		{
			if (x.readyState == 4 && x.status == 200) {
				
			}
		}
		x.open("POST", iURL, iAsyn);
		x.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    x.send(iParams);
	}
}
var start;
///---------------------------------------------------------------------------------
/// Check Allotment Functions
///---------------------------------------------------------------------------------
function AlmCheckSvcAvailable() {
	//-- ajax call
	$strIds = AlmCheckSvcAvailable.arguments[0] ? "&ids="+AlmCheckSvcAvailable.arguments[0] : "";
	ajaxGet("/xml/index.php?cmd=alm_svc_status&site="+arrCheckAvl.sid+"&start="+arrCheckAvl.start+"&end="+arrCheckAvl.end+$strIds,AlmCheckAvailableResult);
}
function AlmCheckRmAvailable() {
	//-- ajax call
	ajaxGet("/xml/index.php?cmd=alm_rm_status&svc="+arrCheckAvl.sid+"&start="+arrCheckAvl.start+"&end="+arrCheckAvl.end,AlmCheckAvailableResult);
}
function AlmCheckAvailableResult(xml) {
	try{
		//alert(xml);
		res = eval('('+xml+')');
	} catch(e){
		return;
	}
	var bHasAlm = false;
	for(i=0; i<res.data.length; i++){
		if (res.data[i].num<=0) continue;
		elm = document.getElementById("alm_"+res.data[i].id);
		stl = GetLayerStyle("alm_"+res.data[i].id);
		if (elm && stl) {
			elm.src = "/_en/images/icon_instant.gif";
			elm.title = "Available unit: "+res.data[i].num;
			stl.display = "inline";
		}
		bHasAlm = true;
	}
	if (bHasAlm){
		elm = document.getElementById("alm_icon");
		stl = GetLayerStyle("alm_icon");
		if (elm && stl) {
			elm.src = "/_en/images/icon_instant.gif";
			stl.display = "inline";
		}
	}
}

