var _http;
var _isrequesting=0;
var _textresult=null;
var _elementID='';
var _objfnt='';
var _hloading;


function getHTTPObject() {
	var xmlhttp;
	/*@cc_on
	@if (@_jscript_version >= 5)
		try {
			xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (E) {
				xmlhttp = false;
			}
		}
	@else
		xmlhttp = false;
	@end @*/
	if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
		try {
			xmlhttp = new XMLHttpRequest();
		} catch (e) {
			xmlhttp = false;
		}
	}
	return xmlhttp;
}

function sendTextRequest(url,elementID,objfnt,params){
	if(!_isrequesting){
		_objfnt=objfnt;
		_elementID=elementID;
		_isrequesting=1;
		showLoading(100);
		_http=getHTTPObject();
		_http.open("POST", "requests/" + url, true);
		_http.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded;');
		_http.onreadystatechange = handleTextHttpResponse;
		_http.send(params);
		
	}	
}

function handleTextHttpResponse() {
	if (_http.readyState==4) {
		_textresult = _http.responseText;
		
		if(_textresult!=null && _textresult.substring(0,2)=="OK"){
			hideLoading();
			if (_elementID){
				if(document.getElementById(_elementID)){
					document.getElementById(_elementID).innerHTML=_textresult.substring(2);
//					alert(_textresult.substring(2));
				};
			}
			
			if(_objfnt!=''){
				eval(_objfnt);
			}
			_elementID='';
			_objfnt='';
			
			_isrequesting=0;
		}else if(_textresult!=null && _textresult.substring(0,2)=="JS"){
			hideLoading();
			_isrequesting=0;
			eval(_textresult.substring(2));
		}else{
			if(_textresult!=null && _textresult.substring(0,2)=="KO" && _elementID){
				if(document.getElementById(_elementID) && _textresult.substring(2).length>0){
					document.getElementById(_elementID).innerHTML=_textresult.substring(2);
				}
			}
			hideLoading();
			alert('Se ha interrumpido la conexión con el servidor, o su sesión de navegación ha finalizado.');
			_elementID='';
			_objfnt='';
			_isrequesting=0;
		}
	}
}

function showLoading(ms){
	_hloading=setTimeout("showLoadingHidden()",ms);
}

function showLoadingHidden(){
/*	var left;
	var top;
	document.getElementById("dloading").style.top=-999
	document.getElementById("dloading").style.left=-999
	document.getElementById("dloading").style.display="block";
	top=(document.body.clientHeight/2)-(document.getElementById("dloading").offsetHeight/2)+(window.pageYOffset || document.body.scrollTop || document.documentElement.scrollTop);
	left=(document.body.clientWidth/2)-(document.getElementById("dloading").offsetWidth/2)+(window.pageXOffset || document.body.scrollLeft || document.documentElement.scrollLeft);
	document.getElementById("dloading").style.display="none";
	document.getElementById("dloading").style.top=top;
	document.getElementById("dloading").style.left=left;
	document.getElementById("dloading").style.display="block";*/
}

function hideLoading(){
	clearTimeout(_hloading);
	/*document.getElementById("dloading").style.display="none";*/
}
