/*
HttpSilentPost / Ajax kütüphane
-- Kodlar hazır alınmış, obje haline getirilip özelleştirilmiştir
*/

function HttpSilentPost(){
	this.ajaxObject = new Object();
	this.ajaxObject.httpreq = this.getHTTPObject();
	this.ajaxObject.returnFunction = '';
	//this.ajaxObject = ajaxObject;
}

HttpSilentPost.prototype.getHTTPObject = function(){
	var httprequest=false;
	if (window.XMLHttpRequest){
		httprequest=new XMLHttpRequest()
		if (httprequest.overrideMimeType)
			httprequest.overrideMimeType('text/xml')
	}
	else if (window.ActiveXObject){
		try {httprequest=new ActiveXObject("Msxml2.XMLHTTP");}
		catch (e){
			try{httprequest=new ActiveXObject("Microsoft.XMLHTTP");}
			catch (e){}
		}
	}
	return httprequest;
}

HttpSilentPost.prototype.innerState = function(oThis){
	
	var _ajax=oThis.ajaxObject.httpreq;
	if(_ajax.readyState == 4 && _ajax.status == 200){ 
		var answer=_ajax.responseText;
		if(answer.search(/fatalerror:/)>0){
			var answer=answer.split("fatalerror:")[1];
		}
		
		if(oThis.ajaxObject.returnFunction)
			oThis.ajaxObject.returnFunction(_ajax.responseXML, answer);
		//alert(self.ajaxObject.returnFunction);
	}
}


/*
Get işlemi 

@url : hedef url
@returnFunction : geri dönen XML bilgisini alıp işleyecek fonksiyon
*/

HttpSilentPost.prototype.getAjaxRequest=function(url, returnFunction){
   	this.ajaxObject.returnFunction = returnFunction;
	var oThis = this;
	
	if (this.ajaxObject.httpreq){
		this.ajaxObject.httpreq.onreadystatechange = function(){oThis.innerState(oThis);}
		this.ajaxObject.httpreq.open('GET', url, true);
		this.ajaxObject.httpreq.send(null);
	}
}


/*
Post işlemi 

@url : hedef url
@parameters : post parametreleri
@returnFunction : geri dönen XML bilgisini alıp işleyecek fonksiyon

*/

HttpSilentPost.prototype.postAjaxRequest=function(url, parameters, returnFunction){
   	this.ajaxObject.returnFunction = returnFunction;
	var oThis = this;
   	
	if (this.ajaxObject.httpreq){
		this.ajaxObject.httpreq.onreadystatechange = function(){oThis.innerState(oThis);}
		this.ajaxObject.httpreq.open('POST', url, true);
		this.ajaxObject.httpreq.setRequestHeader("Content-type", "application/x-www-form-urlencoded;charset=UTF-8");
		this.ajaxObject.httpreq.setRequestHeader("Content-length", parameters.length);
		this.ajaxObject.httpreq.setRequestHeader("Connection", "close");
		this.ajaxObject.httpreq.send(parameters);
	}
}