/////////////////////// Search request ///////////////////
function SearchResults() {
	
var data = 'typeID='+escape($('typeID').value)
data += '&sleeps='+escape($('sleeps').value)
data += '&propertycode='+escape($('propertycode').value)
data += '&startdate='+escape($('startdate_cal').value)
data += '&numbernights='+escape($('numbernights').value)
data += '&showpage='+escape($('showpage').value)
data += '&maxprice='+escape($('maxprice').value)
data += '&variableID='+escape($('variableID').value)
data += '&town='+escape($('town').value)
data += '&dogvariableID='+escape($('dogvariableID').value)
data += '&bedroomvariableID='+escape($('bedroomvariableID').value)

if ($('region_0')) {
data += '&region='+escape($('region_0').value)
}

if ($('region_1')) {
data += '&region_1='+escape($('region_1').value)
}

if ($('region_2')) {
data += '&region_2='+escape($('region_2').value)
}

if ($('region_3')) {
data += '&region_3='+escape($('region_3').value)
}

data += '&search_frm=1'

var rnd982g = Math.random(); 

  var aj = new Ajax.Request(
  'ajax/results.asp', {
   method:'GET',
   parameters: data + '&rnd982g='+rnd982g,
   onLoading: SearchLoading(),
   onComplete: getResponse
   }
  );
}

/////////////////////// Refine results progress spinner (in top right of h1) ///////////////////

function ajaxLoading() {
$('loading').innerHTML = '<img src="images/ajax-loader.gif" alt="" />';
}

/////////////////////// Main search progress spinner ///////////////////

function SearchLoading() {
$('loading').innerHTML = '<div id="loading_main"><img src="images/ajax-loader.gif" alt="" /> Searching for availability</div>';
}

/////////////////////// Process Ajax response ///////////////////

function getResponse(oReq) {
  $('ajax_results').innerHTML = oReq.responseText;
  $('loading').innerHTML = '';
  GetRegions();
}

/////////////////////// Build the variableID hidden form field ///////////////////

function SearchVariables() {
	
var chk_var = '';

if (document.varform.variableID_chk.length != undefined) {
for (var i=0; i < document.varform.variableID_chk.length; i++)
   {
   if (document.varform.variableID_chk[i].checked)
      {
		  if (chk_var == '') {
			chk_var = chk_var + document.varform.variableID_chk[i].value;
		  }
		  else
		  {
			 chk_var = chk_var + ',' + document.varform.variableID_chk[i].value; 
		  }
      }
   }
}
else
{


   if (document.varform.variableID_chk.checked)
      {
      chk_var = chk_var + document.varform.variableID_chk.value;
      }
}

$('variableID').value = chk_var;
$('showpage').value = '1';
}

/////////////////////// Search form validation ///////////////////

function validate(theForm) {
  var startDateString = document.searchform.startdate_cal.value;
  var endDateString = document.searchform.enddate_cal.value;

  var startDate = new Date(Date.parse(startDateString.replace(/-/g,' ')))
  var endDate = new Date(Date.parse(endDateString.replace(/-/g,' ')))
  var today = new Date();
  today.setHours(0,0,0,0)
  if (startDate < today) {
    alert('Start date cannot be in the past');
    return false;
  }
  if (endDate < today) {
    alert('End date cannot be in the past');
    return false;
  }
  if (startDate > endDate) {
    alert('Start date cannot be greater than end date');
    return false;
  }
  
  if (startDate == endDate) {
    alert('End date must be greater than start date');
    return false;
  }
  
  return true
} 


/////////////////////// Regions & towns ///////////////////
function ShowChange() {
	$('showchange').value='1';
}

function GetRegions() {
	
var level = $('level').value;

var parentID = $('region_' + level).value;

//if ($('region_' + (level-1))) {
//parentID = $('region_' + (level-1)).value;
//}

var container = 'region_list_' + level;

//Clear containters
var i=level
for (i=level;i<=5;i++)
{
	if ($('region_list_'+i)) {
	$('region_list_'+i).innerHTML = '';
	}
}

new Ajax.Updater(container,'ajax/region_list.asp', {parameters: 'level='+level+'&parentID='+parentID+'&showchange='+ $('showchange').value});

}

function SetLevel(level) {
		
	$('level').value = level;
}


function GetTowns(level,regionID) {
	new Ajax.Updater('towns_list','ajax/GetTowns.asp', {parameters: 'level='+level+'&id='+regionID});
}

function LoadTowns() {
	GetTowns(0,0);
}

function UpdateEndDate() {

var startDateString = $('startdate_cal').value

var d1 = new Date(Date.parse(startDateString.replace(/-/g,' ')))
var nights = parseInt($('numbernights').value);

d1.setDate(d1.getDate()+nights);

var nowStr = dateFormat(d1, "dd-mmm-yyyy");

$('enddate_cal').value=nowStr;

}

function UpdateNumberNights() {
	
var startDateString = $('startdate_cal').value
var endDateString = $('enddate_cal').value

var startDate = new Date(Date.parse(startDateString.replace(/-/g,' ')))
var endDate = new Date(Date.parse(endDateString.replace(/-/g,' ')))

dateDiff = Math.round((endDate-startDate)/(24*60*60*1000))

$('numbernights').value=dateDiff;

}
