///----------------------------------------------------------------------------------
/// Function	 : SBInit
/// Description: init values for search box (for WHL main-site)
///----------------------------------------------------------------------------------
function SBInit()
{
	var frmAccm = document.AccmSearch;
	var frmTour = document.TourSearch;
	//-- init country list
	for (var i=0; i<arrWhlCountry.length; i++){
		AddComboOption(frmAccm.sb_country_accm,arrWhlCountry[i],i);
		AddComboOption(frmTour.sb_country_tour,arrWhlCountry[i],i);
	}
}
///----------------------------------------------------------------------------------
/// Function	 : SearchInit
/// Description: init values for search box (for destination site)
///----------------------------------------------------------------------------------
function SearchInit()
{
	var frmAccm = document.AccmSearch;
	var frmTour = document.TourSearch;
	if (frmAccm.sb_check_in && frmAccm.sb_check_out){
		Calendar.setup({inputField:"sb_check_in", ifFormat:"%d/%m/%Y", showsTime:false, 
			timeFormat:"24", button:"sb_btn_check_in", singleClick:true, step:1});
		Calendar.setup({inputField:"sb_check_out", ifFormat:"%d/%m/%Y", showsTime:false, 
			timeFormat:"24", button:"sb_btn_check_out", singleClick:true, step:1});
	}
	if (frmTour.sb_starting)
	{
		Calendar.setup({inputField:"sb_starting", ifFormat:"%d/%m/%Y", showsTime:false, 
			timeFormat:"24", button:"sb_btn_starting", singleClick:true, step:1});
	}
}
///----------------------------------------------------------------------------------
/// FindAccommodation
///	Description:	Switch to search accommodation view
///----------------------------------------------------------------------------------
function FindAccommodation() {
	ChangeObjectVisibility('search_accm', true);
	ChangeObjectVisibility('search_tour', false);
	SetCookie("search_state", "accm");
}

///----------------------------------------------------------------------------------
/// FindTours
///	Description:	Switch to search tour view
///----------------------------------------------------------------------------------
function FindTours() {
	ChangeObjectVisibility('search_accm', false);
	ChangeObjectVisibility('search_tour', true);
	SetCookie("search_state", "tour");
}

///----------------------------------------------------------------------------------
/// ShowHideAccmAdvSearch
///	Description:	Get all value which chose in location or accm_theme checkbox button to show on form
/// Input: 			FieldName: checkbox name
///----------------------------------------------------------------------------------
function ShowHideAccmAdvSearch(mode) {	
	ChangeObjectVisibility("search_accm_adv", mode);
	ChangeObjectVisibility("search_accm_adv_hide", !mode);
	ChangeObjectVisibility("search_accm_adv_show", mode);
	var frm = document.AccmSearch;
	SetCookie("search_showadv", (mode?"1":"0"));
}
///----------------------------------------------------------------------------------
/// Function	 : SBOnSelCountry
/// Description: Even handler - a country selected (for WHL-main)
///----------------------------------------------------------------------------------
function SBOnSelCountry(elm,frm)
{
	var frmAccm = document.AccmSearch;
	var frmTour = document.TourSearch;
	//-- remove old city list
	var len = frmAccm.sb_city_accm.options.length;
	for(var i=0;i<len-1;i++){
		frmAccm.sb_city_accm.remove(1);	
		frmTour.sb_city_tour.remove(1);	
	}
	//-- sync 2 country box
	if (frm=="accm") frmTour.sb_country_tour.selectedIndex = elm.selectedIndex;
	else frmAccm.sb_country_accm.selectedIndex = elm.selectedIndex;
	//-- add new list
	if (elm.selectedIndex==-1 || elm.selectedIndex==0 || 
			arrWhlCity[elm.selectedIndex-1].length==0 || 
			(arrWhlCity[elm.selectedIndex-1].length==1 && arrWhlCity[elm.selectedIndex-1][0]=='-') ){
		frmAccm.sb_city_accm.disabled = true;
		frmTour.sb_city_tour.disabled = true;
		return;
	}

	for (var i=0; i<arrWhlCity[elm.selectedIndex-1].length; i++){
		frmAccm.sb_city_accm.disabled = false;
		frmTour.sb_city_tour.disabled = false;

		AddComboOption(frmAccm.sb_city_accm,arrWhlCity[elm.selectedIndex-1][i],i);
		AddComboOption(frmTour.sb_city_tour,arrWhlCity[elm.selectedIndex-1][i],i);
	}
}
///----------------------------------------------------------------------------------
/// Function	: OnSelCity (for WHL-main)
///----------------------------------------------------------------------------------
function SBOnSelCity(elm,frm)
{
	var frmAccm = document.AccmSearch;
	var frmTour = document.TourSearch;
	//-- sync 2 city box
	if (frm=="accm") frmTour.sb_city_tour.selectedIndex = elm.selectedIndex;
	else frmAccm.sb_city_accm.selectedIndex = elm.selectedIndex;
}

///----------------------------------------------------------------------------------
/// SBGetValueCheckAccm
///	Description:	Get all value which chose in location or accm_theme checkbox button to show on form
/// Input: 			FieldName: checkbox name
///----------------------------------------------------------------------------------
function SBGetValueCheckAccm(FieldName)
{		
	var frm = document.AccmSearch;
	var strSelItem = '';
	var selNumItem = 0;
	for(i=0; i < frm.elements.length; i++) {
		if ((frm.elements[i].name != (FieldName+'[]')) && (frm.elements[i].name != FieldName)) continue;
		elm = frm.elements[i];
		if (elm.checked) {
			if (selNumItem<3){
				if ( strSelItem != '' )	strSelItem += ', ';
				strSelItem += frm.elements[FieldName+'_name_'+elm.value].value;
				selNumItem++;
			} else {
				strSelItem += ' ..';
				break;
			}
		}
	}			
	GetObjectById(FieldName+'_list').innerHTML = strSelItem;
	if (selNumItem==1) ChangeObjectVisibility(FieldName+'_list', true);
	if (selNumItem==0) ChangeObjectVisibility(FieldName+'_list', false);
}
///----------------------------------------------------------------------------------
/// SBGetValueCheckTour
///	Description:	Get all value which chose in tour_theme checkbox button to show on form
/// Input: 			FieldName: checkbox name
///----------------------------------------------------------------------------------
function SBGetValueCheckTour(FieldName) {
	var frm = document.TourSearch;
	var strSelItem = '';
	var selNumItem = 0;
	for(i=0; i < frm.elements.length; i++) {
		if (frm.elements[i].name != (FieldName+'[]')) continue;
		elm = frm.elements[i];
		if (elm.checked) {
			if (selNumItem<3){
				if ( strSelItem != '' )	strSelItem += ', ';
				strSelItem += frm.elements[FieldName+'_name_'+elm.value].value;
				selNumItem++;
			} else {
				strSelItem += ' ..';
				break;
			}
		}
	}
	GetObjectById(FieldName+'_list').innerHTML = strSelItem;
	if (selNumItem==1) ChangeObjectVisibility(FieldName+'_list', true);
	if (selNumItem==0) ChangeObjectVisibility(FieldName+'_list', false);
}

///----------------------------------------------------------------------------------
/// SBOnDestChange (for inf. site)
///	Description: the destination criteria on search box changed
///----------------------------------------------------------------------------------
var xSBTownUpdated = false;
function SBOnDestChange(elm) {
	frm = document.AccmSearch;
	if (!frm || !elm) return(false);
	xSBTownUpdated = false;
}

///----------------------------------------------------------------------------------
/// SBShowTown (for inf. site)
///	Description: the destination criteria on search box changed
///----------------------------------------------------------------------------------
function SBShowTown(evt) {
	buttonMouseover(evt, 'menu1');
	if (xSBTownUpdated){
		return(true);
	}
	
	frm = document.AccmSearch;
	if (!frm) return(false);
	var xSiteId = frm.sb_destination.options[frm.sb_destination.selectedIndex].value;
	if (xSiteId==0) return(false);
	var elmMenu = GetObjectById('menu1');
	if (!elmMenu) return(false);
	elmMenu.innerHTML = "Please wait ..";
	
	//-- retrieve list of town/suburb
	var x = (window.ActiveXObject) ? new ActiveXObject("Microsoft.XMLHTTP"): new XMLHttpRequest();
	if (x) {
		x.onreadystatechange = function()	{
			if (x.readyState == 4 && x.status == 200) {
				//if (func!=null) this.func( x.responseText );
				var elmMenu = GetObjectById('menu1');
				if (!elmMenu) return(false);
				elmMenu.innerHTML = x.responseText;
			}
		}
		x.open("GET", "utils?act=get_town&dest_id="+xSiteId, true);
		x.setRequestHeader("Cache-Control", "no-cache");
		x.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT" ); 
		x.send(null);
	}
	
	xSBTownUpdated = true;
}

///----------------------------------------------------------------------------------
/// SubmitAccmSearch
///	Description: submit search accommodation request
///----------------------------------------------------------------------------------
function SubmitAccmSearch()
{
	frm = document.AccmSearch;
	if (!frm) return;
	if(CompareDate(frm.sb_check_in.value, frm.sb_check_in.value) == 1){			
		alert("Please input check_in < check_out");
		return(false);
	}	else {
		if (frm.sb_destination){
			var val=frm.sb_destination.options[frm.sb_destination.selectedIndex].value;
			var arr=val.match(/^(.*)\|(.*)$/);
			if (arr && arr.length==3){
				frm.site.value = arr[1];
				frm.city.value = arr[2];
			} else return;
		}
		frm.submit();
	}
}

///----------------------------------------------------------------------------------
/// SubmitTourSearch
///	Description: submit search tours request
///----------------------------------------------------------------------------------
function SubmitTourSearch()
{
	frm = document.TourSearch;
	if (!frm) return;
	frm.submit();
}

function UncheckElements(arrElmName){
	for(var k=0; k<arrElmName.length; k++){
		var elm=document.getElementsByName(arrElmName[k]);
		for (var i=0; i<elm.length; i++){
			elm[i].checked = false;
		}
	}
}
///----------------------------------------------------------------------------------
/// ResetSearch
///	Description: reset the search box
///----------------------------------------------------------------------------------
function ResetSearchBox(iSiteType)
{
	frm = document.AccmSearch;
	frm.sb_accm_type.selectedIndex = 0;
	frm.sb_accm_category.selectedIndex = 0;
	frm.sb_free_text_accm.value = "";
	if (iSiteType=='dest'){
		ChangeObjectVisibility('sb_site_location_list', false);
		ChangeObjectVisibility('sb_attr_point_list', false);
		ChangeObjectVisibility('sb_accm_theme_list', false);

		var arrElmName = new Array("radLocation","sb_site_location[]","sb_attr_point","sb_accm_theme[]");
		UncheckElements(arrElmName);
	} else {
		var arrElmName = new Array("sb_site_location[]");
		UncheckElements(arrElmName);

		ChangeObjectVisibility('sb_site_location_list', false);
	}
	
	frm = document.TourSearch;
	frm.sb_cbDuration.selectedIndex = 0;
	frm.sb_free_text_tour.value = "";
	if (iSiteType=='dest'){
		ChangeObjectVisibility('sb_tour_theme_list', false);
		var arrElmName = new Array("sb_tour_theme[]");
		UncheckElements(arrElmName);
	}
	SetCookie("search_reset","1");
}
