
function buscador_onchange(quin)
{
	if(quin == "arribada"){
		actualitzaDiesBuscador("arribada");
		if(document.getElementById("DepartureMonthYear").selectedIndex < document.getElementById("ArrivalMonthYear").selectedIndex){
			document.getElementById("DepartureMonthYear").selectedIndex = document.getElementById("ArrivalMonthYear").selectedIndex;
			actualitzaDiesBuscador("sortida")
		}
	}
	else if(quin == "sortida"){
		actualitzaDiesBuscador("sortida");
		if(document.getElementById("ArrivalMonthYear").selectedIndex > document.getElementById("DepartureMonthYear").selectedIndex){
			document.getElementById("ArrivalMonthYear").selectedIndex = document.getElementById("DepartureMonthYear").selectedIndex;
			actualitzaDiesBuscador("arribada")
		}
	}
	if(quin == "arribadaAvailability"){
		actualitzaDiesBuscador("arribadaAvailability");
		if(document.getElementById("DepartureMonthYearAvailability").selectedIndex < document.getElementById("ArrivalMonthYearAvailability").selectedIndex){
			document.getElementById("DepartureMonthYearAvailability").selectedIndex = document.getElementById("ArrivalMonthYearAvailability").selectedIndex;
			actualitzaDiesBuscador("sortidaAvailability")
		}
	}
	else if(quin == "sortidaAvailability"){
		actualitzaDiesBuscador("sortidaAvailability");
		if(document.getElementById("ArrivalMonthYearAvailability").selectedIndex > document.getElementById("DepartureMonthYearAvailability").selectedIndex){
			document.getElementById("ArrivalMonthYearAvailability").selectedIndex = document.getElementById("DepartureMonthYearAvailability").selectedIndex;
			actualitzaDiesBuscador("arribadaAvailability")
		}
	}
}



/**
 *	Actualitza els dies del buscador quan es canvia el mes
 */
function actualitzaDiesBuscador(quina)
{
	var diesObj = null;
	var mesosObj = null;
	if (quina == "arribada"){
		diesObj = document.getElementById("ArrivalDay");
		mesosObj = document.getElementById("ArrivalMonthYear");
	}
	else if (quina == "sortida"){
		diesObj = document.getElementById("DepartureDay");
		mesosObj = document.getElementById("DepartureMonthYear");
	}
	else if (quina == "arribadaAvailability"){
		diesObj = document.getElementById("ArrivalDayAvailability");
		mesosObj = document.getElementById("ArrivalMonthYearAvailability");
	}
	else if (quina == "sortidaAvailability"){
		diesObj = document.getElementById("DepartureDayAvailability");
		mesosObj = document.getElementById("DepartureMonthYearAvailability");
	}
	if (!diesObj || !mesosObj) return;

	var str = new String(mesosObj.value);

	var mesAnyArr = str.split("-");
	var any = mesAnyArr[1];
	var mes = parseInt(mesAnyArr[0], 10)-1;
	var d = new Date();

	var maxLength = 0;
	for(var i=0; i<7; i++){
		if (DiaSetmana[i].length > maxLength) maxLength = DiaSetmana[i].length;
	}

	var sel = diesObj.options[diesObj.selectedIndex].value;

	diesObj.options.length = 0;
	for(var i=1; i<=31; i++){
		d.setFullYear(any, mes, i);
		if (d.getMonth() !=  mes) break;
		// d.getDay() dóna 0=diumenge .. 6=dissabte, perň l'array de dies el tenim 0=dilluns .. 6=diumenge
		var tdia = d.getDay()-1;
		if (tdia < 0) tdia = 6;
		var ttext = DiaSetmanaHTML[tdia];
		var tmp = DiaSetmana[tdia];
		for(var j=tmp.length; j<maxLength; j++) ttext += "&nbsp;";
		ttext += "&nbsp;";
		if (i < 10) ttext += "&nbsp;";
		ttext += i;

/*		var ttext = i + "&nbsp;&nbsp;" + DiaSetmana[d.getDay()];
		if (i<10) ttext = "&nbsp;"+ttext;
*/
		var ti = (i < 10) ? "0"+i : i;
		var opt = creaOption(diesObj, ttext, ti, (sel == i));
	}
}

function creaOption(selObj, ttextHTML, tvalue, bSel)
{
	var elOptNew = document.createElement('option');
	elOptNew.text = ttextHTML;
	elOptNew.value = tvalue;
	try {
		selObj.add(elOptNew, null); // standards compliant; doesn't work in IE
	}
	catch(ex) {
		selObj.add(elOptNew); // IE only
	}
	elOptNew.innerHTML = ttextHTML;
	if (bSel) elOptNew.selected = "selected";
	return elOptNew;
}


/**
 *	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["Faltan datos"]);

	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("-");


	if(!isValidDate(d1,m1[0],m1[1])){alert(idma['Fecha de llegada incorrecta']); return false;}
	if(!isValidDate(d2,m2[0],m2[1])){alert(idma['Fecha de salida incorrecta']); 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['salida posterior a entrada']);
		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(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, day);
	var t = jsAvui.split("-");
	var avui =  new Date(t[0], t[1], t[2]);
	if (d1 < avui) 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;
		try{
			var numHab=formSearch.NumHab.value;
		}catch(e){
			var numHab=0;
		}
		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;
	}
}
*/

