function trim(stringa){
    if(typeof(stringa)=='string'){
        while (stringa.substring(0,1) == ' '){
            stringa = stringa.substring(1, stringa.length);
        }
        while (stringa.substring(stringa.length-1, stringa.length) == ' '){
            stringa = stringa.substring(0,stringa.length-1);
        }
    }
    return stringa;
}


function md5 ( str ) {
    // http://kevin.vanzonneveld.net
    // +   original by: Webtoolkit.info (http://www.webtoolkit.info/)
    // + namespaced by: Michael White (http://crestidg.com)
    // -    depends on: utf8_encode
    // *     example 1: md5('Kevin van Zonneveld');
    // *     returns 1: '6e658d4bfcb59cc13f96c14450ac40b9'

    var RotateLeft = function(lValue, iShiftBits) {
            return (lValue<<iShiftBits) | (lValue>>>(32-iShiftBits));
        };

    var AddUnsigned = function(lX,lY) {
            var lX4,lY4,lX8,lY8,lResult;
            lX8 = (lX & 0x80000000);
            lY8 = (lY & 0x80000000);
            lX4 = (lX & 0x40000000);
            lY4 = (lY & 0x40000000);
            lResult = (lX & 0x3FFFFFFF)+(lY & 0x3FFFFFFF);
            if (lX4 & lY4) {
                return (lResult ^ 0x80000000 ^ lX8 ^ lY8);
            }
            if (lX4 | lY4) {
                if (lResult & 0x40000000) {
                    return (lResult ^ 0xC0000000 ^ lX8 ^ lY8);
                } else {
                    return (lResult ^ 0x40000000 ^ lX8 ^ lY8);
                }
            } else {
                return (lResult ^ lX8 ^ lY8);
            }
        };

    var F = function(x,y,z) { return (x & y) | ((~x) & z); };
    var G = function(x,y,z) { return (x & z) | (y & (~z)); };
    var H = function(x,y,z) { return (x ^ y ^ z); };
    var I = function(x,y,z) { return (y ^ (x | (~z))); };

    var FF = function(a,b,c,d,x,s,ac) {
            a = AddUnsigned(a, AddUnsigned(AddUnsigned(F(b, c, d), x), ac));
            return AddUnsigned(RotateLeft(a, s), b);
        };

    var GG = function(a,b,c,d,x,s,ac) {
            a = AddUnsigned(a, AddUnsigned(AddUnsigned(G(b, c, d), x), ac));
            return AddUnsigned(RotateLeft(a, s), b);
        };

    var HH = function(a,b,c,d,x,s,ac) {
            a = AddUnsigned(a, AddUnsigned(AddUnsigned(H(b, c, d), x), ac));
            return AddUnsigned(RotateLeft(a, s), b);
        };

    var II = function(a,b,c,d,x,s,ac) {
            a = AddUnsigned(a, AddUnsigned(AddUnsigned(I(b, c, d), x), ac));
            return AddUnsigned(RotateLeft(a, s), b);
        };

    var ConvertToWordArray = function(str) {
            var lWordCount;
            var lMessageLength = str.length;
            var lNumberOfWords_temp1=lMessageLength + 8;
            var lNumberOfWords_temp2=(lNumberOfWords_temp1-(lNumberOfWords_temp1 % 64))/64;
            var lNumberOfWords = (lNumberOfWords_temp2+1)*16;
            var lWordArray=Array(lNumberOfWords-1);
            var lBytePosition = 0;
            var lByteCount = 0;
            while ( lByteCount < lMessageLength ) {
                lWordCount = (lByteCount-(lByteCount % 4))/4;
                lBytePosition = (lByteCount % 4)*8;
                lWordArray[lWordCount] = (lWordArray[lWordCount] | (str.charCodeAt(lByteCount)<<lBytePosition));
                lByteCount++;
            }
            lWordCount = (lByteCount-(lByteCount % 4))/4;
            lBytePosition = (lByteCount % 4)*8;
            lWordArray[lWordCount] = lWordArray[lWordCount] | (0x80<<lBytePosition);
            lWordArray[lNumberOfWords-2] = lMessageLength<<3;
            lWordArray[lNumberOfWords-1] = lMessageLength>>>29;
            return lWordArray;
        };

    var WordToHex = function(lValue) {
            var WordToHexValue="",WordToHexValue_temp="",lByte,lCount;
            for (lCount = 0;lCount<=3;lCount++) {
                lByte = (lValue>>>(lCount*8)) & 255;
                WordToHexValue_temp = "0" + lByte.toString(16);
                WordToHexValue = WordToHexValue + WordToHexValue_temp.substr(WordToHexValue_temp.length-2,2);
            }
            return WordToHexValue;
        };

    var x=Array();
    var k,AA,BB,CC,DD,a,b,c,d;
    var S11=7, S12=12, S13=17, S14=22;
    var S21=5, S22=9 , S23=14, S24=20;
    var S31=4, S32=11, S33=16, S34=23;
    var S41=6, S42=10, S43=15, S44=21;

    str = utf8_encode(str);
    x = ConvertToWordArray(str);
    a = 0x67452301; b = 0xEFCDAB89; c = 0x98BADCFE; d = 0x10325476;

    for (k=0;k<x.length;k+=16) {
        AA=a; BB=b; CC=c; DD=d;
        a=FF(a,b,c,d,x[k+0], S11,0xD76AA478);
        d=FF(d,a,b,c,x[k+1], S12,0xE8C7B756);
        c=FF(c,d,a,b,x[k+2], S13,0x242070DB);
        b=FF(b,c,d,a,x[k+3], S14,0xC1BDCEEE);
        a=FF(a,b,c,d,x[k+4], S11,0xF57C0FAF);
        d=FF(d,a,b,c,x[k+5], S12,0x4787C62A);
        c=FF(c,d,a,b,x[k+6], S13,0xA8304613);
        b=FF(b,c,d,a,x[k+7], S14,0xFD469501);
        a=FF(a,b,c,d,x[k+8], S11,0x698098D8);
        d=FF(d,a,b,c,x[k+9], S12,0x8B44F7AF);
        c=FF(c,d,a,b,x[k+10],S13,0xFFFF5BB1);
        b=FF(b,c,d,a,x[k+11],S14,0x895CD7BE);
        a=FF(a,b,c,d,x[k+12],S11,0x6B901122);
        d=FF(d,a,b,c,x[k+13],S12,0xFD987193);
        c=FF(c,d,a,b,x[k+14],S13,0xA679438E);
        b=FF(b,c,d,a,x[k+15],S14,0x49B40821);
        a=GG(a,b,c,d,x[k+1], S21,0xF61E2562);
        d=GG(d,a,b,c,x[k+6], S22,0xC040B340);
        c=GG(c,d,a,b,x[k+11],S23,0x265E5A51);
        b=GG(b,c,d,a,x[k+0], S24,0xE9B6C7AA);
        a=GG(a,b,c,d,x[k+5], S21,0xD62F105D);
        d=GG(d,a,b,c,x[k+10],S22,0x2441453);
        c=GG(c,d,a,b,x[k+15],S23,0xD8A1E681);
        b=GG(b,c,d,a,x[k+4], S24,0xE7D3FBC8);
        a=GG(a,b,c,d,x[k+9], S21,0x21E1CDE6);
        d=GG(d,a,b,c,x[k+14],S22,0xC33707D6);
        c=GG(c,d,a,b,x[k+3], S23,0xF4D50D87);
        b=GG(b,c,d,a,x[k+8], S24,0x455A14ED);
        a=GG(a,b,c,d,x[k+13],S21,0xA9E3E905);
        d=GG(d,a,b,c,x[k+2], S22,0xFCEFA3F8);
        c=GG(c,d,a,b,x[k+7], S23,0x676F02D9);
        b=GG(b,c,d,a,x[k+12],S24,0x8D2A4C8A);
        a=HH(a,b,c,d,x[k+5], S31,0xFFFA3942);
        d=HH(d,a,b,c,x[k+8], S32,0x8771F681);
        c=HH(c,d,a,b,x[k+11],S33,0x6D9D6122);
        b=HH(b,c,d,a,x[k+14],S34,0xFDE5380C);
        a=HH(a,b,c,d,x[k+1], S31,0xA4BEEA44);
        d=HH(d,a,b,c,x[k+4], S32,0x4BDECFA9);
        c=HH(c,d,a,b,x[k+7], S33,0xF6BB4B60);
        b=HH(b,c,d,a,x[k+10],S34,0xBEBFBC70);
        a=HH(a,b,c,d,x[k+13],S31,0x289B7EC6);
        d=HH(d,a,b,c,x[k+0], S32,0xEAA127FA);
        c=HH(c,d,a,b,x[k+3], S33,0xD4EF3085);
        b=HH(b,c,d,a,x[k+6], S34,0x4881D05);
        a=HH(a,b,c,d,x[k+9], S31,0xD9D4D039);
        d=HH(d,a,b,c,x[k+12],S32,0xE6DB99E5);
        c=HH(c,d,a,b,x[k+15],S33,0x1FA27CF8);
        b=HH(b,c,d,a,x[k+2], S34,0xC4AC5665);
        a=II(a,b,c,d,x[k+0], S41,0xF4292244);
        d=II(d,a,b,c,x[k+7], S42,0x432AFF97);
        c=II(c,d,a,b,x[k+14],S43,0xAB9423A7);
        b=II(b,c,d,a,x[k+5], S44,0xFC93A039);
        a=II(a,b,c,d,x[k+12],S41,0x655B59C3);
        d=II(d,a,b,c,x[k+3], S42,0x8F0CCC92);
        c=II(c,d,a,b,x[k+10],S43,0xFFEFF47D);
        b=II(b,c,d,a,x[k+1], S44,0x85845DD1);
        a=II(a,b,c,d,x[k+8], S41,0x6FA87E4F);
        d=II(d,a,b,c,x[k+15],S42,0xFE2CE6E0);
        c=II(c,d,a,b,x[k+6], S43,0xA3014314);
        b=II(b,c,d,a,x[k+13],S44,0x4E0811A1);
        a=II(a,b,c,d,x[k+4], S41,0xF7537E82);
        d=II(d,a,b,c,x[k+11],S42,0xBD3AF235);
        c=II(c,d,a,b,x[k+2], S43,0x2AD7D2BB);
        b=II(b,c,d,a,x[k+9], S44,0xEB86D391);
        a=AddUnsigned(a,AA);
        b=AddUnsigned(b,BB);
        c=AddUnsigned(c,CC);
        d=AddUnsigned(d,DD);
    }

    var temp = WordToHex(a)+WordToHex(b)+WordToHex(c)+WordToHex(d);

    return temp.toLowerCase();
}





// Funzione di controllo dati di accesso utente e password
function controlloLogin(obj){

    if(trim(obj.utenteLogin.value) == ""){
        alert('Attenzione il campo "UTENTE" non può essere nullo');
        obj.utenteLogin.value='';
        obj.utenteLogin.focus();
        return false;
    }

    if(trim(obj.pwdLogin.value ) == ""){
        alert('Attenzione il campo "PASSWORD" non può essere nullo');
        obj.pwdLogin.value='';
        obj.pwdLogin.focus();
        return false;
    }

    return true;
}



function checkEmail(campo){
    var goodEmail = campo.value.match(/\b(^(\S+@).+((\.com)|(\.net)|(\.edu)|(\.mil)|(\.gov)|(\.org)|(\.ru)|(\.de)|(\.mx)|(\.uk)|(\.us)|(\.it)|(\.eu)|(\.info)|(\.fr)|(\.nl)|(\.es)|(\.ro)|(\.ch)|(\..{2,2}))$)\b/gi);
            if (!goodEmail) {
                alert('Email non corretta');
                campo.focus();
                return false;
            }
}



// Funzione di controllo dati registrazione utente, devono essere tutti obbligatori

function controlloRegistrazione(obj){

    if(trim(obj.utente.value) == ""){
        alert('Attenzione il campo "UTENTE" non può essere nullo');
        obj.utente.value='';
        obj.utente.focus();
        return false;
    }

    if(trim(obj.email.value) == ""){
        alert('Attenzione il campo "EMAIL" non può essere nullo');
        obj.email.value='';
        obj.email.focus();
        return false;
    }else{
            checkEmail(obj.email);
    }

    if(trim(obj.codiceAttivazione.value) == ""){
        alert('Attenzione il campo "CODICE ATTIVAZIONE" non può essere nullo');
        obj.codiceAttivazione.value='';
        obj.codiceAttivazione.focus();
        return false;
    }

    if(obj.cittadino.value == "vero"){
        if(trim(obj.cartaIdentita.value) == ""){
            alert('Attenzione il campo "CARTA DI IDENTITÀ" non può essere nullo');
            obj.cartaIdentita.value='';
            obj.cartaIdentita.focus();
            return false;
        }
     }

   /* alert(obj.cittadino.value);
    return false;*/

    if(obj.cittadino.value == "wifi"){

        if(trim(obj.utenteWifi.value) == ""){
            alert('Attenzione Il campo "utenteWifi" non deve essere nullo');
            obj.utenteWifi.value='';
            obj.utenteWifi.focus();
            return false;
        }

        if(trim(obj.passwordWifi.value) == ""){
            alert('Attenzione il campo "passwordWifi" non deve essere nullo');
            obj.passwordWifi.value='';
            obj.passwordWifi.focus();
            return false;
        }
     }

    if(!obj.privacy.checked){
            alert('Attenzione Leggere e approvare l\'informativa');
            obj.privacy.value='';
            obj.privacy.focus();
            return false;
        }

        if(!obj.regolamento.checked){
            alert('Attenzione Leggere e approvare il regolamento');
            obj.regolamento.value='';
            obj.regolamento.focus();
            return false;
        }

    return true;
}

/**************************************************************************************************************************************************************
**************************************************************************************************************************************************************/

/*********************************************************************************************************************
**********************************************************************************************************************/

 function codiceFiscale(cf)
   {
    //alert(cfins);
   var cf = cf.toUpperCase();
   var cfReg = /^[A-Z]{6}\d{2}[A-Z]\d{2}[A-Z]\d{3}[A-Z]$/;
   if (!cfReg.test(cf))
      return false;
   var set1 = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
   var set2 = "ABCDEFGHIJABCDEFGHIJKLMNOPQRSTUVWXYZ";
   var setpari = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
   var setdisp = "BAKPLCQDREVOSFTGUHMINJWZYX";
   var s = 0;
   for( i = 1; i <= 13; i+=2 )
      s += setpari.indexOf( set2.charAt( set1.indexOf( cf.charAt(i) )));
   for( i = 0; i <= 14; i += 2 )
      s += setdisp.indexOf( set2.charAt( set1.indexOf( cf.charAt(i) )));
   if ( s%26 != cf.charCodeAt(15)-'A'.charCodeAt(0) ){
      return false;
   }
   return true;
   }



   function partitaIva(piva)
{
     if( piva == '' )  return false;
    if( piva.length != 11 )
        return false;
    validi = "0123456789";
    for( i = 0; i < 11; i++ ){
        if( validi.indexOf( piva.charAt(i) ) == -1 )
            return false;
    }
    s = 0;
    for( i = 0; i <= 9; i += 2 )
        s += piva.charCodeAt(i) - '0'.charCodeAt(0);
    for( i = 1; i <= 9; i += 2 ){
        c = 2*( piva.charCodeAt(i) - '0'.charCodeAt(0) );
        if( c > 9 )  c = c - 9;
        s += c;
    }
    if( ( 10 - s%10 )%10 != piva.charCodeAt(10) - '0'.charCodeAt(0) )
        return false;
}



function gestioneForm(){
    //alert (document.getElementById("codiceComuneResidenza").value);
/******************************************************************************/
   if( document.getElementById("codiceStatoResidenza").value != ''  &&
        (document.getElementById("codiceComuneResidenza").value != '' || document.getElementById("comuneResidenza").value != '')
    ){
            document.getElementById("esponenteResidenza").style.visibility="visible";
            document.getElementById("numeroCivicoResidenza").style.visibility="visible";
            document.getElementById("indirizzoResidenza").style.visibility="visible";
            document.getElementById("labelCivicoResidenza").style.visibility="visible";

          if(document.getElementById("codiceStatoResidenza").value == 'I') {
          
            document.getElementById("labelDescRes").style.visibility="hidden";
            document.getElementById("descrizioneComuneResidenza").style.visibility="hidden";
            document.getElementById("descrizioneComuneResidenza").value ="";
            document.getElementById("codiceViaResidenza").style.visibility="visible";
            document.getElementById("comuneResidenza").style.visibility ="visible";


             if(document.getElementById("codiceComuneResidenza").value == 3106) {
                document.getElementById("tipoViaResidenza").style.visibility="hidden";
                document.getElementById("descrizioneViaResidenza").style.visibility="hidden";
                document.getElementById("codiceViaResidenza").style.visibility="visible";
                
                document.getElementById("tipoViaResidenza").value ="";
                document.getElementById("descrizioneViaResidenza").value ="";
                
            }else {
                    document.getElementById("tipoViaResidenza").style.visibility="visible";
                    document.getElementById("descrizioneViaResidenza").style.visibility="visible";
                    document.getElementById("codiceViaResidenza").style.visibility="hidden";
                    
                    document.getElementById("codiceViaResidenza").value ="";
                    
                    
            }
        }else {
                document.getElementById("tipoViaResidenza").style.visibility="hidden";
                document.getElementById("codiceViaResidenza").style.visibility="hidden";
                document.getElementById("comuneResidenza").style.visibility ="hidden";
                document.getElementById("labelDescRes").style.visibility="visible";
                document.getElementById("descrizioneViaResidenza").style.visibility="visible";

                document.getElementById("tipoViaResidenza").value ="";
                document.getElementById("codiceViaResidenza").value ="";
                document.getElementById("comuneResidenza").value ="";
                

        }
    }else {
            document.getElementById("labelDescRes").style.visibility="hidden";
            document.getElementById("codiceViaResidenza").style.visibility="hidden";
            document.getElementById("comuneResidenza").style.visibility ="hidden";
            document.getElementById("tipoViaResidenza").style.visibility="hidden";
            document.getElementById("descrizioneViaResidenza").style.visibility="hidden";
            document.getElementById("esponenteResidenza").style.visibility="hidden";
            document.getElementById("numeroCivicoResidenza").style.visibility="hidden";
            document.getElementById("indirizzoResidenza").style.visibility="hidden";
            document.getElementById("labelCivicoResidenza").style.visibility="hidden";
    }
/******************************************************************************/
    if( document.getElementById("codiceStatoRecapito").value != ''  &&
        (document.getElementById("codiceComuneRecapito").value != '' || document.getElementById("comuneRecapito").value != '')
    ){
            document.getElementById("esponenteRecapito").style.visibility="visible";
            document.getElementById("numeroCivicoRecapito").style.visibility="visible";
            document.getElementById("indirizzoRecapito").style.visibility="visible";
            document.getElementById("labelCivicoRecapito").style.visibility="visible";

          if(document.getElementById("codiceStatoRecapito").value == 'I') {
            document.getElementById("labelDescRec").style.visibility="hidden";
            document.getElementById("codiceViaRecapito").style.visibility="visible";
            document.getElementById("comuneRecapito").style.visibility ="visible";


             if(document.getElementById("codiceComuneRecapito").value == 3106) {
                document.getElementById("tipoViaRecapito").style.visibility="hidden";
                document.getElementById("descrizioneViaRecapito").style.visibility="hidden";
                document.getElementById("codiceViaRecapito").style.visibility="visible";
            }else {
                    document.getElementById("tipoViaRecapito").style.visibility="visible";
                    document.getElementById("descrizioneViaRecapito").style.visibility="visible";
                    document.getElementById("codiceViaRecapito").style.visibility="hidden";
            }
        }else {
                document.getElementById("tipoViaRecapito").style.visibility="hidden";
                document.getElementById("codiceViaRecapito").style.visibility="hidden";
                document.getElementById("comuneRecapito").style.visibility ="hidden";
                document.getElementById("labelDescRec").style.visibility="visible";
                document.getElementById("descrizioneViaRecapito").style.visibility="visible";

        }
    }else {
            document.getElementById("labelDescRec").style.visibility="hidden";
            document.getElementById("codiceViaRecapito").style.visibility="hidden";
            document.getElementById("comuneRecapito").style.visibility ="hidden";
            document.getElementById("tipoViaRecapito").style.visibility="hidden";
            document.getElementById("descrizioneViaRecapito").style.visibility="hidden";
            document.getElementById("esponenteRecapito").style.visibility="hidden";
            document.getElementById("numeroCivicoRecapito").style.visibility="hidden";
            document.getElementById("indirizzoRecapito").style.visibility="hidden";
            document.getElementById("labelCivicoRecapito").style.visibility="hidden";
    }
/******************************************************************************/


    /******************************************************************************/
    if( document.getElementById("codiceStatoFiscale").value != ''  &&
        (document.getElementById("codiceComuneFiscale").value != '' || document.getElementById("comuneFiscale").value != '')
    ){
            document.getElementById("esponenteFiscale").style.visibility="visible";
            document.getElementById("numeroCivicoFiscale").style.visibility="visible";
            document.getElementById("indirizzoFiscale").style.visibility="visible";
            document.getElementById("labelCivicoFiscale").style.visibility="visible";

          if(document.getElementById("codiceStatoFiscale").value == 'I') {
            document.getElementById("labelDescFisc").style.visibility="hidden";
            document.getElementById("codiceViaFiscale").style.visibility="visible";
            document.getElementById("comuneFiscale").style.visibility ="visible";


             if(document.getElementById("codiceComuneFiscale").value == 3106) {
                document.getElementById("tipoViaFiscale").style.visibility="hidden";
                document.getElementById("descrizioneViaFiscale").style.visibility="hidden";
                document.getElementById("codiceViaFiscale").style.visibility="visible";
            }else {
                    document.getElementById("tipoViaFiscale").style.visibility="visible";
                    document.getElementById("descrizioneViaFiscale").style.visibility="visible";
                    document.getElementById("codiceViaFiscale").style.visibility="hidden";
            }
        }else {
                document.getElementById("tipoViaFiscale").style.visibility="hidden";
                document.getElementById("codiceViaFiscale").style.visibility="hidden";
                document.getElementById("comuneFiscale").style.visibility ="hidden";
                document.getElementById("labelDescFisc").style.visibility="visible";
                document.getElementById("descrizioneViaFiscale").style.visibility="visible";

        }
    }else {
            document.getElementById("labelDescFisc").style.visibility="hidden";
            document.getElementById("codiceViaFiscale").style.visibility="hidden";
            document.getElementById("comuneFiscale").style.visibility ="hidden";
            document.getElementById("tipoViaFiscale").style.visibility="hidden";
            document.getElementById("descrizioneViaFiscale").style.visibility="hidden";
            document.getElementById("esponenteFiscale").style.visibility="hidden";
            document.getElementById("numeroCivicoFiscale").style.visibility="hidden";
            document.getElementById("indirizzoFiscale").style.visibility="hidden";
            document.getElementById("labelCivicoFiscale").style.visibility="hidden";
    }
}


/***************** gestione form utente *********************/ 


function gestioneFormUtente(){
    //alert (document.getElementById("codiceComuneResidenza").value);
/******************************************************************************/
    if( document.getElementById("codiceStatoRecapito").value != ''  &&
        (document.getElementById("codiceComuneRecapito").value != '' || document.getElementById("comuneRecapito").value != '')
    ){
            document.getElementById("esponenteRecapito").style.visibility="visible";
            document.getElementById("numeroCivicoRecapito").style.visibility="visible";
            document.getElementById("indirizzoRecapito").style.visibility="visible";
            document.getElementById("labelCivicoRecapito").style.visibility="visible";

          if(document.getElementById("codiceStatoRecapito").value == 'I') {
            document.getElementById("labelDescRec").style.visibility="hidden";
            document.getElementById("codiceViaRecapito").style.visibility="visible";
            document.getElementById("comuneRecapito").style.visibility ="visible";


             if(document.getElementById("codiceComuneRecapito").value == 3106) {
                document.getElementById("tipoViaRecapito").style.visibility="hidden";
                document.getElementById("descrizioneViaRecapito").style.visibility="hidden";
                document.getElementById("codiceViaRecapito").style.visibility="visible";
            }else {
                    document.getElementById("tipoViaRecapito").style.visibility="visible";
                    document.getElementById("descrizioneViaRecapito").style.visibility="visible";
                    document.getElementById("codiceViaRecapito").style.visibility="hidden";
            }
        }else {
                document.getElementById("tipoViaRecapito").style.visibility="hidden";
                document.getElementById("codiceViaRecapito").style.visibility="hidden";
                document.getElementById("comuneRecapito").style.visibility ="hidden";
                document.getElementById("labelDescRec").style.visibility="visible";
                document.getElementById("descrizioneViaRecapito").style.visibility="visible";

        }
    }else {
            document.getElementById("labelDescRec").style.visibility="hidden";
            document.getElementById("codiceViaRecapito").style.visibility="hidden";
            document.getElementById("comuneRecapito").style.visibility ="hidden";
            document.getElementById("tipoViaRecapito").style.visibility="hidden";
            document.getElementById("descrizioneViaRecapito").style.visibility="hidden";
            document.getElementById("esponenteRecapito").style.visibility="hidden";
            document.getElementById("numeroCivicoRecapito").style.visibility="hidden";
            document.getElementById("indirizzoRecapito").style.visibility="hidden";
            document.getElementById("labelCivicoRecapito").style.visibility="hidden";
    }
/******************************************************************************/


    /******************************************************************************/
    if( document.getElementById("codiceStatoFiscale").value != ''  &&
        (document.getElementById("codiceComuneFiscale").value != '' || document.getElementById("comuneFiscale").value != '')
    ){
            document.getElementById("esponenteFiscale").style.visibility="visible";
            document.getElementById("numeroCivicoFiscale").style.visibility="visible";
            document.getElementById("indirizzoFiscale").style.visibility="visible";
            document.getElementById("labelCivicoFiscale").style.visibility="visible";

          if(document.getElementById("codiceStatoFiscale").value == 'I') {
            document.getElementById("labelDescFisc").style.visibility="hidden";
            document.getElementById("codiceViaFiscale").style.visibility="visible";
            document.getElementById("comuneFiscale").style.visibility ="visible";


             if(document.getElementById("codiceComuneFiscale").value == 3106) {
                document.getElementById("tipoViaFiscale").style.visibility="hidden";
                document.getElementById("descrizioneViaFiscale").style.visibility="hidden";
                document.getElementById("codiceViaFiscale").style.visibility="visible";
            }else {
                    document.getElementById("tipoViaFiscale").style.visibility="visible";
                    document.getElementById("descrizioneViaFiscale").style.visibility="visible";
                    document.getElementById("codiceViaFiscale").style.visibility="hidden";
            }
        }else {
                document.getElementById("tipoViaFiscale").style.visibility="hidden";
                document.getElementById("codiceViaFiscale").style.visibility="hidden";
                document.getElementById("comuneFiscale").style.visibility ="hidden";
                document.getElementById("labelDescFisc").style.visibility="visible";
                document.getElementById("descrizioneViaFiscale").style.visibility="visible";

        }
    }else {
            document.getElementById("labelDescFisc").style.visibility="hidden";
            document.getElementById("codiceViaFiscale").style.visibility="hidden";
            document.getElementById("comuneFiscale").style.visibility ="hidden";
            document.getElementById("tipoViaFiscale").style.visibility="hidden";
            document.getElementById("descrizioneViaFiscale").style.visibility="hidden";
            document.getElementById("esponenteFiscale").style.visibility="hidden";
            document.getElementById("numeroCivicoFiscale").style.visibility="hidden";
            document.getElementById("indirizzoFiscale").style.visibility="hidden";
            document.getElementById("labelCivicoFiscale").style.visibility="hidden";
    }

}


/***************************************************************************************/

function controlloFormProfilo(obj){
     if(trim(obj.email.value) == ""){
        alert('Attenzione il campo "EMAIL" non può essere nullo');
        obj.email.value='';
        obj.email.focus();
        return false;
    }else{

            checkEmail(obj.email);

    }

    if( trim(obj.passwordOld.value) != '' && trim(obj.nuovaPassword.value) != '' && trim(obj.confermaPassword.value) != ''){
            if(obj.nuovaPassword.value != obj.confermaPassword.value){
                alert('La Nuova password inserita non è corretta o non corrisponde alla conferma.');
                return false;
            }

            /*if( md5(obj.passwordOld.value) != obj.passwordOldDb.value){
                alert('La vecchia password inserita non corrisponde a quella registrata');
                return false;
            } */
      }else{
                if( (obj.passwordOld.value != '' && obj.nuovaPassword.value == '' && obj.confermaPassword.value == '') ||
                         (obj.passwordOld.value == '' && obj.nuovaPassword.value != '' && obj.confermaPassword.value == '') ||
                         (obj.passwordOld.value == '' && obj.nuovaPassword.value == '' && obj.confermaPassword.value != '') ||
                         (obj.passwordOld.value != '' && obj.nuovaPassword.value != '' && obj.confermaPassword.value == '') ||
                         (obj.passwordOld.value != '' && obj.nuovaPassword.value == '' && obj.confermaPassword.value != '') ||
                         (obj.passwordOld.value == '' && obj.nuovaPassword.value != '' && obj.confermaPassword.value != '')
                    ){
                        alert('Compilare tutti i campi relativi alle password per effettuare la variazione in caso contrario lasciare i campi vuoti.');
                        return false;
                    }
      }

    return true;

} // fine function




function controlloFormProfiloUser(obj){

    if( trim(obj.passwordOld.value) != '' && trim(obj.nuovaPassword.value) != '' && trim(obj.confermaPassword.value) != ''){
            if(obj.nuovaPassword.value != obj.confermaPassword.value){
                alert('La Nuova password inserita non è corretta o non corrisponde alla conferma.');
                return false;
            }

            /*if( md5(obj.passwordOld.value) != obj.passwordOldDb.value){
                alert('La vecchia password inserita non corrisponde a quella registrata');
                return false;
            } */
      }else{
                if( (obj.passwordOld.value != '' && obj.nuovaPassword.value == '' && obj.confermaPassword.value == '') ||
                         (obj.passwordOld.value == '' && obj.nuovaPassword.value != '' && obj.confermaPassword.value == '') ||
                         (obj.passwordOld.value == '' && obj.nuovaPassword.value == '' && obj.confermaPassword.value != '') ||
                         (obj.passwordOld.value != '' && obj.nuovaPassword.value != '' && obj.confermaPassword.value == '') ||
                         (obj.passwordOld.value != '' && obj.nuovaPassword.value == '' && obj.confermaPassword.value != '') ||
                         (obj.passwordOld.value == '' && obj.nuovaPassword.value != '' && obj.confermaPassword.value != '')
                    ){
                        alert('Compilare tutti i campi relativi alle password per effettuare la variazione in caso contrario lasciare i campi vuoti.');
                        return false;
                    }
      }

    return true;

} // fine function



function controlloFormProfiloAdmin(obj){
    if((trim(obj.cognome.value == '') && trim(obj.nome.value == '') && trim(obj.denominazione.value == ''))
        || (trim(obj.cognome.value != '') && trim(obj.nome.value != '') && trim(obj.denominazione.value != ''))
        || (trim(obj.cognome.value != '') && trim(obj.nome.value == '') && trim(obj.denominazione.value == ''))
        || (trim(obj.cognome.value == '') && trim(obj.nome.value != '') && trim(obj.denominazione.value == ''))
        || (trim(obj.cognome.value != '') && trim(obj.nome.value != '') && trim(obj.denominazione.value != ''))
      ){
         alert('Errore nella compilazione del nominativo.');
         obj.cognome.focus();
         return false;
    }


    if((obj.codiceFiscale.value != '') && (obj.partitaIva.value == '')){
            var CFok=codiceFiscale(obj.codiceFiscale.value)
            if (CFok==false)
            {
                alert("Codice Fiscale errato");
                obj.codiceFiscale.focus();
                return false;
            }
       }

   if((obj.codiceFiscale.value == '') && (obj.partitaIva.value != '')){
        var PIvaOk=partitaIva(obj.partitaIva.value)
                if (PIvaOk==false)
                {
                    alert("Partita IVA errata");
                    obj.partitaIva.focus();
                    return false;
                }
   }





    if( trim(obj.passwordOld.value) != '' && trim(obj.nuovaPassword.value) != '' && trim(obj.confermaPassword.value) != ''){
            if(obj.nuovaPassword.value != obj.confermaPassword.value){
                alert('La Nuova password inserita non è corretta o non corrisponde alla conferma.');
                return false;
            }

            /*if( md5(obj.passwordOld.value) != obj.passwordOldDb.value){
                alert('La vecchia password inserita non corrisponde a quella registrata');
                return false;
            } */
      }else{
                if( (obj.passwordOld.value != '' && obj.nuovaPassword.value == '' && obj.confermaPassword.value == '') ||
                         (obj.passwordOld.value == '' && obj.nuovaPassword.value != '' && obj.confermaPassword.value == '') ||
                         (obj.passwordOld.value == '' && obj.nuovaPassword.value == '' && obj.confermaPassword.value != '') ||
                         (obj.passwordOld.value != '' && obj.nuovaPassword.value != '' && obj.confermaPassword.value == '') ||
                         (obj.passwordOld.value != '' && obj.nuovaPassword.value == '' && obj.confermaPassword.value != '') ||
                         (obj.passwordOld.value == '' && obj.nuovaPassword.value != '' && obj.confermaPassword.value != '')
                    ){
                        alert('Compilare tutti i campi relativi alle password per effettuare la variazione in caso contrario lasciare i campi vuoti.');
                        return false;
                    }
      }

    return true;

} // fine function










function controlloMailAnomalia(obj){
    if(trim(obj.mittente.value) == ''){
        alert('Cognome e nome del mittente sono obbligatori.');
        obj.mittente.value='';
        obj.mittente.focus();
        return false;
    }

    if(trim(obj.email.value) == ''){
        alert('Email obbligatoria.');
        obj.email.value='';
        obj.email.focus();
        return false;
    }else{
            checkEmail(obj.email);
    }

    if(trim(obj.oggetto.value) == ''){
        alert('Oggetto obbligatorio.');
        obj.oggetto.value='';
        obj.oggetto.focus();
        return false;
    }

    if(trim(obj.testoMail.value) == ''){
        alert('Il testo della mail è obbligatorio.');
        obj.testoMail.value='';
        obj.testoMail.focus();
        return false;
    }

    return true
}



function controlloAnomalieCartella(obj){
    //alert(obj.numeroCartelle.value);
    //alert(obj.childNodes[0].tagName);
    idValido=false;
    for(i=1;i <= obj.numeroCartelle.value;i++){
        //alert(document.getElementById('id'+i).id);
        campoInput=document.getElementById('id'+i);
         if((trim(campoInput.value) == '')){
            alert('I campi sono tutti obbligatori 1');
            campoInput.value='';
            campoInput.focus();
            return false;
        }

       campoInput2=document.getElementById('codiceAttivazione'+i);
        if((trim(campoInput2.value) == '') || isNaN(campoInput2.value)){
            alert('I campi sono tutti obbligatori. 2');
            campoInput.value='';
            campoInput.focus();
            return false;
        }

        campoInput2=document.getElementById('datiCorretti'+i);
        if(campoInput2.checked){
            idValido=true;
        }
    }

    if(idValido != true){
         alert('Indicare i dati corretti selezionando uno dei campi "Dati corretti" ');
         return false;
    }
}

function bigImg(){
   // alert(document.getElementById('immagineBollettino'));
   var immagine = document.getElementById('immagineBollettino');
   immagine.style.width = "640px";
   immagine.style.height = "480px";
}

function smallImg(){
   // alert(document.getElementById('immagineBollettino'));
   var immagine = document.getElementById('immagineBollettino');
   immagine.style.width = "580px";
   immagine.style.height = "360px";
}

function utlApriChiudi(idOggetto){
    obj = document.getElementById ( idOggetto );
    if ( obj.style['display'] == "none" ) {
        obj.style['display']="table-cell";
    } else {
        obj.style['display']="none";
    }
}




function allarga(obj){
    document.getElementById(obj).focus();
	document.getElementById(obj).style.width="auto";
}

function stringi(obj){
    document.getElementById(obj).focus();
    //document.getElementById('obj').focus()
	document.getElementById(obj).style.width="5em";
}



function controlloDatiIci(obj){
    if((trim(obj.importoVersato.value) == "") || isNaN(obj.importoVersato.value)){
            alert('Attenzione il campo importo versato non deve essere nullo e non deve essere alfanumerico.');
            obj.importoVersato.value='';
            obj.importoVersato.focus();
            return false;
    }
    
   if(obj.dataPagamento.value == ""){
		alert('Attenzione il campo data pagamento non deve essere nullo');
		obj.dataPagamento.focus();
		return false;
	}else{
         if(verif_date(obj.dataPagamento.value)==false){
            alert('La data pagamento non è corretta');
            obj.dataPagamento.focus();
            return false;
          }
    }
    
    if(trim(obj.incasso.value) == ""){
            alert('Attenzione il campo incasso non deve essere nullo');
            obj.incasso.value='';
            obj.incasso.focus();
            return false;
    } 
    
    
}



function verif_date(input)
{
var regex = new RegExp("[/-]");
var date = input.split(regex);
var nbJours = new Array('',31,28,31,30,31,30,31,31,30,31,30,31);
var result = true;

if ( date['2']%4 == 0 && date['2']%100 > 0 || date['2']%400 == 0 )
nbJours['2'] = 29;

if( isNaN(date['2']) )
result=false;

if ( isNaN(date['1']) || date['1'] > 12 || date['1'] < 1 )
result=false;


if ( isNaN(date['0']) || date['0'] > nbJours[Math.round(date['1'])] || date['0'] < 1 )
result=false;

/* ripristinare solo in caso si desideri una data non inferiore all'anno in corso */

//var dataAttuale = new Date()
//var annoAttuale=dataAttuale.getFullYear();

//if(date['2'] < annoAttuale) result=false;

return result;
}


function verificaDatiCat(obj){
    if(obj.via.value == ""){
            alert('Compilare il campo indirizzo');
            obj.via.focus();
            return false;
    }
    
    if(obj.mq.value == ""){
            alert('Compilare il campo mq');
            obj.mq.focus();
            return false;
    }
    
    if(obj.foglio.value == ""){
            alert('Compilare il campo foglio');
            obj.foglio.focus();
            return false;
    }
    
    if(obj.mappale.value == ""){
            alert('Compilare il campo mappale');
            obj.mappale.focus();
            return false;
    }
    
    if(obj.subalterno.value == ""){
            alert('Compilare il campo subalterno');
            obj.subalterno.focus();
            return false;
    }
    
    if(obj.titolo.value == ""){
            alert('Compilare il campo titolo');
            obj.titolo.focus();
            return false;
    }
    
    if(obj.natura.value == ""){
            alert('Compilare il campo natura');
            obj.natura.focus();
            return false;
    }
    
    if(obj.destinazione.value == ""){
            alert('Compilare il campo destinazione');
            obj.destinazione.focus();
            return false;
    }
    
    return true();
}

