/**
 *	funcions-buscador.inc
 *
 *	VERSIO 1.01
 *
 *	2009-05-27:
 *		- S'ha modificat la funció generarUrl() per afegir-hi categoryId
 *
 *	PRE:
 *
 *		Variables JAVASCRIPT:
 *			TOTES LES VARIABLES NECESÀRIES D'IDIOMA
 *
 *
 */


/**
 *	Comprova si l'any que se li passa és un any bicest
 *
 *	@param yr (int) any que volem consultar
 *
 *	@return (int) Retorna 1 si és un any bicest, i 0 si no ho es
 */
function isLeapYear(yr) {
  if (new Date(yr,2-1,29).getDate()==29) return 1;
  return 0;
}


/*
*	funcion que valida el rango de fechas del formulario cercaApartament
*/
function isValidRangeDates(frm){
	if(!frm) alert(idma["dadesInexistents"]);
	var day1 = frm.ArrivalDay.selectedIndex;
	var day2 = frm.DepartureDay.selectedIndex;
	var month1 = frm.ArrivalMonthYear.selectedIndex;
	var month2 = frm.DepartureMonthYear.selectedIndex;

	//validamos las fechas
	var d1 = frm.ArrivalDay.value;
	var d2 = frm.DepartureDay.value;
	var m1 = frm.ArrivalMonthYear.value; m1= m1.split("-");
	var m2 = frm.DepartureMonthYear.value; m2= m2.split("-");
	//alert(d1+"-"+m1[0]+"-"+m1[1]);

	if(!isValidDate(d1,m1[0],m1[1])){alert(idma['invalidArrivalDate']); return false;}
	if(!isValidDate(d2,m2[0],m2[1])){alert(idma['invalidDepartureDate']); return false;}

	//verificar que DEPARTURE DATE > ARRIVAL DATE
	var error = '';
	//alert(month1 +">"+ month2 +"|| ("+month1+"=="+month2 +"&&"+ day1 +">="+ day2+")")
	if(month1 > month2 || (month1==month2 && day1 >= day2 )){
		alert(idma['invalidDepartureMonth']);
		return false
	}
	//if() error = msgError;
	return true;
}


/******************************
*	funcion que valida una fecha
*******************************/
function isValidDate(day,month,year){
	if(month==0|| day==0) return false;
	//verificamos Febrero
	if(month==2){
		var anyBisiest = isLeapYear(year);
		if(anyBisiest == 1 && day >29) return false;
		else if(anyBisiest == 0 && day >28) return false;
	}
	//31
	if((month==2||month==4||month==6||month==9||month==11)&& day >30)return false;

	//Comprovem que la data no sigui del passat. La variable jsAvui conté la data d'avui del servidor
	var d1 = new Date(year, month-1, day);
	var t = jsAvui.split("-");
	var avui =  new Date(t[0], t[1]-1, t[2]);
	if (d1 < avui) return false;
	return true;
}



function comprovaDatas(){
	var fecha='<?=date("d-n-Y")?>';
	fecha=fecha.split("-");
	if(document.getElementById("ArrivalMonthYear").selectedIndex > document.getElementById("DepartureMonthYear").selectedIndex){
		alert(fechaMes);
		return false;
	}
	if(document.getElementById("ArrivalMonthYear").selectedIndex==document.getElementById("DepartureMonthYear").selectedIndex)
		if(document.getElementById("ArrivalDay").selectedIndex>=document.getElementById("DepartureDay").selectedIndex)
		{
			alert(fechaDia);
			return false;
		}
	var mesAnyo=fecha[1]+"-"+fecha[2];
	if(document.getElementById("ArrivalMonthYear").value==mesAnyo)
	{
		if(parseInt(document.getElementById("ArrivalDay").options[document.getElementById("ArrivalDay").selectedIndex].text,10)<parseInt(fecha[0],10))
		{
			alert(fechaPasado);
			return false;
		}
	}
	return true;
}

function generarUrl()
{
	var formSearch=document.getElementById("cercaApartament");
	if (isValidRangeDates(formSearch))
	{
		var city = IDCIUTAT;
		if (formSearch.city != undefined)city = formSearch.city.value;
		if (city == "-1" || city == -1) city = "";
		var arrivalDay=formSearch.ArrivalDay.value;
		var tmp=formSearch.ArrivalMonthYear.value;
		tmp=tmp.split("-");
		var arrivalMonth=tmp[0];
		var arrivalYear=tmp[1];
		var departureDay=formSearch.DepartureDay.value;
		var tmp=formSearch.DepartureMonthYear.value;
		tmp=tmp.split("-");
		var departureMonth=tmp[0];
		var departureYear=tmp[1];
		var numPer=formSearch.NumPer.value;
		var numHab=formSearch.NumHab.value;
		var categoryId=formSearch.categoryId.value;
		var uri=jsUrlSearch+"?city="+city+"&arrivalDate="+arrivalYear+"-"+arrivalMonth+"-"+arrivalDay+"&departureDate="+departureYear+"-"+departureMonth+"-"+departureDay+"&numPer="+numPer+"&numHab="+numHab+"&categoryId="+categoryId;
		document.location=uri;
	}
}

