// JavaScript Document

//type: string "get" or "post"
//url: string url to php file
//params: add after first two - string var name, string value - add as many as necessary
function Ajax(type, url, urlString){
	//public members
	this.type = type;
	this.url = url;
	this.response = "";
	//private members
	var that = this;
	var xmlHttp;
	var objXMLHttp;
	var params = urlString;
	function GetXmlHttpObject(){ 
		if (window.XMLHttpRequest){
			objXMLHttp=new XMLHttpRequest()
		}else if (window.ActiveXObject){
			objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
		}
		return objXMLHttp;
	}
	if(this.type == "get" || this.type == "GET"){
		sendGetData();
	}else if(this.type == "post" || this.type == "POST"){
		sendPostData();
	}else{
		alert("Couldn't find a valid 'type' argument.");
		return;
	}
	function sendGetData(){
		xmlHttp=GetXmlHttpObject();
		//check if browser supports httpRequest
		if (objXMLHttp==null){
			alert ("Browser does not support HTTP Request");
			return;
		}
		var uri = that.url+"?"+params+"&sid="+Math.random();//prevents php data from caching;
		xmlHttp.onreadystatechange = getData;
		xmlHttp.open('GET', uri, true);
		xmlHttp.send(null);
	}
	function sendPostData(){
		xmlHttp=GetXmlHttpObject();
		//check if browser supports httpRequest
		if (objXMLHttp==null){
			alert ("Browser does not support HTTP Request");
			return;
		}
		xmlHttp.onreadystatechange = getData;
		xmlHttp.open('POST', that.url, true);
		xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		xmlHttp.setRequestHeader("Content-length", params.length);
		xmlHttp.setRequestHeader("Connection", "close");
		xmlHttp.send(params);
	}
	function getData(){
		if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){
			that.response = xmlHttp.responseText;
			that.onload();
		}
	}
}
//call to execute code on response
Ajax.prototype.onload = function(){ };



