// CONTROLLO FORM DI prenotazione
// (C) Matteo Gattei 12/2001
function controllaData(stringa)
  {
   // modello: gg/mmm/aaaa
    var mesi=Array('jan','feb','mär','apr','mai','giu','jun','jul','sep','okt','nov','dez');
	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 ("Um die Anfrage der Reservierung buchen zu können, brauchen wir die Zustimmung über die Verfügung der persönlichen Daten.");
		return false;
	}

	// Controllo Nome
	var nome=document.prenotazione.nome.value;
	document.prenotazione.nome.value=InizialeMaiuscola(nome)
	if (nome=="")
	  {
		window.alert ("Der NAME ist obligatorisch !");
		return false;
	  }
	if (nome.length<2 || nome.length>30)
	  {
		window.alert ("Der NAME muss aus mindestens 2 bis maximal 30 Buchstaben bestehen !");
		return false;
	  }
	
	// Controllo Cognome
	var cognome=document.prenotazione.cognome.value;
	document.prenotazione.cognome.value=InizialeMaiuscola(cognome);
	if (cognome=="")
	  {
		window.alert ("Der VORNAME ist obligatorisch !");
		return false;
	  }
	if (cognome.length<2 || cognome.length>30)
	  {
		window.alert ("Der VORNAME muss aus mindestens 2 bis maximal 30 Buchstaben bestehen !");
		return false;
	  }
	
	// Controllo Email	 
	var email=document.prenotazione.email.value;
	var flag_at,flag_dot;
	if (email=="")
	  {
		window.alert ("Das E-MAIL ist obligatorisch !");
		return false;
	  }
	if (email.length<7 || email.length>50)
	  {
		window.alert ("Das E-MAIL ist nicht gültig !");
		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 ("Das E-MAIL muss die Buchstaben @ und . beinhalten");
		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("Ankunftsdatum nicht korrekt; das Datum muss im Format tt / mmm / JJJJ (Beispiel: 01/Jan/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('Die ANKUNFTSDATUM muss ausgefüllt sein!');
		return false;
	  }

	// Controllo data di partenza
	/*
	var input_datapartenza=document.prenotazione.input_datapartenza.value;
	if (!controllaData(input_datapartenza)) { alert("Abfahrtsdatum nicht korrekt; das Datum muss im Format tt / mmm / JJJJ (Beispiel: 01/Jan/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('Die ABFAHRTSDATUM muss ausgefüllt sein!');
		return false;
	  }
	
	// Controllo numero di persone
	var persone=document.prenotazione.persone.value;
	if (persone=="")
	  {
		window.alert ("Die PERSONSNUMMER muss ausgefüllt sein!");
		return false;
	  }
	if (isNaN(parseInt(persone)) || parseInt(persone)==0 )
	  {
		window.alert ("Die PERSONSNUMMER muss in Zahlen geschrieben sein !");
		return false; 
	  }

	// Controllo del tipo di letto
	var letto=document.prenotazione.letto.value;
	if (letto=='-')
	  {
		window.alert('Wählen Sie die Art der Betten: Ehebett, 2 Einzelbetten');
		return false;
	  }

	// Controllo tipo di servizio
	var servizio=document.prenotazione.servizio.value;
	if (servizio=='-')
	  {
		window.alert('Auswählen des gewünschten Service: HOTEL, MOTEL');
		return false;
	  }
	
	// Controllo tipo di camera
	var camera=document.prenotazione.camera.value;
	if (camera=='-')
	  {
		window.alert('Auswählen des Zimmertyps: Standard, Superior, Suite - Wanne mit Hydromassage, Suite - Komfortdusche und Hamam Aromatherapie');
		return false;
	  }

	// fine dei controlli
	return true;
  }
