// JavaScript Document
//alert("InserimentoEsercenti.js");
/********************************************************************************************/
function trim(s) {
  while (s.substring(0,1) == ' ') {
    s = s.substring(1,s.length);
  }
  while (s.substring(s.length-1,s.length) == ' ') {
    s = s.substring(0,s.length-1);
  }
  return s;
}

/********************************************************************************************/
function partitaIVA(sz_Codice)
   {
   sz_Codice = trim(sz_Codice); 
	var n_Val,n_Som1=0,n_Som2=0,lcv;
   if (sz_Codice.length!=11 || isNaN(parseFloat(sz_Codice)) || parseFloat(sz_Codice)<parseFloat(0))
      return false;
   
   for (lcv=0;lcv<9;lcv+=2)
   {
      n_Val=parseInt(sz_Codice.charAt(lcv));
      n_Som1+=n_Val;
      n_Val=parseInt(sz_Codice.charAt(lcv+1));
      n_Som1+=Math.floor(n_Val/5) + (n_Val<<1) % 10;
   }
   n_Som2 = 10 - (n_Som1 % 10);
   n_Val=parseInt(sz_Codice.charAt(10));
   if (n_Som2==n_Val)
      return true;
   return false;
   }

/*********************************************************************************************/
function codiceFISCALE(cfins)
   {
   var cf = cfins.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 IsNumeric(sText)
{
   //var ValidChars = "0123456789.";
   var ValidChars = "0123456789";
   var IsNumber=true;
   var Char;

 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
   
   }

/***************************************************************************************/
function isValidEmail(str) {
   return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
 
}

/**************************************************************************************/
function verPassword(f,g)
{
	if(f==g)
		return true;
	else
		return false;
}
/**************************************************************************************/
function verifica(f)
{
	var msg;
	var campi_vuoti="";
	var errori="";
        var controllo_password = false;




    //SI ESEGUE UN CICLO TRA GLI ELEMENTI NELLA FORM PER VEDERE SE
    //SONO STATI RIEMPITI TUTTI I CAMPI RITENUTI OBBLIGATORI
    //INOLTRE VEDE SE UNO DEGLI ELEMENTI HA UNA PROPRIETà MIN O MAX DEFINITA IN
    //TAL CASO DA UN MESSAGGIO DI ERRORE NEL CASO TALI VINCOLI NON SONO
    //STATI RISPETTATI!!!
    for(var i=0 ; i<f.length; i++)
    	{

    	var e = f.elements[i];
    	if( ((e.type == "text") || (e.type =="textarea") ||(e.type =="password")) )
    		{

    		//controllo se il campo è vuoto
		if( ((e.name=="ragione")||(e.name=="codfisc")||(e.name=="piva")||
		(e.name=="indirizzo")||(e.name=="citta")||
		(e.name=="cap")||(e.name=="provincia")||(e.name=="nazione")||(e.name=="email")||
		(e.name=="nomeReferente")||(e.name=="cognomeReferente")||(e.name=="ruoloAziendale")||
		(e.name=="userName")||(e.name=="password")||(e.name=="password2")) )
		{
    			if((e.value == null) || (e.value == "") )
    			{
    			campi_vuoti += "\n      " + e.name;
    			continue;
    			}
                }
    			// controllo campi che dovrebbero essere valori numerici


    		}

   	}
  
    
      msg = "------------------------------------------------------------\n\n";
      msg +="IL MODULO NON E STATO INVIATO A CAUSA DEI SEGUENTI ERRORI.\n";
      msg +="SI PREGA DI CORREGGERE TALI ERRORI E REINVIARLO.\n";
      msg +="-------------------------------------------------------------\n\n";

     /* if(!campi_vuoti && !errori) return true;

      else
      {*/
      if(campi_vuoti){
      	msg += " I SEGUENTI CAMPI OBBLIGATORI RISULTANO VUOTI: \n" + campi_vuoti +"\n";


     msg += errori;
     alert(msg);

     return false;

	}
	else{
	   
	   /*if (!codiceFISCALE(f.codfisc.value)){
			alert("Codice fiscale non valido");
			return false;
	      }*/
	    
	    if (!partitaIVA(f.piva.value)){
			alert("Partita iva non valida");
			return false;
	      }
	     
	    if (!IsNumeric(f.telefono.value)){
			alert("Numero di telefono non valido");
			return false;
	      } 
	       
	    if (!IsNumeric(f.fax.value)){
			alert("Numero di fax non valido");
			return false;
	      }  
	     
	    
	    if(f.ID_livellofatturato.value==0){
	    alert("Inserire un valore per il fatturato aziendale");
	    return false;
	    }
	
	
		if (!isValidEmail(f.email.value)){
			alert("Email non valida");
			return false;
									}
		
		if(!verPassword(f.password.value,f.password2.value))
									{
								    alert("Password errata");
									return false;
									}
		return true;							
	}
}
//************************************************************



