// funzione per assegnare l'oggetto XMLHttpRequest
// compatibile con i browsers pių recenti e diffusi
function assegnaXMLHttpRequest() {

var XHR = null
var browserUtente = navigator.userAgent.toUpperCase();


 // browser standard con supporto nativo
 // non importa il tipo di browser
 if(typeof(XMLHttpRequest) === "function" || typeof(XMLHttpRequest) === "object")
    XHR = new XMLHttpRequest();

 // browser Internet Explorer
 // č necessario filtrare la versione 4
 else if( window.ActiveXObject && browserUtente.indexOf("MSIE 4") < 0) 
        {
          // la versione 6 di IE ha un nome differente
          // per il tipo di oggetto ActiveX
          if(browserUtente.indexOf("MSIE 5") < 0)
           XHR = new ActiveXObject("Msxml2.XMLHTTP");

          // le versioni 5 e 5.5 invece sfruttano lo stesso nome
          else
           XHR = new ActiveXObject("Microsoft.XMLHTTP");
        }

 return XHR;
} 

//function query(jTipo,sSql,idOutput)
//function query(sQuery, jd, idOutput, sDati)
function query(tp1,sQuery,jd,idOutput,sDati,sOutput)
{
    
    var ajax = assegnaXMLHttpRequest();
    var oOUTPUT=MM_findObj(idOutput);
    //alert(sSql);
    if(ajax)
        {
                // inizializzo la richiesta in post
            ajax.open("post", "/ajax/query.asp", true);
            ajax.setRequestHeader("content-type", "application/x-www-form-urlencoded");
            ajax.onreadystatechange = function() {
                //alert("stato:" + ajax.readyState);
                if (ajax.readyState <= 3) {
                    if (sOutput.length > 0)
                        if (sOutput.indexOf(";") > 0)
                        oOUTPUT.innerHTML = sOutput.split(";")[0];
                    else
                        oOUTPUT.innerHTML = sOutput;
                    else
                        oOUTPUT.innerHTML = "<img src='/intranet/img/ajax-loader_barra.gif' alt='attendi' border='0'/>"; //"Attendi...."
                }

                // verifica dello stato
                if (ajax.readyState === 4) {
                    // verifica della risposta da parte del server
                    if (ajax.statusText === "OK") {
                        if (sOutput.length > 0)
                            if (sOutput.indexOf(";") > 0)
                            oOUTPUT.innerHTML = sOutput.split(";")[1];
                        else
                            oOUTPUT.innerHTML = sOutput;
                    else 
                        {
                            var inizio = ajax.responseText.indexOf("@#@") + 3;
                            var fine = ajax.responseText.indexOf("#@#");
                            var sResponse = ajax.responseText.substr(inizio, fine - inizio);
                            if (sOutput == null || sOutput.lngth == 0 || sResponse == 'LOGIN SCADUTA!!')
                                oOUTPUT.innerHTML = sResponse;
                            else
                                oOUTPUT.innerHTML = sOutput; //"Dati SALVATI !!";////
                            if (oOUTPUT.innerHTML.length == 0)
                                oOUTPUT.innerHTML = "<img src='/intranet/img/space.gif' height='11' width='43'  alt='' border='0'/>"  
                        }
                    }
                    else {
                        // errore di caricamento
                        oOUTPUT.innerHTML = "KO:" + ajax.statusText[ajax.status];
                        //oELENCO.innerHTML += "Errore riscontrato: " + ajax.statusText[ajax.status];
                    }
                }
            }
        }
    //ajax.send("iTipoQuery=" + jTipo + "&sSql="+ sSql);
        ajax.send("tp1=" + tp1 + "&sQry=" + sQuery + "&id=" + jd + "&sDati=" + sDati);
}

function queryOut(PageASP,sDati,idOutput,idIMGLoader,sImg,sParametri) {

    var ajax = assegnaXMLHttpRequest();
    var oOUTPUT = MM_findObj(idOutput);
    var oImgLoader = MM_findObj(idIMGLoader);
    //alert(sSql);
    if (ajax) {
        // inizializzo la richiesta in post
        ajax.open("post", PageASP, true);
        ajax.setRequestHeader("content-type", "application/x-www-form-urlencoded");
        ajax.onreadystatechange = function() {
            //alert("stato:" + ajax.readyState);
            if (ajax.readyState <= 3) {
                if (sImg.length == 0)
                    oImgLoader.innerHTML = "<img src='/intranet/img/ajax-loader_barra.gif' alt='attendi' border='0'/>"  //Attendi....";
                else
                    oImgLoader.innerHTML = "<img src='" + sImg + "' alt='attendi' border='0'/>"
            }

            // verifica dello stato
            if (ajax.readyState === 4) {
                // verifica della risposta da parte del server
                if (ajax.statusText === "OK") {
                    oOUTPUT.innerHTML = ajax.responseText;
                    oImgLoader.innerHTML = "<img src='/intranet/img/space.gif' height='11' width='43'  alt='' border='0'/>"
                    if (sParametri == 'AJAX_COMBO') {
                        iRiga = sDati.split(';')[3];
                        iColonna = sDati.split(';')[4];
                        var oVAL = MM_findObj('HDN_' + iRiga + '_' + iColonna + '_0');
                        var oTXT = MM_findObj('HDN_' + iRiga + '_' + iColonna + '_1');
                        if (oTXT.value.length > 0) {
                            MM_findObj('VCHDN_' + iRiga + '_' + iColonna).value = oVAL.value;
                            MM_findObj('VCText_' + iRiga + '_' + iColonna).value = oTXT.value;
                            //alert('tp1=' + sDati.split(';')[6] + ' id=' + sDati.split(';')[5] + 'sDati=' + oTXT.value + ';' + oVAL.value + ';' + sDati.split(';')[7]);
                            query(sDati.split(';')[6], 'ELN', sDati.split(';')[5], idIMGLoader, sDati.split(';')[7] + ';' + oVAL.value, '');

                        }
                    }
                }
                else {
                    // errore di caricamento
                    oImgLoader.innerHTML = "KO:" + ajax.statusText[ajax.status];
                    //oELENCO.innerHTML += "Errore riscontrato: " + ajax.statusText[ajax.status];
                }
            }
        }
    }
    //ajax.send("iTipoQuery=" + jTipo + "&sSql="+ sSql);
    //alert("tp1=" + tp1 + "&sQry=" + sQuery + "&id="+ jd + "&sDati=" + sDati);
    
    ajax.send("sDati=" + escape(sDati));
}
