"use strict";var map=null,searchform=null,itinerary=null,directions=null,results=null,MapIconMaker={},place_markers=[],place_marker_listeners=[],polylines=[],center=null,search_height_offset=40,viewport_height=document.documentElement.clientHeight,viewport_width=document.documentElement.clientWidth;function preload_images(){var g=new Image(),h=new Image(),f=new Image(),c=new Image(),e=new Image(),i=new Image(),j=new Image(),a=new Image(),k=new Image(),l=new Image(),d=new Image(),b=new Image();g.src="images/loader.gif";h.src="images/accept.png";f.src="images/blank.gif";c.src="images/add_y.png";e.src="images/delete_y.png";i.src="images/up_y2.png";j.src="images/down_y2.png";a.src="images/show.gif";k.src="images/hide.gif";l.src="images/arrow_down.png";d.src="images/sloader.gif";b.src="images/information.png"}MapIconMaker.createLabeledMarkerIcon=function(b){var c=b.primaryColor||"#DA7187",k=b.strokeColor||"#000000",g=b.starPrimaryColor||"#FFFF00",l=b.starStrokeColor||"#0000FF",h=MapIconMaker.escapeUserText_(b.label)||"",i=b.labelColor||"#000000",d=b.addStar||false,j=(d)?"pin_star":"pin",e="http://chart.apis.google.com/chart?cht=d&chdp=mapsapi&chl=",f=new GIcon(G_DEFAULT_ICON),a=e+j+"'i\\'["+h+"'-2'f\\hv'a\\]h\\]o\\"+c.replace("#","")+"'fC\\"+i.replace("#","")+"'tC\\"+k.replace("#","")+"'eC\\";if(d){a+=g.replace("#","")+"'1C\\"+l.replace("#","")+"'0C\\"}a+="Lauto'f\\";f.image=a+"&ext=.png";f.iconSize=(d)?new GSize(23,39):new GSize(21,34);return f};MapIconMaker.escapeUserText_=function(a){if(a===undefined){return null}a=a.replace(/@/,"@@");a=a.replace(/\\/,"@\\");a=a.replace(/'/,"@'");a=a.replace(/\[/,"@[");a=a.replace(/\]/,"@]");return encodeURIComponent(a)};function creatEl(a){return document.createElement(a)}function creatTxt(a){return document.createTextNode(a)}function clearC(a){while(a.firstChild){a.removeChild(a.firstChild)}}function appC(b,a){b.appendChild(a)}function setAtt(b,a,c){b.setAttribute(a,c)}function getEl(a){return document.getElementById(a)}function getEventTarget(b){b=b||window.event;var a=b.target||b.srcElement;if(a.nodeType===3){a=a.parentNode}return a}function addMarkerListener(a){var b=google.maps.Event.addListener(a,"click",function(){if(map.getInfoWindow().getPoint()!==a.getLatLng()){a.showMapBlowup()}else{if(map.getInfoWindow().isHidden()){a.showMapBlowup()}else{a.closeInfoWindow()}}});place_marker_listeners.push(b)}function createMarker(c,b){var a=new GMarker(c,{icon:b});place_markers.push(a);map.addOverlay(a);addMarkerListener(a)}function addMarkers(){var d,e={},a,c,b;e.strokeColor="#000000";e.labelColor="#000000";for(b=0;b<directions.getNumRoutes();b=b+1){a=directions.getRoute(b);if(b===0){e.primaryColor="#0000ff";e.label="S";e.addStar=true;e.labelColor="#ffffff";d=MapIconMaker.createLabeledMarkerIcon(e);c=a.getStep(0).getLatLng();createMarker(c,d)}if(b===directions.getNumRoutes()-1){e.primaryColor="#ff0000";e.label="E";e.addStar=true;e.labelColor="#ffffff";d=MapIconMaker.createLabeledMarkerIcon(e)}else{e.primaryColor="#ECE16E";e.label=String(b+1);e.addStar=false;e.labelColor="#000000";d=MapIconMaker.createLabeledMarkerIcon(e)}c=a.getEndLatLng();createMarker(c,d)}}function remMarkers(){for(var a=0;a<place_markers.length;a=a+1){GEvent.removeListener(place_marker_listeners[a]);map.removeOverlay(place_markers[a])}place_marker_listeners.splice(0,place_marker_listeners.length);place_markers.splice(0,place_markers.length)}function remPolylines(){for(var a=0;a<polylines.length;a=a+1){map.removeOverlay(polylines[a])}polylines.splice(0,polylines.length)}function doGenerateMarkerHtml(b,c,a){var d;function e(){itinerary.addFromsearch(a)}d=creatEl("div");setAtt(d,"id","add_itin");d.innerHTML="Add to Itinerary";d.onclick=e;c.appendChild(d);return c}function directionsLoaded(){var a;itinerary.clearSearchLoader();itinerary.but_find.value="Get Details";itinerary.enableButtons();results.reset();results.display();remMarkers();remPolylines();a=directions.getPolyline();polylines.push(a);map.addOverlay(a);addMarkers();map.setCenter(directions.getBounds().getCenter(),map.getBoundsZoomLevel(directions.getBounds()))}function directionsError(){var a=directions.getStatus().code;itinerary.clearSearchLoader();itinerary.but_find.value="Get Details";itinerary.enableButtons();switch(a){case 603:alert("Error "+a+"\n1 or more of your places cannot be used due to legal or contractual reasons.");break;case 604:alert("1 or more of your places is not on a road and driving distances cannot be calculated. This may occur when you use place-names instead of a full address.");break;case 620:alert("Error "+a+"\nThere have been too many requests at this time. Please try again later.");break;default:alert("Something went wrong: Error "+a);break}}function isEmpty(a){return((a===null)||(a.length===0))}function isWhitespace(b){var a=/^\s+$/;return(isEmpty(b)||a.test(b))}function setClass(a,e,c,b){switch(a){case"swap":if(e.className!==setClass("check",e,c)){e.className.replace(b,c)}else{e.className.replace(c,b)}break;case"add":if(!setClass("check",e,c)){e.className+=e.className?" "+c:c}break;case"remove":var d=e.className.match(" "+c)?" "+c:c;e.className=e.className.replace(d,"");break;case"check":return new RegExp("\\b"+c+"\\b").test(e.className)}}function popHelp(c){var b=null,d=null;function a(){if(b!==null){if(!b.closed){b.close()}}}a();if(this.name==="about"){d=window.open(this.href,"about");d.focus()}else{b=window.open(this.href,"help","resizable,toolbar=no,location=no,scrollbars=yes,width=540,height=500,left=200,top=100");b.focus()}if(window.event){window.event.returnValue=false;window.event.cancelBubble=true}else{if(c){c.stopPropagation();c.preventDefault()}}}function ItinResults(r,e,E){var m,g,s,x,v,D,B,j,c,h,q=[],F=[],o=false,y=8.5,a=147.9;function f(G){return G.split(" ").join("")}function i(K){var J=/(\d+)(\d{3})/,G,I,H;K+="";G=K.split(".");I=G[0];H=G.length>1?"."+G[1]:"";while(J.test(I)){I=I.replace(J,"$1,$2")}return I+H}function n(){var H=796,G=getEl("map").offsetWidth;if(G>H){r.style.left=G-2-314+"px";m.style.left=G-2-5-24+"px"}else{r.style.left=H-2-314+"px";m.style.left=H-2-5-20+"px"}}function p(){var I=getEl("map"),H=getEl("details"),G=getEl("details_wrap"),K=60,J;J=I.offsetHeight-7-40-240;if(H!==null){if(G.offsetHeight>=J){if(J>K){H.style.height=J+"px"}else{H.style.height=K+"px"}}else{H.style.height="auto"}}}function u(G,H){clearC(G);appC(G,creatTxt(H))}function t(){var G="";if(x.checked){G="km/L"}else{G="L/100k"}return G}function A(){var H,P,I,M,G,N,J,K,O=/(^[0-9]*[1-9]+[0-9]*\.[0-9]*$)|(^[0-9]*\.[0-9]*[1-9]+[0-9]*$)|(^[0-9]*[1-9]+[0-9]*$)/,L;if(o){y=f(g.value);a=f(s.value);if(O.test(a)&&O.test(y)){y=parseFloat(y);a=parseFloat(a);if(x.checked){H=1/y}else{H=y/100}P=H*a;I=e.getDistance().meters/1000;M=(I*P/100).toFixed(2);G=(I*H);if(G>=1){G=G.toFixed(1)}else{G=G.toFixed(3)}u(D,"$"+i(M));u(B,i(G));u(j,i(y));u(h,a);u(c,t());for(L=0;L<e.getNumRoutes();L=L+1){N=e.getRoute(L).getDistance().meters/1000;J=(N*P/100).toFixed(2);K=(N*H);if(K>=1){K=K.toFixed(1)}else{K=K.toFixed(3)}u(q[L],"$"+i(J));u(F[L],i(K))}}else{u(D,"$ ~");u(B," ~");u(j," ~");u(h," ~");u(c,t());for(L=0;L<e.getNumRoutes();L=L+1){u(q[L],"$ ~");u(F[L]," ~")}}}}function z(){var J=getEl("summary"),I=getEl("details"),G=getEl("details_wrap"),H=getEl("details_foot");o=false;if(J!==null){r.removeChild(J)}if(I!==null){G.onclick=null;G.onmouseover=null;G.onmouseout=null;r.removeChild(I)}if(H!==null){r.removeChild(H)}}function w(){var al,H,L,U,O,ag,aq,aa,J,N,G,ab,ah,an,ae,P,af,ap,Z,Q,ai,M,W,ao,I,ad,K,ac,T,aj,ak,X;function R(ar){var at;if(ar<1000){at=ar+" metres"}else{at=i((ar/1000).toFixed(1))+" km"}return at}function V(at){var ar="";if(at<60){ar+=(at+" sec")}else{if(Math.floor(at/3600)){if(Math.floor(at/3600)===1){ar+=(Math.floor(at/3600)+" hr ")}else{ar+=(Math.floor(at/3600)+" hrs ")}}if(Math.floor((at%3600)/60)){if(Math.floor((at%3600)/60)===1){ar+=(Math.floor((at%3600)/60)+" min")}else{ar+=(Math.floor((at%3600)/60)+" mins")}}}return ar}function Y(at){var ar=getEventTarget(at);if(ar.nodeType===1&&ar.nodeName==="DD"&&ar.parentNode.className==="dplace"){map.setCenter(place_markers[Number(ar.id.split("_")[1])].getLatLng());google.maps.Event.trigger(place_markers[Number(ar.id.split("_")[1])],"click")}return true}function S(at){var ar=getEventTarget(at);if(ar.nodeType===1&&ar.nodeName==="DD"&&ar.parentNode.className==="dplace"){ar.className="ddO"}return true}function am(at){var ar=getEventTarget(at);if(ar.nodeType===1&&ar.nodeName==="DD"&&ar.parentNode.className==="dplace"){ar.className=""}return true}al=creatEl("div");setAtt(al,"id","summary");H=creatEl("dl");H.className="tcost";L=creatEl("dt");appC(L,creatTxt("TOTAL FUEL COST \u00BB "));D=creatEl("dd");appC(D,creatTxt("$ ~"));appC(H,L);appC(H,D);appC(al,H);appC(al,creatEl("br"));ab=creatEl("dl");ab.className="svars";h=creatEl("dd");appC(h,creatTxt(s.value));appC(ab,h);U=creatEl("dt");appC(U,creatTxt("\u00A2/litre"));appC(ab,U);j=creatEl("dd");appC(j,creatTxt(g.value));appC(ab,j);c=creatEl("dt");appC(c,creatTxt(t()));appC(ab,c);B=creatEl("dd");appC(B,creatTxt(" ~ "));appC(ab,B);O=creatEl("dt");appC(O,creatTxt("litres"));appC(ab,O);appC(al,ab);appC(al,creatEl("br"));ag=creatEl("dl");ag.className="ttime";aq=creatEl("dt");appC(aq,creatTxt("DRIVING TIME \u00BB "));aa=creatEl("dd");appC(aa,creatTxt(V(e.getDuration().seconds)));appC(ag,aq);appC(ag,aa);appC(al,ag);appC(al,creatEl("br"));J=creatEl("dl");J.className="tdist";N=creatEl("dt");appC(N,creatTxt("TOTAL DISTANCE \u00BB "));G=creatEl("dd");appC(G,creatTxt(R(e.getDistance().meters)));appC(J,N);appC(J,G);appC(al,J);appC(r,al);ah=creatEl("div");setAtt(ah,"id","details");an=creatEl("div");setAtt(an,"id","details_wrap");an.onclick=Y;an.onmouseover=S;an.onmouseout=am;appC(ah,an);aj=e.getNumRoutes();for(ak=0;ak<aj+1;ak=ak+1){P=creatEl("div");P.className="route_w";af=creatEl("dl");af.className="dplace";appC(P,af);ap=creatEl("dt");if(ak===0||ak===aj){if(ak===0){appC(ap,creatTxt("Start:"))}else{appC(ap,creatTxt("End:"))}}else{appC(ap,creatTxt("P "+ak+":"))}appC(af,ap);Z=creatEl("dd");setAtt(Z,"id","p_"+ak);appC(Z,creatTxt(E.getPlaceName(ak)));appC(af,Z);if(ak===aj){appC(an,P)}else{appC(P,creatEl("br"));X=creatEl("div");X.className="arrow";appC(P,X);I=creatEl("dl");I.className="fuel";appC(P,I);ad=creatEl("dt");appC(ad,creatTxt("Cost \u203A "));appC(I,ad);K=creatEl("dd");appC(K,creatTxt("$ ~ "));appC(I,K);ac=creatEl("dt");appC(ac,creatTxt("Litres \u203A "));appC(I,ac);T=creatEl("dd");T.className="lit";appC(T,creatTxt(" ~ "));appC(I,T);Q=creatEl("dl");Q.className="trav";appC(P,Q);ai=creatEl("dt");appC(ai,creatTxt("Distance \u203A "));appC(Q,ai);M=creatEl("dd");appC(M,creatTxt(R(e.getRoute(ak).getDistance().meters)));appC(Q,M);W=creatEl("dt");appC(W,creatTxt("Time \u203A "));appC(Q,W);ao=creatEl("dd");ao.className="tim";appC(ao,creatTxt(V(e.getRoute(ak).getDuration().seconds)));appC(Q,ao);appC(an,P);q[ak]=K;F[ak]=T}}ae=creatEl("div");setAtt(ae,"id","details_foot");appC(r,ah);appC(r,ae);ae.innerHTML="<span>"+e.getCopyrightsHtml()+"</span>";o=true}function d(){z();w();A();if(E.places.length>8){E.hideSearch()}map.setMapType(G_NORMAL_MAP);p();n()}function k(){function G(){var H=getEl("conform");if(H.style.display==="none"){H.style.display=""}else{H.style.display="none"}}return G}function C(){var G=creatEl("div"),K=creatEl("div"),W=creatEl("div"),R=creatEl("label"),Y=creatEl("div"),O=creatEl("div"),X=creatEl("label"),T=creatEl("div"),H=creatEl("div"),U=creatEl("div"),N=creatEl("label"),J=creatEl("div"),M=creatEl("label"),ad=creatEl("div"),P=creatEl("a"),V=creatEl("a"),Z=creatEl("a"),ab=creatEl("a"),S=creatEl("div"),ac=creatEl("span");function L(){if(getEl("cHide").title==="Hide Calculator"){r.style.display="none";getEl("cHide").title="Show Calculator";getEl("cHide").className="sho"}else{r.style.display="";getEl("cHide").title="Hide Calculator";getEl("cHide").className="hid";p()}}function I(){var ae=creatEl("input");setAtt(ae,"type","button");setAtt(ae,"title","Hide Calculator");setAtt(ae,"id","cHide");ae.className="hid";ae.onclick=L;return ae}setAtt(S,"id","chead");appC(S,creatTxt("Calculator "));ac.className="ceg";appC(ac,creatTxt("- enter Consumption and Price"));appC(S,ac);m=creatEl("div");setAtt(m,"id","rcontrol");appC(m,I());appC(document.getElementsByTagName("body")[0],m);setAtt(G,"id","calcform");W.className="iputWrap";setAtt(K,"id","fuelconIfo");K.title="Calculate Fuel Consumption";K.onclick=k();setAtt(R,"for","FuelCon");R.className="inputlabel";g=creatEl("input");g.maxLength=5;g.className="inputtext";g.onkeyup=A;setAtt(g,"type","text");setAtt(g,"name","FuelCon");setAtt(g,"id","FuelCon");setAtt(g,"value",y);appC(R,creatTxt("Fuel Consumption:"));appC(W,g);appC(W,R);appC(W,K);O.className="iputWrap";setAtt(Y,"id","fuelpriIfo");Y.title="Get Fuel Price";setAtt(X,"for","FuelPri");X.className="inputlabel";s=creatEl("input");s.className="inputtext";s.onkeyup=A;s.maxLength=5;setAtt(s,"type","text");setAtt(s,"name","FuelPri");setAtt(s,"id","FuelPri");setAtt(s,"value",a);appC(X,creatTxt("Fuel Price:"));appC(O,s);appC(O,X);appC(O,Y);T.className="cents";appC(T,creatTxt("cents/Litre"));setAtt(H,"id","radios");U.className="radio1_w";setAtt(N,"for","contype1");N.className="radiolabel";try{x=creatEl('<input id="contype1" name="contype" type="radio" value="kml"/>');x.onclick=A}catch(Q){x=creatEl("input");x.type="radio";x.name="contype";x.id="contype1";x.value="kml";x.onclick=A}appC(N,creatTxt("km/Litre"));appC(U,x);appC(U,N);J.className="radio2_w";setAtt(M,"for","contype2");M.className="radiolabel";try{v=creatEl('<input id="contype2" name="contype" type="radio" value="l100km"/>');v.onclick=A}catch(aa){v=creatEl("input");v.type="radio";v.name="contype";v.id="contype2";v.value="l100km";v.onclick=A}appC(M,creatTxt("L/100km"));appC(J,v);appC(J,M);appC(H,J);appC(H,U);setAtt(ad,"id","cfooter");P.name="help";P.href="about.html#calc";P.className="chel";P.onclick=popHelp;appC(P,creatTxt("Help ?"));V.name="about";V.href="about.html";V.className="cabout";V.title="About Fuel Estimator V1.0";V.onclick=popHelp;appC(V,creatTxt("About"));Z.name="ico";Z.href="http://famfamfam.com/lab/icons/silk/";Z.className="ico";Z.target="_blank";appC(Z,creatTxt("icons"));ab.name="def";ab.href="http://www.defeye.com.au";ab.className="cdef";ab.target="_blank";appC(ad,P);appC(ad,V);appC(G,S);appC(G,W);appC(G,H);appC(G,creatEl("br"));appC(G,O);appC(G,T);appC(G,creatEl("br"));appC(G,ad);appC(r,G);n();r.style.visibility="visible";v.checked=true}function b(){var X,W,V,S,N,I,G,Y,P,M,H,Z,R,aa,ab,J,T,L,Q;function K(){X.style.display="none"}function O(){var ac=/(^[0-9]*[1-9]+[0-9]*\.[0-9]*$)|(^[0-9]*\.[0-9]*[1-9]+[0-9]*$)|(^[0-9]*[1-9]+[0-9]*$)/,ad;ad=f(Z.value);if(ac.test(ad)){v.checked=true;if(parseFloat(ad)>99999){g.value=99999}else{g.value=ad}A()}}function U(){var ac=/(^[0-9]*[1-9]+[0-9]*\.[0-9]*$)|(^[0-9]*\.[0-9]*[1-9]+[0-9]*$)|(^[0-9]*[1-9]+[0-9]*$)/;if(ac.test(f(S.value))&&ac.test(f(Y.value))){Z.value=Math.round((parseFloat(Y.value)/parseFloat(S.value)*100)*100)/100}else{Z.value=""}}X=getEl("conform");ab=creatEl("div");setAtt(ab,"id","conformClose");appC(ab,creatTxt("Close"));ab.onclick=K;T=creatEl("div");L=creatEl("span");setAtt(T,"id","fchead");appC(T,creatTxt("Calculate Fuel Consumption "));L.className="fceg";appC(T,L);W=creatEl("p");W.className="pInstruct";appC(W,creatTxt("Find vehicle consumption ratings at "));Q=creatEl("a");Q.name="gov";Q.href="http://www.greenvehicleguide.gov.au/";Q.className="gov";Q.target="_blank";appC(Q,creatTxt("GreenVehicleGuide.gov.au"));appC(W,Q);V=creatEl("div");V.className="iputWrap";V.title="Enter Distance Travelled";S=creatEl("input");S.maxLength=5;S.className="inputtext";S.onkeyup=U;setAtt(S,"type","text");setAtt(S,"name","Km");setAtt(S,"id","Km");I=creatEl("p");appC(I,creatTxt("Kilometers"));N=creatEl("label");setAtt(N,"for","Km");N.className="inputlabel";appC(N,creatTxt("Distance Travelled:"));appC(V,N);appC(V,S);appC(V,I);G=creatEl("div");G.className="iputWrap";G.title="Enter Fuel Used";Y=creatEl("input");Y.maxLength=5;Y.className="inputtext";Y.onkeyup=U;setAtt(Y,"type","text");setAtt(Y,"name","Lt");setAtt(Y,"id","Lt");M=creatEl("p");appC(M,creatTxt("Litres"));P=creatEl("label");setAtt(P,"for","Lt");P.className="inputlabel";appC(P,creatTxt("Fuel Used:"));appC(G,P);appC(G,Y);appC(G,M);H=creatEl("div");H.className="iputWrap";Z=creatEl("input");Z.className="inputtext";Z.maxLength=5;Z.title="Calculated Fuel Consumption";setAtt(Z,"type","text");setAtt(Z,"name","L100km");setAtt(Z,"id","L100km");aa=creatEl("p");aa.title="Calculated Fuel Consumption";appC(aa,creatTxt("Litres/100km"));J=creatEl("div");setAtt(J,"id","fcUse");J.title="Use this value in Fuel Cost calculations";J.onclick=O;R=creatEl("label");setAtt(R,"for","L100km");R.className="inputlabel";R.title="Calculated Fuel Consumption";appC(R,creatTxt("Fuel Consumption:"));appC(H,R);appC(H,Z);appC(H,aa);appC(H,J);appC(X,ab);appC(X,T);appC(X,V);appC(X,G);appC(X,H);appC(X,W);X.style.top=(getEl("map").offsetHeight/2)-(60)+"px";X.style.left=(getEl("map").offsetWidth/2)-(165)+"px";X.style.display="none";X.style.visibility="visible"}function l(){C();b()}l();this.display=d;this.positionResults=n;this.resultsResize=p;this.reset=z}function AjCall(c,h,a){var e,f,d,g;function i(){if(window.XMLHttpRequest){return new XMLHttpRequest()}else{if(window.ActiveXObject){return new ActiveXObject("Microsoft.XMLHTTP")}}}e=30000;f=i();g=function(){f.onreadystatechange=function(){};f.abort();h(996,a)};function b(){if(f.readyState===4){clearTimeout(d);if(f.status===200){h(f.responseXML,a)}else{h(995,a)}}}f.onreadystatechange=b;this.doGet=function(){f.open("GET",c,true);f.send(null);d=setTimeout(g,e)};this.doPost=function(j){f.open("POST",c,true);f.setRequestHeader("Content-Type","application/x-www-form-urlencoded");f.setRequestHeader("Content-length",j.length);f.setRequestHeader("Connection","close");f.send(j);d=setTimeout(g,e)}}function Itinerary(y,q){var m=[],w,I,a=25,P=[],t,k,K=0,p=false;function g(){var T=getEl("map"),V=getEl("iputs"),S=getEl("places_wrap"),U=60,R=T.offsetHeight-7-search_height_offset-60;if(S.offsetHeight>=R){if(R>U){V.style.height=R+"px"}else{V.style.height=U+"px"}}else{V.style.height="auto"}}function Q(S){var R;switch(m[S].stat){case 0:case 3:case 5:clearC(m[S].loader);R=creatEl("img");R.src="images/blank.gif";appC(m[S].loader,R);break;case 1:clearC(m[S].loader);R=creatEl("img");R.src="images/loader.gif";appC(m[S].loader,R);break;case 2:clearC(m[S].loader);R=creatEl("img");R.src="images/accept.png";appC(m[S].loader,R);break;case 4:clearC(m[S].loader);R=creatEl("img");R.src="images/blank.gif";appC(m[S].loader,R);break;default:clearC(m[S].loader);R=creatEl("img");R.src="images/blank.gif";appC(m[S].loader,R)}}function C(){clearC(k)}function O(){var R;C();R=creatEl("img");R.src="images/sloader.gif";appC(k,R)}function L(R){m[R].loader.style.display="none";m[R].notifier.style.display="none";g()}function u(R){m[R].loader.style.display="";m[R].notifier.style.display="";g()}function G(R){clearC(m[R].notifier.firstChild);m[R].notifier.firstChild.className="";g()}function b(T,S,R){G(T);m[T].notifier.firstChild.className=R;appC(m[T].notifier.firstChild,S);g()}function v(){var S=[],R,T;for(R=0;R<m.length;R=R+1){if(m[R].stat===2||m[R].stat===5){S.push(R)}}if(S.length>0&&m[S[0]].stat===5){m[S[0]].stat=2;Q(S[0]);G(S[0]);setClass("remove",m[S[0]].iput,"hlite")}for(T=1;T<S.length;T=T+1){if(m[S[T]].lat===m[S[T-1]].lat&&m[S[T]].lon===m[S[T-1]].lon){if(m[S[T]].stat===2){m[S[T]].stat=5;Q(S[T]);b(S[T],creatTxt("Identical to previous place."),"err");setClass("add",m[S[T]].iput,"hlite")}}else{m[S[T]].stat=2;Q(S[T]);G(S[T]);setClass("remove",m[S[T]].iput,"hlite")}}}function B(){for(var R=0;R<m.length;R=R+1){if(m[R].stat>3){setClass("add",m[R].iput,"hlite")}else{if(R===0||R===m.length-1){if(m[R].stat===2){setClass("remove",m[R].iput,"hlite")}}else{if(m[R].stat!==3){setClass("remove",m[R].iput,"hlite")}}}}}function l(V){var R=Number(this.id),X,U,S=m[R],W=S.place_list,T;T=getEventTarget(V);if(T.nodeType===1){if(T.nodeName==="LI"){for(U=0;U<T.parentNode.childNodes.length;U+=1){if(T.parentNode.childNodes[U]===T){X=U;break}}S.nam=W[X].childNodes[0].childNodes[0].nodeValue;S.iput.value=W[X].childNodes[0].childNodes[0].nodeValue;if(W[X].childNodes[1].hasChildNodes()){S.postcode=W[X].childNodes[1].childNodes[0].nodeValue}else{S.postcode=""}S.lon=W[X].childNodes[2].childNodes[0].nodeValue;S.lat=W[X].childNodes[3].childNodes[0].nodeValue;S.stat=2;setClass("remove",S.iput,"hlite");Q(R);G(R);v();delete S.place_list}}return true}function e(S){var R=getEventTarget(S);if(R.nodeType===1){if(R.tagName==="LI"){R.className="lstsuggestover"}}return true}function d(S){var R=getEventTarget(S);if(R.nodeType===1){if(R.tagName==="LI"){R.className="lstsuggest"}}return true}function h(R){var Z,X,W,V,U,S,T,Y;Z=creatEl("div");Z.className="lsthead";Y=creatTxt("Found "+m[R].place_list.length+" places. Select one or enter more detail.");X=creatEl("ul");for(T=0;T<m[R].place_list.length;T+=1){W=creatEl("li");W.className="lstsuggest";V=m[R].place_list[T].childNodes[0].childNodes[0].nodeValue;if(m[R].place_list[T].childNodes[1].hasChildNodes()){U=m[R].place_list[T].childNodes[1].childNodes[0].nodeValue;S=creatTxt(V+" "+U)}else{S=creatTxt(V)}appC(X,W);appC(W,S)}appC(Z,Y);b(R,Z,"lst");b(R,X,"lst")}function A(){var S,R;for(S=0;S<m.length;S=S+1){for(R=0;R<m[S].control.childNodes.length;R=R+1){m[S].control.childNodes[R].disabled=true;setClass("add",m[S].control.childNodes[R],"disabled")}}}function o(){var S,R;for(S=0;S<m.length;S=S+1){for(R=0;R<m[S].control.childNodes.length;R=R+1){m[S].control.childNodes[R].disabled=false;setClass("remove",m[S].control.childNodes[R],"disabled")}}}function c(T){var S=m[T].container,R;m[T].container.onclick=null;m[T].container.onmouseover=null;m[T].container.onmouseout=null;m[T].iput.onblur=null;m[T].iput.onfocus=null;m[T]={};I.removeChild(S);m.splice(T,1);for(R=T;R<m.length;R=R+1){m[R].container.setAttribute("id",R);m[R].label.setAttribute("for","input_"+R);m[R].iput.setAttribute("id","input_"+R);m[R].butAd.setAttribute("id","add_"+R);m[R].butDl.setAttribute("id","del_"+R);m[R].butUp.setAttribute("id","up_"+R);m[R].butDn.setAttribute("id","dn_"+R);if(R!==m.length-1){m[R].label.childNodes[0].nodeValue="Place "+R}}g();v()}function z(){var R=true,S;for(S=0;S<m.length;S=S+1){if(m[S].stat!==2){if(m[S].stat===0&&(S===0||S===m.length-1)){setClass("add",m[S].iput,"hlite");b(S,creatTxt("Address Required"),"err");R=false}else{if(m[S].stat!==0){if(m[S].stat!==1){setClass("add",m[S].iput,"hlite");R=false}}}}}return R}function n(){var S=[],R;for(R=0;R<m.length;R=R+1){if(m[R].lon!==""){S.push(m[R].lat+" "+m[R].lon)}}return S}function j(S){if(S.length!==P.length){return true}else{for(var R=0;R<S.length;R=R+1){if(S[R]!==P[R]){return true}}}return false}function D(){var S,R=m.length-2;for(S=R;S>0;S=S-1){if(m[S].stat===0){c(S)}}}function E(){var R,S;if(t.value==="Cancel"){t.value="Get Details";directions.clear();o();C();P=[]}else{if(K){p=true;t.value="Verifying";t.disabled=true}else{if(z()){R=n();if(j(R)){D();A();S={getSteps:false,getPolyline:true};q.loadFromWaypoints(R,S);P=R;O();t.disabled=false;t.value="Cancel"}else{t.disabled=false;t.value="Get Details";alert("Your Itinerary hasn't changed. Please modify it and try again.")}}else{p=false;t.disabled=false;t.value="Get Details"}}}}function N(ai){var Z={stat:0,nam:"",postcode:"",lat:"",lon:""},ae=creatEl("div"),Y=creatEl("label"),an=creatEl("input"),ac=creatEl("div"),U=creatEl("img"),aa=creatEl("div"),af=creatEl("div"),ad=creatEl("div"),ag="Enter an 'Address' or 'Place Name'",X,al,ah,S,am;function V(aq,ap,ar){switch(aq){case 500:case 601:case 610:case 620:case 400:case 999:case 997:case 995:m[ar].nam="";b(ar,creatTxt("Error: ["+aq+"]"),"err");break;case 996:m[ar].nam="";b(ar,creatTxt("Timed Out - Try Again"),"err");break;case 602:b(ar,creatTxt("Unknown Address"),"err");break;case 603:b(ar,creatTxt("Illegal Address"),"err");break;default:m[ar].nam="";b(ar,creatTxt("Error: ["+aq+"]"),"err")}m[ar].stat=ap;Q(ar);setClass("add",m[ar].iput,"hlite");m[ar].iput.disabled=false;K=K-1;if(!K){o();if(p){p=false;E()}}}function ab(ap,au){var aq,at,ar;if(typeof(ap)==="object"){at=ap;aq=Number(at.getElementsByTagName("status")[0].childNodes[0].nodeValue)}else{aq=ap}switch(aq){case 200:ar=at.getElementsByTagName("place");if(ar.length>1){m[au].place_list=ar;h(au);m[au].stat=3;m[au].iput.disabled=false;Q(au);K=K-1;if(!K){o();if(p){t.disabled=false;t.value="Get Details";p=false}}}else{m[au].nam=ar[0].childNodes[0].childNodes[0].nodeValue;m[au].iput.value=ar[0].childNodes[0].childNodes[0].nodeValue;if(ar[0].childNodes[1].hasChildNodes()){m[au].postcode=ar[0].childNodes[1].childNodes[0].nodeValue}else{m[au].postcode=""}m[au].lon=ar[0].childNodes[2].childNodes[0].nodeValue;m[au].lat=ar[0].childNodes[3].childNodes[0].nodeValue;m[au].stat=2;v();m[au].iput.disabled=false;Q(au);K=K-1;if(!K){o();if(p){p=false;E()}}}break;case 602:case 603:V(aq,4,au);break;case 998:window.location.reload();break;case 500:case 601:case 610:case 620:case 400:case 999:case 997:case 996:case 995:V(aq,6,au);break;default:V(aq,6,au)}}function R(){var at=Number(this.id.split("_")[1]),ar=this.value,aq="defxml.php",ap=new AjCall(aq,ab,at);if(isWhitespace(ar)){setClass("add",m[at].iput,"startup");m[at].iput.value=ag;m[at].nam="";m[at].stat=0;m[at].postcode="";m[at].lat="";m[at].lon="";Q(at);u(at);G(at);v()}else{if(m[at].nam!==ar){m[at].nam=ar;m[at].stat=1;m[at].iput.disabled=true;Q(at);u(at);G(at);A(at);K=K+1;ap.doPost("q="+ar+"&t="+at)}}}function T(){return function(){setClass("remove",this,"hlite");setClass("remove",this,"startup");if(this.value===ag){this.value="";G(Number(this.id.split("_")[1]))}}}function ao(){var ap=creatEl("input");setAtt(ap,"type","button");setAtt(ap,"title","Move Up");setAtt(ap,"id","up_"+ai);ap.className="up";return ap}function W(){var ap=creatEl("input");setAtt(ap,"type","button");setAtt(ap,"title","Move Down");setAtt(ap,"id","dn_"+ai);ap.className="down";return ap}function aj(){var ap=creatEl("input");setAtt(ap,"type","button");setAtt(ap,"title","Remove");setAtt(ap,"id","del_"+ai);ap.className="del";return ap}function ak(){var ap=creatEl("input");setAtt(ap,"type","button");setAtt(ap,"title","Add Place");setAtt(ap,"id","add_"+ai);ap.className="add";return ap}setAtt(ae,"id",ai);ae.className="place_wrap";ae.onclick=l;ae.onmouseover=e;ae.onmouseout=d;setAtt(Y,"for","input_"+ai);setAtt(an,"id","input_"+ai);setAtt(an,"type","text");an.maxLength=200;an.className="place_input startup";an.value=ag;an.onblur=R;an.onfocus=T();an.tabIndex=1;ac.className="loader";U.src="images/blank.gif";aa.className="control";af.className="notify";al=W();ah=ao();S=ak();am=aj();if(ai===0){X=creatTxt("Start");appC(aa,al);appC(aa,S)}else{if(ai===m.length){X=creatTxt("End");appC(aa,ah)}else{X=creatTxt("Place "+ai);appC(aa,ah);appC(aa,al);appC(aa,am);appC(aa,S)}}appC(Y,X);appC(ac,U);appC(af,ad);appC(ae,Y);appC(ae,an);appC(ae,ac);appC(ae,aa);appC(ae,af);Z.label=Y;Z.iput=an;Z.notifier=af;Z.loader=ac;Z.container=ae;Z.control=aa;Z.butAd=S;Z.butDl=am;Z.butUp=ah;Z.butDn=al;m.splice(ai,0,Z);return Z.container}function F(V){var R,U,T,S;if(m.length<a){R=V+1;U=N(R);T=m[V].container;I.insertBefore(U,T.nextSibling);for(S=m.length-1;S>V;S=S-1){m[S].container.setAttribute("id",S);m[S].label.setAttribute("for","input_"+S);m[S].iput.setAttribute("id","input_"+S);m[S].butAd.setAttribute("id","add_"+S);m[S].butDl.setAttribute("id","del_"+S);m[S].butUp.setAttribute("id","up_"+S);m[S].butDn.setAttribute("id","dn_"+S);if(S!==m.length-1){m[S].label.childNodes[0].nodeValue="Place "+S}}}g()}function H(R){var S,T=null;if(!K){for(S=0;S<m.length;S=S+1){if(m[S].stat===0){T=S;break}}if(T===null&&m.length<a){F(m.length-2);T=m.length-2}if(T!==null){setClass("remove",m[T].iput,"startup");m[T].stat=2;m[T].lat=R.lat;m[T].lon=R.lng;m[T].nam=R.titleNoFormatting;m[T].iput.value=R.titleNoFormatting;setClass("remove",m[T].iput,"startup");if(T===0||T===m.length-1){G(T);setClass("remove",m[T].iput,"hlite")}v();Q(T)}}}function M(W,U){var T,R,X,V,S;function Y(ab,aa,ac){var Z=m[ab][ac];m[ab][ac]=m[aa][ac];m[aa][ac]=Z;return this}if(m[W].stat!==0||m[U].stat!==0){T=m[W].iput.value;R=m[W].iput.className;m[W].iput.value=m[U].iput.value;m[W].iput.className=m[U].iput.className;m[U].iput.value=T;m[U].iput.className=R;X=m[W].notifier.childNodes[0];V=m[U].notifier.childNodes[0];clearC(m[W].notifier);clearC(m[U].notifier);appC(m[W].notifier,V);appC(m[U].notifier,X);S=m.length-1;if(W===0||W===S){if(m[W].stat===0){G(U)}}else{if(U===0||U===S){if(m[U].stat===0){G(W)}}}if(m[W].stat===3&&m[U].stat===3){setClass("remove",m[W].iput,"hlite");setClass("remove",m[U].iput,"hlite")}else{if(m[W].stat===3){setClass("remove",m[U].iput,"hlite")}else{if(m[U].stat===3){setClass("remove",m[W].iput,"hlite")}}}Y(W,U,"stat");Y(W,U,"nam");Y(W,U,"postcode");Y(W,U,"lat");Y(W,U,"lon");Y(W,U,"place_list");if(m[0].stat===5){m[0].stat=2;G(0)}Q(W);Q(U);v();B()}}function i(){if(getEl("sHide").title==="Hide Itinerary"){getEl("searchform").style.display="none";getEl("sHide").title="Show Itinerary";getEl("sHide").className="sho"}else{getEl("searchform").style.display="block";getEl("sHide").title="Hide Itinerary";getEl("sHide").className="hid";g()}}function f(U){var R=getEventTarget(U),S,T;if(R.nodeType===1&&R.nodeName==="INPUT"&&R.type==="button"&&R.disabled===false){T=R.id.split("_")[0];S=Number(R.id.split("_")[1]);switch(T){case"add":F(S);break;case"del":c(S);break;case"up":M(S,S-1);break;case"dn":M(S,S+1);break}}return true}function s(T){var R=getEventTarget(T),S;if(R.nodeType===1&&R.nodeName==="INPUT"&&R.type==="text"){S=Number(R.id.split("_")[1]);if(m[S].nam!==""&&m[S].nam!==R.value){L(S)}else{u(S)}}return true}function r(){var R,W,V,U,Y,T,S,X;function aa(){t=creatEl("input");setAtt(t,"type","button");setAtt(t,"value","Get Details");setAtt(t,"id","yeah");t.className="find";t.onclick=E;t.tabIndex=2;return t}function Z(){var ab=creatEl("input");setAtt(ab,"type","button");setAtt(ab,"title","Hide Itinerary");setAtt(ab,"id","sHide");ab.className="hid";ab.onclick=i;return ab}R=creatEl("div");setAtt(R,"id","fcontrol");appC(R,Z());appC(document.getElementsByTagName("body")[0],R);W=y;V=creatEl("div");setAtt(V,"id","head");U=creatEl("span");U.className="eg";w=creatEl("div");setAtt(w,"id","iputs");I=creatEl("div");I.onclick=f;I.onkeyup=s;setAtt(I,"id","places_wrap");Y=creatEl("div");setAtt(Y,"id","footer");T=creatEl("a");T.name="help";T.href="about.html#search";T.className="hel";T.onclick=popHelp;S=creatEl("a");S.name="def";S.href="http://www.defeye.com.au";S.className="def";S.target="_blank";X=creatEl("a");X.name="ico";X.href="http://famfamfam.com/lab/icons/silk/";X.className="ico";X.target="_blank";k=creatEl("div");setAtt(k,"id","sLoad");appC(U,creatTxt("- enter 25 places max"));appC(V,creatTxt("Itinerary "));appC(V,U);appC(I,N(0));appC(I,N(1));appC(w,I);appC(T,creatTxt("Help ?"));appC(S,creatTxt("\u00A9 defeye TECHNICAL 2010"));appC(X,creatTxt("icons"));appC(Y,T);appC(Y,aa());appC(Y,k);appC(Y,S);appC(Y,X);appC(W,V);appC(W,w);appC(W,Y);W.style.visibility="visible"}function x(S){var R="";if(S>=0&&S<m.length){R=m[S].nam+" "+m[S].postcode}else{R="Not Found"}return R}function J(){r()}J();this.places=m;this.addPlace=F;this.delPlace=c;this.getPlaceName=x;this.hideSearch=i;this.clearSearchLoader=C;this.searchResize=g;this.getWaypoints=n;this.but_find=t;this.enableButtons=o;this.addFromsearch=H}function resize(){var b=document.documentElement.clientHeight,a=document.documentElement.clientWidth;if(viewport_height!==b||viewport_width!==a){map.checkResize();map.setCenter(center);getEl("conform").style.top=(b/2)-(60)+"px";getEl("conform").style.left=(a/2)-(165)+"px";if(viewport_height!==b){itinerary.searchResize();results.resultsResize()}if(viewport_width!==a){results.positionResults()}}viewport_height=b;viewport_width=a}function initialize(){if(GBrowserIsCompatible()){var a=getEl("map"),c=getEl("searchform"),f=getEl("results"),b,e=4,d={backgroundColor:"#5C7161",googleBarOptions:{onIdleCallback:function(){search_height_offset=40;itinerary.searchResize()},onSearchCompleteCallback:function(){search_height_offset=317;itinerary.searchResize()},onGenerateMarkerHtmlCallback:doGenerateMarkerHtml,listingTypes:G_GOOGLEBAR_TYPE_BLENDED_RESULTS,suppressInitialResultSelection:false,adsOptions:{client:"pub-3621477076717803",channel:"0026715744",adsafe:"low",language:"en"}}};if((a!=="undefined"&&a!==null)||(c!=="undefined"&&c!==null)){if(viewport_height>800){e=5}preload_images();map=new google.maps.Map2(a,d);center=new google.maps.LatLng(-28.6,133.775136);map.setCenter(center,e,G_PHYSICAL_MAP);map.addControl(new google.maps.LargeMapControl3D(),new google.maps.ControlPosition(G_ANCHOR_TOP_LEFT,new google.maps.Size(488,2)));map.addControl(new google.maps.SmallZoomControl3D(),new google.maps.ControlPosition(G_ANCHOR_TOP_LEFT,new google.maps.Size(508,63)));map.addMapType(G_PHYSICAL_MAP);map.addControl(new google.maps.MapTypeControl(),new google.maps.ControlPosition(G_ANCHOR_BOTTOM_RIGHT,new google.maps.Size(4,15)));directions=new google.maps.Directions();google.maps.Event.addListener(directions,"load",directionsLoaded);google.maps.Event.addListener(directions,"error",directionsError);itinerary=new Itinerary(c,directions);results=new ItinResults(f,directions,itinerary);map.enableContinuousZoom();map.enableGoogleBar();b=new google.maps.AdsManager(map,"pub-3621477076717803",{channel:"2686039196",style:"adunit",maxAdsOnMap:1,position:new google.maps.ControlPosition(google.maps.ANCHOR_BOTTOM_RIGHT,new google.maps.Size(5,35))});b.enable();google.maps.Event.addListener(map,"moveend",function(){center=map.getCenter()});google.maps.Event.addListener(map,"click",function(){getEl("sHide").focus()});window.onresize=resize}}else{alert("Sorry, the Google Maps API is not compatible with this browser")}};
