function BuscarHoteles() {
	var CityName = getElement("CityName");
	var InDate = getElement("InDate");
	var OutDate = getElement("OutDate");
	var NumRoom = getElement("NumRoom");
	var idioma = getElement("lang");
	
	
	if(!validaDatos(CityName, InDate, OutDate, NumRoom)) {
		return;
	}
	
	
	/*if(!ValidaMenoresHabitaciones()) {
		return;
	}*/
	
	
	
	var ocupacion = "";
	var noches = (dateParse(OutDate.value, "/", false) - dateParse(InDate.value, "/", false)) / 86400000;
	noches = parseInt(noches);
	var url = "/hoteles/Buscador/ResultadosHoteles.aspx?"
	var i = 0;
	var j = 0;
	var menores = 0;
	var edad = "";
	
	for(i = 0; i < NumRoom.value; i++) {
		ocupacion += getElement("ocupacion" + (i + 1)).value;
		
				
		
		if(getElement("ocupacion" + (i + 1)).value.length == 1) {
			menores = 0;
			edad += "-";
		} else {
			menores = getElement("ocupacion" + (i + 1)).value.substring(2, 3);
		}
		
		for(j = 0; j < menores; j++) {
			edad += getElement("edad" + (i + 1) + "_" + (j + 1)).value;
			if(getElement("edad" + (i + 1) + "_" + (j + 1)).value == "-") {
				alert(Error_EdadMenores);
			
				return;
			}
			if(j != (menores - 1)) {
				edad += "-";
			}
		}
		
		if(i != NumRoom.value - 1) {
			ocupacion += "/";
		}
		edad += "/";
	}
	
	
	
	url += "&pob=" + CityName.value;
	url += "&cat=1";
	
	url += "&fent=" + dateParse(InDate.value, "-", true);
	url += "&n=" + noches;
	url += "&numhab=" + NumRoom.value;
	url += "&ocupa=" + ocupacion;
	url += "&edades=" + edad;
	url += "&lang=" + idioma.value ;
	
	
	
	url += "&ureg=OB";
	
	//getElement("lblVuelHot").innerHTML = "<a href=\"http://hoteles.muchoviaje.com" + url + "\">enlace</a>";
	//alert(url);
	getElement("Espera").style.visibility = "visible";
	getElement("page").style.display = "none";
	document.location = url;
}


function validaDatos(CityName, InDate, OutDate, NumRoom) {
	if(CityName.value == "") {
		alert(Error_Ciudad);
		return false;
	}
	
	if(InDate.value == "" || !(/^[0-9]{1,2}\-|\/[0-9]{1,2}\-|\/[0-9]{2,4}$/.test(InDate.value))) {
		alert(Error_FechaEntrada);
		return false;
	}
	
	if(OutDate.value == "" || !(/^[0-9]{1,2}\-|\/[0-9]{1,2}\-|\/[0-9]{2,4}$/.test(InDate.value))) {
		alert(Error_FechaSalida);
		return false;
	}
	
	if(NumRoom.value == "") {
		alert(Error_NumeroHabitaciones);
		return false;
	}
	
	return true;
}






function dateParse(date, separador, iso) {
	var arrayFecha = date.split("/");
	var fecha = arrayFecha[2] + separador + arrayFecha[1] + separador + arrayFecha[0];
	//alert(Date.parse(fecha))
	
	if(iso == true) {
		return fecha;
	} else {
		return Date.parse(fecha);
	}
}

function getElement(elementName) {
	return document.getElementById(elementName);
}


var now = new Date();

function dateStatus(date) {
	if(this.params.inputField.id == "OutDate") {
		var arrayFecha = getElement("InDate").value.split("/");
		var dateOut = new Date(arrayFecha[2], arrayFecha[1] - 1, parseInt(arrayFecha[0]) + 1);
		var month = parseInt(date.getMonth());
		var r = month%2;
		if (r==0) {
			if (date.getMonth()==dateOut.getMonth()) {
				this.date = dateOut;
			}
		} else {
			this.date = dateOut;
		}
		
		/*if (date.getMonth()%2!=0) {
			if (date.getMonth()==dateOut.getMonth()) {
				this.date = dateOut;
			}
		} else {
			this.date = dateOut;
		}*/

			
		if (date.getTime() < dateOut.getTime()) {
			return true; // true says "disable"
		} else {
			return false; // leave other dates enabled
		}
	} else {

		var arrayFecha = getElement("InDate").value.split("/");
		//var dateIn = new Date(arrayFecha[2], arrayFecha[1] - 1, parseInt(arrayFecha[0]));
		var dateIn = new Date(now.getFullYear(), now.getMonth(), now.getDate());
		
		var dateInAsLong = dateIn.getTime();
		var dateAsLong = date.getTime();

		if (dateAsLong < dateInAsLong) {
			return true; // true says "disable"
		} else {
			return false; // leave other dates enabled
		}
	}
}

function dateStatusGo (date) {
	var today = new Date();
	return date.getDay() == 7 ||
		(date.getTime() < today.getTime() - (1 * 24 * 60 * 60 * 1000) ||date.getTime() > today.getTime() + (12 * 30 * 24 * 60 * 60 * 1000));
}

function dateStatusReturn (date) {
	var today = new Date();
	var arrayFecha = getElement("InDate").value.split("/");
	var fechaInicio = new Date(arrayFecha[2], arrayFecha[1] - 1, parseInt(arrayFecha[0]) + 1);
	fechaInicio.setTime(parseInt(fechaInicio.getTime() + 1 * 24 * 60 * 60))
	return date.getDay() == 7 ||
	(date.getTime() < fechaInicio.getTime() - (1 * 24 * 60 * 60 * 1000) ||date.getTime() > today.getTime() + (12 * 30 * 24 * 60 * 60 * 1000));
}

function onUpdate(cal) {
	var date = cal.date;
	var time = date.getTime();
	var date2 = new Date(time + (1 * 24 * 60 * 60 * 1000));
	document.getElementById("OutDate").value = date2.print("%d/%m/%Y");
}

function onSelectOut(calendar, date) {
  var input_field = document.getElementById(this.params.inputField.id);
  input_field.value = date;
  if (calendar.dateClicked) {
    calendar.callCloseHandler(); // this calls "onClose" (see above)
  }
}


function setupCalendarSalida(calendar) {
	this.params.inputField = getElement("OutDate");
	this.params.button = getElement("OutDateCalendar");
	this.params.weekNumbers = false;
	this.params.firstDayOfWeek = 1;
}