var objXMLHttp = null
var divXajax;
//Creamos el objeto objXMLHttp, dependiendo del browser
if (window.XMLHttpRequest) objXMLHttp = new XMLHttpRequest()    //para Mozilla
else if (window.ActiveXObject) objXMLHttp = new ActiveXObject("Microsoft.XMLHTTP")    //Para IExplorer

String.prototype.tratarResponseText=function(){
    var pat=/<script[^>]*>([\S\s]*?)<\/script[^>]*>/ig;
    var pat2=/\b\s+src=[^>\s]+\b/g;
    var elementos = this.match(pat) || [];
    for(i=0;i<elementos.length;i++) {
        var nuevoScript = document.createElement('script');
        nuevoScript.type = 'text/javascript';
        var tienesrc=elementos[i].match(pat2) || [];
        if(tienesrc.length){
            nuevoScript.src=tienesrc[0].split("'").join('').split('"').join('').split('src=').join('').split(' ').join('');
        }else{
            var elemento = elementos[i].replace(pat,'$1','');
            nuevoScript.text = elemento;
        }
        document.getElementsByTagName('body')[0].appendChild(nuevoScript);
    }
    return this.replace(pat,'');
}

function SetContainerHTML(id_contenedor,responseText){
    document.getElementById(id_contenedor).innerHTML = responseText.tratarResponseText();
    if(document.getElementById('msgEspera')){
       document.getElementById('msgEspera').style.display='none';
    }

}

function createXmlHttpObject() {
    var req = null;
    try {
        req = new XMLHttpRequest(); //ie7, ff, safari
    }
    catch (e) {
    try {
        req = new ActiveXObject("Msxml2.XMLHTTP"); //later ie
    }
    catch (e) {
        try {
            req = new ActiveXObject("Microsoft.XMLHTTP") // earlier ie
        }
        catch (e) {
        // could not create XMLHttpRequest object
        return false;
        }
    }
    }
    return req;
}

function EstadoCambio() {
   if (objXMLHttp.readyState==4 || objXMLHttp.readyState=="complete"){
      SetContainerHTML(divXajax,objXMLHttp.responseText)
   }
}

function accion(scriptAccion,vars,divXajaxVar) {
   if(document.getElementById('msgEspera')){
      document.getElementById('msgEspera').style.display='';
   }
   divXajax = divXajaxVar;
   objXMLHttp=createXmlHttpObject();
   if (objXMLHttp==null) {
        alert ('Your browser does not support the XMLHttpRequest object!');
        return false;
   }

   objXMLHttp.onreadystatechange = EstadoCambio;
   objXMLHttp.open("POST",scriptAccion,true);
   objXMLHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
   objXMLHttp.setRequestHeader('charset', 'iso-8859-1');
   objXMLHttp.send(vars);
}

