// JavaScript Document
var xmlHttp;
var targetDIV;
//var arrPageGrabTargets;
//var arrPageGrabURLs;

function GetXmlHttpObject(){ 
	var objXMLHttp=null

	if (window.XMLHttpRequest){
		objXMLHttp=new XMLHttpRequest()
	}
	else if (window.ActiveXObject){
		objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
	}

	return objXMLHttp
} 

function ajaxPOST(frm){
	
	xmlHttp=GetXmlHttpObject()
	if (xmlHttp==null){
		alert ("Browser does not support HTTP Request")
		return
	} 

	var action = frm.action;
	var method = frm.method;
		method = method.toUpperCase();
	var mn = 0;
	var mx = frm.elements.length;
	var url = "";
	
	for (x = mn; x < mx; x++){
		if (url == ""){
			url = frm.elements[x].name+"="+frm.elements[x].value;
		}
		else{
			url += "&"+frm.elements[x].name+"="+frm.elements[x].value;
		}
		
		//if (frm.elements[x].type == "text" || frm.elements[x].type == "textarea"){
		//	frm.elements[x].value = "";
		//}
	}

	url += "&sid="+Math.random()

	if (method == "GET"){
		url = "?"+url;
	}

	ajaxPOST_start(frm);

	xmlHttp.onreadystatechange=function(){ 
		if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){
			//runPAGES();
			ajaxPOST_end(frm);
		}
	};
	
	if (method == "GET"){
		xmlHttp.open(method,url,true)
		xmlHttp.send(null)
	}
	if (method == "POST"){
		xmlHttp.open(method,action,true)
		xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		xmlHttp.send(url)
	}
} 

function isArray(obj) {
  if (obj.constructor.toString().indexOf("Array") == -1)
      return false;
  else
      return true;
}

function addPAGE(url,target){
	
	//if(isArray(arrPageGrabTargets)){
	//	var x = arrPageGrabTargets.length;
		
	//	arrPageGrabTargets[x] = target;
	//	arrPageGrabURLs[x] = url;
	//}
	//else{
	//	arrPageGrabTargets[0] = target;
	//	arrPageGrabURLs[0] = url;
	//}

}

function runPAGES(){
	
	//var x = arrPageGrabTargets.length;
	//x--;
	
	//alert(x);
	
	//var x = currentPageGrabPointer;
	
	var x = arrPageGrabURLs.length-1;
	
	if (x >= 0){
		
		//alert(arrPageGrabTargets[x]+": "+arrPageGrabURLs[x]);
		
		getPAGE(arrPageGrabURLs[x],arrPageGrabTargets[x]);
	
		arrPageGrabURLs[x] = "";
		arrPageGrabTargets[x] = "";
	
		arrPageGrabURLs.length = x;
		//currentPageGrabPointer--;
	}
}

function getPAGE(url,target){

	targetDIV = target;

	xmlHttp=GetXmlHttpObject()
	if (xmlHttp==null){
		alert ("Browser does not support HTTP Request")
		return
	} 
	
	//alert(url);
	//alert(url.indexOf("?"));
	
	if (url.indexOf("?") == -1){
		url=url+"?sid="+Math.random()
	}
	else{
		url=url+"&sid="+Math.random()
	}

	xmlHttp.onreadystatechange=function(){
		if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){
			//var rslt_cntnt = xmlHttp.responseText;
			//var h = rslt_cntnt.offsetHeight;
	
			//alert(h);
			
			if (targetDIV > ""){			
				document.getElementById(targetDIV).innerHTML = xmlHttp.responseText;
				//runPAGES();
				getPAGE_end();
			}
		}
	}
	xmlHttp.open("GET",url,true)
	xmlHttp.send(null)

}

function get(url,target,endfunc){

	targetDIV = target;

	xmlHttp=GetXmlHttpObject()
	if (xmlHttp==null){
		alert ("Browser does not support HTTP Request")
		return
	} 
	
	//alert(url);
	//alert(url.indexOf("?"));
	
	if (url.indexOf("?") == -1){
		url=url+"?sid="+Math.random()
	}
	else{
		url=url+"&sid="+Math.random()
	}

	xmlHttp.onreadystatechange=function(){
		if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){
			//var rslt_cntnt = xmlHttp.responseText;
			//var h = rslt_cntnt.offsetHeight;
	
			//alert(h);
			
			if (targetDIV > ""){			
				document.getElementById(targetDIV).innerHTML = xmlHttp.responseText;
				//runPAGES();
				//getPAGE_end();
			}
			if (endfunc > ""){
				var ExecuteEndFunc = new Function(endfunc+"();");
				ExecuteEndFunc();
			}
		}
	}
	xmlHttp.open("GET",url,true)
	xmlHttp.send(null)

}

function post(frm,startfunc,endfunc){
	
	xmlHttp=GetXmlHttpObject()
	if (xmlHttp==null){
		alert ("Browser does not support HTTP Request")
		return
	} 

	var action = frm.action;
	var method = frm.method;
		method = method.toUpperCase();
	var mn = 0;
	var mx = frm.elements.length;
	var url = "";
	
	for (x = mn; x < mx; x++){
		if (url == ""){
			if (frm.elements[x].type == "checkbox"){
				if (frm.elements[x].checked){
					url = frm.elements[x].name+"="+frm.elements[x].value;
				}
			}
			else{
				url = frm.elements[x].name+"="+frm.elements[x].value;
			}
		}
		else{
			if (frm.elements[x].type == "checkbox"){
				if (frm.elements[x].checked){
					url += "&"+frm.elements[x].name+"="+frm.elements[x].value;
				}
			}
			else{
				url += "&"+frm.elements[x].name+"="+frm.elements[x].value;
			}
		}
		
		//if (frm.elements[x].type == "text" || frm.elements[x].type == "textarea"){
		//	frm.elements[x].value = "";
		//}
	}

	url += "&sid="+Math.random()

	if (method == "GET"){
		url = "?"+url;
	}

	//ajaxPOST_start(frm);

	if (startfunc > ""){
		var ExecuteStartFunc = new Function(startfunc+"('"+frm+"');");
		ExecuteStartFunc();
	}

	if (method == "GET"){
		xmlHttp.open(method,url,true)
		xmlHttp.send(null)
	}
	if (method == "POST"){
		//alert(method);
		//alert(action);
		//alert(url);
		
		xmlHttp.open(method,action,true)
		xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		xmlHttp.send(url)
	}

	xmlHttp.onreadystatechange=function(){ 
		if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){
			//runPAGES();
			//ajaxPOST_end(frm);
			if (endfunc > ""){
				var ExecuteEndFunc = new Function(endfunc+"('"+frm+"');");
				ExecuteEndFunc();
			}
		}
	};
	
}


function getresultswithpost(frm,target,startfunc,endfunc){

	targetDIV = target;

	xmlHttp=GetXmlHttpObject()
	if (xmlHttp==null){
		alert ("Browser does not support HTTP Request")
		return
	} 

	var action = frm.action;
	var method = frm.method;
		method = method.toUpperCase();
	var mn = 0;
	var mx = frm.elements.length;
	var url = "";
	
	for (x = mn; x < mx; x++){
		if (url == ""){
			url = frm.elements[x].name+"="+frm.elements[x].value;
		}
		else{
			url += "&"+frm.elements[x].name+"="+frm.elements[x].value;
		}
	}

	url += "&sid="+Math.random()

	if (method == "GET"){
		url = "?"+url;
	}

	if (startfunc > ""){
		var ExecuteStartFunc = new Function(startfunc+"('"+frm+"');");
		ExecuteStartFunc();
	}

	if (method == "GET"){
		xmlHttp.open(method,url,true)
		xmlHttp.send(null)
	}
	if (method == "POST"){
		//alert(method);
		//alert(action);
		//alert(url);
		xmlHttp.open(method,action,true)
		xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		xmlHttp.send(url)
	}

	xmlHttp.onreadystatechange=function(){ 
		if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){
			if (targetDIV > ""){			
				document.getElementById(targetDIV).innerHTML = xmlHttp.responseText;
			}
			if (endfunc > ""){
				var ExecuteEndFunc = new Function(endfunc+"('"+frm+"');");
				ExecuteEndFunc();
			}
		}
	};
	
}

function postwithresults(frm,target,startfunc,endfunc){

	targetDIV = target;

	xmlHttp=GetXmlHttpObject()
	if (xmlHttp==null){
		alert ("Browser does not support HTTP Request")
		return
	} 

	var action = frm.action;
	var method = frm.method;
		method = method.toUpperCase();
	var mn = 0;
	var mx = frm.elements.length;
	var url = "";
	
	for (x = mn; x < mx; x++){
		if (url == ""){
			url = frm.elements[x].name+"="+frm.elements[x].value;
		}
		else{
			url += "&"+frm.elements[x].name+"="+frm.elements[x].value;
		}
	}

	url += "&sid="+Math.random()

	if (method == "GET"){
		url = "?"+url;
	}

	if (startfunc > ""){
		var ExecuteStartFunc = new Function(startfunc+"('"+frm+"');");
		ExecuteStartFunc();
	}

	if (method == "GET"){
		xmlHttp.open(method,url,true)
		xmlHttp.send(null)
	}
	if (method == "POST"){
		//alert(method);
		//alert(action);
		//alert(url);
		xmlHttp.open(method,action,true)
		xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		xmlHttp.send(url)
	}

	xmlHttp.onreadystatechange=function(){ 
		if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){
			var postresults = xmlHttp.responseText;
			//alert(postresults);
			if (targetDIV > ""){			
				document.getElementById(targetDIV).innerHTML = postresults;
			}
			if (endfunc > ""){
				var ExecuteEndFunc = new Function(endfunc+"('"+postresults+"');");
				ExecuteEndFunc();
			}
		}
	};
	
}