var Processnet;

if(!Processnet)
{
	Processnet = {};
}

Processnet.Ajax = function(){
	this.xhr = zXmlHttp.createRequest();
	this.responseObj = null;
	this.debug = true;
}

Processnet.Ajax.prototype.getRequestObj = function(){
	var Data = {
		url : 'ajax.php',
		method : 'post',
		postfieldName : 'ajaxpost',
		postfieldData : '',
		postobj : new Array()
	};
	return Data;
}
Processnet.Ajax.prototype.request = function(requestObj,application){
	try{
		var xhr = this.xhr;
		if(xhr.readyState != 0){
			xhr.abort();
		}
		
		var request = JSON.stringify(requestObj.postfieldData);
		//var request = requestObj.postfieldData.parse();
		xhr.open("POST",requestObj.url,true);
		xhr.setRequestHeader("Method", requestObj.method+" "+requestObj.url+" HTTP/1.1");
		xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8");
		var postData = 'ajaxrequest=1&';
		postData += (requestObj.postfieldName == '')?'ajaxpost='+request : requestObj.postfieldName+'='+request;
		
		//lehetseges postmezok
		if(requestObj.postobj instanceof Array && requestObj.postobj.length > 0) {
			for(var i=0;i<requestObj.postobj.length;i++) {
				postobj = requestObj.postobj[i];
				if(postobj.name != "") {
					postData += "&"+postobj.name+"="+postobj.value;
				}
			}
		}
				
		xhr.onreadystatechange = function(){
			if (xhr.readyState != 4) return;
			/*if (xhr.status != 200) return;*/
			if(xhr.status == 200 || xhr.status == 340){
				//this.responseObj = JSON.parse(xhr.responseText);
				responseObj = JSON.parse(xhr.responseText);
				//alert(this.responseObj);
				if(responseObj.alert != ''){
					alert(responseObj.alert);
				}
				application.AjaxResponse(responseObj);
			}
		};
		xhr.send(postData);
	}
	catch ( ex ) {
		if(this.debug == true){
			alert(ex.stack + "  " +ex.message);
		}
	}
}
