/*************************************************************************************************************
 * controlla_form(thisform)                                                                                  *
 *************************************************************************************************************
 * Autore: Passaglia Massimiliano                                                                            *
 * Data creazione: 31/08/2004                                                                                *
 * Questa funzione controlla che i campi considerati obbligatori siano realmente inseriti.                   *
 * E' necessario definire un campo hidden dove inserire tutti i campi da controllare separati da uno spazio. *
 * L'unico parametro da passare è il riferimento al form da controllare.                                     *
 * La funzione dovrà essere chiamata al momento della submit, di seguito un esempio.                         *
 *                                                                                                           *
 *********************************************Esempio*********************************************************
 *                                                                                                           *
 * <form onSubmit="return controlla_form(this);" name="form1" method="post" action="form.php">               *
 * <input type="hidden" name="require" value="nome cognome mail username">                                   *
 *                                                                                                           *
 *************************************************************************************************************/
function controlla_form(thisform){

  var req = new Array();
  
  with (thisform){
    req = require.value.split(" ");

    for (i=0;i<=elements.length-1;i++) {
    
      if (elements[i].value == "") { //if uno
        for (j=0; j<=req.length-1; j++){
          var nome_req = req[j];
          if (elements[i].name == nome_req){ //if due
            alert('Il campo "'+elements[i].name+'" non puo\' essere nullo');
            elements[i].focus();
            elements[i].select();
            return false;
          }//fine if due
        }//fine for campi obbligatori
      }//fine if uno
    }//fine for elementi form
  }//fine with

  return true;
}

/*************************************************************************************************************
 * valida_mail(campo, alertmsg)                                                                              *
 *************************************************************************************************************
 * Autore: Passaglia Massimiliano                                                                            *
 * Data creazione: 31/08/2004                                                                                *
 * Questa funzione controlla il valore inseito, l'idirizzo viene validato se:                                *
 * contiene il carattere "@"                                                                                 *
 * contiene un punto "."                                                                                     *
 * il numero di caratteri dopo il punto deve essere maggiore di uno e minore di 4                            *
 *                                                                                                           *
 *********************************************Esempio*********************************************************
 * Da inserire ne campo da validare                                                                          *
 * onBlur="valida_mail(this, 'Attenzione! La mail inserita non è valida.');"                                 *
 *                                                                                                           *
 *************************************************************************************************************/
function valida_mail(campo, alertmsg){
  
  //alert(campo.value);
  
  var espressione;
  espressione= /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
  
  if (campo.value != ""){
    if (espressione.test(campo.value) == false){
      alert(alertmsg);
      campo.focus();
      campo.select();
      return false;
    }else{
      return true;
    }
  }
  
  // di default ritorna false
  return false;
  
}

/*
function valida_mail_old(campo, alertmsg){

  with (campo){
    apos=value.indexOf("@"); 
    dotpos=value.lastIndexOf(".");
    lastpos=value.length-1;
    
    if (value!=null || value!=""){
      if (apos<1 || dotpos-apos<2 || lastpos-dotpos>3 || lastpos-dotpos<2){
      	
        if (alertmsg){
          alert(alertmsg);
          focus();
          select();
        }//fine if interno
        return false;
      }else{
        return true;
      }//fine if controllo
    }//fine if valore nullo
    
  }//fine with
}
*/

/*************************************************************************************************************
 * valida_data(campo, alertmsg)                                                                              *
 *************************************************************************************************************
 * Autore: Passaglia Massimiliano                                                                            *
 * Data creazione: 13/08/2005                                                                                *
 * Questa funzione controlla il formato della data per mysql, non prende in considerazione i valori          *
 * Esempio1: 2005-01-01 => data valida                                                                       *
 * Esempio2: 9999-99-99 => data valida                                                                       *
 *                                                                                                           *
 *********************************************Esempio*********************************************************
 * Da inserire nel campo da validare                                                                         *
 * onBlur="valida_data(this, 'Attenzione! La data inserita non è valida.');"                                 *
 *                                                                                                           *
 *************************************************************************************************************/
function valida_data(campo, alertmsg){
  var espressione;
  espressione = /(\d{4})[-](\d{2})[-](\d{2})/; // 2005-01-01
  with (campo){
    if (value != ""){
      if (espressione.test(value) == false){
        if (alertmsg){
          alert(alertmsg);
          focus();
          select();
        }//fine if interno
      }// fine if controllo espressione
    }//fine if controllo campo vuoto/pieno 
  }//fine with
}

/*************************************************************************************************************
 * valida_num_caratteri(campo, min, max)                                                                     *
 *************************************************************************************************************
 * Autore: Passaglia Massimiliano                                                                            *
 * Data creazione: 31/08/2004                                                                                *
 * Questa funzione controlla se il numero di caratteri inserito rientra nel range di valori                  *
 * passati come parametro (min, max)                                                                         *
 *                                                                                                           *
 *********************************************Esempio*********************************************************
 * Da inserire ne campo da validare                                                                          *
 * onBlur="valida_num_caratteri(this, min, max);"                                                            *
 *                                                                                                           *
 *************************************************************************************************************/
function valida_num_caratteri(campo, min, max){ //, datatype da aggiungere se vogliamo il controllo del case

  alertmsg = "Attenzione! La lunghezza della password deve rientrare nell'intervallo che va tra "+min+" e "+max;

  with (campo){
    if (value!=""){
      if ((value.length < min) || (value.length > max)){
        if (alertmsg!=""){
          alert(alertmsg);
          //focus();
          //select();
        }
        return false;
      }else{
        return true;
      }
    }//fine if valore nullo
  }//fine with

  // di default ritorna false
  return false;

}




function valida_pw(campo){
  v_pw = document.forms[0].password1.value;
  alertmsg = "Attenzione! Le due password inserite non corrispondono.";
  with(campo){
    if (value != v_pw){
      if (alertmsg!=""){
        alert(alertmsg);
      }
    }
  }
}
