



/*******************************************************
// QUICK SEARCH
*********************************************************/

var quickSearchResults = new Array();

var auto;
var numCaractersSearch = 3;
var numCaractersSearchwithNH = 4;

var previousTextQuickSearch;
var ajaxRequestDone = false;
var input_ajax_indicator_className = "input_ajax_indicator";

function launchSearch(textToSearch) {
	var numCaractersToLaunchSearch = numCaractersSearch;
	if (textToSearch.toUpperCase().indexOf('NH ') == 0) { // the text starts with 'NH '
		numCaractersToLaunchSearch = numCaractersSearchwithNH;
	}
	if (textToSearch.length < numCaractersToLaunchSearch) {
		ajaxRequestDone = false;
		return false;
	} else if (textToSearch.length == numCaractersToLaunchSearch) {
		if (textToSearch.substr(0, numCaractersToLaunchSearch) != previousTextQuickSearch) {
			previousTextQuickSearch = textToSearch.substr(0, numCaractersToLaunchSearch);
			ajaxRequestDone = true;
			return true;
		} else {
			ajaxRequestDone = true;
			return false;
		}
	} else if (textToSearch.length > numCaractersToLaunchSearch && ajaxRequestDone == false) {
		ajaxRequestDone = true;
		return true;
	}
}

function quickSearch(lon, ajaxRequestUrl) {
	var field = document.searchForm.stext1.value.substr(0, lon);
	if (!launchSearch(field)) { return; }
	var queryString = "";
	var date = new Date();

	// Actual Map Paramateres
	queryString+= "&text=" + encodeURIComponent(field);
	queryString+= "&TS=" + date.getTime();

	// Ajax loading
	var ajax = document.getElementById('stext1');
	ajax.className = "long4 " + input_ajax_indicator_className;
	// Ajax request
	sendXMLRequest(ajaxRequestUrl + queryString, processQuickSearchResults);
}

function processQuickSearchResults(xmlObject) {
	if (xmlObject == null) {
		return;
	}
	var resultsGroup = xmlObject.getElementsByTagName("results")[0];
	var results = resultsGroup.getElementsByTagName("result");
	quickSearchResults = new Array();
	for (var i = 0; i < results.length; i++) {
		quickSearchResults.push(new Array(
			results[i].getElementsByTagName("name")[0].firstChild.nodeValue,
			(results[i].getElementsByTagName("country") [0] == null)?"":results[i].getElementsByTagName("country")[0].firstChild.nodeValue,
			(results[i].getElementsByTagName("city")[0] == null)?0:results[i].getElementsByTagName("city")[0].firstChild.nodeValue,
			(results[i].getElementsByTagName("hotel")[0] == null)?0:results[i].getElementsByTagName("hotel")[0].firstChild.nodeValue,
			(results[i].getElementsByTagName("type")[0] == null)?"":results[i].getElementsByTagName("type")[0].firstChild.nodeValue)
		);
	}
	auto.setSuggestions(quickSearchResults, document.searchForm.stext1.value);
	// Ajax loading
	var ajax = document.getElementById('stext1');
	ajax.className = "long4";
}

function changeCountry1Wrapper(countryId, cityId, hotelId, submit) {
	if (submit == null || (document.searchForm.country1.value == 0 && document.searchForm.city1.value == 0 && document.searchForm.hotel1.value == 0)) {
		preloadCCH(document.searchForm.country1, document.searchForm.city1, document.searchForm.hotel1, countryId, cityId, hotelId, 'All cities', 'All hotels');
	}
}

var SCR_MSG_CSEARCH_ESCRIBA_CIUDAD_HOTEL = 'City, hotel or point of interest';

function resetQuickSearch() {
	document.searchForm.stext1.value = SCR_MSG_CSEARCH_ESCRIBA_CIUDAD_HOTEL;
}

//*****************************************************************************