function createAjaxObj(){
	var httprequest=false
	if (window.XMLHttpRequest){ //M
		httprequest=new XMLHttpRequest()
		if (httprequest.overrideMimeType)
			httprequest.overrideMimeType('text/xml');
	}
	else if (window.ActiveXObject){ //IE
		try 
		{
			httprequest=new ActiveXObject("Msxml2.XMLHTTP");
		} 
		catch (e)
		{
			try
			{
				httprequest=new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e){}
		}
	}
	return httprequest;
}
function request(u,rf,sf,ff){
	var xmlhttp = createAjaxObj();
        xmlhttp.abort();	
		xmlhttp.open("get",u,true);
		xmlhttp.setRequestHeader("Content-type", "text/html;charset=utf-8");	
		xmlhttp.setRequestHeader("Content-length",u.length);
		xmlhttp.onreadystatechange = f;
		xmlhttp.send(null);	
		function f(){
			if (xmlhttp.readyState == 4){
			   if (xmlhttp.status == 200){
				  sf(xmlhttp.responseText);
			   } else {
				  ff();
			   }
			} else {
			  rf();
			}
	   }
		
}
