



var layer_geo = new Layer("geo_search", "link_geo_search");
var layer_address = new Layer("address_search", "link_address_search");
var layer_poi = new Layer("point_interest_search", "link_point_interest_search");
var searchLayerGroup = new LayerGroup();
searchLayerGroup.setLayerGroup(new Array(layer_geo, layer_address, layer_poi));

var urlCalendarReservations_iFrame = "/nh/Layer.Controller?event=3&formName=searchForm&calendarDivName=calendar&fIniVisualInputName=stdate&fIniInputName=fini&fOutVisualInputName=enddate&fOutInputName=fout&startDateDayId=startDateDay&endDateDayId=endDateDay&nnightsName=nights&twoMonth=1&twoDates=1&dateSelectedID=dateSelected";
var urlCalendar2Reservations_iFrame = "/nh/Layer.Controller?event=2&formName=ModificarForm&calendarDivName=calendarReservation&fIniVisualInputName=stdate&fIniInputName=fini&twoMonth=0&twoDates=0";

var SHORT_MONTH_NAMES = new Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec");

function initReservations() {
	var f = document.searchForm;

	// back browser
	var stype = f.stype.value;
	if (stype != 1) {
		searchLayerGroup.showSelectedLayer(stype - 1);
	}

	if(f.country1.selectedIndex > 0)
		changeCountry(f.country1, f.city1, f.hotel1, 'All cities', 'All hotels');

	if(f.country2.selectedIndex > 0)
		changeCountry(f.country2, f.city2, null, 'Select a city', null, jsCitiesSearch);

	if(f.country3.selectedIndex > 0)
		changeCountry(f.country3, f.city3, null, 'Select a city', null, jsCitiesSearch);

	auto = new AutoSuggest(document.getElementById('stext1'), document.searchForm.country1, document.searchForm.city1, document.searchForm.hotel1, quickSearchResults, "submitReservation()");
	document.searchForm.stext1.value = 'City, hotel or point of interest' ;

	// B. Load page
	changeSearchMethod(sType);
	loadAll(country, city, hotel, f.stype.value);

	// C. Preload Calendar Dates
	if (searchParameters_fIni != null && searchParameters_fIni != '') {
		f.stdate.value = createVisualFormattedDate(createDateFromCode(searchParameters_fIni), SHORT_MONTH_NAMES);
		f.fini.value = searchParameters_fIni;
		f.enddate.value = createVisualFormattedDate(createDateFromCode(searchParameters_fOut), SHORT_MONTH_NAMES);
		f.fout.value = searchParameters_fOut;
	}
}

function submitReservation() {
	var url = submitSearchForm();
	if (url !== false) document.location.href=url;
}

function submitUpdateReservation(f) {
	var loc = f.localizador;
	var email = f.email;
	var fIni = f.fini;
	if (loc.value == '') {
		alert('Please enter your booking number');
	} else if (email.value == '') {
		alert ('Please insert your email address');
	} else if (fIni.value == '') {
		alert ('Please insert an arrival date');
	} else  {
		var date = getDate(fIni.value);
		f.dia_entrada.value = date.getDate();
		f.mesanyo_entrada.value = date.getMonth() + 1 + '' + date.getFullYear();
		f.mes_entrada.value = date.getMonth() + 1;
		f.ano_entrada.value = date.getFullYear();
		f.submit();
	}
}

function getDate(dateString) {
	var _dateArray = dateString.split("-");
	if (isArray(_dateArray) && _dateArray.length == 3 && isInteger(_dateArray[2]) && _dateArray[2].length == 4 && isInteger(_dateArray[1]) && _dateArray[1].length <= 2 && isInteger(_dateArray[0]) && _dateArray[0].length <= 2) {
		return new Date(_dateArray[2], _dateArray[1], _dateArray[0]);
	} else {
		return null;
	}
}