function checkQuickSearchField() {
	if((document.suburbStreetSearch.SuburbStreet.value=='Enter suburb, street name or property ID') || (!document.suburbStreetSearch.SuburbStreet.value.length)) {
		alert("Please enter a Property ID, Street Name or Suburb.");
		return false;
	}
	else {return true;}
}
function do_quickSearch(){
	if(checkQuickSearchField())	{
		document.suburbStreetSearch.action = "index.cfm?pageCall=listings&FirstSearch=true";
		document.suburbStreetSearch.submit();
	}
}
function printWindow(){
   bV = parseInt(navigator.appVersion)
   if (bV >= 4) window.print()
}
function popupSaleSetDate() {window.open ("http://www.barryplant.com.au/saleBySetDate.htm", "mywindow","location=0,status=0,scrollbars=0,width=400,height=500");}
var activeParentID;
	
function do_cover(id,thisaction){
	if(thisaction == 'put')	{
		var thiswidth = '200';
		var thisheight = document.getElementById("items_" + id).offsetHeight;
		var thisleft = document.getElementById("items_" + id).offsetLeft;
		var thistop = document.getElementById("items_" + id).offsetTop;
		document.getElementById("items_" + id).style.zIndex = 10001;
		if(thiswidth > 0){
			document.getElementById('cover').style.zIndex = 10000;
			document.getElementById('cover').style.pixelWidth = thiswidth;
			document.getElementById('cover').style.pixelHeight= thisheight;
			document.getElementById('cover').style.left = thisleft;
			document.getElementById('cover').style.top = thistop;
			document.getElementById('cover').style.visibility = 'visible';
		}		
	}
	if(thisaction == 'hide'){
		document.getElementById('cover').style.visibility = 'hidden';
		document.getElementById('cover').style.offsetWidth = 0;
		document.getElementById('cover').style.offsetHeight= 0;
		document.getElementById('cover').style.left = 0;
		document.getElementById('cover').style.top = 0;	
	}
}

function findPosX(obj){
	var curleft = 0;
	if (obj.offsetParent){
		while (obj.offsetParent){
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}		
	}
	else if (obj.x){
		curleft += obj.x;
	}
	return curleft;
}
function findPosY(obj){
	var curtop = 0;
	if (obj.offsetParent){
		while (obj.offsetParent){
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj.y){
		curtop += obj.y;
	}
	return curtop;
}
var subMenu = "";
function showItemsDiv(id){
	if ((id != subMenu) && (subMenu > 0)){
		document.getElementById("items_" + subMenu).style.display = "none";
	}
	if (document.getElementById('items_'+id).innerHTML != ''){
		posX = (findPosX(document.getElementById("div_" + id)));
		posY = (findPosY(document.getElementById("div_" + id)));
		//alert("posX "+posX);
		document.getElementById("items_" + id).style.left = posX + 'px';
		document.getElementById("items_" + id).style.top = posY + 29 + 'px';
		document.getElementById("items_" + id).style.display = "inline";
		if (subMenu != id){
			if (subMenu){
				hideItemsDiv(subMenu)
			}
		}
		subMenu = id;
	}
	do_cover(id,"put");
	setTimeout("hideMenu(" + id + ")",100);
}
function hideMenu(id){
	if (!selItem){
		subMenu = "";
		hideItemsDiv(id);
	}
	else{
		setTimeout("hideMenu(" + id + ")",100);
	}
}
function hideItemsDiv(id){
	if (document.getElementById('items_'+id).innerHTML != ''){
		if (subMenu != id){
			document.getElementById("items_" + id).style.display = "none";
			do_cover(id,"hide");
		}
	}
}
var selItem = "";
function do_headerMouseOver(id){
	document.getElementById("div_" + id).className = "menuHeaderOver";
	selItem = id;
}
function do_headerMouseOut(id){
	if (activeParentID != id){
		document.getElementById("div_" + id).className = "menuHeader";
	}
	selItem = "";
}
function setSelItem(){
	selItem = "";
}
function do_itemMouseOver(id, parentId){
	document.getElementById("div_" + id).className = "menuItemOver";
	selItem = id;
	do_headerMouseOver(parentId);
}
function do_itemMouseOut(id, parentId){
	if (activeParentID != id){
		document.getElementById("div_" + id).className = "menuItem";
	}
	selItem = "";
	if ((parentId != '')&&(parentId != activeParentID)){
		do_headerMouseOut(parentId);
	}
}
function do_keypress(){
	currentSubmenu = subMenu;
	if (currentSubmenu > 0){subMenu = "";setTimeout("hideItemsDiv(" + currentSubmenu +")",50);}
}
document.onmouseup = do_keypress;
function gotoURL(url,target){
	if (target == '1'){window.open(url);}
	else {window.location = url;}
}
function setActiveParentId(ID){activeParentID=ID;}
//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;
}
/*********************************************************************************
  dw_cookies.js - cookie functions for www.dyn-web.com
  Recycled from various sources 
**********************************************************************************/
// Modified from Bill Dortch's Cookie Functions (hidaho.com) 
// (found in JavaScript Bible)
function setCookie(name,value,days,path,domain,secure) {
  var expires, date;
  if (typeof days == "number") {
    date = new Date();
    date.setTime( date.getTime() + (days*24*60*60*1000) );
		expires = date.toGMTString();
  }
  document.cookie = name + "=" + escape(value) +
    ((expires) ? "; expires=" + expires : "") +
    ((path) ? "; path=" + path : "") +
    ((domain) ? "; domain=" + domain : "") +
    ((secure) ? "; secure" : "");
}
function getCookie(name) {
  var nameq = name + "=";
  var c_ar = document.cookie.split(';');
  for (var i=0; i<c_ar.length; i++) {
    var c = c_ar[i];
    while (c.charAt(0)==' ') c = c.substring(1,c.length);
    if (c.indexOf(nameq) == 0) return unescape( c.substring(nameq.length, c.length) );
  }
  return null;
}
function deleteCookie(name,path,domain) {
  if (getCookie(name)) {
    document.cookie = name + "=" +
      ((path) ? "; path=" + path : "") +
      ((domain) ? "; domain=" + domain : "") +
      "; expires=Thu, 01-Jan-70 00:00:01 GMT";
  }
}
/*************************************************************************
  This code is from Dynamic Web Coding at dyn-web.com
  Copyright 2004-5 by Sharon Paine 
  See Terms of Use at www.dyn-web.com/bus/terms.html
  regarding conditions under which you may use this code.
  This notice must be retained in the code as is!
*************************************************************************/
var dw_fontSizerDX = {
    sizeUnit:    "px",
    defaultSize: 11,
    maxSize:     17,
    minSize:     11,
    adjustList: [], // set method populates
    setDefaults: function(unit, dflt, mn, mx, sels) {
        this.sizeUnit = unit;       this.defaultSize = dflt;
        this.maxSize = mx;          this.minSize = mn;
        if (sels) this.set(dflt, mn, mx, sels);
    },
    set: function (dflt, mn, mx, sels) { 
        var ln = this.adjustList.length;        
        for (var i=0; sels[i]; i++) {
            this.adjustList[ln+i] = [];
            this.adjustList[ln+i]["sel"]  = sels[i];
            this.adjustList[ln+i]["dflt"] = dflt;
            this.adjustList[ln+i]["min"]   = mn || this.minSize;
            this.adjustList[ln+i]["max"]   = mx || this.maxSize;
            // hold ratio of this selector's default size to this.defaultSize for calcs in adjust fn 
            this.adjustList[ln+i]["ratio"] = this.adjustList[ln+i]["dflt"] / this.defaultSize;
        }
    },
    init: function() {
        if ( !document.getElementById || !document.getElementsByTagName ) return;
        var size, sizerEl, i;
        size = window.location.search? window.location.search.slice(1): getCookie("fontSize");
        size = !isNaN( parseFloat(size) )? parseFloat(size): this.defaultSize;
        if ( size > this.maxSize || size < this.minSize ) size = this.defaultSize;
        this.curSize = this.defaultSize;
        sizerEl = document.getElementById('sizer');
        if (sizerEl) sizerEl.style.display = "block";
        if (this.adjustList.length == 0) {
			this.setDefaults( this.sizeUnit, this.defaultSize, this.minSize, this.maxSize, ['div#textZoom td.zoom', 'div#textZoom div.zoom', 'div#textZoom h1.zoom', 'div#textZoom h2.zoom', 'div#textZoom a.zoom', 'div#textZoom p' , 'div#textZoom td'] );
        }
        if ( size != this.defaultSize ) this.adjust( size - this.defaultSize );
    },
    adjust: function(n) {
        if ( !this.curSize ) return;
        var alist, size, list, i, j;
        if ( n > 0 ) {
            if ( this.curSize + n > this.maxSize ) n = this.maxSize - this.curSize;
        } else if ( n < 0 ) {
            if ( this.curSize + n < this.minSize ) n = this.minSize - this.curSize;
        }
        if ( n == 0 ) return;
        this.curSize += n;
        alist = this.adjustList;
        for (i=0; alist[i]; i++) {
            size = this.curSize * alist[i]['ratio']; // maintain proportion 
            size = Math.max(alist[i]['min'], size); size = Math.min(alist[i]['max'], size);
            list = dw_getElementsBySelector( alist[i]['sel'] );
            for (j=0; list[j]; j++) { list[j].style.fontSize = size + this.sizeUnit; }
        }
        setCookie( "fontSize", this.curSize, 180, "/" );
    },
    reset: function() {
        var alist = this.adjustList, list, i, j;
        for (i=0; alist[i]; i++) {
            list = dw_getElementsBySelector( alist[i]['sel'] );
            for (j=0; list[j]; j++) {list[j].style.fontSize = '';} 
        }
        this.curSize = this.defaultSize;
        deleteCookie("fontSize", "/");
    }
}
function dw_getElementsBySelector(selector) {
    if (!document.getElementsByTagName) return [];
    var nodeList = [document], tokens, bits, list, col, els, i, j, k;
    selector = selector.normalize();
    tokens = selector.split(' ');
    for (i=0; tokens[i]; i++) {
        if ( tokens[i].indexOf('#') != -1 ) {  // id
            bits = tokens[i].split('#'); 
            var el = document.getElementById( bits[1] );
            if (!el) return []; 
            if ( bits[0] ) {  // check tag
                if ( el.tagName.toLowerCase() != bits[0].toLowerCase() ) return [];
            }
            for (j=0; nodeList[j]; j++) {  // check containment
                if ( nodeList[j] == document || dw_contained(el, nodeList[j]) ) 
                    nodeList = [el];
                else return [];
            }
            continue; 
        } else if ( tokens[i].indexOf('.') != -1 ) {  // class
            bits = tokens[i].split('.'); col = [];
            for (j=0; nodeList[j]; j++) {
                els = dw_getElementsByClassName( bits[1], bits[0], nodeList[j] );
                for (k=0; els[k]; k++) { col[col.length] = els[k]; }
            }
            nodeList = [];
            for (j=0; col[j]; j++) { nodeList.push(col[j]); }
            continue; 
        } else {  // element 
            els = []; 
            for (j = 0; nodeList[j]; j++) {
                list = nodeList[j].getElementsByTagName(tokens[i]);
                for (k = 0; list[k]; k++) { els.push(list[k]); }
            }
            nodeList = els;
        }
    }
    return nodeList;
}
function dw_getElementsByClassName(sClass, sTag, oCont) {
    var result = [], list, i;
    var re = new RegExp("\\b" + sClass + "\\b", "i");
    oCont = oCont? oCont: document;
    if ( document.getElementsByTagName ) {
        if ( !sTag || sTag == "*" ) {
            list = oCont.all? oCont.all: oCont.getElementsByTagName("*");
        } else {
            list = oCont.getElementsByTagName(sTag);
        }
        for (i=0; list[i]; i++) 
            if ( re.test( list[i].className ) ) result.push( list[i] );
    }
    return result;
}
function dw_contained(oNode, oCont) {
    if (!oNode) return;
    while ( oNode = oNode.parentNode ) if ( oNode == oCont ) return true;
    return false;
}
if (!Array.prototype.push) {  // ie5.0
	Array.prototype.push =  function() {
		for (var i=0; arguments[i]; i++) this[this.length] = arguments[i];
		return this[this.length-1]; // return last value appended
	}
}
String.prototype.normalize = function() {
	var re = /\s\s+/g;
	return this.trim().replace(re, " ");
}
String.prototype.trim = function() {
	var re = /^\s+|\s+$/;
	return this.replace(re, "");
}