/*global SISAL, Dialog, window */

/**
 * La variabile rappresenta il namespace utilizzato per tutto il codice
 * javascript del AREAPRIVATA.
 */
SISAL.GNTN.AREAPRIVATA = (function AREAPRIVATA() {

    var components =
        [
        // TODO provvisorio, per il test di cps con la logica vecchia
        {
            url : "/AreaPrivata/pubblico/datianagrafici.jsp",
            options : {target : "datianagrafici"}
        },
        {
            url : "/AreaPrivata/pubblico/ilTuoCodicePromozione.jsp",
            options : {target : "ilTuoCodicePromozione"}
        },
        {
            url : "/AreaPrivata/pubblico/promozioniIniziative.jsp",
            options : {target : "promozioniIniziative"}
        },
        {
            url : "/AreaPrivata/pubblico/massimaliGiocoVincita.jsp",
            options : {target : "massimaliGiocoVincita"}
        },
        {
            url : "/AreaPrivata/pubblico/giocaIlGiusto.jsp",
            options : {target : "giocaIlGiusto"}
        }
        
    ],
    EnableRightClick = 0,
    isNS = (navigator.appName === "Netscape") ? 1 : 0
    ;

    function disableCtrlKeyCombination(e) {
        // list all CTRL + key combinations you want to disable
        var forbiddenKeys = ['a', 'n', 'c', 'x', 'v', 'j'],
        key,
        isCtrl,
        i;

        if (window.event) {
            key = window.event.keyCode; // IE
            if (window.event.ctrlKey)
            {    
                isCtrl = true;
            }    
            else
            {    
                isCtrl = false;
            }    
        } else {
            key = e.which; // firefox
            if (e.ctrlKey)
            {    
                isCtrl = true;
            }    
            else
            {    
                isCtrl = false;
            }   
        }

        if (isCtrl) {
            for (i = 0; i < forbiddenKeys.length; i = i + 1) {
                 //alert('Key combination CTRL + ' +
                 //String.fromCharCode(key) + ' has been disabled.');
                if (forbiddenKeys[i].toLowerCase() === String.fromCharCode(key).toLowerCase())
                {    
                    return false;
                }    
            }

            // controllo CTRL INS
            if (key === 45) {
                 //alert('Key combination CTRL INS has been disabled.');
                return false;
            }
        }

        // SHIFT INS
        if (key === 16 || key === 45) {
             //alert('Key combination SHIFT INS has been disabled.');
            return false;
        }
        return true;
    }       

    function mischandler()
    {
        if (EnableRightClick === 1)
        {
            return true;
        }
        else
        {
            return false;
        }
    }

    function mousehandler(e)
    {
        var myevent = "",
            eventbutton = ""
            ;
        
        if (EnableRightClick === 1)
        {
            return true;
        }
        myevent = (isNS) ? e : event;
        eventbutton = (isNS) ? myevent.which : myevent.button;
        if ((eventbutton === 2) || (eventbutton === 3))
        {
            return false;
        }  
    }

    function keyhandler(e)
    {
        var myevent = (isNS) ? e : window.event;
        if (myevent.keyCode === 96)
        {
            EnableRightClick = 1;
        }
        return;
    }        
    
    
    
    
    
    function radioDati(campo) {
        
        var i = null,
            campiDati = null,
            spanmodificadati = null
            ;

        for (i = 1; i <= 4; i += 1) {

            campiDati = "modificadati";
            spanmodificadati = "spanmodificadati";

            campiDati = campiDati + "" + i;
            spanmodificadati = spanmodificadati + "" + i;

            if (campo.id !== campiDati) {
                document.getElementById(spanmodificadati).style.fontWeight = "normal";
            } else {
                document.getElementById(spanmodificadati).style.fontWeight = "bold";
            }

        }
    }

    function modificaDati(frm) {
        var titolo = null,
            onclick = null,
            contenuto = null,
            labelButton1 = null,
            labelButton2 = null,
            onclickButton1 = null,
            onclickButton2 = null,
            i = 0,
            radioname = null,
            valore = null,
            form = null,
            vecchiausername = null,
            mess = null
            ;
        
        //form = document.getElementById(frm);
        
        for (i = 1; i <= 4; i += 1)
        {
            radioname = "modificadati" + i;
            if (document.getElementById(radioname).checked)
            {
                valore = document.getElementById(radioname).value;
                //alert("valore => " + valore);
                break;
            } 
        }
       
        if (SISAL.isNullOrEmpty(valore))
        {
        	mess = "Seleziona la voce che desideri aggiornare";
			SISAL.FX.showOnElement_TemplatePopup('body', 'gntn.alert.buttonok.html', {"{title}" : "Attenzione",	"{content}" : mess,	"{buttonclick}" : '<hideThis>',	width : '350px'});
        }
        
        if (valore === "pin")
        {    
            titolo = "MODIFICA PIN";
            labelButton1 = "Annulla";
            labelButton2 = "Conferma";
            onclickButton1 = "<hideThis>";
            onclickButton2 = "SISAL.GNTN.AREAPRIVATA.modificaDatiButtonConferma('pin','"+frm+"')";
            
            SISAL.ajax("/AreaPrivata/pubblico/HTML/modificaPIN.html?par=1", {
                method : 'GET',
                response : true,
                success : function (html) {
                    SISAL.FX.showOnElement_TemplatePopup('body',
                            'ms.alert.buttonconfannulla.html', {
                        "{title}" : titolo,
                        "{content}" : html,
                        "{buttonclickAnnulla}" : onclickButton1,
                        "{buttontextAnnulla}" : labelButton1,
                        "{buttonclickConferma}" : onclickButton2,
                        "{buttontextConferma}" : labelButton2,
                        width : "410px"
                    });
                }
            });
        }
        else if (valore === "username")
        {    
            titolo = "MODIFICA USERNAME";
            labelButton1 = "Annulla";
            labelButton2 = "Conferma";
            onclickButton1 = "<hideThis>";
            onclickButton2 = "SISAL.GNTN.AREAPRIVATA.modificaDatiButtonConferma('username',"+frm+")";
            
            SISAL.ajax("/AreaPrivata/pubblico/HTML/modificaUsername.html", {method: 'GET', response: true, success: function (html)
                {
                    SISAL.FX.showOnElement_TemplatePopup('body', 'ms.alert.buttonconfannulla.html', {"{title}" : titolo, "{content}" : html, "{buttonclickAnnulla}" : onclickButton1, "{buttontextAnnulla}" : labelButton1, "{buttonclickConferma}" : onclickButton2, "{buttontextConferma}" : labelButton2, width : "410px"});
    
                    
                }});
        }        
        else if (valore === "recapito")
        {    
            titolo = "MODIFICA PROFILO";
            labelButton1 = "Annulla";
            labelButton2 = "Conferma";
            onclickButton1 = "<hideThis>";
            onclickButton2 = "SISAL.GNTN.AREAPRIVATA.modificaDatiButtonConferma('profilo',"+frm+")";

            SISAL.ajax("/AreaPrivata/pubblico/modificaProfilo.jsp", {response: true, success: function (html)
                {
                    SISAL.FX.showOnElement_TemplatePopup('body', 'ms.alert.buttonconfannulla.html', {"TextAlign_default": "TextAlign_left", "{title}" : titolo, "{content}" : html, "{buttonclickAnnulla}" : onclickButton1, "{buttontextAnnulla}" : labelButton1, "{buttonclickConferma}" : onclickButton2, "{buttontextConferma}" : labelButton2, width : "610px"});
                }});
            
        }    
        else if (valore === "domandesicurezza")
        {    
            titolo = "MODIFICA DOMANDE SICUREZZA";
            labelButton1 = "Annulla";
            labelButton2 = "Conferma";
            onclickButton1 = "<hideThis>";
            onclickButton2 = "SISAL.GNTN.AREAPRIVATA.modificaDatiButtonConferma('domandesicurezza',"+frm+")";

            SISAL.ajax("/AreaPrivata/pubblico/modificaDomendeSicurezza.jsp", {response: true, success: function (html)
                {
                    SISAL.FX.showOnElement_TemplatePopup('body', 'ms.alert.buttonconfannulla.html', {"TextAlign_default": "TextAlign_left", "{title}" : titolo, "{content}" : html, "{buttonclickAnnulla}" : onclickButton1, "{buttontextAnnulla}" : labelButton1, "{buttonclickConferma}" : onclickButton2, "{buttontextConferma}" : labelButton2, width : "610px"});
                }});
            
        }    
            
    }
    
    function modificaPin()
    {
        var titolo = null,
        onclick = null,
        contenuto = null,
        labelButton = null,
        onclickButton = null,
        nuovopin = null,
        renuovopin = null,
        vecchiopin = null,
        parametri = null,
        messaggio = null
        ;        
        
        titolo = "MODIFICA PIN";
        labelButton = "chiudi";
        onclickButton = "<hideThis>";
        nuovopin = document.getElementById('nuovopin').value;
        renuovopin = document.getElementById('renuovopin').value;
        vecchiopin = document.getElementById('vecchiopin').value;
        parametri = "?vecchiopin=" + vecchiopin + "&nuovopin=" + nuovopin;
        
        if (SISAL.isNullOrEmpty(vecchiopin))
        {
            document.getElementById("mexbox").style.display = "";
            document.getElementById("messaggio").innerHTML = "Il campo \'Inserisci il vecchio PIN\' deve essere valorizzato ";
            return;
        }    
        else if (SISAL.isNullOrEmpty(nuovopin))
        {
            document.getElementById("mexbox").style.display = "";
            document.getElementById("messaggio").innerHTML = "Il campo \'Inserisci il nuovo PIN\' deve essere valorizzato ";
            return;
        }
        else if (SISAL.isNullOrEmpty(renuovopin))
        {
            document.getElementById("mexbox").style.display = "";
            document.getElementById("messaggio").innerHTML = "Il campo \'Reinserisci il nuovo PIN\' deve essere valorizzato ";
            return;
        }
        else if (nuovopin !== renuovopin)
        {
            document.getElementById("mexbox").style.display = "";
            document.getElementById("messaggio").innerHTML = "I campi \'Reinserisci il nuovo PIN\' e \'Inserisci il nuovo PIN\' devono essere uguali ";
            return;
        }
        
        if (vecchiopin === nuovopin)
        {
            document.getElementById("mexbox").style.display = "";
            document.getElementById("messaggio").innerHTML = "Attenzione il vecchio Pin coincide con il nuovo ";
            return;
        }
        
        SISAL.ajax("/AreaPrivata/pubblico/servlet/ModificaPin" + parametri, {response: true, success: function (html)
            {
                
                if (html === "0")
                {
                    contenuto = "Il tuo pin &egrave; stato aggiornato";
                }
                else
                {
                    contenuto = "Il tuo pin non &egrave; stato aggiornato";
                }    
            
            
                SISAL.FX.showOnElement_TemplatePopup('body', 'ms.alert.buttonok.html', {"{title}" : titolo, "{content}" : contenuto, "{buttontext}" : labelButton, "{buttonclick}" : onclickButton, width : "410px"});
            }});    
    }        
  
    function controlloUsername(pLabel, pCampo) {

         //alert("controlloUsername");
         //alert("pCampo => " + pCampo);

        var messaggio = null,
            espressione = new RegExp("[^._\\-0-9]")
            ;
        
        if (pCampo.match(/^\d+$/)) {
            messaggio = "Il campo Nuovo " + pLabel + " deve contenere almeno una lettera [A-Z]";
            return messaggio;
        } else if (pCampo.match(/^[.]+$/)) {
            messaggio = "Il campo Nuovo " + pLabel + " deve contenere almeno una lettera [A-Z]";
            return messaggio;
        } else if (pCampo.match(/^[\_]+$/)) {
            messaggio = "Il campo Nuovo " + pLabel + " deve contenere almeno una lettera [A-Z]";
            return messaggio;
        } else if (pCampo.match(/^[\-]+$/)) {
            messaggio = "Il campo Nuovo " + pLabel + " deve contenere almeno una lettera [A-Z]";
            return messaggio;
        }
        else
        {
            if (!espressione.test(pCampo))
            {
                messaggio = "Il campo Nuovo " + pLabel + " deve contenere almeno una lettera [A-Z]";
                return messaggio;
            }
        }    
        
        
        
        /*    
        if (!espressione.test(pCampo)) {
            messaggio = "L' " + pLabel  + " inserita non &egrave; valida deve contenere almeno un carattere!";
        }*/

        // alert (messaggio)

        return messaggio;
    }    
    
    
    function modificaUsername(frm)
    {
        var titolo = null,
        onclick = null,
        contenuto = null,
        labelButton = null,
        onclickButton = null,
        nuovousername = null,
        parametri = null,
        messaggio = null,
        vecchiausername = null
        ;        
        
        vecchiausername = frm.vecchiausername.value;
        
        titolo = "MODIFICA USERNAME";
        labelButton = "chiudi";
        onclickButton = "<hideThis>";
        nuovousername = document.getElementById('nuovousername').value;
        parametri = "?nuovousername=" + nuovousername;
        
        if (SISAL.isNullOrEmpty(nuovousername))
        {
            document.getElementById("mexbox").style.display = "";
            document.getElementById("messaggio").innerHTML = "Il campo \'Nuovo Username\' deve essere valorizzato";
            return;
        }
        else
        {
            if (nuovousername.length < 6)
            {
                document.getElementById("mexbox").style.display = "";
                document.getElementById("messaggio").innerHTML = "Il campo \'Nuovo Username\' deve essere di almeno 6 caratteri";
                return;                
            }
            
            if (nuovousername.toUpperCase() === vecchiausername.toUpperCase())
            {
                document.getElementById("mexbox").style.display = "";
                document.getElementById("messaggio").innerHTML = "Il \'Nuovo Username\' coincide con il vecchio";
                //document.getElementById("messaggio").innerHTML = "Username non valido o non disponibile";
                return;
            }
            
            messaggio = controlloUsername("Username", nuovousername);
            if (!SISAL.isNullOrEmpty(messaggio))
            {    
                document.getElementById("mexbox").style.display = "";
                document.getElementById("messaggio").innerHTML = messaggio;
                return;
            }    
        }    
        
        SISAL.ajax("/AreaPrivata/pubblico/servlet/ModificaUsername" + parametri, {response: true, success: function (html)
            {
                if (html === "0")
                {
                    contenuto = "La tua username &egrave; stata aggiornata";
                    // LA RILANCIO COSI AGGIORNO I DATI
                    SISAL.ajax("/AreaPrivata/pubblico/datianagrafici.jsp", {target : "datianagrafici"});        
                }
                else
                {
                    contenuto = html;
                }    
            
            
                SISAL.FX.showOnElement_TemplatePopup('body', 'ms.alert.buttonok.html', {"{title}" : titolo, "{content}" : contenuto, "{buttontext}" : labelButton, "{buttonclick}" : onclickButton, width : "410px"});
            }});
        
        
    }        
    
    function controlloEmail(email) {

        espressione = null, messaggio = null;

        // espressione =
        // /^[A-Z_a-z0-9+-]+(\.[A-Z_a-z0-9+-]+)*@[A-Za-z0-9-]+(\.[A-Za-z0-9-]+)+$/;
        espressione = new RegExp("^[A-Z_a-z0-9+-]+(\\.[A-Z_a-z0-9+-]+)*@[A-Za-z0-9-]+(\\.[A-Za-z0-9-]+)+$");
        
        if (!SISAL.isNullOrEmpty(email)) {
            if (!espressione.test(email) || (!email.match(/\b(^(\S+@).+((\.com)|(\.net)|(\.edu)|(\.mil)|(\.gov)|(\.org)|(\..{2,2}))$)\b/gi))) {
                // alert("La " + pLabel + " inserita non e' valida!");
                messaggio = "Il campo \'Email\' contiene caratteri non validi.";
            }
        }
        
        return messaggio;
    }            
    
    function modificaProfilo()
    {
        var titolo = null,
        onclick = null,
        contenuto = null,
        labelButton = null,
        onclickButton = null,
        domiciliosi = null,
        parametri = null,
        messaggio = null,
        provinciaDomicilio = null,
        comuneDomicilio = null,
        indirizzoDomicilio = null,
        capDomicilio = null,
        numCivicoDomicilio = null,
        email = null,
        telefono = null
        ;        
        
        titolo = "MODIFICA PROFILO";
        labelButton = "chiudi";
        onclickButton = "<hideThis>";
        domiciliosi = document.getElementById('domiciliosi').checked;

        
        provinciaDomicilio = document.getElementById('provinciadomicilioold').value;
        comuneDomicilio = document.getElementById('comunedomicilioold').value;
        indirizzoDomicilio = document.getElementById('indirizzodomicilioold').value;
        capDomicilio = document.getElementById('capdomicilioold').value;
        numCivicoDomicilio = document.getElementById('civicodomicilioold').value;
        
        if (!domiciliosi)
        {
            //alert("controllo dati domicilio");

            provinciaDomicilio = document.getElementById('provinciaDomicilio').value;
            comuneDomicilio = document.getElementById('comuneDomicilio').value;
            indirizzoDomicilio = document.getElementById('indirizzo').value;
            capDomicilio = document.getElementById('cap').value;
            numCivicoDomicilio = document.getElementById('civico').value;
            
            if (SISAL.isNullOrEmpty(provinciaDomicilio))
            {
                document.getElementById("mexbox").style.display = "";
                document.getElementById("messaggio").innerHTML = "Il campo \'Provincia\' deve essere valorizzato ";
                return;
            }
            else if (SISAL.isNullOrEmpty(comuneDomicilio))
            {
                document.getElementById("mexbox").style.display = "";
                document.getElementById("messaggio").innerHTML = "Il campo \'Comune\' deve essere valorizzato ";
                return;
            }    
            else if (SISAL.isNullOrEmpty(indirizzoDomicilio))
            {
                document.getElementById("mexbox").style.display = "";
                document.getElementById("messaggio").innerHTML = "Il campo \'Indirizzo\' deve essere valorizzato ";
                return;
            }    
            else if (SISAL.isNullOrEmpty(numCivicoDomicilio))
            {
                document.getElementById("mexbox").style.display = "";
                document.getElementById("messaggio").innerHTML = "Il campo \'N.Civico\' deve essere valorizzato ";
                return;
            }
            else if (SISAL.isNullOrEmpty(capDomicilio))
            {
                document.getElementById("mexbox").style.display = "";
                document.getElementById("messaggio").innerHTML = "Il campo \'Cap\' deve essere valorizzato ";
                return;
            }    
            else if (!SISAL.isNullOrEmpty(capDomicilio))
            {
                if (capDomicilio.length < 5)
                {    
                    document.getElementById("mexbox").style.display = "";
                    document.getElementById("messaggio").innerHTML = "Il campo \'Cap\' deve essere di 5 caratteri ";
                    return;
                }    
            }
        }    

        parametri = "?provinciaDomicilio=" + provinciaDomicilio;
        parametri = parametri + "&comuneDomicilio=" + comuneDomicilio;
        parametri = parametri + "&indirizzo=" + indirizzoDomicilio;            
        parametri = parametri + "&civico=" + numCivicoDomicilio;            
        parametri = parametri + "&cap=" + capDomicilio;
        
        email = document.getElementById('email').value;
        telefono = document.getElementById('telefono').value;
        
        if (!SISAL.isNullOrEmpty(telefono))
        {        
            if (telefono.length < 7)
            {    
                document.getElementById("mexbox").style.display = "";
                document.getElementById("messaggio").innerHTML = "Il campo \'Telefono\' deve essere di almeno 7 caratteri";
                return;
            }    
        }    
        
        if (SISAL.isNullOrEmpty(email))
        {
            document.getElementById("mexbox").style.display = "";
            document.getElementById("messaggio").innerHTML = "Il campo \'Email\' deve essere valorizzato ";
            return;
        }    
        else if (SISAL.isNullOrEmpty(telefono))
        {
            document.getElementById("mexbox").style.display = "";
            document.getElementById("messaggio").innerHTML = "Il campo \'Telefono\' deve essere valorizzato ";
            return;
        }
        
        messaggio = controlloEmail(email);        
        if (!SISAL.isNullOrEmpty(messaggio))
        {
            document.getElementById("mexbox").style.display = "";
            document.getElementById("messaggio").innerHTML = messaggio;
            return;
        }
        
        parametri = parametri + "&email=" + email;
        parametri = parametri + "&telefono=" + telefono;
        
        
        //alert("parametri => " + parametri);
        
        
        /*
        if (SISAL.isNullOrEmpty(nuovousername))
        {
            document.getElementById("mexbox").style.display = "";
            document.getElementById("messaggio").innerHTML = "Il campo \'Nuovo Username\' deve essere valorizzato";
            return;
        }*/    
        
       //alert("MODIFICA PROFILO PARAMETRI => " + parametri);
        
        
        SISAL.ajax("/AreaPrivata/pubblico/servlet/ModificaProfilo" + parametri, {response: true, success: function (html)
            {
                if (html === "0")
                {
                    contenuto = "Il tuo profilo &egrave; stato aggiornato";
                    // LA RILANCIO COSI AGGIORNO I DATI
                    SISAL.ajax("/AreaPrivata/pubblico/datianagrafici.jsp", {target : "datianagrafici"});        
                }
                else
                {
                    contenuto = "Il tuo profilo non &egrave; stato aggiornato";
                }    
            
            
                SISAL.FX.showOnElement_TemplatePopup('body', 'ms.alert.buttonok.html', {"{title}" : titolo, "{content}" : contenuto, "{buttontext}" : labelButton, "{buttonclick}" : onclickButton, width : "610px"});
            }});    
    }           
    
    
    function modificaDomandeSicurezza()
    {
        var titolo = null,
        onclick = null,
        contenuto = null,
        labelButton = null,
        onclickButton = null,
        domanda1 = null,
        domanda2 = null,
        risposta1 = null,
        risposta2 = null,
        idDomanda1 = null,
        idDomanda2 = null,
        splitDomanda1 = null,
        splitDomanda2 = null
        ;        
        
        titolo = "MODIFICA DOMANDE SICUREZZA";
        labelButton = "chiudi";
        onclickButton = "<hideThis>";

        
        splitDomanda1 = document.getElementById('domSicurezzaUno').value.split("*");
        splitDomanda2 = document.getElementById('domSicurezzaDue').value.split("*");
        domanda1 = splitDomanda1[1];
        domanda2 = splitDomanda2[1];
        idDomanda1 = splitDomanda1[0];
        idDomanda2 = splitDomanda2[0];
        risposta1 = document.getElementById('risposta1').value;
        risposta2 = document.getElementById('risposta2').value;
        
        //alert("idDomanda1 : " + idDomanda1 + " - domanda1 : " + domanda1 + " - risposta1 : " + risposta1);
        //alert("idDomanda2 : " + idDomanda2 + " - domanda2 : " + domanda2 + " - risposta2 : " + risposta2);
        
        if (SISAL.isNullOrEmpty(domanda1))
        {        
            document.getElementById("mexbox").style.display = "";
            document.getElementById("messaggio").innerHTML = "Domanda 1 non valorizzata";
            return;
        }
        
        if (SISAL.isNullOrEmpty(domanda2))
        {        
            document.getElementById("mexbox").style.display = "";
            document.getElementById("messaggio").innerHTML = "Domanda 2 non valorizzata";
            return;
        }
        
        if(idDomanda1 === idDomanda2)
        {
            document.getElementById("mexbox").style.display = "";
            document.getElementById("messaggio").innerHTML = "Le domande devono essere diverse";
            return;
        }

        if (SISAL.isNullOrEmpty(risposta1))
        {        
            document.getElementById("mexbox").style.display = "";
            document.getElementById("messaggio").innerHTML = "Risposta 1 non valorizzata";
            return;
        }

        if (SISAL.isNullOrEmpty(risposta2))
        {        
            document.getElementById("mexbox").style.display = "";
            document.getElementById("messaggio").innerHTML = "Risposta 2 non valorizzata";
            return;
        }

        parametri = "?iddomanda1=" + idDomanda1;
        parametri = parametri + "&domanda1=" + domanda1;
        parametri = parametri + "&risposta1=" + risposta1;
        parametri = parametri + "&iddomanda2=" + idDomanda2;
        parametri = parametri + "&domanda2=" + domanda2;
        parametri = parametri + "&risposta2=" + risposta2;

        //alert("parametri => " + parametri);
        
        
        SISAL.ajax("/AreaPrivata/pubblico/servlet/ModificaDomandeSicurezza" + parametri, {response: true, success: function (html)
            {
                if (html === "0")
                {
                    contenuto = "Le domande sono state aggiornate";
                    // LA RILANCIO COSI AGGIORNO I DATI
                    SISAL.ajax("/AreaPrivata/pubblico/datianagrafici.jsp", {target : "datianagrafici"});        
                }
                else
                {
                    contenuto = html;
                }    
            
            
                SISAL.FX.showOnElement_TemplatePopup('body', 'ms.alert.buttonok.html', {"{title}" : titolo, "{content}" : contenuto, "{buttontext}" : labelButton, "{buttonclick}" : onclickButton, width : "610px"});
            }});   
             
    }     
    
    function modificaDatiButtonConferma(campo,frm) {
        
        if (campo === "pin")
        {
            modificaPin();
        }    
        else if (campo === "username")
        {
            modificaUsername(frm);
        }    
        else if (campo === "profilo")
        {
            modificaProfilo();
        }
        else if (campo === "domandesicurezza")
        {
            modificaDomandeSicurezza();
        }    
        
    }    
    
    function ricercaComune(selectIndex) {

        var id = null, codProvincia = null, encodeUrl = null;

        id = "comune";
        codProvincia = selectIndex.options[selectIndex.selectedIndex].value;
        encodeUrl = "/AreaPrivata/pubblico/servlet/comuni" + "?codProvincia=" + codProvincia;

        SISAL.ajax(encodeUrl, {target : id});

    }
    
      function controlloSessione(paginaCadutaSessioneScaduta)
      {
        
        //alert("paginaCadutaSessioneScaduta => " + paginaCadutaSessioneScaduta);
      
        if (SISAL.isNullOrEmpty(SISAL.getCookie("login")))
        {
          onclick = "SISAL.unsetCookie('idSession'); location.href = '" + paginaCadutaSessioneScaduta + "'";
          
          SISAL.FX.showOnElement_TemplatePopup('body', 'gntn.alert.buttonok.html', {"{title}" : "Errore", "{content}" : "Sessione scaduta", "{buttonclick}" : onclick, width : '360px'});               
          return;
        }
      }  
    
    function back(formId) {

        document.getElementById("stato").value = "form";

        var form = document.getElementById(formId);
        form.submit();

    }
      
    function makeUppercase(iden) {
        document.getElementById(iden).value = document.getElementById(iden).value.toUpperCase();
        return;
    }
    
    function veryObbligatorio(nomeForm) {
        var idForm = document.getElementById(nomeForm).id, campocompilato = [], i, messaggio;

        campocompilato[0] = document.getElementById("idnumeroconto").value;
        campocompilato[1] = document.getElementById("idnome").value;
        campocompilato[2] = document.getElementById("idcognome").value;
        campocompilato[3] = document.getElementById("idprovincianascita").value;
        campocompilato[4] = document.getElementById("idcomunenascita").value;
        campocompilato[5] = document.getElementById("idgiornonascita").value;
        campocompilato[6] = document.getElementById("idmesenascita").value;
        campocompilato[7] = document.getElementById("idannonascita").value;
        campocompilato[8] = document.getElementById("idcodicefiscale").value;

        for (i = 0; i < campocompilato.length; i = i + 1) {
            if (SISAL.isNullOrEmpty(campocompilato[i])) {
                // alert('ATTENZIONE!! Tutti i campi richiesti sono
                // obbligatori.');
                messaggio = 'Tutti i campi richiesti sono obbligatori.';
                SISAL.FX.showOnElement_TemplatePopup('body', 'gntn.alert.buttonok.html', {"{title}" : "Attenzione", "{content}" : messaggio, "{buttonclick}" : '<hideThis>', width : '350px'});             
                
                return;
            }
        }

        document.forms[nomeForm].submit();

        return;
    }
    
    function formSubmit(formId) {

        
        // if (document.getElementById("verificadati").checked)
        // {
        
        //alert("formSubmit => " + formId);
        
        var form = document.getElementById(formId);
        form.submit();
        // }

    }
    
    
  
    return {
        radioDati : radioDati,
        modificaDati : modificaDati,
        modificaDatiButtonConferma : modificaDatiButtonConferma,
        ricercaComune : ricercaComune,
        components: components,
        disableCtrlKeyCombination : disableCtrlKeyCombination,
        mischandler : mischandler,
        keyhandler : keyhandler,
        mousehandler : mousehandler,
        controlloSessione : controlloSessione,
        back : back,
        makeUppercase : makeUppercase,
        veryObbligatorio : veryObbligatorio,
        formSubmit : formSubmit
        
    };
}());

if (SISAL.logger.isInfoEnabled()) {
    SISAL.logger.info("SISAL.GNTN.AREAPRIVATA - namespace creato");
}
  