function JAAX() {
	var contentObj;
	var onCompletion;
	var onCompletionS;
	var onLoading;
	var onLoadingS;
	var requestFile;
	var postVars;
	var response;

	this.runAJAX=function() {
		var self = this;
		RtrFunc = function(){
			var r =RtrFunc.arguments[0].responseText;
			if (r!='') {
				self.response=r;
				if (self.onCompletion==0) {
					self.contentObj.innerHTML=r;
				} else {
					if (onCompletionS!='') eval(onCompletionS);
					self.onCompletion();
				}
				self.resetNewUse();
			}
		}
		if (this.onLoading==0) {
			if (onLoadingS!='') eval(onLoadingS);
			showLoadingIcon(self.contentObj.id);
		} else {
			this.onLoading();
		}

		if (this.postVars!='') {
			this.SendPOST(this.requestFile,this.postVars,RtrFunc);
		} else {
			this.SendGET(this.requestFile,RtrFunc);
		}
	}

	this.resetNewUse = function() {
		this.onCompletion=function() {};
		this.onLoading=function() {};
		this.requestFile=null;
		this.postVars=null;
		this.xmlhttp=null;
		this.response=null;
	}

	this.Send = function(url, method, callback, data, urlencoded){
		var req=this.getXMLHttpObj();

		req.onreadystatechange = function() {
			if (req.readyState == 4) {
				if (req.status < 400) {
					(method=="POST") ? callback(req) : callback(req,data);
				} else {
					alert("Veriler yüklenirken bir hata meydana geldi:\n" + req.status+ "/" + req.statusText+"\n"+url);
				}
			}
		}

		if (method=="POST") {
			req.open("POST", url, true);
			if (urlencoded) {
				req.setRequestHeader('Content-Type','application/x-www-form-urlencoded;Windows-1254');
			}
			req.send(data);
		} else {
			req.open("GET", url, true);
			req.send(null);
		}

		return req;
	}

	this.SendPOST = function(url, data, callback){
		this.Send(url, "POST", callback, data, true);
	}

	this.SendGET = function(url, callback, args){
		this.Send(url, "GET", callback, args);
	}

	this.getXMLHttpObj=function(){
		var _XH_ACTIVE_X_IDENTS=[
			'MSXML2.XMLHTTP.6.0',
			"MSXML2.XMLHTTP.5.0",
			"MSXML2.XMLHTTP.4.0",
			"MSXML2.XMLHTTP.3.0",
			"MSXML2.XMLHTTP.2.0",
			"MSXML2.XMLHTTP.1.0",
			"MSXML2.XMLHTTP",
			"MICROSOFT.XMLHTTP.2.0",
			"MICROSOFT.XMLHTTP.1.0",
			"MICROSOFT.XMLHTTP.1",
			"MICROSOFT.XMLHTTP",
			'MSXML2.DOMDocument.6.0',
			'MSXML2.DOMDocument.5.0'
		],_xh_ieProgId=undefined;
		if (typeof XMLHttpRequest=="undefined"&&typeof ActiveXObject!="undefined") {
			for(var a=0;a<_XH_ACTIVE_X_IDENTS.length;a++) {
				var b=_XH_ACTIVE_X_IDENTS[a];
				try {
					new ActiveXObject(b);
					_xh_ieProgId=b;
					break;
				} catch(c) {
				}
			}
		}
		var xmlhttp=false;
		/*@cc_on @*/
		/*@if (@_jscript_version>=5)
		try {
			xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
		} catch(e) {
			try {
				xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
			} catch(E) {
				xmlhttp=false;
			}
		}
		@end @*/
		if (_xh_ieProgId!==undefined) {
			xmlhttp=new ActiveXObject(_xh_ieProgId);
		}
		if (!xmlhttp&&typeof(XMLHttpRequest)!='undefined') {
			try {
				xmlhttp=new XMLHttpRequest();
			} catch (e) {
				xmlhttp=false;
			}
		}
		if (!xmlhttp&&window.createRequest) {
			try {
				xmlhttp=window.createRequest();
			} catch (e) {
				xmlhttp=false;
			}
		}
		return xmlhttp;
	}
}


function getJAX(sUrl,sDiv,loadedJs,compJs) {
	loadedJs=typeof(loadedJs)=='undefined'?'':loadedJs;
	compJs=typeof(compJs)=='undefined'?'':compJs;
	eval('var ajaObj_'+(new Date().getTime())+'=new JAAX();');
	tmpObj=eval('ajaObj_'+(new Date().getTime())+';');
	tmpObj.contentObj=$(sDiv);
	tmpObj.requestFile = sUrl;
	tmpObj.onCompletion = 0;
	tmpObj.onLoading = 0;
	tmpObj.onCompletionS = compJs;
	tmpObj.onLoadingS = loadedJs;
	tmpObj.runAJAX();
}

function showLoadingIcon(sDiv) {
	$(sDiv).innerHTML='<img src="/img/progressimgred.gif" vspace="2" hspace="2" border="0" align="absmiddle">';
}