
/* Function highlight
	La funzione provvede a cambiare il colore di una riga della tabella
	Parametri:
		row 		--> La riga su cui operare
		new_color 	--> Il nuovo colore assunto dalla riga				*/

function highlight(row, new_color)
{
	if (typeof(row.style) == 'undefined' || typeof(row.cells) == 'undefined')
	{
		return false;
	}

	var num_rows = row.cells.length;
	for (var c = 0; c < num_rows; c++)
	{
		row.cells[c].bgColor = new_color;
	}
	return true;
}

function mostraora() {
	var x=new Date();
	h=x.getHours();
	m=x.getMinutes();
	s=x.getSeconds();
		if(s<=9) s="0"+s;
		if(m<=9) m="0"+m;
		if(h<=9) h="0"+h;
	time=h+":"+m+":"+s;
	document.orologio.tempo.value=time;
	setTimeout("mostraora()",1000);
}


/*
  La funzione effettua il controllo sulla
  form Cliente presente nel preview ordine.
*/
function controllaOrdine(nomeForm){
  
  if(!verificaTesto(nomeForm.nome,'Nome',1))
     return false;
  
  if(!verificaTesto(nomeForm.cognome,'Cognome',1))
     return false;
  
  if(!verificaTesto(nomeForm.via,'Via',1))
     return false;
  
  if(!verificaNumero(nomeForm.cap,'C.a.p.',5))
      return false;
   
   if(nomeForm.cap.value.length < 5){
        alert('Il cap è Errato');
        return false;  
     }
  
  if(!verificaTesto(nomeForm.citta,'Città',1))
     return false; 
  
  if(!verificaTesto(nomeForm.prov,'Provincia',2))
     return false;
  
  if(!verificaTelefono(nomeForm.tel,'numero Telefono','notNull'))
        return false;
  
  if(!verificaMail(nomeForm.mail))
       return false;
  
  
  
  return true;
  
}

/*
Input:
       1) Riferimento al campo
       2) Etichetta del campo (Usata nell'alert)
       3) Lunghezza del campo
       
 Questa funzione effettua i seguenti controlli sul campo in input:
    1) obbligatorietà del campo
    2) Il campo deve essere solo testo
    2) La lunghezza del campo deve essere pari a len
       Se len =1 non effettua il controllo sulla lunghezza


*/    
function verificaTesto(campo,etichetta,len) {
   var temp = 0;
   if(campo.value.length == 0 || campo.value.length < len){
      alert("Inserire  " +etichetta);
      campo.focus();
      return false;
   }
  else{
     temp = parseInt(campo.value);
     if(!isNaN(temp)){
      alert("Formato " +etichetta+" Errato");
      campo.focus();
      campo.select();
      return false;   
     }
  }
  return true;

}

/* 
 Input:
       1) Riferimento al campo
       2) Etichetta del campo (Usata nell'alert)
       3) Lunghezza del campo
       
 Questa funzione effettua i seguenti controlli sul campo in input:
    1) obbligatorietà del campo
    2) Il campo deve essere solo numerico
    2) La lunghezza del campo deve essere pari a len
       Se len =1 non effettua il controllo sulla lunghezza


*/ 
function verificaNumero(campo,etichetta,len) {
   var temp = 0;
   if(campo.value.length == 0 || campo.value.length < len){
      alert("Inserire  " +etichetta);
      campo.focus();
      return false;
   }
  else{
     //temp = parseInt(campo.value);
     if(!checkNumber(campo.value)){
      alert("Formato " +etichetta+" Errato");
      campo.focus();
      campo.select();
      return false;   
     }
  }
  return true;
}

/*


  Questa Funziona verifica se il valore presente in campo.value
  è un numero di telefono:
  Sono accettati solo i numeri della seguente forma:
     081246666
     0824/8888
  La funzione prende in input il parametro obb usato per
  verificare se il campo in esame è obbligatorio.
  obb assume i seguenti alori:
    noNull: Campo Obbligatorio
    Null  : Campo non Obbligatorio 
  Valori ritornati dalla funzione:
     true:  Campo.value è un numero di telefono
     false: Altrimenti
     
*/

function verificaTelefono(campo,etichetta,obb){
   var temp = 0;
   
   // Controllo effettuato solo se campo è obbligatorio 
   if(campo.value.length == 0 && obb == "notNull"){
      alert("Inserire numero di "+etichetta);	
      campo.focus();
      return false;
   }
   
   if(campo.value.length > 0){
      var temp = campo.value.split('/');
      if(temp.length > 2){ // Il numero ha più di uno '/'
         alert("Formato "+etichetta+" errato! (0824/88888)");	
         campo.focus();
         campo.select();
         return false;
      }
      else{
         // temp[0] è il prefisso telefonico
         // temp[1] è il numero 
         var errore = false;
         for(var i=0;i<temp.length;i++){
            if(temp[i].length == 0 || isNaN(parseInt(temp[i])) 
                || campo.value.indexOf("\\",0) > -1){
               errore = true;
               break;
            }
         }
         if(errore){
            alert("Formato "+etichetta+" errato! (0824/88888)");
            campo.focus();
            campo.select();
            return false;
         }
      }
   }
   return true;

}



function verificaMail(campo){
   var mail = campo.value;
   var nocar="\\:;/";
   var len = nocar.length;

   if(mail.length == 0){
      alert("Inserire Indirizzo E-mail");
      campo.focus();
      return false;
   }   
   
   for(var i=0;i<len;i++){
      var carattere = nocar.charAt(i);
      if(mail.indexOf(carattere,0) > -1){
        alert("Indirizzo E-mail Errato: "+carattere);
        campo.focus();
        campo.select();
        return false;
      }   
   }
   var chiocciola=mail.split('@');
   if(chiocciola.length !=2){
      alert("Indirizzo E-mail Errato :@");
      campo.focus();
      campo.select();
      return false;
   }
   else{
      var punto=chiocciola[1].split('.');
      if(punto.length < 2){
         alert("Indirizzo e-mail Errato :.");   
         campo.focus();
         campo.select();
         return false;
      }
   }
   return true;
}

// Controlla che in un campo siano presenti solamente numeri
function checkNumber(number)
{
	// Caratteri validi
	var caratteriValidi="0123456789";

	// Numero non presente
	if (number == "" ) return false;

	// Verifico che ogni carattere di number sia almeno
	// uno dei caratteri validi.
	for ( var i=0; i < number.length; i++ ){
		numberFound = false;
		for ( var j = 0 ; j < caratteriValidi.length; j++ )
		{
			charCompare = caratteriValidi.charAt(j);
			if (number.charAt(i) == charCompare )
			{ // Un numero c'è
				numberFound = true;
				break;
			}
		}

		// Se l'i-esimo carattere non è un numero si può
		// già segnalare l'errore
		if (!(numberFound)) return false;
	}

	return true;
}

