﻿
    

// 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(tp1,sQuery,jd,idOutput,sDati,sOutput)
{
    //alert("tp1=" + tp1 + "&sQry=" + sQuery + "&id=" + jd + "&sDati=" + sDati);
    if (sQuery == 'ELN' && jd == 0){
        //alert('sto uscendo' + sQuery);
        return false;
    }

    var oCurField;    
    var ajax = assegnaXMLHttpRequest();
    var oOUTPUT
    if (oLoader != null)
        oOUTPUT = oLoader;
    else
        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.substr(0, 3) == 'IMG')   //(sOutput.indexOf(";") > 0)
                    {
                        var aImg = sOutput.split("|")[1].split(";");
                        oOUTPUT.innerHTML = '<img src="' + aImg[0] + '" alt="" border="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.substr(0, 3) == 'IMG')   //(sOutput.indexOf(";") > 0)
                            {
                                var aImg = sOutput.split("|")[2].split(";");
                                oOUTPUT.innerHTML = '<img src="' + aImg[0] + '" alt="" border="0" width="' + aImg[1] + '" height="' + aImg[2] + '" />';
                            }
                            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'/>"

                        }
                        if (sQuery == 'AGR' && ajax.responseText.indexOf(";") > 1) {
                            var inizio = ajax.responseText.indexOf("@##@") + 4;
                            var fine = ajax.responseText.indexOf("#@@#");
                            var sResponse = ajax.responseText.substr(inizio, fine - inizio);
                            if (sResponse.length>0)
                                alert(sResponse);
                        }


                        if (sQuery == 'ELN' && sDati.split(";")[2] != null) {
                            sPostFissi = sDati.split(";")[2];
                            aPostFissi = sPostFissi.split("_");
                            var DATA_TYPE;
                            if (sDati.split(";")[3] != null)
                                DATA_TYPE = sDati.split(";")[3];
                            else
                                DATA_TYPE = '';

                            if (aPostFissi[0] == '1' && MM_findObj('field_0_' + jd + '_' + aPostFissi[2]) != null) //ho modificato dal dettaglio
                            {
                                oCurField = MM_findObj('field_1_0_' + aPostFissi[2]);
                                var oCurFieldRemoto = MM_findObj('field_0_' + jd + '_' + aPostFissi[2]);
                                if (DATA_TYPE == 'bit')
                                    if (oCurField.checked)
                                        oCurFieldRemoto.checked = true;
                                    else
                                        oCurFieldRemoto.checked = false;
                                else
                                    oCurFieldRemoto.value = oCurField.value;
                                //MM_findObj('field_0_' + jd + '_' + aPostFissi[2]).value = MM_findObj('field_1_0_' + aPostFissi[2]).value;  //sDati.split(";")[1];
                                var oVCTextDett = MM_findObj('VCText_' + sPostFissi);
                                if (oVCTextDett != null)
                                    MM_findObj('VCText_0_' + jd + '_' + aPostFissi[2]).value = oVCTextDett.value;

                            }
                            if (aPostFissi[0] == '0' && MM_findObj('field_1_0_' + aPostFissi[2]) != null) //ho modificato dall'elenco principale
                            {
                                oCurField = MM_findObj('field_0_' + jd + '_' + aPostFissi[2]);
                                var oCurFieldRemoto = MM_findObj('field_1_0_' + aPostFissi[2]);
                                if (DATA_TYPE == 'bit')
                                    if (oCurField.checked)
                                        oCurFieldRemoto.checked = true;
                                    else
                                        oCurFieldRemoto.checked = false;
                                else
                                    oCurFieldRemoto.value = oCurField.value;
                                
                                
                                //MM_findObj('field_1_0_' + aPostFissi[2]).value = MM_findObj('field_0_' + jd + '_' + aPostFissi[2]).value;  //sDati.split(";")[1];
                                var oVCTextELN = MM_findObj('VCText_' + sPostFissi);
                                if (oVCTextELN != null)
                                    MM_findObj('VCText_1_0_' + aPostFissi[2]).value = oVCTextELN.value;
                            }
                        }

                        if (sQuery == 'C1N') {
                            var jAJAX_CTRL = sDati.split(";")[0];
                            var iContenitore = sDati.split(";")[1];
                            var sPar = MM_findObj('Secondario_Vettore_' + jAJAX_CTRL).value;
                            var oImg = MM_findObj('IMG_SELEZIONA_' + jAJAX_CTRL + '_' + iContenitore);
                            if (oImg != null && oImg.src.indexOf('deseleziona.png') >= 0) {
                                var oDIVTerziario = MM_findObj('Terziario_' + (parseInt(jAJAX_CTRL) + 1).toString());
                                if (oDIVTerziario != null)
                                    oDIVTerziario.style.display = 'none';
                            }

                            AJAX_LOAD_Pagina(sPar, jAJAX_CTRL, sQuery);
                        }
                        if (sQuery == 'vTi') //importazione vTiger
                        {
                            var sOut = ajax.responseText;
                            //alert(sOut);
                            var aOut;
                            if (sOut.indexOf(";") > 0) {
                                aOut = sOut.split("#@@#")[1].split(";")
                                var ovTigerData = MM_findObj('vTigerData')
                                ovTigerData.innerHTML = aOut[1];
                            }
                        }

                        if (sQuery == 'PCD') {
                            for (var i = 4; i <= sDati.split("@")[3]; i++) {
                                oField = MM_findObj('field_' + sDati.split("@")[2] + '_' + sDati.split("@")[0] + '@' + sDati.split("@")[1] + '_' + i.toString());
                                //alert(sDati.split("@")[2] + '_' + sDati.split("@")[0] + '@' + sDati.split("@")[1] + '_' + i.toString());
                                switch (i) {
                                    case 4: case 5: case 9:
                                        {
                                            oField.value = '0,00';
                                            break;
                                        }
                                    default:
                                        {
                                            oField.value = '0';
                                            break;
                                        }
                                }
                            }
                        }

                        if ((sQuery == 'NEW') || (sQuery == 'NWM')) //AjaxDettaglio - creazione record
                        {
                            var sOut = ajax.responseText;
                            var aOut;
                            if (sOut.indexOf("#@@#") > 0) {
                                var oID_Servizio = MM_findObj('ID_Servizio');
                                var TP0 = MM_findObj('TP0').value;
                                var TP1 = MM_findObj('TP1').value;
                                if (sQuery == 'NWM') {
                                    oID_Servizio.value = 0;
                                    ShowHideDettaglio(1, 1, 0, TP0); //ricarica il dettaglio col nuovo record da inserire
                                }
                                else {
                                    ID_Servizio = sOut.split("#@@#")[1];
                                    oID_Servizio.value = ID_Servizio;
                                    ShowHideDettaglio(1, 1, ID_Servizio, TP0); //ricarica il dettaglio col nuovo record in modifica
                                }
                                AJAX_Cerca_Elenco(TP0, TP1, 0, 'Cerca') //ricarica l'elenco
                            }

                        }

                        //alert('N1N_LOAD=' + sQuery.substring(0, 3));
                        if (sQuery.substring(0, 3) == 'N1N') {
                            //alert('sono dentro');
                            var jAJAX_CTRL = sQuery.substring(3);
                            var sPar = MM_findObj('Secondario_Vettore_' + jAJAX_CTRL).value;
                            AJAX_LOAD_Pagina(sPar, jAJAX_CTRL, sQuery);
                        }

                    }
                    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);
        
        //alert('N1N-2=' + sQuery.substring(0, 3));
        if (sQuery.substring(0, 3) == 'N1N')
            sQuery_ = 'N1N';
        else
            sQuery_ = sQuery;
        //alert('sDati=' + sDati);
        var oDati = sDati.split(";"); //[1];
        if (oDati.length > 1 && sQuery == 'ELN') {
            if (oDati[0] == 'Email' && !isEmail(oDati[1])) {
                alert("ATTENZIONE!\nLa sintassi della mail è sbagliata!");
                sPostFissi = sDati.split(";")[2];
                aPostFissi = sPostFissi.split("_");

                if (aPostFissi[0] == '1' && MM_findObj('field_0_' + jd + '_' + aPostFissi[2]) != null) {
                    sCurPostFissi = '1_0_' + aPostFissi[2];
                    oCurField = MM_findObj('field_' + sCurPostFissi);
                }
                else {
                    sCurPostFissi = '0_' + jd + '_' + aPostFissi[2];
                    oCurField = MM_findObj('field_' + sCurPostFissi);
                }
                oCurField.value = MM_findObj('field_' + sCurPostFissi + '_DATI').value.split('|#|')[1];
                oCurField.style.background = '#FFFFFF';
                oCurField.focus();
                //alert('focus');
                return false;
            }    
        }
         
        //alert("tp1=" + tp1 + "&sQry=" + sQuery_ + "&id=" + jd + "&sDati=" + sDati);        
    ajax.send("tp1=" + tp1 + "&sQry=" + sQuery_ + "&id=" + jd + "&sDati=" + Url.encode(sDati));
}
function queryOutSync(PageASP, sDati, idOutput, idIMGLoader, sImg, sParametri) {
    

    var oImgLoader = MM_findObj(idIMGLoader);
    oImgLoader.innerHTML = "<img src='" + sImg + "' alt='' border='0'/>"      
    var ajax = assegnaXMLHttpRequest();
    if (ajax) {
        ajax.open("post", PageASP, false);
        ajax.setRequestHeader("content-type", "application/x-www-form-urlencoded");
        ajax.send("sDati=" + Url.encode(sDati));
        if (sParametri == 'AjaxLoadBG_DISPO') {
            oImgLoader.innerHTML = sDati.split(';')[2];
            toolTip(ajax.responseText, 140);
        }

    }    
        
}
function queryOut(PageASP,sDati,idOutput,idIMGLoader,sImg,sParametri) {

    var ajax = assegnaXMLHttpRequest();
    var oOUTPUT = MM_findObj(idOutput);
    var oImgLoader
    if (oLoader != null)
        oImgLoader = oLoader;
    else
        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='' border='0'/>"
            }

            // verifica dello stato
            if (ajax.readyState === 4) {
                // verifica della risposta da parte del server
                if (ajax.statusText === "OK") {
                    if (sParametri == 'AjaxLoadBG_DISPO') {
                        oImgLoader.innerHTML = sDati.split(';')[2];
                        toolTip(ajax.responseText, 130);  //document.getElementByID('DBD_<%=id_Prodotto%>_HDN').innerHTML
                    }
                    else {
                        oOUTPUT.innerHTML = ajax.responseText;
                        oImgLoader.innerHTML = "<img src='/intranet/img/space.gif' height='11' width='43'  alt='' border='0'/>"
                    }
                    if (sParametri == 'AJAX_CustomQuery') {
                        oIC = MM_findObj('iC');
                        oIC.innerHTML = MM_findObj('hIC').value;
                        oICW = MM_findObj('iCW');
                        oICW.innerHTML = MM_findObj('hICW').value;
                        valScrollElenco = MM_findObj('ScrollElenco').value;
                        var t;
                        if (valScrollElenco != '0')
                            t = new ScrollableTable(MM_findObj('ScrollTable'), parseInt(valScrollElenco));
                        

                    }
                    if (sParametri == 'AJAX_COMBO' || sParametri == 'AJAX_COMBO_FOCUS') {
                        var jAJAX_CTRL = sDati.split(';')[2];
                        var iRiga = sDati.split(';')[3];
                        var iColonna = sDati.split(';')[4];
                        var sPostFissi = jAJAX_CTRL + '_' + iRiga + '_' + iColonna;
                        var oVCText = MM_findObj('VCText_' + sPostFissi);
                        var oVirtualCombo = MM_findObj('virtualCombo_' + sPostFissi);
                        var oElencoCombo = MM_findObj('ElnComb_' + sPostFissi);
                        //oHelper.value = oHelper.value + '|AJAX_COMBO';
                        if (oElencoCombo != null && oElencoCombo.length == 1) {
                            oVCText.value = oElencoCombo(0).text;
                            //MM_findObj('VCNOW_' + sPostFissi).value = oElencoCombo(0).value;
                            MM_findObj('field_' + sPostFissi).value = oElencoCombo(0).value;
                            //oHelper.value = 'sono qui';

                            showHide(sPostFissi, 'none');
                            oVCText.focus();
                            //sValCOMBO_APERTO = '';
                            //MM_findObj('virtualCombo_' + sPostFissi).style.display = 'none';
                            //showHide(sPostFissi, 'none');
                            //oOUTPUT.style.display = 'none';
                            //SaveComboValue(sDati);
                        }
                        if (oElencoCombo != null && oElencoCombo.length > 1) {
                            //oHelper.value = oHelper.value + '|AJAX_COMBO2';
                            //MM_findObj('MouseOn_' + sPostFissi).value = '1';
                            //alert(sPostFissi);

                            if (oVirtualCombo.style.display == 'block' && sParametri == 'AJAX_COMBO_FOCUS') {
                                OK_OnBlur = 0;
                                oElencoCombo.focus();
                                oElencoCombo.selectedIndex = 0;

                            }
                            if (sParametri == 'AJAX_COMBO')
                                oVCText.focus();

                        }
                        if (oOUTPUT.innerHTML.length == 0) {  // equivale a ESC
                            //oHelper.value = oHelper.value + '|EQUIVALE';
                            EscButton(sPostFissi);

                        }
                        
                    }
                    if (sParametri == 'AJAX_PRESTAZIONI') {
                        var oScrollTable = MM_findObj('ScrollTable_' + sDati.split(';')[0]);
                        document.getElementById('Terziario_' + sDati.split(';')[0]).style.display = 'block';

                        if (oScrollTable != null && oScrollTable.clientHeight > 280)
                            var A = new ScrollableTable(oScrollTable, 281);
                    }
                    if (sParametri == 'AJAX_1_N_QUERY') {                           
                        var oScrollTable = MM_findObj('ScrollTable_' + sDati.split(';')[0])
                        if (oScrollTable != null)
                            var A = new ScrollableTable(oScrollTable, 281);

                    }
                    if (sParametri == 'AJAX_TABELLE_SECONDARIE') {
                        var sRuoliSecondari = MM_findObj('ruoliSecondari').value;
                        oField2 = MM_findObj('field_2');
                        if (oField2 != null)
                            oField2.focus();

                        var aRuoli = sRuoliSecondari.split(';');
                        for (var i = 0; i < aRuoli.length; i++) {

                            switch (aRuoli[i]) {
                                case '19': case '5': case '14': case '6': case '24':
                                    tp0 = sDati.split(';')[0];
                                    id_Servizio = sDati.split(';')[1];
                                    LoadList(i + 2, 'SX', tp0, '', id_Servizio, aRuoli[i]);
                                    LoadList(i + 2, 'DX', tp0, '', id_Servizio, aRuoli[i]);
                                    break;
                                case '21': case '22':
                                    //alert('ScrollTable_' + (i + 2));
                                    var oScrollTable = MM_findObj('ScrollTable_' + (i + 2));
                                    //oHelper.value = 'clientHeight=' + oScrollTable.clientHeight;
                                    if (oScrollTable != null && oScrollTable.clientHeight > 280)
                                        var A = new ScrollableTable(oScrollTable, 281);

                                    break;
                                case '23':
                                    var oScrollTable = MM_findObj('ScrollTable_' + (i + 2))
                                    if (oScrollTable != null && oScrollTable.clientHeight > 280)
                                        var A = new ScrollableTable(oScrollTable, 281);

                            }

                        }
                    }

                }

                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);
    //oHelper.value = "&sDati=" + sDati;
    ajax.send("sDati=" + Url.encode(sDati));
}

function AJAX_LOAD_Pagina(sPar, jAJAX_CTRL, sQuery) 
{
    var idSel = 0;
    var oIDsel = MM_findObj('field_' + idRowSelectedSecondaria + '_1')
    if (iMaxOP_G > 0 && oIDsel != null) {
        idSel = oIDsel.value;
    }
    var aPar = sPar.split(';');
    var outPut = MM_findObj(aPar[1]);
        
    var ajax = assegnaXMLHttpRequest();
    if (ajax) 
    {
        ajax.open("post", aPar[0], true);
        ajax.setRequestHeader("content-type", "application/x-www-form-urlencoded");
        ajax.setRequestHeader("connection", "close");
        ajax.onreadystatechange = function() {
            if (ajax.readyState <= 3) {
                oLoader.innerHTML = "<img src='/intranet/img/ajax-loader_barra.gif' alt='attendi' border='0'/>" //  "Attendi...."
            }
            if (ajax.readyState === 4) {
                if (ajax.statusText === "OK") {
                    outPut.innerHTML = ajax.responseText;
                    var oScrollTable = MM_findObj('ScrollTable_' + jAJAX_CTRL)
                    if (oScrollTable != null && oScrollTable.clientHeight > 280)
                        var A = new ScrollableTable(oScrollTable, 281);

                    if (iMaxOP_G > 0) {
                        aIDS = document.getElementsByName(jAJAX_CTRL + '_IDServizio');
                        idRowSelectedSecondaria = '';
                        for (var i = 1; i < aIDS.length; i++) {
                            //oHelper.value = oHelper.value + oCURid.toString();
                            if (aIDS(i).value == idSel) {
                                idRowSelectedSecondaria = jAJAX_CTRL + '_' + aIDS(i).id.split('_')[2];
                                break;
                            }
                        }

                        var oIMG_SELEZIONA = document.getElementById('IMG_SELEZIONA_' + idRowSelectedSecondaria)
                        if (oIMG_SELEZIONA != null) {
                            oIMG_SELEZIONA.src = 'img/deseleziona.png';
                            for (var r = -1; r <= iMaxOP_G; r++) {
                                var oTD = document.getElementById(idRowSelectedSecondaria + '_' + r);
                                if (oTD != null) {
                                    oTD.className = 'RigaSecondariaSelezionata';
                                }
                            }
                        }

                    }
                    /*
                    if (sQuery.substring(0, 3) == 'N1N') {
                        var oToFocus;
                        oToFocus = document.getElementById('VCText_' + jAJAX_CTRL + '_0_2');
                        if (oToFocus == null)
                            oToFocus = document.getElementById('field_' + jAJAX_CTRL + '_0_2');
                        if (oToFocus != null)
                            oToFocus.focus();
                    }
                    */
                }
                else {
                    outPut.innerHTML = "Impossibile effettuare l'operazione richiesta.<br />";
                    outPut.innerHTML += "Errore riscontrato: " + ajax.statusText[ajax.status];
                }
                oLoader.innerHTML = "<img src='/intranet/img/space.gif' height='11' width='43'  alt='' border='0'/>"
            }
        }
     ajax.send("sPar=" + Url.encode(sPar));  
    } 
}

function LoadList(jCTRL, sPos, TP0, TP1, id, iRuolo) 
{
    var ajax = assegnaXMLHttpRequest();
	//alert(jCTRL);
    if (ajax) {
        // inizializzo la richiesta in post
        ajax.open("post", "/intranet/AJAXliste.asp", true);
        ajax.setRequestHeader("content-type", "application/x-www-form-urlencoded");
        ajax.setRequestHeader("connection", "close");

        ajax.onreadystatechange = function() {
            oObj = MM_findObj('LB_' + sPos + '_' + jCTRL);
            if (ajax.readyState <= 3) {
                oObj.innerHTML = "<br><img src='/intranet/img/ajax-loader2.gif' alt='attendi' border='0'/>" //  "Attendi...."
            }
            // verifica dello stato
            if (ajax.readyState === 4) {
                if (ajax.statusText === "OK") {
                    // operazione avvenuta con successo
                    oObj.innerHTML = ajax.responseText;
                    if (sPos == 'SX') {
                        oTrovatiQuery = MM_findObj('TROVATI_QUERY_' + jCTRL);
                        oTrovati = MM_findObj('TROVATI_' + jCTRL);
                        oShowTrovatiQuery = MM_findObj('ShowTrovati_Query_' + jCTRL);
                        oShowTrovati = MM_findObj('ShowTovati_' + jCTRL);
                        oShowTrovatiQuery.innerHTML = oTrovatiQuery.value;
                        oShowTrovati.innerHTML = oTrovati.value;

                    }
                }
                else {
                    // errore di caricamento
                    oObj.innerHTML = "Impossibile effettuare l'operazione richiesta.<br />";
                    oObj.innerHTML += "Errore riscontrato: " + ajax.statusText[ajax.status] + "<br />";
                    //oObj.innerHTML += "iRecs=" + oRec.value + "&sSRC="+ sSRC + "&nnTab=" + oNN_TABLE.value + "&sPos=" + sPos + "&TP1=" + TP1 + "&jCTRL=" +jCTRL + "&id=" +id;
                }
            }
        }

        oRec = MM_findObj('Rec_' + jCTRL);
        oSRC = MM_findObj('SRC_Secondarie_' + jCTRL);
        oNN_TABLE = MM_findObj('NN_TABLE_' + jCTRL);

        var sSRC;
        if (oSRC.value == 'Cerca...')
            sSRC = '';
        else
            sSRC = Url.encode(oSRC.value);

        //alert("iRecs=" + oRec.value + "&sSRC="+ sSRC + "&nnTab=" + oNN_TABLE.value + "&sPos=" + sPos+ "&TP0=" + TP0 + "&TP1=" + TP1 + "&jCTRL=" +jCTRL + "&id=" +id+ "&iRuolo=" +iRuolo)
        ajax.send("iRecs=" + oRec.value + "&sSRC=" + sSRC + "&nnTab=" + oNN_TABLE.value + "&sPos=" + sPos + "&TP0=" + TP0 + "&TP1=" + TP1 + "&jCTRL=" + jCTRL + "&id=" + id + "&iRuolo=" + iRuolo);

    }
}

function AggiungiAJAX(jCTRL, sUPD_FieldsDefValue, sDelimitatore) {
    var LB0 = MM_findObj('list_SX_' + jCTRL);
    var LB1 = MM_findObj('list_DX_' + jCTRL);
    var oNNTAB = MM_findObj('NN_TABLE_' + jCTRL);
    var id = MM_findObj('ID_Servizio').value;
    var TP1 = MM_findObj('TP1').value;
    var Vettore = "";
    var bSalva = 0;
    if (LB0 != null && LB1 != null) {
        for (nA = 0; nA < LB0.length; nA++)   // nA  Numero Attributi
        {
            bAdd = true;
            if (LB0[nA].selected) {
                iLen1 = LB1.length;
                for (nA1 = 0; nA1 < iLen1; nA1++) {
                    if (LB0[nA].value == LB1[nA1].value)
                        bAdd = false;
                }
                if (bAdd) {
                    Vettore = Vettore + LB0[nA].value + ";";
                    var newOPT = document.createElement("option");
                    newOPT.value = LB0[nA].value;
                    if (sUPD_FieldsDefValue != null || sUPD_FieldsDefValue.length == 0)
                        newOPT.appendChild(document.createTextNode(sUPD_FieldsDefValue + sDelimitatore + LB0[nA].text));
                    else
                        newOPT.appendChild(document.createTextNode(LB0[nA].text));
                    LB1.appendChild(newOPT);

                    bSalva = 1;
                }
                else {
                    alert('ATTENZIONE!!\nIl record:\n' + LB0[nA].text + '\nè già stato scelto.\nNon verrà quidi riaggiunto!');
                }
            }
        }
        if (bSalva == 1)
            query(TP1, 'INS' + oNNTAB.value, id, 'ElencoLoader', Vettore, '');
    }
    //LoadList(jCTRL,'DX',<%=TP(0)%>,'<%=UCase(TP(1))%>',<%=id%>,20);
}

function togliAJAX(jCTRL) {
    var LB0 = MM_findObj('list_SX_' + jCTRL);
    var LB1 = MM_findObj('list_DX_' + jCTRL);
    var oNNTAB = MM_findObj('NN_TABLE_' + jCTRL);
    var id = MM_findObj('ID_Servizio').value;
    var TP1 = MM_findObj('TP1').value;
    var Vettore = "";
    if (LB0 != null && LB1 != null) {
        for (nA = 0; nA < LB1.length; nA++)   // nA  Numero Attributi
        {
            if (LB1[nA].selected) {
                Vettore = Vettore + LB1.options[nA].value + ";";
                var oPN = LB1[nA].parentNode;
                //alert(oPN.nodeName + ' - ' + oPN.children.length);
                if (oPN.nodeName == 'OPTGROUP' && oPN.children.length == 1)
                    LB1.removeChild(oPN);
                LB1.options[nA] = null;
                nA--;
            }
        }
        
        query(TP1, 'DEL' + oNNTAB.value, id, 'ElencoLoader', Vettore, '');
    }
    //LoadList(jCTRL,'DX','<%=UCase(TP(1))%>',<%=id%>,20);
}
