// CONTROLLO FORM DI prenotazione
// (C) Matteo Gattei 12/2001
function controllaData(stringa)
  {
   // modello: gg/mmm/aaaa
    var mesi=Array('gen','feb','mar','apr','mag','giu','lug','ago','set','ott','nov','dic');
	var separatore='/';
    ok_l=false;
    ok_g=false;
    ok_m=false;
    ok_a=false;
    // controllo lunghezza totale
     if (stringa.length==11) { ok_l=true; }
    // controllo giorno
    var gg=parseInt(stringa.slice(0,2));
    if (gg>0 && gg<=31) { ok_g=true; }
    // controllo mese
    var mmm=stringa.slice(3,6);
    for (m=0;m<12;m++)
      {
	    if (mmm.toLowerCase()==mesi[m]) { ok_m=true; }
	  }
    // controllo anno
    var aaaa=stringa.slice(7,11);
    var pattern=/[0-9]{4}/;
    if (aaaa.match(pattern) != -1) 
      { 
	    if (parseInt(aaaa)>2006 && parseInt(aaaa)<2013) { ok_a=true; }
	  } 
    var slash=stringa.search(separatore); // controllo separatore 
    // controllo finale
    if (ok_l && ok_g && ok_m && ok_a && slash==2) { return true; }
    else  { return false; }
  }

function InizialeMaiuscola(stringa)
  {
	stringa=stringa.toLowerCase();
	var l=stringa.length;
	var car="";
	var maiuscolo=true;
	var risultato="";
	for (var i=0;i<l+1;i++)
		{
		car=stringa.charAt(i);	
		if (maiuscolo)
			{
			car=car.toUpperCase();
			maiuscolo=false;
			}
		if (car==" " || car=="'") maiuscolo=true;
		risultato+=car;
		}
	stringa=risultato;			
	return stringa;
  }

function check_prenotazione(nome,cognome,email,data_arrivo,data_partenza,persone,camera,servizio)
  {
   if (!document.prenotazione.privacy.checked)
	{
		window.alert ("Per effettuare la richiesta di prenotazione e' necessario acconsentire al trattamento dei dati personali");
		return false;
	}

	// Controllo Nome
	var nome=document.prenotazione.nome.value;
	document.prenotazione.nome.value=InizialeMaiuscola(nome)
	if (nome=="")
	  {
		window.alert ("Il campo NOME deve essere compilato !");
		return false;
	  }
	if (nome.length<2 || nome.length>30)
	  {
		window.alert ("Il campo NOME deve essere di min. 2 e max. 30 caratteri !");
		return false;
	  }
	
	// Controllo Cognome
	var cognome=document.prenotazione.cognome.value;
	document.prenotazione.cognome.value=InizialeMaiuscola(cognome);
	if (cognome=="")
	  {
		window.alert ("Il campo COGNOME deve essere compilato !");
		return false;
	  }
	if (cognome.length<2 || cognome.length>30)
	  {
		window.alert ("Il campo COGNOME deve essere di min. 2 e max. 30 caratteri !");
		return false;
	  }
	
	// Controllo Email	 
	var email=document.prenotazione.email.value;
	var flag_at,flag_dot;
	if (email=="")
	  {
		window.alert ("Il campo E-MAIL deve essere compilato !");
		return false;
	  }
	if (email.length<7 || email.length>50)
	  {
		window.alert ("Il campo E-MAIL non &egrave; valido !");
		return false;
	  }
	flag_at=false;
	flag_dot=false;
	for (var j=0;j<51;j++)
	  {
		if (email.charAt(j)=="@")
		  {
			flag_at=true;
		  }
		if (email.charAt(j)==".")
		  {
			flag_dot=true;
		  }
	  }
	if (flag_at==false || flag_dot==false)
	  {
		window.alert ("Il campo E-MAIL deve contenere i caratteri @ e .");
		return false;
	  }
	document.prenotazione.email.value=email.toLowerCase();
	
	// Controllo data di arrivo
	/*
	var input_dataarrivo=document.prenotazione.input_dataarrivo.value;
	if (!controllaData(input_dataarrivo)) { alert("DATA DI ARRIVO non corretta, la data deve essere nel formato gg/mmm/aaaa (Es.: 01/Gen/2009)."); return false; }
	*/
	var gg_arrivo=document.prenotazione.gg_arrivo.value;
	var mm_arrivo=document.prenotazione.mm_arrivo.value;
	var aaaa_arrivo=document.prenotazione.aaaa_arrivo.value;
	if (gg_arrivo=='-' || mm_arrivo=='-' || aaaa_arrivo=='-')
	  {
		window.alert('Indicare la data di arrivo');
		return false;
	  }
	
	// Controllo data di partenza
	/*
	var input_datapartenza=document.prenotazione.input_datapartenza.value;
	if (!controllaData(input_datapartenza)) { alert("DATA DI PARTENZA non corretta, la data deve essere nel formato gg/mmm/aaaa (Es.: 01/Gen/2009)."); return false; }
	*/
	var gg_partenza=document.prenotazione.gg_partenza.value;
	var mm_partenza=document.prenotazione.mm_partenza.value;
	var aaaa_partenza=document.prenotazione.aaaa_partenza.value;
	if (gg_partenza=='-' || mm_partenza=='-' || aaaa_partenza=='-')
	  {
		window.alert('Indicare la data di partenza');
		return false;
	  }
	
	// Controllo numero di persone
	var persone=document.prenotazione.persone.value;
	if (persone=="")
	  {
		window.alert ("Il campo NUMERO DI PERSONE deve essere compilato !");
		return false;
	  }
	if (isNaN(parseInt(persone)) || parseInt(persone)==0 )
	  {
		window.alert ("Il campo NUMERO DI PERSONE deve essere numerico !");
		return false; 
	  }
	
	// Controllo del tipo di letto
	var letto=document.prenotazione.letto.value;
	if (letto=='-')
	  {
		window.alert('Selezionare il tipo di letto desiderato: MATRIMONIALE, 2 LETTI SINGOLI');
		return false;
	  }

	// Controllo tipo di servizio
	var servizio=document.prenotazione.servizio.value;
	if (servizio=='-')
	  {
		window.alert('Selezionare il tipo di servizio desiderato: HOTEL, MOTEL');
		return false;
	  }
	
	// Controllo tipo di camera
	var camera=document.prenotazione.camera.value;
	if (camera=='-')
	  {
		window.alert('Selezionare la tipologia di camera desiderata: STANDARD, SUPERIOR, SUITE CON IDROMASSAGGIO, SUITE CON BOX DOCCIA E BAGNO TURCO');
		return false;
	  }

	// fine dei controlli
	return true;
  }