// FUNZIONI DI VALIDAZIONE COMUNI	(da richiamare in pagine dove effettuare validazioni su form)

Filtro = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/; //	IMPOSTA REG. EXP. CAMPO EMAIL

//	CANCELLA FRASE NEL CAMPO TESTO QUANDO CLICCO / RISCRIVE FRASE QUANDO ESCO SENZA AVER SCRITTO
//	campo = this; frase=testo che compare nel campo prima di cliccarci sopra (nel value del campo)
function entraCampo(campo, frase) { 
	if (trim(campo.value) == frase) campo.value = "";
} 
function esciCampo(campo, frase) { 
	if (trim(campo.value) == "") campo.value = frase;
}  

function trim(stringa) { //	ELIMINA SPAZI A DX E SX DI UNA STRINGA   
	while (stringa.substring(0,1) == ' ') {        
		stringa = stringa.substring(1, stringa.length);    
		}    
	while (stringa.substring(stringa.length-1, stringa.length) == ' ') {        
		stringa = stringa.substring(0,stringa.length-1);    
		}    
	return stringa;
	}

function strip(stringa) {	//	 ELIMINA TUTTI GLI SPAZI DA UNA STRINGA
	var s_tmp;
	var s_output='';
	var lunghezza=0;
	s_tmp= new String(stringa);
	lunghezza=s_tmp.length;
	for(i=0;i<(lunghezza);i++)
 		if(s_tmp.charAt(i)!=' ') s_output+=s_tmp.charAt(i);
	return(s_output);
}

function campoLett(y, valid) {	//  CONTROLLA VALIDITA' CARATTERI (y=stringa; valid=elenco caratteri validi --> ritorna true se validi)
	for (i=0; i < y.value.length; i++) {
		for (j=0; j < valid.length; j++) {
			if (y.value.charAt(i) == valid.charAt(j)) break;
		}
		if (j == valid.length)  return false;	
	}
	return true;
}

function ISdata(stringa) { 	// FUNZIONE DI VALIDAZIONE DELLA DATA NEL FORMATO GG/MM/AAAA (ritorna true se data ok)
  var data = stringa; 
  if (data.length > 0) { 
    var ok = true; 
    var first = false; 
    var second = false; 
    var g = 0; 
    var m = 0; 
    var giorno; 
    var mese; 
    var anno; 
    for(i=0;i<data.length;i++) { 
      if (data.charAt(i) != '/' && (data.charAt(i) < '0') || (data.charAt(i) > '9')) ok = false; 
    } 
    if (!ok){
      return false;
    }    
	for(i=0;i<data.length;i++) { 
      if (data.charAt(i) == '/' && !first) {; 
        first = true;
        g = i;
      } 
      else if (data.charAt(i) == '/' && first) { 
        second = true;
        m = i;
      } 
    } 
    if (!first || !second) ok = false; 
    if (!ok){
      return false;
    }
    giorno = data.substring(0,g); 
    mese   = data.substring(g+1,m); 
    anno   = data.substring(m+1,data.length); 
    if (anno < 1000) ok = false;     
    if (mese < 1 || mese > 12) ok = false;     
    if (giorno < 1 || giorno > 31) ok = false; 
    if (giorno > 30 && mese == 4) ok = false; 
    if (giorno > 30 && mese == 6) ok = false; 
    if (giorno > 30 && mese == 9) ok = false; 
    if (giorno > 30 && mese == 11) ok = false; 
    if (giorno > 29 && mese == 2) ok = false; 
    if (giorno == 29 && mese == 2) {
      if (anno % 4 == 0) {
        if (anno % 100 == 0) { 
          if (anno % 400 != 0) ok = false; 
        }
      }
      else ok = false;
    } 
    if (!ok){
      return false;
    }
  }
  return true;
}
