// #############################################################################
//                         Scrip per controllo campi in un form
//##############################################################################
//PrintMessage(stato, text, id) -> stampa una x rossa se 'stato' = 'false' e un visto verde se stato = 'true' seguiti dalla scritta text
//confronta(field,field1,id) -> confronta due campi
//checkEmailAddress(field,id,obb) controlla la sintassi di un indirizzo e-mail
//checkPassword(immesso,criptato,id) confronta una password immessa con una già criptata
//checkPasswordLengh(field,id, car) controlla che il contenuto del campo sia almeno di 'car' caratteri
//MyNotNULL(field,id) controlla che il campo non sia vuoto
//MyNotNum(field,id) controlla che il campo contenga solo numeri


// Funzione che stampa il risultato del controllo
//******************************************************************************
function PrintMessage(stato, text, id){

   var imgobj=document.getElementById(id)
   var img=''

   if(stato == true){
            img='./imm/visto.gif'
            }
   else{
            img='./imm/errore.gif'
            }

   imgobj.innerHTML='&nbsp;&nbsp;<img src="'+img+'" class="icon_tn">&nbsp;<font color="#FF0000">'+text+'</font>'

}



// Funzione che controlla l'indirizzo e-mail (obb = 1 email obbligatorio, obb = 0 solo controllo sintassi)
//********************************************************************************************************
function checkEmailAddress(field,id,obb) {
  var test = field.value
  var goodEmail = field.value.match(/\b(^(\S+@).+((\.com)|(\.net)|(\.edu)|(\.mil)|(\.gov)|(\.org)|(\..{2,2}))$)\b/gi);

  if(obb==1){
       if (goodEmail) {
          PrintMessage(true,'',id)
          return 0
          }
       else {
           PrintMessage(false,' Formato E-mail non riconosciuto',id)
           field.focus()
           field.select()
           return 1
           }
       }
   else{
        if (goodEmail || test=='') {
          PrintMessage(true,'',id)
          return 0
          }
       else {
           PrintMessage(false,' Formato E-mail non riconosciuto o non vuoto',id)
           field.focus()
           field.select()
           return 1
           }
       }
}


// Funzione che confronta un dato immesso con uno criptato MD5
//******************************************************************************

function checkPassword(immesso,criptato,id){
         var test1=immesso.value;
         var test2=criptato.value;
         var test3 = ''
         test3= hex_md5(test1)

         if (test3==test2) {
            PrintMessage(true,'',id)
            return 0
            }
         else{
            PrintMessage(false,'La password immessa è sbagliata',id)
            return 1
        }
}

// Funzione che controlla che la lunghezza minima sia di x caratteri
//******************************************************************************
function checkPasswordLengh(field,id,car){
         var test=field.value;

         if (test.length <car) {
            PrintMessage(false,'Troppo corto, deve avere minimo '+car+' caratteri',id)
            return 1
            }
         else{
            PrintMessage(true,'',id)
            return 0
        }
}

// Funzione che controlla che il campo non sia vuoto o contenga ' '
//******************************************************************************
function  MyNotNULL(field,id){
          var test=field.value;

         if (test.length <1 || test==' ') {
            PrintMessage(false,'Il campo non può essere vuoto',id)
            return 1
            }
         else{
            PrintMessage(true,'',id)
            return 0
        }
}

// Funzione che controlla che il campo sia vuoto o contenga un numero
//******************************************************************************
function MyNotNum(field,id){
         var test=field.value;
         var strNumber = isNaN (test);

         if (strNumber == true) {
            PrintMessage(false,'Il campo deve essere vuoto oppure composto da soli numeri',id)
            return 1
         }
         else{
            PrintMessage(true,'',id)
            return 0
        }
}

// Funzione che confronta 2 campi
//******************************************************************************
function confronta(field1,field2,text,id){
         var test1=field1.value;
         var test2=field2.value;

         if (test1==test2) {
            PrintMessage(true,'',id)
            return 0
            }
         else{
            PrintMessage(false,text,id)
            return 1

        }
}

