
var req;
var destino;

function getResponse(url, parametros) {
	
	document.body.style.cursor = "wait";
	if (window.XMLHttpRequest) {
    	req = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		req = new ActiveXObject("Microsoft.XMLHTTP");
	}
   
   req.open("POST", url, true);
   req.setRequestHeader('Content-Type','application/x-www-form-urlencoded');

   req.onreadystatechange = function () {
      if (req.readyState == 4) {
         document.getElementById(destino).innerHTML = req.responseText;
      }
   };
   
   var varHtml;

   varHtml="<table align='cente' border='0' class='home' width='100%' height='100%' cellspacing='0' cellpadding='0'>"
   varHtml=varHtml+"<tr><td align='center' ><img src='images/loading.gif'></td></tr>"
   varHtml=varHtml+"</table>"
   
   if (destino=='cuerpo') {
   	document.getElementById(destino).innerHTML = varHtml;
   }

   window.setTimeout(function () {
      req.send(parametros);
   }, 10);

   req.onreadystatechange = callback;
}

function callback() {
    if (req.readyState == 4) {
        if (req.status == 200) {
        	parseMessage();
        } else {
        	manejarError();
        }
    }
}

function parseMessage() {
    var cont = document.getElementById(destino);
    document.body.style.cursor = "default";
    if ('error' == req.responseText) {
    	cont.innerHTML = 'Se ha producido un error';
    } else if ('no_session' == req.responseText) {
    	alert("Su session ha terminado, por favor vuelva a ingresar");
    	window.location = "login.jsp";
    } else {
		cont.innerHTML = req.responseText;
	}
}

function manejarError() {
	alert("Hubo un error en la petici&oacute;n: " + req.status);
	
	//403 Forbidden
	//404 Not Found
	//405 Metodo no permitido
	//408 Request Timeout
	//500 Internal Server Error
}

