var xmlhttp=false;
var xmlhttp_map=false;

function initRequest(){

    var xmlhttptemp = false;

    if(window.XMLHttpRequest) {
        try {
            xmlhttptemp = new XMLHttpRequest();
        } catch(e) {
            xmlhttptemp = false;
        }
    } else if(window.ActiveXObject) {
        try {
            xmlhttptemp = new ActiveXObject("Msxml2.XMLHTTP");
        } catch(e) {
            try {
                xmlhttptemp = new ActiveXObject("Microsoft.XMLHTTP");
            } catch(e) {
                xmlhttptemp = false;
            }
        }
    }
    return xmlhttptemp;
}

/* main regional search form */
function ads_do_qsearch(from){

  if (isNaN(from)) from = 0;

  xmlhttp = initRequest();

  var url = baseuri + '/asearch?'+sid;
  var flds=new Array('region','department','sleeps','bedrooms');
  for (i=0; i<4; i++) {
    var v = _el(flds[i]).value;
    if (v) url += '&'+flds[i]+'='+escape(v).replace(/\+/g,'%2B');
  }
  if ((_el('price').value)*1>0) {
    url+='&highlow='+_el('highlow').value+'&price='+_el('price').value+'&basecur='+_el('basecur').value;
  }
  flds=new Array('wheelchair_access','children','smokers','pets');
  for (i=0; i<4; i++) {
    if (_el(flds[i]).checked != '') url+='&'+flds[i]+'=1';
  }
  var p='';
  if (_el('haspool').checked) p=1;
  if (_el('privatepool')) {
    if (_el('privatepool').checked != '') p='private';
  }
  if (p) url += '&pool='+p;
  var sdt = _el('start_date').value;
  var edt = _el('end_date').value;
  if (sdt && edt) url+='&start='+sdt+'&end='+edt;
  url += '&from='+from;
  xmlhttp.onreadystatechange=show_search_results;
  xmlhttp.open("GET",url,true);
  xmlhttp.send(null);
  _el('wait').innerHTML = 'please wait';
}

var itv;
function changePrice() {
  if (itv) window.clearTimeout(itv);
  itv=window.setTimeout("ads_do_qsearch()",1000);
}

function show_search_results() {
    if (xmlhttp.readyState==4){
        if (xmlhttp.status == 200) {
            _el('listingsright').innerHTML = xmlhttp.responseText;
            _el('wait').innerHTML = '&nbsp;';
        } else {
            alert("There was a problem retrieving the XML data:\n" + xmlhttp.statusText);
        }
    }
}

/* Home page quick search */
function ads_get_total() {

  xmlhttp = initRequest();
  var region = _el('region').value;
  var department = _el('department').value;
  var bedrooms = _el('bedrooms').value;
  var sleeps = _el('sleeps').value;
  var pool = _el('haspool').checked;
  var p='';
  if (pool) p=1;

  xmlhttp.onreadystatechange=show_total_matches;
  var url = baseuri + '/asearch?'
      +'&region='+escape(region).replace(/\+/g,'%2B')
      +'&department='+escape(department).replace(/\+/g,'%2B')
      +'&bedrooms='+escape(bedrooms).replace(/\+/g,'%2B')
      +'&sleeps='+escape(sleeps).replace(/\+/g,'%2B')
      +'&pool='+p
      +'&total=1'
      +'&'+sid;
    xmlhttp.open("GET",url,true);
    xmlhttp.send(null);

}

function show_total_matches() {
    if (xmlhttp.readyState==4){
        if (xmlhttp.status == 200) {
            _el('matching').innerHTML = xmlhttp.responseText;
        } else {
            alert("There was a problem retrieving the XML data:\n" + xmlhttp.statusText);
        }
    }
}

/* property tab */
function a_property_tab (id,tab) {
  if (oldTab!='') {
      _el('tab'+oldTab).className = '';
  }
  oldTab = tab;
  _el('tab'+tab).className = 'currtab';

  xmlhttp = initRequest();
  xmlhttp.onreadystatechange=show_property_tab;
  var url = baseuri + '/properties/'+id+'/'+tab+'.html';
  //alert(url);
  xmlhttp.open("GET",url,true);
  xmlhttp.send(null);
  return false;
}

function show_property_tab() {
    if (xmlhttp.readyState==4){
        if (xmlhttp.status == 200) {
            _el('proptab').innerHTML = xmlhttp.responseText;
        } else {
            alert("There was a problem retrieving the XML data:\n" + xmlhttp.statusText);
        }
    }
}

/* property tab */
function a_blog (pid,bid) {
  if (oldBlog!='') {
      _el(oldBlog).innerHTML = '&nbsp;';
  }
  oldBlog = 'blog'+bid;

  xmlhttp = initRequest();
  xmlhttp.onreadystatechange=show_blog;
  var url = baseuri + '/properties/'+pid+'/blog'+bid+'.html?getone=1';
  //alert(url);
  xmlhttp.open("GET",url,true);
  xmlhttp.send(null);
  return false;
}

function show_blog() {
    if (xmlhttp.readyState==4){
        if (xmlhttp.status == 200) {
            _el(oldBlog).innerHTML = xmlhttp.responseText;
        } else {
            alert("There was a problem retrieving the XML data:\n" + xmlhttp.statusText);
        }
    }
}
