// JavaScript Document

function purge(parola)
{
	//alert("sono entrato nella funzione purge!");
	//alert("valore di parola: "+parola);
	lung=parola.length;
	//alert("valore di lung:"+ lung);
	for(i=0;i<lung; i++) 
	{
		blank=parola.indexOf(" ");
		//alert("valore di blank:"+blank);
		if (blank=="0")
		{
			parola=parola.slice(1);
			//alert("valore di parola:"+parola+" con i ke vale: "+i )
		}
		
	} 
	return parola;
}

function focalizza()
{
	if (navigator.appName.indexOf("Netscape")>=0)
	{
		setTimeout("document.frmPrenota.txtCogno.focus()", 50);
	}
	else
	{
		document.getElementById("txtCogno").focus();
		document.getElementById("txtCogno").select();
	}
}

function ctrl()
{
	with (document.frmPrenota)
	{
		var privacy,err_prv,errlung,errcomp,errore,errdata,msg;
	
		privacy="si";
		errore= false;
		errlung=0;
		errcomp="";
		
		cognom=purge(txtCogno.value);
		if (cognom=="")
		{
			errore=true;
			errlung++;
			errcomp+="Cognome\n";
		}
		
		
		nom=purge(txtNome.value);
		if (nom=="")
		{
			errore=true;
			errlung++;
			errcomp+="Nome\n";
		}
		
		
		if (txtCap.value!="")
		{
			cap_pattern=/[0-9]{5}/
			risul=txtCap.value.search(cap_pattern)
			//alert("valore di risul: "+risul);
			if (risul==-1)
			{
				errore=true;
				errcomp += "Cap\n ";
				errlung ++;
			}
			else
			{
				somm=0;
				caparray=txtCap.value.split("");
				for (i=0; i<caparray.length; i++)
				{
					//alert("valore di caparray["+i+"]: "+caparray[i])
					somm=somm+caparray[i]
				}
				if (somm==0)
				{
					errore=true;
					errcomp += "Cap\n ";
					errlung ++;
				}
			}
		}

		
		citta=purge(txtCitta.value);
		if (citta=="")
		{
			errore=true;
			errlung++;
			errcomp+="Città\n";
		}
		
		if (txtMail.value=="")
		{
			errore=true;
			errlung ++;
			errcomp += "Email\n"
		}
		else
		{
			mail_pattern=/^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})$/
			resulmail= txtMail.value.search(mail_pattern);
			if (resulmail==-1)
			{
				errore=true;
				errlung ++;
				errcomp += "Email\n"
			}	
		}
		
		
		if (txtTel.value!="")
		{
			tel_pattern=/[0-9]{2,4}\/[0-9]{6,8}/
			resultel=txtTel.value.search(tel_pattern);
			if (resultel==-1)
			{
				errore=true;
				errlung ++;
				errcomp += "Telefono (es. 0833/000000)\n"
			}
		}
		
		
		if (txtFax.value!="")
		{
			tel_pattern=/[0-9]{2,4}\/[0-9]{6,8}/
			resultel=txtFax.value.search(tel_pattern);
			if (resultel==-1)
			{
				errore=true;
				errlung ++;
				errcomp += "Fax (es. 0833/000000)\n"
			}
		}
		
		
		if (txtCell.value!="")
		{
			//tel_pattern=/([+]39)?((38[{8,9}|0])|(34[{7-9}|0|3])|(36[3|6|8|0])|(39[{0-3}])|(33[{3-9}|0])|(32[{0,8,9}]))[-/\/]?([\d]{7})/
			tel_pattern=/[0-9]{3,4}\/[0-9]{6,8}/
			resultel=txtCell.value.search(tel_pattern);
			if (resultel==-1)
			{
				errore=true;
				errlung ++;
				errcomp += "Cellulare (es. 347/0000000)\n"
			}	
		}
		
		
		if (sltRoom.value=="00")
		{
			errore=true;
			errlung ++;
			errcomp += "Sistemazione\n"
		}
		
		if (!chkPrivacy.checked)
		{
			errore=true;
			errlung ++;
			privacy="no";
			err_prv="E' necessario dare il consenso al trattamento dei dati personali per procedere alla prenotazione"
		}
		
		
		//***********************************Inizio valutazione Data In**********************************
		data= new Date();
		//data=Date();
		//alert("data: "+data);
		yyyy=data.getFullYear();
		nn=data.getMonth()+1;
		dd=data.getDate();
		aaaa=sltYearI.value;
		mm=sltMonthI.value;
		gg=sltDayI.value;
		/*alert("anno di riferimento: "+yyyy);
		alert("anno scelto: "+aaaa);
		alert("mese di riferimento: "+nn);
		alert("mese scelto: "+mm);
		alert("giorno di riferimento: "+dd);
		alert("giorno scelto: "+gg);*/
		if ((aaaa==yyyy) && (mm<nn))
		{
			errore=true;
			errlung ++;
			errcomp+="Data di arrivo (antecedente a quella attuale)\n";
		}
		else if((aaaa==yyyy) && (mm==nn) && (gg<dd))
		{
			errore=true;
			errlung ++;
			errcomp+="Data di arrivo (antecedente a quella attuale)\n";	
		}
		else
		{
			strbis="2008 2012 2016 2020 2024 2028 2032 2036 2040 2044 2048 2052 2056 2060 2064 2068 2072 2076 2080"
			year_bis=strbis.match(aaaa);
			//alert("valore ricerca dell'anno bisestile: "+year_bis);
			if (year_bis==null)
			{
				if ((mm==2) && (gg>28))
				{
					errore=true;
					errlung ++;
					errcomp+="Data di arrivo\n";
				}
				else if (((mm==4) || (mm==6) || (mm==9) || (mm==11)) && (gg>30))
				{
					errore=true;
					errlung ++;
					errcomp+="Data di arrivo\n";	
				}
				else if (((mm==1) || (mm==3) || (mm==5) || (mm==7) || (mm==8) || (mm==10) || (mm==12)) && (gg>31))
				{
					errore=true;
					errlung ++;
					errcomp+="Data di arrivo\n";
				}
			}
			else
			{
				if ((mm==2) && (gg>29))
				{
					errore=true;
					errlung ++;
					errcomp+="Data di arrivo\n";
				}
				else if (((mm==4) || (mm==6) || (mm==9) || (mm==11)) && (gg>30))
				{
					errore=true;
					errlung ++;
					errcomp+="Data di arrivo\n";	
				}
				else if (((mm==1) || (mm==3) || (mm==5) || (mm==7) || (mm==8) || (mm==10) || (mm==12)) && (gg>31))
				{
					errore=true;
					errlung ++;
					errcomp+="Data di arrivo\n";
				}
				
			}
		}
		//***********************************Fine valutazione Data In**********************************
		
		
		//***********************************Inizio valutazione Data Out**********************************
		
		aaaaF=sltYearO.value;
		mmF=sltMonthO.value;
		ggF=sltDayO.value;
		//alert(" anno arrivo:"+aaaa+"\n anno partenza: "+aaaaF+"\n\n mese arrivo:"+mm+"\n mese partenza: "+mmF+"\n\n giorno arrivo (gg): "+gg+"\n giorno partenza (ggO): "+ggF);
		if ((aaaaF==yyyy) && (mmF<nn))
		{
			errore=true;
			errlung ++;
			errcomp+="Data di partenza (antecedente a quella attuale)\n";
		}
		else if((aaaaF==yyyy) && (mmF==nn) && (ggF<dd))
		{
			errore=true;
			errlung ++;
			errcomp+="Data di partenza (antecedente a quella attuale)\n";	
		}
		else if (aaaaF<aaaa) //|| (mmO<mm) || (ggO<gg))
		{
			errore=true;
			errlung ++;
			errcomp+=" Anno errato - Data di partenza (anteriore a quella di arrivo)\n";
		}
		else if ((aaaaF==aaaa)&&(mmF<mm))
		{
			errore=true;
			errlung ++;
			errcomp+=" Mese errato - Data di partenza (anteriore a quella di arrivo)\n";
		}
		else if ((aaaaF==aaaa) && (mmF==mm) && (parseInt(ggF)<parseInt(gg)))
		{
			//alert("giorno arrivo (gg):  "+gg+"\ngiorno parte (ggF): "+ggF);
			errore=true;
			errlung ++;
			errcomp+="Giorno errato - Data di partenza (anteriore a quella di arrivo)\n";
		}
		else
		{
			strbis="2008 2012 2016 2020 2024 2028 2032 2036 2040 2044 2048 2052 2056 2060 2064 2068 2072 2076 2080"
			year_bis=strbis.match(aaaaF);
			//alert("valore ricerca dell'anno bisestile: "+year_bis);
			if (year_bis==null)
			{
				if ((mmF==2) && (ggO>28))
				{
					errore=true;
					errlung ++;
					errcomp+="Data di partenza\n";
				}
				else if (((mmF==4) || (mmF==6) || (mmF==9) || (mmF==11)) && (ggF>30))
				{
					errore=true;
					errlung ++;
					errcomp+="Data di partenza\n";
				}
				else if (((mmF==1) || (mmF==3) || (mmF==5) || (mmF==7) || (mmF==8) || (mmF==10) || (mmF==12)) && (ggF>31))
				{
					errore=true;
					errlung ++;
					errcomp+="Data di partenza\n";
				}
			}
			else
			{
				if ((mmF==2) && (ggF>29))
				{
					errore=true;
					errlung ++;
					errcomp+="Data di partenza\n";
				}
				else if (((mmF==4) || (mmF==6) || (mmF==9) || (mmF==11)) && (ggF>30))
				{
					errore=true;
					errlung ++;
					errcomp+="Data di partenza\n";
				}
				else if (((mmF==1) || (mmF==3) || (mmF==5) || (mmF==7) || (mmF==8) || (mmF==10) || (mmF==12)) && (ggF>31))
				{
					errore=true;
					errlung ++;
					errcomp+="Data di partenza\n";
				}
				
			}
		}
		//***********************************Fine valutazione Data Out**********************************
		
		if (txtNumAd.value=="")
		{
			errore=true;
			errlung ++;
			errcomp+="Numero Adulti\n";
		}
		else
		{
			ad_pat=/[0-9]{1,2}/;
			ris=txtNumAd.value.search(ad_pat);
			//alert("ris x Adulti: "+ris);
			if (ris==-1)
			{
				errore=true;
				errlung ++;
				errcomp+="Numero Adulti\n";
			}
			else if(txtNumAd.value<=0)
			{
				errore=true;
				errlung ++;
				errcomp+="Numero Adulti (non può essere uguale a 0)\n";
			}
		}
		
		if (txtNumRg.value=="")
		{
			errore=true;
			errlung ++;
			errcomp+="Numero Ragazzi (mettere 0 se nn ci sono)\n";
		}
		else
		{
			ad_pat=/[0-9]{1,2}/;
			ris1=txtNumRg.value.search(ad_pat);
			//alert("ris x ragazzi: "+ris1);
			if (ris1==-1)
			{
				errore=true;
				errlung ++;
				errcomp+="Numero Ragazzi\n";
			}
		}
		
		if (txtNumBa.value=="")
		{
			errore=true;
			errlung ++;
			errcomp+="Numero Bambini (mettere 0 se nn ci sono)\n";
		}
		else
		{
			ad_pat=/[0-9]{1,2}/;
			ris2=txtNumBa.value.search(ad_pat);
			//alert("ris x bambini: "+ris2);
			if (ris2==-1)
			{
				errore=true;
				errlung ++;
				errcomp+="Numero Bambini\n";
			}
		}
		
		if (errore)
		{
			//alert("n° errori: "+errlung+"\nComposizione errore: "+errcomp+"\nValore Privacy: "+privacy);	
			if ((txtVia.value=="")&&(txtCap.value=="")&&(txtProv.value=="")&&(txtCell.value=="")&&(txtTel.value=="")&&(txtFax.value=="")&&(errlung==9))
			{
				msg="E' necessario dare il consenso al Trattamento dei Dati Personali per poter procedere con la richiesta oltre che valorizzare correttamente i campi obbligatori";
			}
			else
			{
				if(privacy=="no")
				{
					if (errlung==1)
					{
						msg="Attenzione: è necessario dare il consenso al Trattamento dei Dati Personali per poter procedere con la richiesta.";
					}
					else if (errlung==2)
					{
						msg="Attenzione: è necessario dare il consenso al Trattamento dei Dati Personali per poter procedere con la richiesta.\nIn aggiunta valorizzare correttamente il seguente campo: "+errcomp;
					}
					else
					{
						msg="Attenzione: è necessario dare il consenso al Trattamento dei Dati Personali per poter procedere con la richiesta.\nIn aggiunta valorizzare correttamente i seguenti campi:\n"+errcomp;
					}
				}
				else
				{
					if(errlung==1)
					{
						msg="Il seguente campo: "+errcomp+"è vuoto o non correttamente valorizzato";
					}
					else
					{
						msg="I seguenti campi:\n"+errcomp+"sono vuoti o non correttamente valorizzati";
					}
				}
			}
			alert(msg);
			return false;
		}
		else
		{
			document.frmPrenota.submit();
		}
	} //fine With
} //fine function