function send_request(sp,rf){new Async({Target:sp,OnSuccess:rf});}
//dataObject={IsAsync,Method,Target,Parameters,OnSuccess,OnFailure}
function Async(dataObject){
	var data=this.verifydata(dataObject),xmlhttp=this.getxmlhttp();
	xmlhttp.onreadystatechange=function(){
		if(xmlhttp.readyState==4 && xmlhttp.status==200)
			if(typeof(data.OnSuccess)=='function')
				data.OnSuccess(xmlhttp.responseText);
		else if(xmlhttp.readyState==4)
			if(typeof(data.OnFailure)=='function')
				data.OnFailure(xmlhttp.status);
	};
	xmlhttp.open(data.Method,data.Target+(data.Parameters==''?'':'?'+data.Parameters),data.IsAsync);
	xmlhttp.send(null);
}
Async.prototype.verifydata=function(dataObject){
	return{
		IsAsync:dataObject.IsAsync||true,
		Method:dataObject.Method||'GET',
		Target:dataObject.Target||'',
		Parameters:dataObject.Parameters||'',
		OnSuccess:dataObject.OnSuccess||null,
		OnFailure:dataObject.OnFailure||null
	}
};
Async.prototype.getxmlhttp=function(){
	var temp=false;
	try
{
temp=new XMLHttpRequest();
}
catch (e)
{
try
{
temp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
temp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
return temp;
};

