Event.observe(window,'load',startSearchBoxPagina);
function startSearchBoxPagina(){
	//Setto le Date di default (oggi / oggi+2) nel SearchBox
	if ($('divDate') != null){
		if (!document.getElementById('mRic').Data.value){
			getStartingDate();
		}
	}
	
	//CHECK CALENDAR'S DATE (controllo modifiche sui campi e controllo data)
	if ($('divDate') != null)
	{	
		new Form.Observer('mRic', 0.5, function(form, value){ sistema_data();}) 
	}

	//Controllo iniziale su Località selezionata
	if (usrLocalita != ''){
		checkLocalitaSelected();
	}
}

function checkLocalitaSelected(){

	var lunghezzaSelect = document.getElementById('mRic').AreaTuristica.length;
	var selectAT = document.getElementById('mRic').AreaTuristica;

	if ($('AreaTuristica')){
		for (i=0; i < lunghezzaSelect; i++){
			if (selectAT[i].value.toLowerCase() == usrLocalita.toLowerCase()){
				selectAT[i].selected = true;
				break;
			}
		}
	}
}

function getStartingDate()
{

	var modifica = true;

	if(usrArrivo != ''){
		document.getElementById('mRic').DataAl.value = usrPartenza;
		modifica = false;
	}
	if(usrPartenza != ''){
		document.getElementById('mRic').Data.value = usrArrivo;
		modifica = false;
	}
	if(usrPersone != ''){
		document.getElementById('mRic').nPersone.options[usrPersone-1].selected = true;
		modifica = false;
	}
	
	if (modifica){
		var Oggi = new Date();
		var Oggi2 = new Date();
		var giornoOggi = Oggi.getDate();
		var meseOggi = (Oggi.getMonth()+1);
		
		Oggi2.setDate(Oggi2.getDate() + 2);
		
		var giornoOggi2 = Oggi2.getDate();	
		var meseOggi2 = (Oggi2.getMonth()+1);
		
		if(giornoOggi < 10)
		{
			giornoOggi = "0" + giornoOggi;
		}
		
		if(giornoOggi2 < 10)
		{
			giornoOggi2 = "0" + giornoOggi2;
		}
		
		if(meseOggi < 10)
		{
			meseOggi = "0" + meseOggi;
		}
		
		if(meseOggi2 < 10)
		{
			meseOggi2 = "0" + meseOggi2;
		}	
		
		document.getElementById('mRic').Data.value = giornoOggi +'/'+ meseOggi +'/'+Oggi.getFullYear();
		document.getElementById('mRic').DataAl.value = giornoOggi2 +'/'+ meseOggi2 +'/'+Oggi2.getFullYear();
	}
}



function sistema_data(){

	var data1 = document.getElementById('mRic').Data.value;
	var data2 = document.getElementById('mRic').DataAl.value;
	var Oggi = new Date();
	var Oggi2 = new Date();
	var giornoOggi = Oggi.getDate();
	var meseOggi = (Oggi.getMonth()+1);
	
	//ARRIVO
	if (data1 != ""){
		data1 = new Date(data1.substr(6), data1.substr(3, 2)-1, data1.substr(0, 2));
	}
	
	if (data1 < Oggi){
		if(giornoOggi < 10)
		{
			giornoOggi = "0" + giornoOggi;
		}
		if(meseOggi < 10)
		{
			meseOggi = "0" + meseOggi;
		}
		document.getElementById('mRic').Data.value = giornoOggi +'/'+ meseOggi +'/'+Oggi.getFullYear();
	}
	
	//PARTENZA
	data2 = new Date(data2.substr(6), data2.substr(3, 2)-1, data2.substr(0, 2));
	if (data2 <= data1){
		Oggi2 = new Date(document.getElementById('mRic').Data.value.substr(6), document.getElementById('mRic').Data.value.substr(3, 2)-1, document.getElementById('mRic').Data.value.substr(0, 2));	
		Oggi2.setDate(Oggi2.getDate() + 2);
		var giornoOggi2 = Oggi2.getDate();	
		var meseOggi2 = (Oggi2.getMonth()+1);
		if(giornoOggi2 < 10)
		{
			giornoOggi2 = "0" + giornoOggi2;
		}
		if(meseOggi2 < 10)
		{
			meseOggi2 = "0" + meseOggi2;
		}
		document.getElementById('mRic').DataAl.value = giornoOggi2 +'/'+ meseOggi2 +'/'+Oggi2.getFullYear();
	}
}




function fSearchDisp()
{
	if(confronta_data())
	{		
		document.getElementById('mRic').submit();
	}
}



function controllo_data(stringa)
{
		
	var espressione = /^[0-9]{2}\/[0-9]{2}\/[0-9]{4}$/;
	
	
	if (!espressione.test(stringa))    
	{
		return false;    
	}
	else
	{
	    anno = parseInt(stringa.substr(6),10);
	    mese = parseInt(stringa.substr(3, 2),10);
	    giorno = parseInt(stringa.substr(0, 2),10);
	    var data=new Date(anno, mese-1, giorno);
	    if(data.getFullYear()==anno && data.getMonth()+1==mese && data.getDate()==giorno)
	    {
	    	return true;
	    }
	    else
	    {
	    	return false;
	    }
	}
}



function confronta_data(){

	var data1 = document.getElementById('mRic').Data.value;
	var data2 = document.getElementById('mRic').DataAl.value;
	
	
	var check = true;
	if(data1 != "" && data2 != "")
	{
		// controllo validità formato data    
		if(controllo_data(data1) && controllo_data(data2)){
			//trasformo le date nel formato aaaammgg (es. 20081103)
			data1str = data1.substr(6)+data1.substr(3, 2)+data1.substr(0, 2);
			data2str = data2.substr(6)+data2.substr(3, 2)+data2.substr(0, 2);
			//controllo se la seconda data è successiva alla prima        
			if (data2str-data1str<0) {     
				alert("La data d’arrivo deve essere precedente a quella di partenza"); 			
				check = false;
				return check;       
			}else{
				var one_day=1000*60*60*24;
				var data1Bis = new Date(data1.substr(6),data1.substr(3, 2)-1,data1.substr(0, 2));
				var data2Bis = new Date(data2.substr(6),data2.substr(3, 2)-1,data2.substr(0, 2));
				var timediff = Math.round((data2Bis.getTime()-data1Bis.getTime())/(one_day));	

				document.mRic.nNotti.value = timediff;
			}
		}else{
			if(!controllo_data(data1)){
				alert("Inserire una data di arrivo nel formato gg/mm/aaaa");
			}else{
				alert("Inserire una data di partenza nel formato gg/mm/aaaa");			
			}
			check = false;
		}
		return check;
	}else{
		document.getElementById('mRic').submit();
	}
}
