function createNamespace(str){var a=str.split(".");var o=window;for (var i=0;i<a.length;i++){if (!o[a[i]])o[a[i]]={};o=o[a[i]];}};var isMoz=(typeof document.implementation!='undefined')&&(typeof document.implementation.createDocument!='undefined')&&(typeof HTMLDocument!='undefined');var isSaf=navigator.userAgent.toLowerCase().indexOf("safari")!=-1;var isIE=!isMoz&&!isSaf;createNamespace("NH");createNamespace("NH.Anim");createNamespace("NH.Util");NH.Anim.AutoSuggest=function (inputBox){this._inputBox=inputBox;this._sugBox;this._sugBoxEditable;this._funcOnSelect;this._fetchDelay=500;this._errorIsShowing=false ;this._elemToAttachSug;var TAB=9;var ESC=27;var KEYUP=38;var KEYDN=40;var ENTER=13;var BCKSPC=8;this._init=function (){if (this._inputBox){this._inputBox.setAttribute("autocomplete","off");NH.Util.attachEvent(this._inputBox,"onkeyup",NH.Util.createThisCallback(this ,"_onKeyPress"));NH.Util.attachEvent(this._inputBox,"onfocus",NH.Util.createThisCallback(this ,"_showSugBox"));}};this._onKeyPress=function (e){if (this.timeoutId)clearTimeout(this.timeoutId);var e=e||event;var code=e&&e.keyCode;var ch=String.fromCharCode(e.keyCode);var newText=this._inputBox.value+ch;if (code==BCKSPC)newText=newText.substring(0,newText.length-2);if (code==ESC){this._hideSugBox();return NH.Util.preventDefault(e);}else if (this._inputBox&&parseInt(this._inputBox.value,10))this._hideSugBox();else if (code==ENTER){this._doLookup();return NH.Util.preventDefault(e);}else if (code==BCKSPC&&this._inputBox&&this._inputBox.value.length<1)this._hideSugBox();else if (this._isValidInput())this.timeoutId=setTimeout(NH.Util.createThisCallback(this ,"_doLookup"),this._fetchDelay);else this._hideSugBox();};this._isValidInput=function (){return this._inputBox&&this._inputBox.value&&this._inputBox.value!=""&&!parseInt(this._inputBox.value)&&this._inputBox.value!="enter suburb or postcode";};this._doLookup=function (){if (this._inputBox&&this._inputBox.value!="")Ninemsn.Global.ContentManager.GetContent("http://data.ninemsn.com.au/NHHttpTransfer/GetNHHttpTransfer.aspx?domain=services.hww.com.au&fetchURL=http://services.hww.com.au/ninemsn/postcode.cfc?method=search%26postcode=%26suburb="+this._inputBox.value+"%26number=10%26exact=0%26state=",NH.Util.createThisCallback(this ,"_handleLookup"));};this._handleLookup=function (results){this._showSugBox();if (!this._sugBoxEditable)return false ;this._sugBoxEditable.innerHTML="";var pcodes=(results&&results.HttpTransferResult&&results.HttpTransferResult.postcode_data&&results.HttpTransferResult.postcode_data.item)?results.HttpTransferResult.postcode_data.item:undefined;if (pcodes&&pcodes.length){for (var i=0;i<pcodes.length;i++)this._createSelectionLI(this._sugBoxEditable,pcodes[i],(i%2==1));}else if (pcodes)this._createSelectionLI(this._sugBoxEditable,pcodes);else this._sugBoxEditable.innerHTML="No suburbs found"+(this._inputBox?" for '"+this._inputBox.value+"'":"")+".";var numResults=(results&&results.HttpTransferResult&&results.HttpTransferResult.postcode_data&&results.HttpTransferResult.postcode_data.recordcount)?results.HttpTransferResult.postcode_data.recordcount:0;var numReturned=((pcodes&&pcodes.length)?pcodes.length:1);var resultsMsg=numResults>0?numReturned+" of "+numResults+" result"+(numResults>1?"s":"")+".":"No results found.";this._sugResultsEditable.innerHTML=resultsMsg;this._showSugBox();};this._createSelectionLI=function (lookupUL,pcodeItem,isEvenStyle){var itemLI=lookupUL.appendChild(document.createElement("div"));NH.Util.addClassName(itemLI,isEvenStyle?"even":"odd");var itemA=itemLI.appendChild(document.createElement("a"));itemA.innerHTML=pcodeItem.suburb+", "+pcodeItem.state+" <b>"+pcodeItem.postcode+"</b>";itemA.href="javascript:void(0);";NH.Util.attachEvent(itemA,"onclick",NH.Util.createThisCallback(this ,"_onItemSelect",pcodeItem.postcode));};this._onItemSelect=function (postcode){if (this._inputBox)this._inputBox.value=postcode;this._hideSugBox();if (this._funcOnSelect)this._funcOnSelect.call();};this._showSugBox=function (){if (!this._sugBox){if (this._elemToAttachSug){this._sugBox=this._elemToAttachSug.appendChild(document.createElement("div"));NH.Util.addClassName(this._sugBox,"autosug");this._sugBox.style.position="absolute";var offsetTop=this._inputBox.offsetTop+this._inputBox.offsetHeight;var offsetLeft=this._inputBox.offsetLeft;this._sugBox.style.top=offsetTop+"px";this._sugBox.style.left=offsetLeft+"px";this._sugBoxEditable=this._sugBox.appendChild(document.createElement("div"));NH.Util.addClassName(this._sugBoxEditable,"autosugEditable");var bottomDiv=this._sugBox.appendChild(document.createElement("div"));NH.Util.addClassName(bottomDiv,"autosugBottom");var closeA=bottomDiv.appendChild(document.createElement("a"));closeA.innerHTML="Close";closeA.href="javascript:void(0);";NH.Util.attachEvent(closeA,"onclick",NH.Util.createThisCallback(this ,"_hideSugBox"));this._sugResultsEditable=bottomDiv.appendChild(document.createElement("div"));}}if (this._isValidInput()&&this._sugBoxEditable.innerHTML)this._sugBox.style.display="block";};this._hideSugBox=function (){if (this._sugBox)this._sugBox.style.display="none";};this._init();};NH.closeOtherBlinds=function (currentElem,blindElems){for (var i=0;i<blindElems.length;i++){var blindElem=blindElems[i];if (blindElem!=currentElem&&blindElem.isOpen)blindElem.doBlind();}};NH.Anim.Blind=function (animElem,clickElem,isOpen){if (!animElem||!clickElem)return false ;this.animElem=animElem;this.clickElem=clickElem;this.fnc=undefined;this.animSpeed=20;this.isAnimating=false ;if (this.clickElem.style&&typeof (this.clickElem.style.cursor)=="string")this.clickElem.style.cursor="pointer";this.hiddenDiv=undefined;NH.Util.attachEvent(this.clickElem,"onmouseup",NH.Util.createThisCallback(this ,"doBlind",false ));var parent=this.animElem.parentNode;this.hiddenDiv=parent.insertBefore(document.createElement("div"),this.animElem);parent.removeChild(this.animElem);this.hiddenDiv.appendChild(this.animElem);this.animElem.style.display=(this.isOpen)?"block":"none";this.hiddenDiv.style.overflow="hidden";setInterval(NH.Util.createThisCallback(this ,"doBlind",true ),100);this.doBlind=function (intervalCheck){if (this.isAnimating||(intervalCheck&&this.hiddenDiv.offsetHeight==this.animElem.offsetHeight))return false ;this.isAnimating=true ;var targetHeight;if (!intervalCheck){if (this.fnc)this.fnc();NH.Util.swapClassName(this.animElem,"blind-on","blind-off");NH.Util.swapClassName(this.clickElem,"blind-on","blind-off");this.animElem.style.display="block";this.hiddenDiv.style.height=this.isOpen?this.animElem.offsetHeight:"0px";if (!this.hiddenDiv.style.width)this.hiddenDiv.style.width=this.animElem.offsetWidth;if (this.isOpen)targetHeight=0;else targetHeight=this.animElem.offsetHeight;}else targetHeight=this.animElem.offsetHeight;NH.Anim.sizeAnimation(this.hiddenDiv,this.hiddenDiv.offsetWidth,targetHeight,this.animSpeed,NH.Util.createThisCallback(this ,"finishBlind",intervalCheck));};this.finishBlind=function (intervalCheck){this.isAnimating=false ;if (intervalCheck)return false ;if (this.isOpen){this.animElem.style.display="none";this.isOpen=false ;}else this.isOpen=true ;};this.setIsOpen=function (isOpen){this.isOpen=isOpen;if (this.animElem.className.match("blind-on")||this.animElem.className.match("blind-off")||this.clickElem.className.match("blind-on")||this.clickElem.className.match("blind-off")){NH.Util.removeClassName(this.animElem,"blind-on");NH.Util.removeClassName(this.animElem,"blind-off");NH.Util.removeClassName(this.clickElem,"blind-on");NH.Util.removeClassName(this.clickElem,"blind-off");}var className=isOpen?"blind-on":"blind-off";NH.Util.addClassName(this.animElem,className);NH.Util.addClassName(this.clickElem,className);this.animElem.style.display=(isOpen)?"block":"none";};this.setIsOpen(isOpen);};NH.Anim.Magnify=function (container,img,text,isMagnified){if (!container||!img||!text)return false ;this.container=container;this.img=img;this.text=text;this.fnc=undefined;this.animSpeed=3;this.isOpen=false ;this.isMagnifying=false ;this.isMinifying=false ;this.originalImgWidth=parseInt(this.img.offsetWidth);this.originalImgHeight=parseInt(this.img.offsetHeight);NH.Util.attachEvent(this.container,"onmouseover",NH.Util.createThisCallback(this ,"doMagnify"));this.init=function (isMagnified){if (isMagnified){this.isOpen=true ;NH.Util.addClassName(this.container,"magnified");}else {this.img.style.width=(this.originalImgWidth/2)+"px";this.img.style.height=(this.originalImgHeight/2)+"px";this.text.style.display="none";NH.Util.addClassName(this.container,"minified");}};this.init(isMagnified);this.doMagnify=function (){if (this.isOpen||this.isMagnifying)return false ;this.isMagnifying=true ;NH.Util.swapClassName(this.container,"magnified","minified");NH.Anim.sizeAnimation(this.img,this.originalImgWidth,this.originalImgHeight,this.animSpeed,NH.Util.createThisCallback(this ,"finishMagnify"));if (this.fnc)this.fnc.call();};this.finishMagnify=function (){this.isOpen=true ;this.isMagnifying=false ;this.text.style.display="block";if (this.fnc)this.fnc.call();};this.doMinify=function (){if (!this.isOpen||this.isMinifying)return false ;this.isMinifying=true ;NH.Util.swapClassName(this.container,"magnified","minified");NH.Anim.sizeAnimation(this.img,(this.originalImgWidth/ 2), (this.originalImgHeight /2),this.animSpeed,NH.Util.createThisCallback(this ,"finishMinify"));this.text.style.display="none";};this.finishMinify=function (){this.isOpen=false ;this.isMinifying=false ;}};NH.closeOtherMags=function (currentElem,magElems){for (var i=0;i<magElems.length;i++){var magElem=magElems[i];if (magElem!=currentElem)magElem.doMinify();}};NH.Util.swapClassName=function (elem,style1,style2){if (!elem)return false ;if (elem.className.match(style2)){NH.Util.removeClassName(elem,style2);NH.Util.addClassName(elem,style1);}else {NH.Util.removeClassName(elem,style1);NH.Util.addClassName(elem,style2);}};NH.Util.attachEvent=function (elem,evt,fnc){if (!elem)return false ;if (!isIE){if (evt.substr(0,2).toLowerCase()=="on")evt=evt.substr(2);elem.addEventListener(evt,fnc,false );}else elem.attachEvent(evt,fnc);};NH.Anim.sizeAnimation=function (el,cx,cy,speed,fncComplete){var ptCur={x:NH.Anim.GetWidth(el),y:el.clientHeight};var ptTarg={x:cx,y:cy};function fncSize(x,y,i,c){el.style.width=x+"px";el.style.height=y+"px";};var dist=Math.max(Math.abs(ptTarg.x-ptCur.x),Math.abs(ptTarg.y-ptCur.y));new NH.Anim.translateAnimation(ptCur.x,ptCur.y,ptTarg.x,ptTarg.y,(speed)?speed:5,fncSize,fncComplete);};;NH.Anim.translateAnimation=function (x1,y1,x2,y2,speed,fncMove,fncComplete){var idTimer;var path=NH.Anim.calcLinearPath(x1,y1,x2,y2,speed?speed:5);var iCur=0;this.moveElement=function (){var pt=path[iCur++];if (pt)fncMove(pt.x,pt.y,iCur,path.length);if (iCur>=path.length){clearInterval(idTimer);if (fncComplete)fncComplete();}};idTimer=setInterval(NH.Util.createThisCallback(this ,"moveElement"),10);};;NH.Anim.calcLinearPath=function (x1,y1,x2,y2,stepsize){var dist=Math.sqrt(((x2-x1)*(x2-x1))+((y2-y1)*(y2-y1)));var steps=dist/stepsize;var dx=(x2-x1)/steps;var dy=(y2-y1)/steps;var path=[];for (var i=0;i<=steps;i++){path[i]={x:x1,y:y1};x1+=dx;y1+=dy;}path[path.length]={x:x2,y:y2};return path;};NH.Anim.GetWidth=function (el){return (el.clientWidth==undefined||el.clientWidth==0)?el.style.pixelWidth:el.clientWidth;};;NH.Util.createCallback=function (fncName){var objects=fncName.split(".");var obj=window;for (var i=0;i<objects.length;i++)obj=obj[objects[i]];var args=[];for (var i=1;i<arguments.length;i++){args.push(arguments[i]);}return function (){var additionalArgs=[];for (var i=0;i<args.length;i++)additionalArgs.push(args[i]);for (var i=0;i<arguments.length;i++)additionalArgs.push(arguments[i]);if (obj)return obj.apply(undefined,additionalArgs);};};NH.Util.createThisCallback=function (obj,strFunc){var temp=obj;var args=[];for (var i=2;i<arguments.length;i++)args.push(arguments[i]);return function (){var additionalArgs=[];for (var i=0;i<args.length;i++)additionalArgs.push(args[i]);for (var i=0;i<arguments.length;i++)additionalArgs.push(arguments[i]);if (temp[strFunc])return temp[strFunc].apply(obj,additionalArgs);};};;NH.Util.preventDefault=function (e){var event;var e=e||event;if (e&&e.preventDefault){e.stopPropagation();e.preventDefault();}else if (e)e.returnValue=false ;return false ;};;NH.Util.preventInputSubmit=function (e){var event;var e=e||event;var code=e.which||e.keyCode;if (code=='13'){return NH.Util.preventDefault(e);}};;String.prototype.truncate=function (num){if (this.length>num+3)return this.substring(0,num)+"...";else return this ;};NH.Util.addClassName=function (elem,name){if (!elem)return false ;if (!elem.className.match(name)){if (elem.className.length==0)elem.className=name;else elem.className+=" "+name;}};NH.Util.removeClassName=function (elem,name){if (!elem)return false ;if (elem.className.match(name)){if (elem.className==name)elem.className="";else elem.className=elem.className.replace(" "+name,"");}};NH.Anim.showLoading=function (elem){if (!elem)return false ;var width=elem.offsetWidth;var height=elem.offsetHeight;height-=20;if (height<30)height=30;elem.innerHTML="<div style='width:"+width+"px;height:"+height+"px;padding:10px;'><img src='/share/img/al1.gif' alt='Loading' width='16' height='16' /> Loading...</div>";};