function NumChar(Nome, MaxLen)
{
	NumCharElement=document.forms[0].elements['NumChar_'+Nome];
	Element=document.forms[0].elements[Nome];
	NumCharElement.value=(Element.value.length);
	if ( parseInt(NumCharElement.value)<0 )
		NumCharElement.value="(MAX "+MaxLen+"!!)";
}	

function MaxNumChar(Nome, MaxLen, Descrizione)
{
	Element=document.forms[0].elements[Nome];
	if (Element.value.length>MaxLen)
	{
		alert("Hai superato i "+MaxLen+" caratteri in: "+Descrizione+"!!");
		Element.focus();
	}
}	

// Controlla che sia una data valida

function CheckDateAlways(Giorno, Mese, Anno)
{
	if ( Giorno.length==0 || Mese.length==0 || Anno.length==0 )
		return false;
	if ( !IsNum(Giorno) || !IsNum(Mese) || !IsNum(Anno) )
		return false;
	if ( Giorno.length>2 || Mese.length>2 || Anno.length>4 )
		return false;
	if ( Giorno.substr(0, 1)=="0" )
		Giorno=Giorno.substr(1, 1);
	if ( Mese.substr(0, 1)=="0" )
		Mese=Mese.substr(1, 1);
	Giorno=parseInt(Giorno);
	Mese=parseInt(Mese);
	Anno=parseInt(Anno);
	if ( Giorno<1 || Giorno>31 || Mese<1 || Mese>12 )
		return false;
	if ( Mese==2 )
	{
		if ( Giorno>29 || ( Giorno==29 && Anno%4!=0 ) )
		{
			return false;
		}
	}
	else if ( Mese==4 ||  Mese==6 ||  Mese==9 ||  Mese==11 )
	{
		if ( Giorno>30 )
		{
			return false;
		}
	}
	return true;
}

// Controlla che sia una data valida nel futuro (passata come tre stringhe), non piu' recente del giorno in corso

function CheckDateFuture(Giorno, Mese, Anno)
{
	var Today = new Date;
	if ( Giorno.length==0 || Mese.length==0 || Anno.length==0 )
		return false;
	if ( !IsNum(Giorno) || !IsNum(Mese) || !IsNum(Anno) )
		return false;
	if ( Giorno.length>2 || Mese.length>2 || Anno.length>4 )
		return false;
	if ( Giorno.substr(0, 1)=="0" )
		Giorno=Giorno.substr(1, 1);
	if ( Mese.substr(0, 1)=="0" )
		Mese=Mese.substr(1, 1);
	Giorno=parseInt(Giorno);
	Mese=parseInt(Mese);
	Anno=parseInt(Anno);
	if ( Giorno<1 || Giorno>31 || Mese<1 || Mese>12 || Today.getFullYear()>Anno )
		return false;
	if ( Mese==2 )
	{
		if ( Giorno>29 || ( Giorno==29 && Anno%4!=0 ) )
		{
			return false;
		}
	}
	else if ( Mese==4 ||  Mese==6 ||  Mese==9 ||  Mese==11 )
	{
		if ( Giorno>30 )
		{
			return false;
		}
	}
	if ( (Anno==Today.getFullYear() && (Today.getMonth()+1)>Mese) || (Anno==Today.getFullYear() && Mese==(Today.getMonth()+1) && Today.getDate()>Giorno) )
	{
		return false;
	}
	return true;
}

// Controlla che sia una data valida nel passato (passata come tre stringhe), non piu' recente del giorno in corso

function CheckDatePast(Giorno, Mese, Anno)
{
	var Today = new Date;
	if ( Giorno.length==0 || Mese.length==0 || Anno.length==0 )
		return false;
	if ( !IsNum(Giorno) || !IsNum(Mese) || !IsNum(Anno) )
		return false;
	if ( Giorno.length>2 || Mese.length>2 || Anno.length>4 )
		return false;
	if ( Giorno.substr(0, 1)=="0" )
		Giorno=Giorno.substr(1, 1);
	if ( Mese.substr(0, 1)=="0" )
		Mese=Mese.substr(1, 1);
	Giorno=parseInt(Giorno);
	Mese=parseInt(Mese);
	Anno=parseInt(Anno);
	if ( Giorno<1 || Giorno>31 || Mese<1 || Mese>12 || Anno<1900 || Anno>Today.getFullYear() )
		return false;
	if ( Mese==2 )
	{
		if ( Giorno>29 || ( Giorno==29 && Anno%4!=0 ) )
		{
			return false;
		}
	}
	else if ( Mese==4 ||  Mese==6 ||  Mese==9 ||  Mese==11 )
	{
		if ( Giorno>30 )
		{
			return false;
		}
	}
	if ( (Anno==Today.getFullYear() && Mese>(Today.getMonth()+1)) || (Anno==Today.getFullYear() && Mese==(Today.getMonth()+1) && Giorno>Today.getDate()) )
	{
		return false;
	}
	return true;
}

//Controlla se l'intervallo (passato come sei stringhe) dato e' valido, (DataInizio<=DataFine)

function CompareDate(Giorno1, Mese1, Anno1, Giorno2, Mese2, Anno2)
{
	if ( Giorno1.substr(0, 1)=="0" )
		Giorno1=Giorno1.substr(1, 1);
	if ( Mese1.substr(0, 1)=="0" )
		Mese1=Mese1.substr(1, 1);
	if ( Giorno2.substr(0, 1)=="0" )
		Giorno2=Giorno2.substr(1, 1);
	if ( Mese2.substr(0, 1)=="0" )
		Mese2=Mese2.substr(1, 1);
	Giorno1=parseInt(Giorno1);
	Mese1=parseInt(Mese1);
	Anno1=parseInt(Anno1);
	Giorno2=parseInt(Giorno2);
	Mese2=parseInt(Mese2);
	Anno2=parseInt(Anno2);
	if ( (Anno1>=Anno2 && Mese1>Mese2) || ((Anno1==Anno2 && Mese1==Mese2) && Giorno1>Giorno2) )
	{
		return false;
	}
	return true;
}
//Controlla se l'intervallo (passato come sei stringhe) dato e' valido, (OraInizio<=OraFine)

function CompareTime(Ora1, Minuto1, Ora2, Minuto2)
{
	if ( Ora1.substr(0, 1)=="0" )
		Ora1=Ora1.substr(1, 1);
	if ( Minuto1.substr(0, 1)=="0" )
		Minuto1=Minuto1.substr(1, 1);
	if ( Ora2.substr(0, 1)=="0" )
		Ora2=Ora2.substr(1, 1);
	if ( Minuto2.substr(0, 1)=="0" )
		Minuto2=Minuto2.substr(1, 1);
	Ora1=parseInt(Ora1);
	Minuto1=parseInt(Minuto1);
	Ora2=parseInt(Ora2);
	Minuto2=parseInt(Minuto2);
	if ( (Ora1>Ora2) || (Ora1==Ora2 && Minuto1>=Minuto2) )
	{
		return false;
	}
	return true;
}

// Controlla se la stringa passata e' constituita da cifre

function IsNum(Stringa)
{
	var i;
	for (i=0; i<Stringa.length; i++)
		if ( Stringa.charCodeAt(i)<0x0030 || Stringa.charCodeAt(i)>0x0039 )
			return false;
	return true;
}

// Controlla se la stringa passata e' al massimo Len caratteri

function AreaLength(Stringa, Len)
{
	if ( Stringa.length>Len )
		return false;
	else
		return true;
}

function zero_before_digit(numero)
{
	numero=""+numero;
	if (numero.length==1)
		nuovo_numero= "0"+numero;
	else
		nuovo_numero= numero;
	return nuovo_numero;
}
function weeks_year()
{
	gio = new Array(7); 
    gio[0]="domenica", 
    gio[1]="lunedì", 
    gio[2]="martedì", 
    gio[3]="mercoledì", 
    gio[4]="giovedì", 
    gio[5]="venerdì", 
    gio[6]="sabato"; 
	mesi=new Array(12);
	mesi[0]="gennaio";
	mesi[1]="febbraio";
	mesi[2]="marzo";
	mesi[3]="aprile";
	mesi[4]="maggio";
	mesi[5]="giugno";
	mesi[6]="luglio";
	mesi[7]="agosto";
	mesi[8]="settembre";
	mesi[9]="ottobre";
	mesi[10]="novembre";
	mesi[11]="dicembre";
	var form=document.forms["form_filtro"];
	var anno=form.elements["dal_anno"].value;
	var my_date=new Date(anno, 0, 1);
	var oggi=new Date();
	var oggi_giorno=oggi.getDate();
	var oggi_mese=oggi.getMonth();
	var oggi_anno=oggi.getYear();
	var oggi_data=new Date(oggi_anno,oggi_mese,oggi_giorno);
	var primo_giorno=my_date.getDay();
	primo_lunedi=(8-primo_giorno)%7+1;
	var giorni_mese= new Array(31,28,31,30,31,30,31,31,30,31,30,31);
	if (anno%4 == 0)
		giorni_mese[1] = 29;

	indice=0;
	primo=primo_lunedi;
	mese=0;
	vai=true;
	while (vai==true)
	{
		ultimo=primo+6;
		if (ultimo>giorni_mese[mese])
		{
			ultimo=ultimo-giorni_mese[mese];
			mese++;
			if (mese==12)
			{
				mese=0;
				anno=parseInt(anno);
				anno_dopo=anno+1;
				dal=anno+"-"+zero_before_digit(12)+"-"+zero_before_digit(primo);
				al=anno_dopo+"-"+zero_before_digit(1)+"-"+zero_before_digit(ultimo);
				dal_data=new Date(anno,zero_before_digit(11),zero_before_digit(primo));
				al_data=new Date(anno_dopo,zero_before_digit(0),zero_before_digit(ultimo));
				form.elements["settimana"].options[indice]=new Option((indice+1)+" dal "+primo+" "+mesi[11]+" al "+ultimo+" "+mesi[mese],dal+" "+al);
				if (oggi_data<=al_data&&oggi_data>=dal_data)
				{
					form.elements["settimana"].options[indice].selected=true;
				}
				vai=false;
			}
			else
			{
				dal=anno+"-"+zero_before_digit(mese)+"-"+zero_before_digit(primo);
				al=anno+"-"+zero_before_digit(mese+1)+"-"+zero_before_digit(ultimo);
				dal_data=new Date(anno,zero_before_digit(mese-1),zero_before_digit(primo));
				al_data=new Date(anno,zero_before_digit(mese),zero_before_digit(ultimo));
				form.elements["settimana"].options[indice]=new Option((indice+1)+" dal "+primo+" "+mesi[mese-1]+" al "+ultimo+" "+mesi[mese],dal+" "+al);
				if (oggi_data<=al_data&&oggi_data>=dal_data)
				{
					form.elements["settimana"].options[indice].selected=true;
				}
			}
		}
		else
		{
			dal=anno+"-"+zero_before_digit(mese+1)+"-"+zero_before_digit(primo);
			al=anno+"-"+zero_before_digit(mese+1)+"-"+zero_before_digit(ultimo);
			dal_data=new Date(anno,zero_before_digit(mese),zero_before_digit(primo));
			al_data=new Date(anno,zero_before_digit(mese),zero_before_digit(ultimo));
			form.elements["settimana"].options[indice]=new Option((indice+1)+" dal "+primo+" "+mesi[mese]+" al "+ultimo+" "+mesi[mese],dal+" "+al);
				if (oggi_data<=al_data&&oggi_data>=dal_data)
				{
					form.elements["settimana"].options[indice].selected=true;
				}
		}
		indice++;
		primo=ultimo+1;
		if (primo>giorni_mese[mese])
		{
			primo=1;
			mese++;
		}
	}
}
function Init()
{
	if (!document.forms["Form"])
		return false;
	var my_form=document.forms["Form"];
	var arr_mesi=new Array("Gen", "Feb", "Mar", "Apr", "Mag", "Giu", "lug", "Ago", "Set", "Ott", "Nov", "Dic");
	var oggi= new Date();
	var giorno=oggi.getDate();
	var mese=oggi.getMonth();
	var anno=oggi.getFullYear();
	var giorno2=giorno+1;
	var mese2=mese;
	var anno2=anno;
	var i;var iv;var indice;
	switch (giorno)
	{
		case 28:
			if (mese==1 && (anno!=2008 && anno!=2012))
			{
				giorno2=1;
				mese2=mese+1;
			}
			break;
		case 29:
			if (mese==1 && (anno==2008 || anno==2012))
			{
				giorno2=1;
				mese2=mese+1;
			}
			break;
		case 30:
			if (mese==3 || mese==5 || mese==8 || mese==10)
			{
				giorno2=1;
				mese2=mese+1;
			}
			break;
		case 31:
			if (mese==0 || mese==2 || mese==4 || mese==6 || mese==7 || mese==9)
			{
				giorno2=1;
				mese2=mese+1;
			}
			if (mese==11) //31 dicembre
			{
				giorno2=1;
				mese2=1;
				anno2=anno+1;
			}			
			break;
	}

	var c_gg1=my_form.elements["gg1"];
	var c_mm1=my_form.elements["mm1"];
	var c_aa1=my_form.elements["aa1"];
	var c_gg2=my_form.elements["gg2"];
	var c_mm2=my_form.elements["mm2"];
	var c_aa2=my_form.elements["aa2"];
  c_gg1.options.length=31;
  c_gg2.options.length=31;
  c_mm1.options.length=12;
  c_mm2.options.length=12;
  c_aa1.options.length=5;
  c_aa2.options.length=5;
	for (i=0;i<31;i++)
	{
	 if ((i+1)<10)
	 	iv="0"+(i+1);
	 else
	 	iv=i+1;
	 c_gg1.options[i]=new Option(i+1,iv);
	 c_gg2.options[i]=new Option(i+1,iv);
	 if ((i+1)==giorno)
	 	c_gg1.options[i].selected=true;
	 if ((i+1)==(giorno2))
	 	c_gg2.options[i].selected=true;
	}
	for (i=0;i<12;i++)
	{
	 if ((i+1)<10)
	 	iv="0"+(i+1);
	 else
	 	iv=i+1;
	 c_mm1.options[i]=new Option(arr_mesi[i],iv);
	 c_mm2.options[i]=new Option(arr_mesi[i],iv);
	 if (i==(mese))
	 {
	 	c_mm1.options[i].selected=true;
	 	c_mm2.options[i].selected=true;
	 }
	 if (i==(mese2))
	 {
	 	c_mm2.options[i].selected=true;
	 }
	}
  indice=0;
	var d = new Date();
	var y = d.getFullYear();
	for (i=y;i<=y+4;i++)
	{
	 c_aa1.options[indice]=new Option(i,i);
	 c_aa2.options[indice]=new Option(i,i);
	 if (i==anno)
	 {
	 	c_aa1.options[indice].selected=true;
	 }
	 if (i==anno2)
	 {
	 	c_aa2.options[indice].selected=true;
	 }
	 indice++;
	}
//CheckDataMaggiore(my_form);
}
function check_form(MyForm,max_gg, chiave, sportale, codice, lingua)
{
	var adulti=parseInt(MyForm.adulti.value);
	var bambini=parseInt(MyForm.bambini.value);
	var bebe=MyForm.bebe.value;
	persone=adulti+bambini;
	var stanze=MyForm.stanze.value;
	var aa1=MyForm.aa1.value;
	var mm1=MyForm.mm1.value;
	var gg1=MyForm.gg1.value;
	var aa2=MyForm.aa2.value;
	var mm2=MyForm.mm2.value;
	var gg2=MyForm.gg2.value;
	var ladata=new Date(MyForm.aa1.value, (MyForm.mm1.value-1), MyForm.gg1.value);
	var ladata2=new Date(MyForm.aa2.value, (MyForm.mm2.value-1), MyForm.gg2.value);
	var oggi=new Date();
	var ladata_ms=ladata.getTime();
	var ladata2_ms=ladata2.getTime();
	var oggi_ms=oggi.getTime();
	var diff=ladata_ms-oggi_ms;
	var interv=ladata2_ms-ladata_ms;
	var giorni_diff=parseInt (diff/(1000*60*60*24));
	var giorni_interv=parseInt (interv/(1000*60*60*24));
//	alert(giorni_diff);
		if (giorni_diff<0)
		{
			alert("La data di arrivo non può essere prima di oggi!")
			MyForm.gg1.focus();
			return (false);
		}
		if (giorni_interv>max_gg)
		{
			alert("Il numero massimo di giorni prenotabili è "+max_gg)
			MyForm.gg1.focus();
			return (false);
		}


CheckDataMaggiore(MyForm);

if (!persone)
{
	alert("Inserire il numero di persone!");
	MyForm.adulti.focus();
	return (false);
}
if (!stanze)
{
	alert("Inserire il numero di stanze!");
	MyForm.stanze.focus();
	return (false);
}
if (stanze>persone)
{
	alert("Il numero di stanze non può essere superiore del numero di persone!");
	MyForm.persone.focus();
	return (false);
}
		

	if (MyForm.gg1.value==MyForm.gg2.value && MyForm.mm1.value==MyForm.mm2.value && MyForm.aa1.value==MyForm.aa2.value){
		alert("Attenzione: la partenza deve essere posteriore all'arrivo!");
		MyForm.gg2.focus();
		return (false);
	}

	 //ind=getsURLCms(sportale,codice,chiave,stanze,persone,adulti,bambini,bebe,gg1,mm1,aa1,gg2,mm2,aa2,lingua);
	 //location.href=ind;
	// alert(chiave);
	var ind="hotel-del-parco.com";
//MyForm.action="https://www.softrade.it/php/CMS/protected/p_booking.php?portale="+sportale+"&hotel="+codice+"&lingua="+lingua+"&chiave="+chiave+"&adulti="+adulti+"&bambini="+bambini+"&bebe="+bebe+"&gg1="+gg1+"&mm1="+mm1+"&aa1="+aa1+"&gg2="+gg2+"&mm2="+mm2+"&aa2="+aa2+"&stanze="+stanze+"&adulti="+adulti+"&ind="+ind;
MyForm.action="p_booking.php?portale="+sportale+"&hotel="+codice+"&lingua="+lingua+"&chiave="+chiave+"&adulti="+adulti+"&bambini="+bambini+"&bebe="+bebe+"&gg1="+gg1+"&mm1="+mm1+"&aa1="+aa1+"&gg2="+gg2+"&mm2="+mm2+"&aa2="+aa2+"&stanze="+stanze+"&adulti="+adulti+"&ind="+ind;
//alert (MyForm.action);
MyForm.submit();
}
function CheckData1(MyForm) {
	
	if (MyForm.mm1.value=='04' || MyForm.mm1.value=='06' || MyForm.mm1.value=='09' ||MyForm.mm1.value=='11')
	{
		if (MyForm.gg1.value==31)
		{
			MyForm.gg1.value=30;
		}
	}

	if (MyForm.mm1.value=='02')
	{
		if (MyForm.aa1.value=='2004' || MyForm.aa1.value=='2008' || MyForm.aa1.value=='2012' || MyForm.aa1.value=='2016' || MyForm.aa1.value=='2020' || MyForm.aa1.value=='2024' || MyForm.aa1.value=='2028' || MyForm.aa1.value=='2032')
		{
			if (MyForm.gg1.value>29)
			{
				MyForm.gg1.value=29;
			}
		} else 
		{
			if (MyForm.gg1.value>28)
			{
				MyForm.gg1.value=28;
			}
		}
	}

	CheckDataMaggiore(MyForm);
}
function CheckData2(MyForm) {
	if (MyForm.mm2.value=='04' || MyForm.mm2.value=='06' || MyForm.mm2.value=='09' ||MyForm.mm2.value=='11'){
		if (MyForm.gg2.value==31){
			MyForm.gg2.value=30;
		}
	}

	if (MyForm.mm2.value=='02'){
		if (MyForm.aa2.value=='2004' || MyForm.aa2.value=='2008' || MyForm.aa2.value=='2012' || MyForm.aa2.value=='2016' || MyForm.aa2.value=='2020' || MyForm.aa2.value=='2024' || MyForm.aa2.value=='2028' || MyForm.aa2.value=='2032'){
			if (MyForm.gg2.value>29){
				MyForm.gg2.value=29;
			}
		} else {
			if (MyForm.gg2.value>28){
				MyForm.gg2.value=28;
			}
		}
	}

	CheckDataMaggiore(MyForm);
}

function CheckDataMaggiore(MyForm) 
{	if (MyForm.aa2.value<MyForm.aa1.value)
	{
		MyForm.aa2.value=MyForm.aa1.value;
	}

	if (MyForm.aa2.value==MyForm.aa1.value)
	{
		if (MyForm.mm2.value<MyForm.mm1.value)
		{
			MyForm.mm2.value=MyForm.mm1.value;
		}
		
		if (MyForm.mm2.value==MyForm.mm1.value)
		{
			if (MyForm.gg2.value<MyForm.gg1.value)	
			{
				MyForm.gg2.value=MyForm.gg1.value;
			}
		}
	}
	//verifica che non siano mai presi giorni che non ci sono
	//tipo il 31 novembre...
	if (MyForm.mm2.value=='04' || MyForm.mm2.value=='06' || MyForm.mm2.value=='09' ||MyForm.mm2.value=='11')
	{
		if (MyForm.gg2.value==31){
			MyForm.gg2.value=30;
		}
	}

	if (MyForm.mm2.value=='02')
	{
		if (MyForm.aa2.value=='2004' || MyForm.aa2.value=='2008' || MyForm.aa2.value=='2012' || MyForm.aa2.value=='2016' || MyForm.aa2.value=='2020' || MyForm.aa2.value=='2024' || MyForm.aa2.value=='2028' || MyForm.aa2.value=='2032'){
			if (MyForm.gg2.value>29){
				MyForm.gg2.value=29;
			}
		} else {
			if (MyForm.gg2.value>28){
				MyForm.gg2.value=28;
			}
		}
	}
}
function open_cal(tipo, li)
{
	window.open("calendario.php?tipo="+tipo+"&lingua="+li, "calendario", "status=no, width=200, height=180, left=200, top=200");
}
