// Elimina gli spazi a dx e sx nelle variabili
function Strip(string) {
   var s_str = string.length
   for (var i=0; i<string.length; i++) {
      if (" " != string.substring(i,i+1)) {
         s_str = i;
         break;
      }
   }
   if (s_str == string.length) {
      return "";
   }
   for (i=string.length-1; i>=0; i--) {
      if (" " != string.substring(i,i+1)) {
         var s_end = i;
         break;
      }
   }
   return string.substring(s_str,s_end+1);
}


// Fa una pausa di x secondi e poi si redirige a index.asp
function pausa(secondi) {
   var tempoattesa = setTimeout("location.href='../index.html'", secondi*1000)
}

// Funzione che rimanda all' URL specificato
function go(sel) {
	s_valore=sel.value
	//if (s_valore != "" && (s_valore.substring(0,4) == "form" || s_valore.substring(0,6) == "elenco")) { }
	document.location.href=sel[sel.selectedIndex].value
}


// Funzione che apre una nuova finestra personalizzata
function popup(nomefile, larghezza, altezza, x, y, scrolling) {
   win_popup = window.open(nomefile,"popup","toolbar=0,location=0,directories=0,status=0,menubar=1,scrollbars=" + scrolling + ",resizable=0,copyhistory=0,width=" + larghezza + ",height=" + altezza); 
   if(x && y); {
     x = parseInt(x);
     y = parseInt(y);
     win_popup.moveTo(x, y);
  }
}


// Funzione che effettua tutti i controlli inerenti un campo FLOAT
function controlli_float(campo, s_msg) {

   var controllo="-,.0123456789"
   var verifica=0
   var punti_virgole=0
   for (var h=0 ; h<campo.length; h++) {
       variante = campo.substring(h,h+1) 
       for (var u=0 ; u<controllo.length; u++) {
           if (variante != controllo.substring(u,u+1))
              { verifica=1 }
           else
              { 
              if (variante == "." || variante == ",") { punti_virgole=punti_virgole+1; }
			  verifica=0; break
			  }
       }
       if (verifica == 1 || punti_virgole>1) { 
	   alert("Controllare il contenuto del campo " + s_msg)
	   return 1
	    }
   }
return 0
}

// Funzione che effettua tutti i controlli inerenti un campo NUMERICO
function controlli_numerico(campo, s_msg) {

   var controllo="-0123456789"
   var verifica=0
   var punti_virgole=0
   for (var h=0 ; h<campo.length; h++) {
       variante = campo.substring(h,h+1) 
       for (var u=0 ; u<controllo.length; u++) {
           if (variante != controllo.substring(u,u+1))
              { verifica=1 }
           else
              { 
              if (variante == "." || variante == ",") { punti_virgole=punti_virgole+1; }
			  verifica=0; break
			  }
       }
       if (verifica == 1 || punti_virgole>1) { 
	   alert("Controllare il contenuto del campo " + s_msg)
	   return 1
	    }
   }
return 0
}

// Funzione che effettua tutti i controlli su un campo DATA
function controlli_data(d_data) {

err_dal = new Array(18)
err_dal[1]  = "Errore nella DATA: Gennaio ha al massimo 31 giorni  ";
err_dal[2]  = "Errore nella DATA: Febbraio ha al massimo 29 giorni (Anno bisestile)";
err_dal[3]  = "Errore nella DATA: Febbraio ha al massimo 28 giorni (Anno non bisestile)";
err_dal[4]  = "Errore nella DATA: Marzo ha al massimo 31 giorni    ";
err_dal[5]  = "Errore nella DATA: Aprile ha al massimo 30 giorni   ";
err_dal[6]  = "Errore nella DATA: Maggio ha al massimo 31 giorni   ";
err_dal[7]  = "Errore nella DATA: Giugno ha al massimo 30 giorni   ";
err_dal[8]  = "Errore nella DATA: Luglio ha al massimo 31 giorni   ";
err_dal[9]  = "Errore nella DATA: Agosto ha al massimo 31 giorni   ";
err_dal[10] = "Errore nella DATA: Settembre ha al massimo 30 giorni";
err_dal[11] = "Errore nella DATA: Ottobre ha al massimo 31 giorni  ";
err_dal[12] = "Errore nella DATA: Novembre ha al massimo 30 giorni ";
err_dal[13] = "Errore nella DATA: Dicembre ha al massimo 31 giorni ";
err_dal[14] = "Errore nella DATA: Mese errato                      ";
err_dal[15] = "Errore nella DATA: Giorno errato                    ";
err_dal[16] = "Errore nella DATA: Anno errato                      ";
err_dal[17] = "Errore nella DATA: per correggere vedi le indicazioni sul formato (gg-mm-aaaa)";
err_dal[18] = "Inserire la DATA";

giorno_dal             = d_data.substring(0,2)
mese_dal               = d_data.substring(3,5)
anno_dal               = d_data.substring(6,10)
ultimeduecifreanno_dal = d_data.substring(8,10)

if ( d_data.length == 0) { alert(err_dal[18]); return 1 }
contatore = 0
for (i=0; i<d_data.length; i++) {
    if (d_data.charAt(i) == "-") { contatore++ }
}
if ( contatore != 2 )     { alert(err_dal[17]); return 1 }
if (d_data.length != 10) { alert(err_dal[17]); return 1 }
if ( giorno_dal == "00" )                        { alert(err_dal[15]); return 1 }
if (parseInt(mese_dal) > 12 || mese_dal == "00") { alert(err_dal[14]); return 1 }
if (parseInt(anno_dal) < 1000)                   { alert(err_dal[16]); return 1 }
if ( mese_dal == "01" && parseInt(giorno_dal) > 31) { alert(err_dal[1]); return 1 }
if ( mese_dal == "02" && parseInt(giorno_dal) > 29 && ultimeduecifreanno_dal == "00" && parseInt(anno_dal)%400 == 0 ) { alert(err_dal[2]); return 1 }
if ( mese_dal == "02" && parseInt(giorno_dal) > 29 && ultimeduecifreanno_dal != "00" && parseInt(anno_dal)%4   == 0 ) { alert(err_dal[2]); return 1 }
if ( mese_dal == "02" && parseInt(giorno_dal) > 28 && ultimeduecifreanno_dal == "00" && parseInt(anno_dal)%400 != 0 ) { alert(err_dal[3]); return 1 }
if ( mese_dal == "02" && parseInt(giorno_dal) > 28 && ultimeduecifreanno_dal != "00" && parseInt(anno_dal)%4   != 0 ) { alert(err_dal[3]); return 1 }
if ( mese_dal == "03" && parseInt(giorno_dal) > 31) { alert(err_dal[4]); return 1  }
if ( mese_dal == "04" && parseInt(giorno_dal) > 30) { alert(err_dal[5]); return 1  }
if ( mese_dal == "05" && parseInt(giorno_dal) > 31) { alert(err_dal[6]); return 1  }
if ( mese_dal == "06" && parseInt(giorno_dal) > 30) { alert(err_dal[7]); return 1  }
if ( mese_dal == "07" && parseInt(giorno_dal) > 31) { alert(err_dal[8]); return 1  }
if ( mese_dal == "08" && parseInt(giorno_dal) > 31) { alert(err_dal[9]); return 1  }
if ( mese_dal == "09" && parseInt(giorno_dal) > 30) { alert(err_dal[10]); return 1 }
if ( mese_dal == "10" && parseInt(giorno_dal) > 31) { alert(err_dal[11]); return 1 }
if ( mese_dal == "11" && parseInt(giorno_dal) > 30) { alert(err_dal[12]); return 1 }
if ( mese_dal == "12" && parseInt(giorno_dal) > 31) { alert(err_dal[13]); return 1 }

return 0;
}

// Funzione che effettua tutti i controlli su un campo ORA
function controlli_ora(n_ore, n_minuti) {

	err_ore=new Array(2)
	err_ore[1]="Le ORE devono essere comprese fra 0-24"
	err_ore[2]="I MINUTI devono essere compresi fra 0-59"
	
	if (n_inizio1.length != 0) { if (parseInt(n_inizio1) > 24) { alert(err_ore[1]); return 1 } }
	if (n_fine1.length != 0)   { if (parseInt(n_fine1) > 24  ) { alert(err_ore[1]); return 1 } }
	if (n_inizio2.length != 0) { if (parseInt(n_inizio2) > 59) { alert(err_ore[2]); return 1 } }
	if (n_fine2.length != 0)   { if (parseInt(n_fine2) > 59  ) { alert(err_ore[2]); return 1 } }
	
	return 0;
}

// Funzione che inizializza il campo passato come parametro della form passata come parametro con la data odierna nel formato gg-mm-aaaa
function fDataOdierna (n_numero_form, n_numero_campo){
	d_data_oggi  =new Date()
	n_giorno_oggi=d_data_oggi.getDate()
	n_mese_oggi  =d_data_oggi.getMonth()+1
	n_anno_oggi  =d_data_oggi.getFullYear()
	if (n_giorno_oggi < 10) {n_giorno_oggi='0'+n_giorno_oggi}
	if (n_mese_oggi < 10) {n_mese_oggi='0'+n_mese_oggi}
	document.forms[n_numero_form].elements[n_numero_campo].value=n_giorno_oggi+'-'+n_mese_oggi+'-'+n_anno_oggi
	return true
}

// Funzione che inizializza il campo passato come parametro della form passata come parametro con la data odierna nel formato gg-mm-aaaa
function fOraOdierna (n_numero_form, n_numero_ora, n_numero_minuti){
	d_data_oggi  =new Date()
	n_ora_oggi   =d_data_oggi.getHours()
	n_minuti_oggi=d_data_oggi.getMinutes()
	if (n_ora_oggi < 10) {n_ora_oggi='0'+n_ora_oggi}
	if (n_minuti_oggi < 10) {n_minuti_oggi='0'+n_minuti_oggi}
	document.forms[n_numero_form].elements[n_numero_ora].value=n_ora_oggi
	document.forms[n_numero_form].elements[n_numero_minuti].value=n_minuti_oggi
	return true
}

// Funzione che disabilita il pulsante passato come parametro per evitare che l'utente clicchi ripetutamente
function fDisabilitaPulsante(NumeroForm, NumeroCampo, Messaggio) {
	document.forms[NumeroForm].elements[NumeroCampo].disabled=true
	document.forms[NumeroForm].elements[NumeroCampo].value=Messaggio
}