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

function preload(id){
	document.getElementById(id).innerHTML = "<span style=\"color:red; font-style:italic;\">Loading...</span>";
}
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){
	
	var 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 = "";
	var fldval = "";
	
	for (x = mn; x < mx; x++){
		if (url == ""){
			fldval = urlencode(frm.elements[x].value);
			url = frm.elements[x].name+"="+fldval;
		}
		else{
			fldval = urlencode(frm.elements[x].value);
			url += "&"+frm.elements[x].name+"="+fldval;
		}
		
		//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 search_results(frm){
	
	var 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 = "";
	var fldval = "";
	
	for (x = mn; x < mx; x++){
		if (url == ""){
			fldval = urlencode(frm.elements[x].value);
			url = frm.elements[x].name+"="+fldval;
		}
		else{
			fldval = urlencode(frm.elements[x].value);
			url += "&"+frm.elements[x].name+"="+fldval;
		}
	}

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

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

	//ajaxPOST_start(frm);

	xmlHttp.onreadystatechange=function(){ 
		if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){
			document.getElementById("searchresults").innerHTML = xmlHttp.responseText+" Results";
			return xmlHttp.responseText;
		}
	};
	
	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){

	var targetDIV = target;

	var 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){

	var targetDIV = target;

	var 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 urlencode(str) {
	str = escape(str);
	str = str.replace('+', '%2B');
	str = str.replace('%20', '+');
	str = str.replace('*', '%2A');
	str = str.replace('/', '%2F');
	str = str.replace('@', '%40');
	str = str.replace('&', '%26');
	return str;
}

function urldecode(str) {
	str = str.replace('+', ' ');
	str = unescape(str);
	return str;
}

function post(frm,startfunc,endfunc){
	//requestshowing = true;
	
	var 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();
	}

	//alert(url);

	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"){
			//requestshowing = false;
			//runPAGES();
			//ajaxPOST_end(frm);
			if (endfunc > ""){
				var ExecuteEndFunc = new Function(endfunc+"('"+frm+"');");
				ExecuteEndFunc();
			}
		}
	};
	
}

function file_get_contents(url,startfunc,endfunc){
	
	var file_contents = "";
	var xmlHttp=GetXmlHttpObject()
	if (xmlHttp==null){
		alert ("Browser does not support HTTP Request")
		return
	} 

	if (url.indexOf("?") == -1){
		url=url+"?sid="+Math.random()
	}
	else{
		url=url+"&sid="+Math.random()
	}

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

	xmlHttp.open("GET",url,true)
	xmlHttp.send(null)

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

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

	targetDIV = target;

	var 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();
			}
		}
	};
	
}
