function open_window(url)
{
   cwin = window.open(url, "cwin", "width=600,height=540,toolbar=no,resizable=yes,scrollbars=yes");
   cwin.focus();
}

function open_rental_cal(url)
{
   calwin = window.open(url, "calwin", "width=740,height=620,toolbar=no,resizable=yes,scrollbars=yes");
   calwin.focus();
}

function confirmDelete()
{
   var agree = confirm("Are you sure you want to delete?");
   if (agree)
      return true ;
   else
      return false ;
}

function confirmRented()
{
   var agree = confirm('Please confirm that a Rental Contract has been executed for this property and that you wish to change the status of this listing to "Rented".');
   if(agree)
      return true;
   else
      return false;
}

function confirmUnderContract()
{
   var agree = confirm('Please confirm that a Sale and Purchase Agreement has been executed in respect of this property and that you wish to change the status of this listing to "Under Contract".');
   if(agree)
      return true;
   else
      return false;
}

function confirmCancelled()
{
   var agree = confirm('Please confirm that you wish to cancel this listing. At its next renewal date, the property will be removed from the website and no further charges will be made to your credit card.');
   if(agree)
      return true;
   else
      return false;
}

function chkQuickSearchForm()
{
   min = parseInt(document.listingsearch['price-min'].value);
   max = parseInt(document.listingsearch['price-max'].value);
   tmp = min;
   if(min > max)
   {
      document.listingsearch['price-min'].value = max;
      document.listingsearch['price-max'].value = tmp;
   }
   if(min == max)
   {
      document.listingsearch['price-max'].value = "";
   }
}

// NEWS FUNCTIONS START

   function dmmg11()
   {
      dmdiv.innerHTML = singlemessage[iki];
      timer1 = setTimeout("dmmg12(dmdiv.style.top = msheight)", mspause);
      if(singlemessage.length > 1 && msblinks > 0) 
      {
         msblinks--;
      }
      return;
   }

   function dmmg12()
   {
      timer2 = setTimeout("dmmg11(dmdiv.style.top = 0)", msspeed);
      if(singlemessage.length > 1 && msblinks == 0)
      {
         msblinks = resumesmsb;
         if(iki == singlemessage.length-1)
         {
            iki = 0;
         }
         else
         {
            iki++;
         }
      }
      return;
   }

   function StartNews()
   {
      if(document.getElementById)
      {
         dmdiv = document.getElementById('newsdiv');
         dmmg11(dmdiv);
      }
      else if(document.all)
      {
         dmdiv = newsdiv;
         dmmg11();
      }
   }
// NEWS FUNCTIONS END


function chkBillingForm()
{
   var msg = "";
   var err = false;
   if(document.billingform.bname.value == "")
   {
      msg += " - Please fill out your name as on card.<br />";
      err = true;
   }
   if(document.billingform.baddr1.value == "")
   {
      msg += " - Please fill out your address.<br />";
      err = true;
   }
   if(document.billingform.bzip.value == "")
   {
      msg += " - Please fill out your zip/postal code.<br />";
      err = true;
   }
   
   if(err)
   {
      msg = "This form was not submitted due to the following errors:<br />" + msg;
      document.getElementById("err").innerHTML=msg;
      return false;
   }
   else
   {
      return true;
   }
}

// FLASH FIX
//v1.0
//Copyright 2006 Adobe Systems, Inc. All rights reserved.
function AC_AddExtension(src, ext)
{
  if (src.indexOf('?') != -1)
    return src.replace(/\?/, ext+'?'); 
  else
    return src + ext;
}

function AC_Generateobj(objAttrs, params, embedAttrs) 
{ 
  var str = '<object ';
  for (var i in objAttrs)
    str += i + '="' + objAttrs[i] + '" ';
  str += '>';
  for (var i in params)
    str += '<param name="' + i + '" value="' + params[i] + '" /> ';
  str += '<embed ';
  for (var i in embedAttrs)
    str += i + '="' + embedAttrs[i] + '" ';
  str += ' ></embed></object>';

  document.write(str);
}

function AC_FL_RunContent(){
  var ret = 
    AC_GetArgs
    (  arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
     , "application/x-shockwave-flash"
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_SW_RunContent(){
  var ret = 
    AC_GetArgs
    (  arguments, ".dcr", "src", "clsid:166B1BCA-3F9C-11CF-8075-444553540000"
     , null
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_GetArgs(args, ext, srcParamName, classid, mimeType){
  var ret = new Object();
  ret.embedAttrs = new Object();
  ret.params = new Object();
  ret.objAttrs = new Object();
  for (var i=0; i < args.length; i=i+2){
    var currArg = args[i].toLowerCase();    

    switch (currArg){	
      case "classid":
        break;
      case "pluginspage":
        ret.embedAttrs[args[i]] = args[i+1];
        break;
      case "src":
      case "movie":	
        args[i+1] = AC_AddExtension(args[i+1], ext);
        ret.embedAttrs["src"] = args[i+1];
        ret.params[srcParamName] = args[i+1];
        break;
      case "onafterupdate":
      case "onbeforeupdate":
      case "onblur":
      case "oncellchange":
      case "onclick":
      case "ondblClick":
      case "ondrag":
      case "ondragend":
      case "ondragenter":
      case "ondragleave":
      case "ondragover":
      case "ondrop":
      case "onfinish":
      case "onfocus":
      case "onhelp":
      case "onmousedown":
      case "onmouseup":
      case "onmouseover":
      case "onmousemove":
      case "onmouseout":
      case "onkeypress":
      case "onkeydown":
      case "onkeyup":
      case "onload":
      case "onlosecapture":
      case "onpropertychange":
      case "onreadystatechange":
      case "onrowsdelete":
      case "onrowenter":
      case "onrowexit":
      case "onrowsinserted":
      case "onstart":
      case "onscroll":
      case "onbeforeeditfocus":
      case "onactivate":
      case "onbeforedeactivate":
      case "ondeactivate":
      case "type":
      case "codebase":
        ret.objAttrs[args[i]] = args[i+1];
        break;
      case "width":
      case "height":
      case "align":
      case "vspace": 
      case "hspace":
      case "class":
      case "title":
      case "accesskey":
      case "name":
      case "id":
      case "tabindex":
        ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
        break;
      default:
        ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
    }
  }
  ret.objAttrs["classid"] = classid;
  if (mimeType) ret.embedAttrs["type"] = mimeType;
  return ret;
}

function createXmlHttpRequestObject()
{
   var xmlHttp;
   try
   {
      xmlHttp = new XMLHttpRequest();
   }
   catch(e)
   {
      var XmlHttpVersions = new Array('MSXML2.XMLHTTP.6.0',
                                      'MSXML2.XMLHTTP.5.0',
                                      'MSXML2.XMLHTTP.4.0',
                                      'MSXML2.XMLHTTP.3.0',
                                      'MSXML2.XMLHTTP',
                                      'Microsoft.XMLHTTP');
      for(var i=0; i<XmlHttpVersions.length && !xmlHttp; i++)
      {
         try
         {
            xmlHttp = new ActiveXObject(XmlHttpVersions[i]);
         }
         catch (e) {}
      }
   }
   if(!xmlHttp)
   {
      alert("Error creating the XMLHttpRequest object.");
   }
   else
   {
      return xmlHttp;
   }
}

function processXmlHttpRequest(url, obj, func, act)
{
   xmlHttp = createXmlHttpRequestObject();
   if(xmlHttp)
   {
      try
      {
         xmlHttp.open("GET", url, true);
         xmlHttp.onreadystatechange = function()
                                      {
                                         eval('func(obj, act)');
                                      }
         xmlHttp.send(null);
      }
      catch(e)
      {
         alert("Can't connect to server:\n" + e.toString());
      }
   }
}

function getResponse(obj, act)
{
   myDiv = parent.document.getElementById(obj);
   if(xmlHttp.readyState >= 1 && xmlHttp.readyState <= 3 && act == 0)
   {
      myDiv.innerHTML = "<img src=\"/img/loading.gif\" alt=\"\" /> Processing...";
   }
   else if(xmlHttp.readyState == 4)
   {
      if(xmlHttp.status == 200)
      {
         try
         {
            response = xmlHttp.responseText;
            myDiv.innerHTML = response;
         }
         catch(e)
         {
            alert("Error: " + e.toString());
         }
      }
      else
      {
         alert("There was a problem retrieving the data:\n" +
         xmlHttp.statusText);
      }
   }
}

var lastSelectedTimeStamp = 0;

function populateRentalDates(d, ts)
{
   if(lastSelectedTimeStamp == 0)
   {
      parent.document.getElementById('from_date').value = d;
   }
   else
   {
      parent.document.getElementById('to_date').value = d;  
   }
   lastSelectedTimeStamp = ts;
}

function chkFromToForm()
{
   var msg = '';
   if(document.getElementById('ranges').value == '')
   {
      msg = 'Please select your booking period.';
      document.getElementById('err').className = 'form_failure';
      document.getElementById('err').innerHTML = msg;
      return false; 
   }
}

function remove_xy(btn_id)
{
   document.getElementById(btn_id).disabled = true;
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function preloadImages() {
  MM_preloadImages('/css/blue/mainnav_link_first_on_bg.png', 
                   '/css/blue/mainnav_link_final_on_bg.png', 
                   '/css/blue/mainnav_link_on_bg.png', 
                   '/css/blue/topnav_link_on_bg.png', 
                   '/css/blue/quicklister_sell_btn_on.png', 
                   '/css/blue/quicklister_lease_btn_on.png',
                   '/css/blue/mainnav_sub_link_on_bg.png',
                   '/css/blue/mainnav_sub_bg.png',
                   '/css/green/mainnav_link_first_on_bg.png', 
                   '/css/green/mainnav_link_final_on_bg.png', 
                   '/css/green/mainnav_link_on_bg.png', 
                   '/css/green/topnav_link_on_bg.png', 
                   '/css/green/quicklister_sell_btn_on.png', 
                   '/css/green/quicklister_lease_btn_on.png',
                   '/css/green/mainnav_sub_link_on_bg.png',
                   '/css/green/mainnav_sub_bg.png',
                   '/css/purple/mainnav_link_first_on_bg.png', 
                   '/css/purple/mainnav_link_final_on_bg.png', 
                   '/css/purple/mainnav_link_on_bg.png', 
                   '/css/purple/topnav_link_on_bg.png', 
                   '/css/purple/quicklister_sell_btn_on.png', 
                   '/css/purple/quicklister_lease_btn_on.png',
                   '/css/purple/mainnav_sub_link_on_bg.png',
                   '/css/purple/mainnav_sub_bg.png'
                  )  
}

function preloadFSBOImages() {
  MM_preloadImages('/img/seller-full_over.jpg', '/img/fsbo-full_over.jpg')  
}

function preloadFRBOImages() {
  MM_preloadImages('/img/landlord-full_over.jpg', '/img/frbo-full_over.jpg')  
}

function checkall(formname, checkname, thestate)
{
   var el_collection = eval("document.forms."+formname+"."+checkname)
   for (c=0;c<el_collection.length;c++)
      el_collection[c].checked=thestate
}