
/*******************************************************************************************
*  ESCI DA AREA PARTNET
********************************************************************************************/

function esciAreaPartner()
{
        try{ 
                          
    	                  var url = "/system/modules/com.gdfitalia/elements/app_ee_gas_df/nopro/azione.jsp";
                                     
                 	  var xmlhttp = FactoryXMLHttpRequest();
                         
                          if(xmlhttp)
                          {
                                  xmlhttp.open("POST", url);
                   
                                  xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');

                                  xmlhttp.onreadystatechange = function()
                                  {
                                         if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
                                         {                                                                   	                                                                         
                                                   
                                                //window.location.reload();
                                                document.location.href="http://www.italcogimenergie.it/index.html";
                                                return false;
                                         } 
                                  }
                                  
                                  xmlhttp.send("passo=11");
                         } 
       
              }catch(E){alert(E);}
      return false;
}



/*******************************************************************************************
*  IN BASE ALLE COORDINATE LATITUDINE, LONGITUDINE RESTITUISCE IL DEALER PIU' VICINO   
********************************************************************************************/

 function showAreaRiservata(param)
 { 
       document.getElementById("areariservata").className="show";  
       document.getElementById("areapartner").className="hide";    
 }

 function showAreaPartner(param)
 { 
       document.getElementById("areariservata").className="hide";  
       document.getElementById("areapartner").className="show";     
 }


/*******************************************************************************************
*  IN BASE ALLE COORDINATE LATITUDINE, LONGITUDINE RESTITUISCE IL DEALER PIU' VICINO   
********************************************************************************************/


   function addToMap(response)
    {
      // Retrieve the object
      var place = response.Placemark[0];      
      //alert("LAT:"+place.Point.coordinates[1]+",LNG:"+place.Point.coordinates[0]);

      try{ 
                          
    	   var url = "/system/modules/com.gdfitalia/elements/app_areariservata/dealer.jsp";                                     
           var xmlhttp = FactoryXMLHttpRequest();
                         
           if(xmlhttp)
           {
               xmlhttp.open("POST", url);                   
               xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');

               xmlhttp.onreadystatechange = function()
               {
                  if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
                  {                                                                   	                          
                     document.getElementById("NEAREST_DIV").innerHTML=xmlhttp.responseText;
                     //alert(xmlhttp.responseText);
                  }
               }         
               xmlhttp.send("LAT="+place.Point.coordinates[1]+"&LNG="+place.Point.coordinates[0]);
           }            
         
      }catch(E){alert(E);}

     return false;
    }


function nearest()
{
    
  var geocoder;
 
  if( document.getElementById("INDIRIZZO_GOOGLE").value != '' )
  {
    try
    {
       geocoder = new GClientGeocoder();
    }
    catch( err )
    {
       setTimeout("nearest()", 2000); 
       document.getElementById("NEAREST_DIV").innerHTML="<Strong>Attenzione! Browser non adatto a visualizzare il Punto di contatto sul territorio più vicino<Strong><br>";
       return;
    }
    //RECUPERO LA LONGITUDINE, LATITUDINE DEL PUNTO E POI PASSO AD UNA JSP CHE CALCOLA IL PUNTO PIU' VICINO. RESTITUISCE TUTTO IN UNA TABELLA
    //geocoder = new GClientGeocoder();
    geocoder.getLocations(document.getElementById("INDIRIZZO_GOOGLE").value,addToMap);        
  }
}


/*******************************************************************************************
*  DURANTE LA FASE DI REGISTRAZIONE E' POSSIBILE VEDERE LE REGOLE DI CREAZIONE DELL'ACCOUNT
********************************************************************************************/


 function displayTr(param)
 {
 
  if(document.getElementById(param).className == "show")
  {
       document.getElementById(param).className="hide";
  }
  else
  {
       document.getElementById(param).className="show";
  }
 }



/*******************************************************************************************
*  DURANTE LA FASE DI REGISTRAZIONE E' POSSIBILE VEDERE LE REGOLE DI CREAZIONE DELL'ACCOUNT
********************************************************************************************/


 function displayDiv2()
 {
 
  if(document.getElementById("div_banner_2").className == "show")
  {
       document.getElementById("div_banner_2").className="hide";
       document.getElementById("div_banner_2_text").innerHTML="clicca qui";
  }
  else
  {
       document.getElementById("div_banner_2").className="show";
       document.getElementById("div_banner_2_text").innerHTML="clicca qui";
  }

 }

function closeDisplayRegole()
{
  document.getElementById("mypop").className="hide";
}

function displayRegole()
{
  document.getElementById("mypop").className="show";
}

/***************************************************************************************
*  CONTROLLO DEL CODICE FISCALE http://www.icosaedro.it/cf-pi/index.html
****************************************************************************************/

function ControllaCF(cf)
{
    var validi, i, s, set1, set2, setpari, setdisp;
    if( cf == '' )  return false;
    cf = cf.toUpperCase();
    if( cf.length != 16 ) return false;
    validi = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
    for( i = 0; i < 16; i++ ){
        if( validi.indexOf( cf.charAt(i) ) == -1 ) return false;
    }
    set1 = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    set2 = "ABCDEFGHIJABCDEFGHIJKLMNOPQRSTUVWXYZ";
    setpari = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    setdisp = "BAKPLCQDREVOSFTGUHMINJWZYX";
    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;
}


/***************************************************************************************
*  CONTROLLO SPAZI VUOTI
****************************************************************************************/


 function Trim(str)
{
   return str.replace(/^\s*|\s*$/g,"");
}

/***************************************************************************************
*  CONTROLLO EMAIL
****************************************************************************************/


function indirizzoEmailValido(indirizzo) {

    if(indirizzo.indexOf("@") >= 0)
      return true;

    return false;

}

/***************************************************************************************
*  CONTROLLO INTERI
****************************************************************************************/


 function isInteger(s){

            var i;

    for (i = 0; i < s.length; i++){   

        // Check that current character is number.

        var c = s.charAt(i);

        if (((c < "0") || (c > "9"))) return false;

    }

    // All characters are numbers.

    return true;

}


/*****************************************************************************************************************
*   CONTROLLO CAMPI STEP DI REGISTRAZIONE
*****************************************************************************************************************/


function checkFields(){
    if(Trim(document.theformReg_.codAzienda.value)=="" || Trim(document.theformReg_.codComune.value)=="" || Trim(document.theformReg_.codFornitura.value)==""){ 
        alert("Si prega di compilare i tre campi del Numero Fornitura");
        return false;
    }
    return true;
}

function checkFields2(){

    if(document.getElementById("my_privacy").checked &&  document.getElementById("my_privacy2").checked && document.getElementById("my_privacy3").checked)
    {
       return true;
    }

    alert("Per accedere all’Area Riservata è necessario accettare tutte le clausole elencate");

    return false;
}

function checkFields3(){
    return true;
}

function checkFields4(){

       var myRegex = /\W/i;

        if(Trim(document.theformReg_.EMAIL.value)=="" || !indirizzoEmailValido(document.theformReg_.EMAIL.value)){ 
        	alert("Si prega di valorizzare correttamente in campo email");
                return false;
        }

        if(Trim(document.theformReg_.REEMAIL.value)=="" || !indirizzoEmailValido(document.theformReg_.REEMAIL.value)){ 
        	alert("Si prega di valorizzare correttamente in campo conferma email");
                return false;
        }

        if(Trim(document.theformReg_.EMAIL.value) !=  Trim(document.theformReg_.REEMAIL.value))
        {
        	alert("Campi email e conferma email non corrispondenti");
                return false;
        }

        if(document.theformReg_.LOGIN.value.length < 8)
        { 
        	alert("Il campo Username deve avere almeno 8 caratteri");
                return false;
        } 
        if(myRegex.test(document.theformReg_.LOGIN.value))
        {

        	alert("Username utente non valido. Possono essere utilizzati numeri [0-9] e/o lettere [A-Z,a-z]");
                return false;
        }


    return true;
}

/*****************************************************************************************************************
*   VALIDA CLIENTE REGISTRAZIONE
*****************************************************************************************************************/

function validate(step)
{

   var f = document.theformReg_;
   if(Trim(step)=="1" && !checkFields()) return;
    if(Trim(step)=="2" && !checkFields2()) return;
    if(Trim(step)=="3" && !checkFields3()) return;
    if(Trim(step)=="4" && !checkFields4()) return;
   f.submit();

}


function switchC2(){
    if(document.theformReg_.codAzienda.value.length>2){
        document.theformReg_.codComune.focus();
    }

}
function switchC3(){
    if(document.theformReg_.codComune.value.length>2){
        document.theformReg_.codFornitura.focus();
    }

}




/***************************************************************************************
*   LOGIN UTENTE AREA PARTNER
****************************************************************************************/

 function doLoginPartner()
 {
      
        var f = document.theformRegPartner;
        var login = f.username.value; 
        var password = f.password.value;
        try{ 
                          
    	                  var url = "/system/modules/com.gdfitalia/elements/app_ee_gas_df/nopro/login.jsp";
                                     
                 	  var xmlhttp = FactoryXMLHttpRequest();
                         
                          if(xmlhttp)
                          {
                                  xmlhttp.open("POST", url);
                   
                                  xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');

                                  xmlhttp.onreadystatechange = function()
                                  {
                                         if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
                                         {                                                
                   	                          
                                                var risp =xmlhttp.responseText;                                                   
                                                if(-11 == risp)
                                                {
                                                    f.action="/system/modules/com.gdfitalia/elements/app_ee_gas_df/nopro/azione.jsp";
                                                    f.onsubmit = null; 
                                                    f.submit();

                                                    return true;  
                                                }else{ alert("Attenzione! Login  e/o password errati");}
                                                
                                         }
                                  }
                                  
                                  xmlhttp.send("LOGIN="+login+"&PASSWORD="+password);
                         } 
       
              }catch(E){alert(E);}
      return false;
 }


/***************************************************************************************
*   LOGIN UTENTE AREA RISERVATA
****************************************************************************************/

 function doLogin()
 {      
        var f = document.theformReg;
        var login = f.username.value; 
        var password = f.password.value;

        try{ 
                          
    	                  var url = "/system/modules/com.gdfitalia/elements/app_areariservata/login.jsp";
                                     
                 	  var xmlhttp = FactoryXMLHttpRequest();
                         
                          if(xmlhttp)
                          {
                                  xmlhttp.open( "POST", url );
                   
                                  xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');

                                  xmlhttp.onreadystatechange = function()
                                  {
                                         if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
                                         {                                                
                   	                          
                                                var risp =xmlhttp.responseText;                                                   

                                                if(-11 == risp)
                                                {
                                                    //document.location.href="https://www.italcogimenergie.it/system/modules/com.gdfitalia/elements/app_areariservata/azione.jsp";
                                                    f.action="/system/modules/com.gdfitalia/elements/app_areariservata/azione.jsp";
                                                    f.onsubmit = null; 
                                                    f.submit();

                                                    return true;  
                                                }else{ alert("Attenzione! Username  e/o password errati");}
                                                
                                         }
                                  }
                                  
                                  xmlhttp.send("LOGIN="+encodeURIComponent(login)+"&PASSWORD="+encodeURIComponent(password));
                         } 
       
              }catch(E){alert(E);}
      return false;
 }

/***************************************************************************************
*   VALIDA I CAMPI DELLE FORM DI VALIDAZIONE PASSWORD
****************************************************************************************/

function validatePass(passo)
{

    if(Trim(document.theformNewPass.codAzienda.value)=="" || Trim(document.theformNewPass.codComune.value)=="" || Trim(document.theformNewPass.codFornitura.value)=="")
    { 
        alert("Si prega di compilare i tre campi del Numero Fornitura");
        return false;
    }

    if(Trim(document.theformNewPass.EMAIL.value)=="" || !indirizzoEmailValido(document.theformNewPass.EMAIL.value))
    { 
        	alert("Si prega di valorizzare correttamente il campo email");
                return false;
    }

    if(document.getElementById('radio1').checked)
    {
        if(!ControllaCF(Trim(document.theformNewPass.CODFIS.value)))
        {
                alert("Si prega di valorizzare correttamente il campo Codice Fiscale");
                return false;
        }
    } 

    return true;
}

//CAMBIA IL NOME DELLA FORM

function switchRC2(){
    if(document.theformNewPass.codAzienda.value.length>2){
        document.theformNewPass.codComune.focus();
    }

}
function switchRC3(){
    if(document.theformNewPass.codComune.value.length>2){
        document.theformNewPass.codFornitura.focus();
    }

}


 function newpassword()
 {
        var f = document.theformNewPass;
        var PASSWORD = escape(f.PASSWORD.value);
        var REPASSWORD =  escape(f.REPASSWORD.value);

        if(PASSWORD.length <10)
        {

             alert("Attenzione! Inserire una password di almeno 10 caratteri");
             return;
        }
        else if(PASSWORD!=REPASSWORD)
        { 
             alert("Attenzione! Digitare correttamente la password di conferma");
             return;
        } 

        f.submit();
        return true;
 }


/***************************************************************************************
*   check Email sul database
*
* Const.NO_MATCH_CLIENTE_NUMERO_FORNITURA -10
* CODICE_FISCALE_NOK     -21
* Const.OK_EMAIL <<<<<   -19
* Const.NOK_EMAIL         -20  
* Const.CLIENTE_NON_ABILITATO -18
* ERRORE_CONNESIONE_SERVER -13
*
****************************************************************************************/

 function doEmail()
 {
      
        var f = document.theformNewPass;


        var TIPOLOGIA= "";

        if( document.getElementById("radio1").checked)
        {
          TIPOLOGIA='RESIDENZIALE';
        }
        else
        {
          TIPOLOGIA='PIVA';
        } 

        var DACLIE =  escape(f.codAzienda.value + f.codComune.value+ f.codFornitura.value);
        var DANOME = escape(f.DANOME.value);
        var DACNOM = escape(f.DACNOM.value);
        var EMAIL = escape(f.EMAIL.value);
        var CODFIS = escape(f.CODFIS.value);


        var richiesta = "";
        if(f.richiesta[0].checked) richiesta="Username";
        else if(f.richiesta[1].checked) richiesta="Password";
        else richiesta="UsernamePassword";

        var passo = f.passo.value;
        
        var PIVA = escape(f.PIVA.value);
        var RAGISOCI = escape(f.RAGISOCI.value);


        if(validatePass(passo)){ 

            try{                             
    	                  var url = "/system/modules/com.gdfitalia/elements/app_areariservata/checkEmailClienteRegistrato.jsp";
                                     
                 	  var xmlhttp = FactoryXMLHttpRequest();
                         
                          if(xmlhttp)
                          {
                                  xmlhttp.open("POST", url);
                   
                                  xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');

                                  xmlhttp.onreadystatechange = function()
                                  {
                                         if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
                                         {                                                
                   	                          
                                                var risp =xmlhttp.responseText;                                                   
                                                if(-19 == risp)  
                                                {
                                                    f.action="/system/modules/com.gdfitalia/elements/app_areariservata/azionenuovapassword.jsp";
                                                    f.onsubmit = null; 
                                                    f.submit();

                                                    return true;  
                                                
                                                }
                                                else if (-10 == risp)
                                                {
                                                      alert("Attenzione! Controllare i dati forniti nella procedura di riconoscimento cliente");
                                                }
                                                else if(-38 == risp)
                                                {
                                                      alert("Attenzione! La Partita Iva non coincide con quella fornita durante la prima registrazione");
                                                }
                                                else if(-21 == risp)
                                                {
                                                      alert("Attenzione! Il Codice Fiscale non coincide con quello fornito durante la prima registrazione");
                                                }
                                                else if(-20 == risp)
                                                {
                                                      alert("Attenzione! L’indirizzo email non coincide con quello fornito durante la prima registrazione");
                                                }
                                                else if(-13 == risp)
                                                {
                                                      alert("Attenzione! Errore di connessione al server. Riprovare più tardi");
                                                }                                  
                                                else if(-1 == risp)
                                                {
                                                      alert("Attenzione! Errore di connessione al server. Riprovare più tardi");
                                                }
                                                else if(-18 == risp)
                                                {
                                                      alert("Attenzione! Cliente non ancora abilitato");
                                                }                                                
                                         }
                                  }
                                  
                                  xmlhttp.send("DACLIE="+DACLIE+"&DANOME="+encodeURIComponent(DANOME)+"&DACNOM="+encodeURIComponent(DACNOM)+"&EMAIL="+encodeURIComponent(EMAIL)+"&CODFIS="+encodeURIComponent(CODFIS)+"&passo="+passo+"&PIVA="+encodeURIComponent(PIVA)+"&RAGISOCI="+encodeURIComponent(RAGISOCI)+"&TIPOLOGIA="+encodeURIComponent(TIPOLOGIA)+"&richiesta="+encodeURIComponent(richiesta));
                         } 
       
              }catch(E){alert(E);}
      }
      return false;
 }




/***************************************************************************************
* check Parametri cliente in registrazione
* Const.MATCH_CLIENTE_NUMERO_FORNITURA -11
* Const.NO_MATCH_CLIENTE_NUMERO_FORNITURA; -10
* ERRORE_CONNESIONE_SERVER -13
*
****************************************************************************************/

 function doCheckCliente()
 {
      
        var f = document.theformReg_;

        var DACLIE = escape(f.codAzienda.value + f.codComune.value+ f.codFornitura.value);
        var DANOME = escape(f.DANOME.value);
        var DACNOM = escape(f.DACNOM.value);
        var CODFIS = escape(f.CODFIS.value);

        var PIVA= escape(f.PIVA.value);
        var RAGISOCI= escape(f.RAGISOCI.value);



        var TIPOLOGIA= "";

        if( document.getElementById("radio1").checked)
        {
          TIPOLOGIA='RESIDENZIALE';
        }
        else
        {
          TIPOLOGIA='PIVA';
        } 


        var passo = f.passo.value;

        if(Trim(f.codAzienda.value)=="" || Trim(f.codComune.value)=="" || Trim(f.codFornitura.value)=="")
        { 
           alert("Si prega di compilare i tre campi del Numero Fornitura");
           return false;
        }


       if(document.getElementById('radio1').checked)
       {

          if(!ControllaCF(Trim(f.CODFIS.value)))
          {
                alert("Si prega di valorizzare correttamente il campo Codice Fiscale");
                return false;
          }
       }

    
        try{                             
    	                  var url = "/system/modules/com.gdfitalia/elements/app_areariservata/checkClienteAreaRiservata.jsp";
                                     
                 	  var xmlhttp = FactoryXMLHttpRequest();
                         
                          if(xmlhttp)
                          {
                                  xmlhttp.open("POST", url);
                   
                                  xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');

                                  xmlhttp.onreadystatechange = function()
                                  {
                                         if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
                                         {                                                
                   	                          
                                                var risp =xmlhttp.responseText;                                                   
                                                if(-10 == risp)  
                                                {
                                                    f.action="/system/modules/com.gdfitalia/elements/app_areariservata/azioneregistra.jsp";
                                                    f.onsubmit = null; 
                                                    f.submit();

                                                    return true;  
                                                
                                                }
                                                else if (-11 == risp)
                                                {
                                                      alert("Attenzione! Cliente già registrato");
                                                }
                                                else if (-12 == risp)
                                                {
                                                      alert("Attenzione! Codice Cliente non valido");
                                                }
                                                else if(-1 == risp)
                                                {
                                                      alert("Attenzione! Errore di connessione al server. Riprovare più tardi");
                                                }
                                         }
                                  }
                                  
                                  xmlhttp.send("DACLIE="+DACLIE+"&DANOME="+encodeURIComponent(DANOME)+"&DACNOM="+encodeURIComponent(DACNOM)+"&CODFIS="+encodeURIComponent(CODFIS)+"&passo="+passo+"&RAGISOCI="+encodeURIComponent(RAGISOCI)+"&PIVA="+encodeURIComponent(PIVA)+"&TIPOLOGIA="+encodeURIComponent(TIPOLOGIA));
                         } 
       
              }catch(E){alert(E);}
      
      return false;
 }

/***************************************************************************************
*  DO LOGOUT UTENTE AREA RISERVATA
****************************************************************************************/


 function doLogOut2()
 {
    var f = document.theformReg;
    f.submit();

 }

 function doLogOut()
 {
      
        var f = document.theformReg;
        try{ 
                          
    	                  var url = "/system/modules/com.gdfitalia/elements/app_areariservata/logout.jsp";
                                     

                 	  var xmlhttp = FactoryXMLHttpRequest();
                         
                          if(xmlhttp)
                          {
                                  xmlhttp.open("POST", url);
                   
                                  xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');

                                  xmlhttp.onreadystatechange = function()
                                  {
                                         if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
                                         {                                                                   	                          
                                                    var risp =xmlhttp.responseText;                                                   

                                                    f.action="/system/modules/com.gdfitalia/elements/app_areariservata/azione.jsp";
                                                    //f.onsubmit = null; 
                                                    f.submit();

                                                    return true;                                                                                                
                                         }
                                  }
                                  
                                  xmlhttp.send("");
                         } 
       
              }catch(E){alert(E);}
      return false;
 }

/***************************************************************************************
*  VISUALIZZA IL DETTAGLIO DELLA RIGA SELEZIONATA
****************************************************************************************/

 function  vediDettaglio(row)
 {


         //CI SONO AL MAX 3 RIGHE PER ID 
         var currentRow1 = document.getElementById(row+"_1");
         var currentRow2 = document.getElementById(row+"_2");
         var currentRow3 = document.getElementById(row+"_3");

         if (currentRow1.className == 'hide') currentRow1.className = 'show';
         else currentRow1.className = 'hide';


         if (currentRow2.className == 'hide') currentRow2.className = 'show';
         else currentRow2.className = 'hide';


         if (currentRow3.className == 'hide') currentRow3.className = 'show';
         else currentRow3.className = 'hide';


 }


 function  vediDettaglioTable(tableid)
 {

         var table = document.getElementById(tableid); 

         if (table .className == 'hide') table .className = 'show';
         else table .className = 'hide';

 }


function deselect(param)
{
   document.getElementById(param).checked=false;
}

/**************************************************************************************
*           display
**************************************************************************************/

function display(param)
{
 if(param=='RESIDENZIALE')
 {
      document.getElementById("COGNOME_TR").className="show";
      document.getElementById("NOME_TR").className="show";
      document.getElementById("RAGISOCI_TR").className="hide";
      document.getElementById("CODFIS_TR").className="show";
      document.getElementById("PIVA_TR").className="hide";

 }
 else if(param=='PIVA')
 {

      document.getElementById("COGNOME_TR").className="hide";
      document.getElementById("NOME_TR").className="hide";
      document.getElementById("CODFIS_TR").className="hide";
      document.getElementById("RAGISOCI_TR").className="show";
      document.getElementById("PIVA_TR").className="show";

 }
}
