/*!
 * @author Yingfeng Lin
 * Copyright (C) Salmat 2008
 */
var ajaxremoteserver="";var ajaxVersionId=0;function ajaxEvalHandler(callback,variableName,parameters){var data=eval(variableName);if(parameters){callback(data,parameters)}else{callback(data)}}var ajaxCallbackExecutor=ajaxEvalHandler;function ajaxExecuteCallback(a){this.myDoneState=true;if(a.versionId==ajaxVersionId&&typeof a.myHandler=="function"){a.parentNode.removeChild(a);ajaxCallbackExecutor(a.myHandler,a.myVariable,a.myHandlerParameters)}}function ajaxProcessReturnData(){if(this.myDoneState===false){if(this.readyState){if((this.readyState=="complete")||(this.readyState=="loaded")){ajaxExecuteCallback(this)}}else{ajaxExecuteCallback(this)}}}function getRemoteData(d,c,e,b){var a=document.createElement("script");a.src="";if(c!==null&&c.length>0){c="&"+c}a.type="text/javascript";a.language="javascript";a.versionId=++ajaxVersionId;a.myHandler=e;a.myHandlerParameters=b;a.myDoneState=false;a.myVariable="mv"+Math.ceil(Math.random()*100000000);
a.src=ajaxremoteserver+"/data.js?type="+d+"&var="+a.myVariable+c;if(!a.readyState){if(typeof a.addEventListener=="function"){a.addEventListener("load",ajaxProcessReturnData,false)}}else{a.onreadystatechange=ajaxProcessReturnData}document.getElementsByTagName("head")[0].appendChild(a)}function ajaxPrintDebug(a){var b=document.createElement("p");b.innerHTML=a;document.body.appendChild(b)}function ajaxMakePOSTRequest(b,d,h,i,c){var a;if(window.XMLHttpRequest){a=new XMLHttpRequest();if(a.overrideMimeType){a.overrideMimeType("text/html")}}else{if(window.ActiveXObject){try{a=new ActiveXObject("Msxml2.XMLHTTP")}catch(g){try{a=new ActiveXObject("Microsoft.XMLHTTP")}catch(g){}}}}if(!a){alert("Cannot create XMLHTTP instance");return false}var f={status:false};a.onreadystatechange=function(){ajaxPostResultFunction(a,f,h,i,c)};a.open("POST",b,true);a.setRequestHeader("Content-type","application/x-www-form-urlencoded");a.setRequestHeader("Content-length",d.length);a.setRequestHeader("Connection","close");
a.send(d)}function ajaxPostResultFunction(httpRequest,doneStatus,variableName,callback,callbackparameters){if(!doneStatus.status&&httpRequest.readyState==4){if(httpRequest.status==200){doneStatus.status=true;var result=httpRequest.responseText?eval(httpRequest.responseText):null;if(callbackparameters){callback(result,callbackparameters)}else{callback(result)}}else{alert("There was a problem with the request. HTTP Error: "+httpRequest.status)}}}function postRemoteData(d,b,e,a){if(b){b="&"+b}var c="mv"+Math.ceil(Math.random()*100000000);ajaxMakePOSTRequest((ajaxlocalserver?ajaxlocalserver:ajaxremoteserver)+"/data.js","type="+d+"&var="+c+b,c,e,a)}function lzAutoLocation(c,a,b){this.defaultText="Suburb or Postcode";this.form=c;this.maxLines=a?a:10;this.maxWidth=b;this._processSubmit=function(){if(this.form.location.value==this.defaultText){this.form.location.value=""}};this._onFormSubmit=function(){this.process._processSubmit();return true};this._onBlurEvent=function(){var d=this.form.process;
if(this.value==""){this.value=d.defaultText}};this._onFocusEvent=function(){var d=this.form.process;if(this.value==d.defaultText){this.value=""}else{this.select()}};this._onKeyupEvent=function(f){var d=this.form;if(!f){f=event}if(f.keyCode==13){this.form.submit()}else{this.form.process._autolocation()}};this._autolocation=function(){var e=this.form;var d=e.location.value;if(d&&d.length>=3){getRemoteData("location.match","location="+escape(d),function(f){e.process._createBox(d,f.locations,e.location)})}else{this._hideAutoBox()}};this._hideAutoBox=function(){var d=document.getElementById("lzAutoBox");if(d){d.style.display="none"}};this.getElementX=function(d){var e=0;if(d.offsetParent){while(d.offsetParent){e+=d.offsetLeft;d=d.offsetParent}}else{if(d.y){e+=d.x}}return e};this.getElementY=function(e){var d=0;if(e.offsetParent){while(e.offsetParent){d+=e.offsetTop;e=e.offsetParent}}else{if(e.y){d+=e.y}}return d};this._createBox=function(f,i,e){var g=document.getElementById("lzAutoBox");if(!g){g=document.createElement("div");
g.id="lzAutoBox";g.style.zIndex="200";g.style.position="absolute";g.style.border="2px solid #ebebeb";g.style.backgroundColor="#FFFFFF";document.body.appendChild(g)}g.process=this;var h='<ul style="list-style: none;">';var k=f.toUpperCase();var l=0;for(var n in i){h+="<li onclick=\"lzAutoLocationSelectOption('";h+=i[n].displayName+"');\">";h+='<a href="#" onclick="return false;" style="display: block;padding: 0px">';var m=i[n].displayName.replace(k,"<strong>"+k+"</strong>");h+=m.replace(",",", ");h+="</a></li>";var d=(i[n].displayName.length+5)*6;if(l<d){l=d}}h+="</ul>";if(e.offsetWidth>l){l=e.offsetWidth}g.style.display="block";var j=i.length*16;if(this.maxWidth&&l>this.maxWidth){l=this.maxWidth}g.style.width=l+"px";g.style.top=this.getElementY(e)+20+"px";g.style.left=this.getElementX(e)+"px";if(i.length>this.maxLines){g.style.overflowX="hidden";g.style.overflowY="auto";g.style.height=(16*this.maxLines)+"px"}else{g.style.overflow="";g.style.height=j+3+"px"}if(i.length>0){g.innerHTML=h}else{g.innerHTML="Your location is not recognised. Please re-enter your suburb or postcode";
g.style.height="50px";g.style.width="150px";g.style.color="#cc0000"}g.style.display="block"};this._init=function(){this.form.process=this;this.form.onsubmit=this._onFormSubmit;this.form.location.onblur=this._onBlurEvent;this.form.location.onfocus=this._onFocusEvent;this.form.location.onkeyup=this._onKeyupEvent;if(this.form.location.value==""){this.form.location.value=this.defaultText}};this._init()}function lzAutoLocationSelectOption(c){var b=document.getElementById("lzAutoBox");var a=b.process.form.location;a.value=c;a.focus();b.style.display="none"};

