
function FCAjax(url, funcallback, sendmethod, noresponse,callerobject, par1, par2, par3){
this.mydata = "";
this.caller=null;
this.isXML=false;
this.Caching = false;
this.XMLHTTP = AJS.getRequest(url,"",sendmethod);
this.Callback = function(res_txt, req){
		var fun = funcallback;
		var parentcaller = callerobject;
		var _par1 = par1;
		var _par2 = par2;
		var _par3 = par3;
		if(fun){
			if(noresponse){
				fun(GetBody(res_txt), callerobject, par1, par2, par3);
			}else{
				fun(new Response(GetBody(res_txt)));
			}
		}
	};
if(this.Callback){
	this.XMLHTTP.addCallback(this.Callback);
	this.XMLHTTP.addErrback(this.Callback);
}

//function(res_txt, req){}
this.SetFormElement = function(form, documento){
		var objForm = getRef(form,documento);
		var data = objForm.elements;
		var i = 0;
		var obj=null;
		for(i=0; i< data.length; i=i+1 ){
			obj = data[i];
			if(this.mydata !== ""){
				this.mydata = this.mydata + "&";
			}
			this.mydata = this.mydata + (obj.id + "=" + obj.value);
		}
	}; 

this.SendData = function(){
	this.XMLHTTP.sendReq(this.mydata);
	};
}

function GetBody(content){
		var x = content.indexOf("<body");
		if(x == -1){
			x = content.indexOf("<BODY");
		}
		if(x == -1){
			return "";
		}	
		x = content.indexOf(">", x);
		if(x == -1){
			return "";
		}
		
		var y = content.lastIndexOf("</body>");
		if(y == -1){
			y = content.lastIndexOf("</BODY>");
		}
		if(y == -1){
			return "";
		}
		
		var result=content.slice(x + 1, y);
		return ReplaceAll(ReplaceAll(result,"\n",""),"\r","");
}	

function ReplaceAll(stringa, olds, news){
	while(stringa.indexOf(olds)>=0){
		stringa=stringa.replace(olds,news);
	}
	return stringa;
}
function PutHTML(content, target){
	target.innerHTML = content;
}

function PutTEXT(content, target){
	target.innerText = content;
}

function Response(content){
this.parameters = content.split("&");
this.getParameter = function(key){
		var len = this.parameters.length;
		var i = 0;
		var result = null;
		for(i=0; i < len; i=i+1){
			if(this.parameters[i].indexOf(key) != -1){
				result = this.parameters[i].split("=");
				return ReplaceAll(result[1], "\"","");
			}   
		}
		return null;
	};	
}

