
var XMLHttp = new Array ();
	XMLHttp["Hinst"] = new Array(); XMLHttp["Hinst_index"] = new Array (); XMLHttp["Hinst_timeout"] = new Array(); XMLHttp["Hinst_loader"] = new Array (); XMLHttp["Inst_status"] = new Array (); XMLHttp["Inst_Action"] = new Array (); XMLHttp["Inst_num"]; 
	XMLHttp["Inst_num"] = 0;
var XMLHttp_Last_Requested;

XMLHttp = createXMLHttpRequest(XMLHttp,"active_layout");

function createXMLHttpRequest(RequestObj,RequestName,RequestLoader) {
	
	if (window.ActiveXObject) {
		RequestObj["Hinst_index"][RequestObj["Inst_num"]]	= RequestName;
		if(typeof(RequestLoader)!="undefined") {
			RequestObj["Hinst_loader"][RequestObj["Inst_num"]]	= RequestLoader; 
			RequestObj["Hinst_timeout"][RequestObj["Inst_num"]] = "setTimeout(function(){$S('"+ RequestLoader + "').display = 'none',200});";
		}
		else {RequestObj["Hinst_loader"][RequestObj["Inst_num"]]	= ''; RequestObj["Hinst_timeout"][RequestObj["Inst_num"]] ='';}
		RequestObj["Hinst"][RequestObj["Inst_num"]]			= new ActiveXObject("Microsoft.XMLHTTP");
		RequestObj["Inst_status"][RequestObj["Inst_num"]]	= false;
		RequestObj["Inst_Action"][RequestObj["Inst_num"]]	= '';
		RequestObj["Inst_num"]++;
	}
	else if (window.XMLHttpRequest) {
		RequestObj["Hinst_index"][RequestObj["Inst_num"]]	= RequestName;
		if(typeof(RequestLoader)!="undefined") {
			RequestObj["Hinst_loader"][RequestObj["Inst_num"]]	= RequestLoader; 
			RequestObj["Hinst_timeout"][RequestObj["Inst_num"]] = "setTimeout(function(){$S('"+ RequestLoader + "').display = 'none',200});";
		}
		else {RequestObj["Hinst_loader"][RequestObj["Inst_num"]]	= ''; RequestObj["Hinst_timeout"][RequestObj["Inst_num"]] ='';}
		RequestObj["Hinst"][RequestObj["Inst_num"]]			= new XMLHttpRequest();
		RequestObj["Inst_status"][RequestObj["Inst_num"]]	= false;
		RequestObj["Inst_Action"][RequestObj["Inst_num"]]	= '';
		if (RequestObj["Hinst"][RequestObj["Inst_num"]].overrideMimeType) {
			//RequestObj["Hinst"][RequestObj["Inst_num"]].overrideMimeType("text/xml");
			RequestObj["Hinst"][RequestObj["Inst_num"]].overrideMimeType("text/html");
		}
		RequestObj["Inst_num"]++;
	}
	return RequestObj;
}

function createajXMLHttpRequest(RequestObj,RequestName) {
	for (i = 0; i < RequestObj["Inst_num"]; i++) {
		if (RequestObj["Hinst_index"][i] == RequestName) {return RequestObj;}
	}
	if (window.ActiveXObject) {
		RequestObj["Hinst_index"][RequestObj["Inst_num"]]	= RequestName;
		RequestObj["Hinst"][RequestObj["Inst_num"]]			= new ActiveXObject("Microsoft.XMLHTTP");
		RequestObj["Inst_status"][RequestObj["Inst_num"]]	= false;
		RequestObj["Inst_Action"][RequestObj["Inst_num"]]	= '';
		RequestObj["Inst_num"]++;
	}
	else if (window.XMLHttpRequest) {
		RequestObj["Hinst_index"][RequestObj["Inst_num"]]	= RequestName;
		RequestObj["Hinst"][RequestObj["Inst_num"]]			= new XMLHttpRequest();
		RequestObj["Inst_status"][RequestObj["Inst_num"]]	= false;
		RequestObj["Inst_Action"][RequestObj["Inst_num"]]	= '';
		if (RequestObj["Hinst"][RequestObj["Inst_num"]].overrideMimeType) {
			//RequestObj["Hinst"][RequestObj["Inst_num"]].overrideMimeType("text/xml");
			RequestObj["Hinst"][RequestObj["Inst_num"]].overrideMimeType("text/html");
		}
		RequestObj["Inst_num"]++;
	}
	return RequestObj;
}

function SendXMLHttpUpdate(RequestObj,ObjectName,DestName,AjAction,AjBasePairs,AjParam2) {
	//alert(RequestObj+","+ObjectName+","+DestName+","+AjAction+","+AjBasePairs+","+AjParam2);
		window.status='Action Requested';
	var Request_number;
	for (i = 0; i < RequestObj["Inst_num"]; i++) {
		if (RequestObj["Hinst_index"][i] === ObjectName) {
			Request_number = i;
			XMLHttp_Last_Requested = i;
			window.status='Request initiated';
			break;
		}
	}
	if((typeof(RequestObj["Hinst_loader"][Request_number])!="undefined")&&(RequestObj["Hinst_loader"][Request_number]!=="")) {
		if(document.getElementById(RequestObj["Hinst_loader"][Request_number])) {
			setOpacity(RequestObj["Hinst_loader"][Request_number], 90);
			document.getElementById(RequestObj["Hinst_loader"][Request_number]).innerHTML = '<TABLE width=100% height=100% bgcolor=white><tr><td><CENTER><img src="images/admin/arrows/load.gif"/></CENTER></td></tr><tr><td><CENTER>Loading Content... Please Wait</CENTER></td></tr></table>';
			//alert(RequestObj["Hinst_loader"][Request_number]).innerHTML);
			$S(RequestObj["Hinst_loader"][Request_number]).zIndex= "90";
			$S(RequestObj["Hinst_loader"][Request_number]).display = "block";
		}
	}
	if (RequestObj["Inst_status"][Request_number] === false) {
			window.status='Request in use';
			
		RequestObj["Inst_status"][Request_number] = true;
		RequestObj["Inst_Action"][Request_number] = AjAction;
		//var loc_url = location.href;
		//loc_url = loc_url.split("/");
		//var server = loc_url[2];

		var post_url = "index.php"; 
			window.status='Request destination set';
		var params = "host=" + encodeURIComponent(ObjectName) + "&block=" + encodeURIComponent(DestName) + "&action=" + encodeURIComponent(AjAction) + "&params=" + encodeURIComponent(AjBasePairs);
		if(AjParam2) {params+= "&params2=" + encodeURIComponent(AjParam2);}
			window.status='Request params set';
		if (0 && ((AjAction == 'postform')||(AjAction == 'update')||(AjAction == 'refresh')||(AjAction == 'block_refresh'))) {
			document.getElementById(ObjectName).style.opacity=0;
		}
			window.status='Setting up transfer';
		RequestObj["Hinst"][Request_number].open("post",post_url,true);
			window.status='Transfer initiated';
		//SETHEADER
		RequestObj["Hinst"][Request_number].setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		RequestObj["Hinst"][Request_number].setRequestHeader("Content-length", params.length);
		RequestObj["Hinst"][Request_number].setRequestHeader("Connection", "close");
			window.status='Request Header set';
		RequestObj["Hinst"][Request_number].onreadystatechange = ResponseHandler;
			window.status='Request State handled';
		RequestObj["Hinst"][Request_number].send(params);
			window.status='Request awaiting response';
		//setTimeout(function(){alert(params)},100);
	}
	else { window.status='Request denied';}
	return false;
}

function ResponseHandler() {
	for (i = 0; i < XMLHttp["Inst_num"]; i++) {
	window.status='Searching Request ' + i;
		//alert(XMLHttp["Inst_status"][i]);
		if (XMLHttp["Hinst"][i].readyState == 4 && XMLHttp["Hinst"][i].status == 200) {
	window.status='Found Request';	
			RequestName = XMLHttp["Hinst_index"][i];
			RequestAction = XMLHttp["Inst_Action"][i];
			//alert("Executed");
			XMLHttp["Inst_status"][i] = false;
			var response = XMLHttp["Hinst"][i].responseText;
			//alert(response);
			var responsestylesplit = response.split("<style>");
			if (responsestylesplit.length == 2) { 
				//alert("style");
				var responseendstylesplit = responsestylesplit[1].split("<\/style>");
				response = responsestylesplit[0] + responseendstylesplit[1];
				var blockstyle = responseendstylesplit[0];
				//alert(responseendstylesplit[0]);
				var filestyleref="";
				filestyleref = document.createElement("style");
				filestyleref.setAttribute("type","text/css");
				filestyleref.id = RequestName + "css";
				if (filestyleref.styleSheet) {
					filestyleref.styleSheet.cssText = responseendstylesplit[0];
					if (document.getElementById(filestyleref.id)!="" && document.getElementById(filestyleref.id)!=null && document.getElementById(filestyleref.id)!=undefined) {
						var oldstyle = document.getElementById(filestyleref.id);
						//alert(document.getElementById(filestyleref.id));
						document.getElementsByTagName("head").item(0).removeChild(oldstyle);
						//alert(document.getElementById(filestyleref.id));
					}
					document.getElementsByTagName("head").item(0).appendChild(filestyleref);

					//alert(document.getElementsByTagName("head").item(0).innerHTML);
				}
				else if(browserId=="SAFARI"){
					filestyleref.innerText = responseendstylesplit[0];
					if (filestyleref.innerHTML!=="" && filestyleref.innerHTML!==undefined){
						if (document.getElementById(filestyleref.id)!="" && document.getElementById(filestyleref.id)!=null && document.getElementById(filestyleref.id)!=undefined) {
							var oldstyle = document.getElementById(filestyleref.id);
							//alert(document.getElementById(filestyleref.id));
							document.getElementsByTagName("head").item(0).removeChild(oldstyle);
							//alert(document.getElementById(filestyleref.id));
						}
						document.getElementsByTagName("head").item(0).appendChild(filestyleref);
						//alert(document.getElementsByTagName("head").item(0).innerHTML);
					}
				}
				else {
					filestyleref.innerHTML = responseendstylesplit[0];
					if (filestyleref.innerHTML!=="" && filestyleref.innerHTML!==undefined){
						if (document.getElementById(filestyleref.id)!="" && document.getElementById(filestyleref.id)!=null && document.getElementById(filestyleref.id)!=undefined) {
							var oldstyle = document.getElementById(filestyleref.id);
							//alert(document.getElementById(filestyleref.id));
							document.getElementsByTagName("head").item(0).removeChild(oldstyle);
							//alert(document.getElementById(filestyleref.id));
						}
						document.getElementsByTagName("head").item(0).appendChild(filestyleref);
						//alert(document.getElementsByTagName("head").item(0).innerHTML);
					}
				}
			}
			var responsescriptsplit = response.split("<script>");
			if (responsescriptsplit.length == 2) { 
				var responseendscriptsplit = responsescriptsplit[1].split("<\/script>");
				response = responsescriptsplit[0] + responseendscriptsplit[1];
				//alert(response);
				var responsescript = responseendscriptsplit[0];
				//alert(responsescript);
				var filescriptref="";
				filescriptref = document.createElement("script");
				filescriptref.setAttribute("type","text/javascript");
				filescriptref.text = responsescript;
				filescriptref.id = RequestName + "js";
				//ajaxloader = new Function(responsescript);
				//REMOVED FROM CURRENT LOCATION IN ORDER TO APPEND AFTER HTML IS WRITTEN
				//if (filescriptref.text!=""){
				//	document.getElementsByTagName("head").item(0).appendChild(filescriptref);
					//eval(responsescript);
					//ajaxloader();
					//alert(document.getElementsByTagName("head").item(0).innerHTML);
				//}
			}
			//alert(response);
			
			
			document.getElementById(RequestName).innerHTML = response;
			if (0 && ((RequestAction == 'postform')||(RequestAction == 'update')||(RequestAction == 'refresh')||(RequestAction == 'block_refresh'))) {
				fadeIn(RequestName,0);
			}
			if (window.ActiveXObject) {
				//alert("ActiveX");
				XMLHttp["Hinst"][i] = new ActiveXObject("Microsoft.XMLHTTP");
			}
			else if (window.XMLHttpRequest) {
				//alert("XMLHTTP");
				XMLHttp["Hinst"][i] = new XMLHttpRequest();
			}
			//ADDED TO CURRENT LOCATION IN ORDER TO APPEND AFTER HTML IS WRITTEN
			if (filescriptref) {
				if (filescriptref.text!=""){
					//alert((filescriptref.id));
					if (document.getElementById(filescriptref.id)!="" && document.getElementById(filescriptref.id)!=null && document.getElementById(filescriptref.id)!=undefined) {
						var oldjs = document.getElementById(filescriptref.id);
						//alert(document.getElementById(filescriptref.id));
						document.getElementsByTagName("head").item(0).removeChild(oldjs);
						//alert(document.getElementById(filescriptref.id));
					}
					document.getElementsByTagName("head").item(0).appendChild(filescriptref);
					//eval(responsescript);
					//ajaxloader();
					//alert(document.getElementsByTagName("head").item(0).innerHTML);
				}
			}
			if((typeof(XMLHttp["Hinst_loader"][i])!="undefined")&&(XMLHttp["Hinst_loader"][i]!=="")) {
				eval(XMLHttp["Hinst_timeout"][i]);		
			}
			if(typeof(JSQue)!="undefined") {
				if(JSQue!==null) { JSQue = execJSQue(JSQue); }
			}
			if(typeof(AJQue)!="undefined") {
				if(AJQue!==null) { AJQue = execAJQue(AJQue,XMLHttp); }
			}
	window.status='Request Success';
			break;
		}
		//alert(XMLHttp["Hinst"][i].readState);y
	}
	//alert("Not Executed");
	return false;
}

function hideContent(RequestObj) {
	for (i = 0; i < RequestObj["Inst_num"]; i++) {
		if(RequestObj["Hinst_index"][i].substring(0,7)=="content") {
			$S(RequestObj["Hinst_index"][i]).display="none";
		}
	}
	return false;
}

function showContent(RequestObj) {
	for (i = 0; i < RequestObj["Inst_num"]; i++) {
		if(RequestObj["Hinst_index"][i].substring(0,7)=="content") {
			$S(RequestObj["Hinst_index"][i]).display="block";
		}
	}
	return false;
}

function submitonEnter(evt,source,dest,action,alt){
	if((typeof(alt)!=="undefined")&&$(alt)) {
		var collector = alt;
	} else {
		var collector = source;
	}
	var charCode = (evt.which) ? evt.which : event.keyCode;
	if(charCode == "13"){ 
	//alert(dest);
		if(typeof(action)=="undefined") { var action="postform";}
		var temp = 'jsfp'+collector;
		SendXMLHttpUpdate(XMLHttp,source,dest,action,ajpostcollect(AJformdata[temp]));
		
	} 
	return false;
}

function selfRefresh (BlockObj, mSTime,mode) {
	var Blockjsname = 'content_' + BlockObj;
	//alert(Blockjsname);
	setTimeout(function() {SendXMLHttpUpdate(XMLHttp,Blockjsname,BlockObj,"block_refresh",mode)}, mSTime);
	return false;
}
function sysRefresh (BlockObj, mSTime,mode) {
	var Blockjsname = 'content_' + BlockObj;
	//alert(Blockjsname);
	setTimeout(function() {SendXMLHttpUpdate(XMLHttp,Blockjsname,BlockObj,"sys_refresh",mode)}, mSTime);
	return false;
}