function showToiletPreview(n){var t=[],r,u,f,e,i;favMapBounds=null,n.type=="mytoilet"&&(t=n.data_preview.split(","),r=Number(t[0]),u=Number(t[1]),f=Number(t[2]),e=t[3],i=new google.maps.LatLng(r,u),toiletMarker!=null&&(toiletMarker.setIcon(BuildMarkerImage(e+"-pin")),toiletMarker.setPosition(i),toiletMarker.setMap(map)),map.panTo(i),map.setZoom(f),$("#MapTitle").text(n.title),$("#PrintableMapTitle").text(n.title),currentTargetData=n,setSession("currentTargetData",n))}function showMapPreview(n){var t=[],r,u,f,e,o,s,h,c,l,i;favMapBounds=null,n.type=="mymap"&&(t=n.data_preview.split(","),r=Number(t[0]),u=Number(t[1]),f=Number(t[2]),e=Number(t[3]),o=Number(t[4]),s=Number(t[5]),h=new google.maps.LatLng(r,u),c=new google.maps.LatLng(f,e),l=new google.maps.LatLng(o,s),i=new google.maps.LatLngBounds(c,l),favMapBounds=i,map.fitBounds(i),poiMarker!=null&&(poiMarker.setPosition(h),poiMarker.setMap(map)),poiBox!=null&&(poiBox.setBounds(i),poiBox.setMap(map)),$("#MapTitle").text(n.title),$("#PrintableMapTitle").text(n.title),currentTargetData=n,setSession("currentTargetData",n))}function showTripPreview(n){var t=[],o,s,i,h,c,y,p,u,l,a,v=[],r,f,e;if(favMapBounds=null,n.type=="mytrip"){t=n.data_preview.split("#"),o=t[0],s=t[1],i=t[2].toUpperCase();switch(i){case"BICYCLING":break;case"DRIVING":break;case"WALKING":break;default:i="DRIVING"}if(h=ToBoolean(t[3]),c=ToBoolean(t[4]),y=t[5],p=t[6],u=t[7],u.length>0)for(f=u.split("),("),r=0;r<f.length;r++)e=convertToGoogleLatLng(f[r]),e!=null&&v.push({location:e,stopover:!1});l={origin:o,destination:s,waypoints:v,travelMode:i,optimizeWaypoints:!1,avoidTolls:h,avoidHighways:c,region:"Australia"},a=new google.maps.DirectionsService,a.route(l,function(n,t){if(t==google.maps.DirectionsStatus.OK)directionsRenderer.setDirections(n),directionsRenderer.setMap(map);else{removeSession("currentTargetData"),map.fitBounds(AustraliaBounds);var i=messageType.ERROR,r="The route could not be displayed.";messages.temporaryMessage([new displayMessage(i,r,"")])}}),$("#MapTitle").text(n.title),$("#PrintableMapTitle").text(n.title),currentTargetData=n,setSession("currentTargetData",n)}}function showControls(n){var o,i=0,u=[],f,e,r,t;for(typeof n=="undefined"?r="#div-undefined":(f=n.type,e=n.id,r="#div-"+f+"-"+e),$(".mycontrols").each(function(){u.push($(this).attr("id"))}),i=0;i<u.length;i++)t="#"+u[i],t==r?($(t).hasClass("hide")&&$(t).removeClass("hide"),$(t).animate({backgroundColor:color2},500)):($(t).animate({backgroundColor:"transparent"},500),$(t).hasClass("hide")==!1&&$(t).addClass("hide"));o="div-",r!="#div-undefined"&&showPreviewDelayed(n)}function showPreviewDelayed(n){ActiveItem=null,clearTimeout(MyPreviewTimer),MyPreviewTimer=setTimeout(function(){showPreview()},MyPreviewTimerValue),ActiveItem=n}function showPreview(n){var t;map&&(t=map.getStreetView()),n==null&&ActiveItem!=null&&(n=ActiveItem),t&&t.getVisible()==!0&&t.setVisible(!1),toiletMarker.setMap(null),poiMarker.setMap(null),poiBox.setMap(null),directionsRenderer.setMap(null),n.type=="mytoilet"&&showToiletPreview(n),n.type=="mymap"&&showMapPreview(n),n.type=="mytrip"&&showTripPreview(n),typeof MapMask!="undefined"&&MapMask.setMap(null)}function submitMyFavourites(n,t){return confirm('Confirm deletion of item "'+ActiveItem.title+'"')?!0:(t.preventDefault(),!1)}function PostInitialiseMap(){var n,t;map.setOptions({panControl:!1,scaleControl:!1,zoomControl:!1,draggable:!1,scrollwheel:!1,disableDefaultUI:!0});var i=new google.maps.LatLng(-89.999,0),r=new google.maps.LatLng(89.999,-1e-5),u=new google.maps.LatLngBounds(i,r);toiletMarker=new google.maps.Marker({}),n=BuildMarkerImage("crosshair","centre"),poiMarker=new google.maps.Marker({icon:n}),poiBox=new google.maps.Rectangle({fillOpacity:0,strokeWeight:1,strokeColor:131586,strokeOpacity:.2}),directionsRenderer=new google.maps.DirectionsRenderer({draggable:!1,hideRouteList:!0,preserverViewPort:!1}),google.maps.event.addListener(map,"click",function(){mapLeftClick()}),google.maps.event.addListener(map,"rightclick",function(){mapRightClick()}),google.maps.event.addListener(poiBox,"click",function(){mapLeftClick()}),google.maps.event.addListener(poiBox,"rightclick",function(){mapRightClick()}),google.maps.event.addListener(poiMarker,"click",function(){mapLeftClick()}),google.maps.event.addListener(map,"idle",function(){updateMap()}),currentTargetData=getSession("currentTargetData"),currentTargetData&&$("#RTSKey").attr("value")==currentTargetData.id?(t="#"+currentTargetData.data_id,$(t).length>0?showControls(currentTargetData):removeSession("currentTargetData")):(removeSession("currentTargetData"),map.fitBounds(AustraliaBounds))}function updateMap(){favMapBounds!=null&&(ensureBoundsAreBestFit(favMapBounds),favMapBounds=null)}function mapLeftClick(){if(map.draggable==!1){var n=getSession("currentTargetData");if(n)switch(n.type){case"mytoilet":onMyToiletClick(n.id);break;case"mymap":onMyMapClick(n.id);break;case"mytrip":onMyTripClick(n.id)}}}function mapRightClick(){map.disableDefaultUI==!1?map.setOptions({mapTypeControl:!1,draggable:!1,scrollwheel:!1,disableDefaultUI:!0}):map.setOptions({mapTypeControl:!0,draggable:!0,scrollwheel:!0,disableDefaultUI:!1})}function PostLogin(){$("div#intro").addClass("hide"),$("div#MyFavourites").addClass("hide"),$("#MyToiletForm").submit()}function expandPanel(n){var r,u,i,f,t;typeof n=="string"&&(t=n,i="#"+t+"List",$(i).collapse("show")),typeof n=="object"&&(t=n.currentTarget.id),r="#"+t+"Twistie",u="#"+t+"Handle",i="#"+t+"List",f=t.replace("Fav"," "),$(r).attr("class","arrow down"),$(u).attr("title","Collapse "+f+" list")}function collapsePanel(n){var i,r,u,f,t;typeof n=="string"&&(t=n,u="#"+t+"List",$(u).collapse("hide")),typeof n=="object"&&(t=n.currentTarget.id),i="#"+t+"Twistie",r="#"+t+"Handle",f=t.replace("Fav"," "),$(i).attr("class","arrow right"),$(r).attr("title","Expand "+f+" list")}function ExpandAll(){return $(".accordion-body").each(function(){typeof $(this).collapse=="function"&&$(this).collapse("show")}),!1}function CollapseAll(){return $(".accordion-body").each(function(){typeof $(this).collapse=="function"&&$(this).collapse("hide")}),!1}function PreloadAccordionState(){$("#accordioncontrols").removeClass("hide");var n=getCookie(CookieName);n.indexOf("MyToilet")>0?expandPanel("MyFavToilets"):collapsePanel("MyFavToilets"),n.indexOf("MyMap")>0?expandPanel("MyFavMaps"):collapsePanel("MyFavMaps"),n.indexOf("MyTrip")>0?expandPanel("MyFavTrips"):collapsePanel("MyFavTrips"),clearTimeout(CookieTimerID)}function DirectSaveAccordionState(){var n="OpenPanels=";$("#MyFavToiletsList").hasClass("in")&&(n=n+"|MyToilets"),$("#MyFavMapsList").hasClass("in")&&(n=n+"|MyMaps"),$("#MyFavTripsList").hasClass("in")&&(n=n+"|MyTrips"),createCookie(CookieName,n,CookieDuration),$("#notes").get(0).innerHTML=""}function SaveAccordionState(){clearTimeout(CookieTimerID),CookieTimerID=setTimeout(DirectSaveAccordionState,CookieTimeout)}function myActionGPS(){var n="";if($("#GPS_FromPage").attr("value","MyToilets"),$("#GPS_Footnote").get(0).innerHTML="<br /><p class='offset2'><small>Only toilet locations will be downloaded.<br />For maps or trip plans, follow the link to that item first.<\/small><\/p>",MyToilets.length==0){messages.temporaryMessage([new displayMessage(messageType.WARNING,"","There are no toilets to export. <br /><small>Only toilet locations will be downloaded. For maps or trip plans, follow the link to that item first.<\/small>")],4e3);return}$("#GPS_Alert").get(0).innerHTML="",$("#downloadGPSSubmit").removeClass("hide"),n=MyToilets.toString(),$("#GPS_HRToiletIDs").attr("value",n),$("#DownloadGPSModal").modal()}function onMyMapClick(n){$($("#linkFormMap"+n)).submit()}function onMyToiletClick(n){$($("#linkFormToilet"+n)).submit()}function onMyTripClick(n){$($("#linkFormPlan"+n)).submit()}function BuildToiletSideIcon(n,t){var i=$("#toilet-icon-template").clone().html();return i.replace(/{{tooltip}}/g,n).replace("{{icon}}",t)}function BuildToiletIconList(n){var t="";(HasFlag(n.SM,xISACCESSIBLEMALE)||HasFlag(n.SM,xISACCESSIBLEFEMALE)||HasFlag(n.SM,xISACCESSIBLEUNISEX))&&(t+=BuildToiletSideIcon("Accessible","wheelchair")),HasFlag(n.SM,xISUNISEX)&&(t+=BuildToiletSideIcon("Unisex","mf")),HasFlag(n.SM,xISMALE)&&(t+=BuildToiletSideIcon("Male","m")),HasFlag(n.SM,xISFEMALE)&&(t+=BuildToiletSideIcon("Female","f")),HasFlag(n.SM,xISACCESSIBLEUNISEX)&&(t+=BuildToiletSideIcon("Accessible Unisex","mfa")),HasFlag(n.SM,xISACCESSIBLEMALE)&&(t+=BuildToiletSideIcon("Accessible Male","ma")),HasFlag(n.SM,xISACCESSIBLEFEMALE)&&(t+=BuildToiletSideIcon("Accessible Female","fa")),HasFlag(n.SM,xISDUMPPOINT)&&(t+=BuildToiletSideIcon("Dump point","dumppoint")),HasFlag(n.SM,xISPARKING)&&(t+=BuildToiletSideIcon("Parking","parking")),HasFlag(n.SM,xISPARKINGACCESSIBLE)&&(t+=BuildToiletSideIcon("Parking accessible","parkingacc")),HasFlag(n.SM,xISLHTRANSFER)&&(t+=BuildToiletSideIcon("LH Transfer","transfer_lh")),HasFlag(n.SM,xISRHTRANSFER)&&(t+=BuildToiletSideIcon("RH Transfer","transfer_rh")),HasFlag(n.SM,xISADULTCHANGE)&&(t+=BuildToiletSideIcon("Adult change","adultchange")),HasFlag(n.SM,xISCHANGINGPLACES)&&(t+=BuildToiletSideIcon("Changing Places accredited facility","changingplaces")),HasFlag(n.SM,xISAMBULANT)&&(t+=BuildToiletSideIcon("Ambulant","ambulant"));switch(n.F){case"Bus station":t+=BuildToiletSideIcon(n.F,"bus");break;case"Caravan park":t+=BuildToiletSideIcon(n.F,"caravan");break;case"Camping ground":t+=BuildToiletSideIcon(n.F,"camp");break;case"Car park":t+=BuildToiletSideIcon(n.F,"motor");break;case"Train station":t+=BuildToiletSideIcon(n.F,"train");break;case"Service station":t+=BuildToiletSideIcon(n.F,"fuel");break;case"Park or reserve":t+=BuildToiletSideIcon(n.F,"park");break;case"Airport":t+=BuildToiletSideIcon(n.F,"plane");break;case"Sporting facility":t+=BuildToiletSideIcon(n.F,"sport");break;case"Food outlet":t+=BuildToiletSideIcon(n.F,"food");break;case"Shopping centre":t+=BuildToiletSideIcon(n.F,"shop")}return HasFlag(n.SM,xISPAYMENTREQUIRED)&&(t+=BuildToiletSideIcon("Payment required","payment")),HasFlag(n.SM,xISKEYREQUIRED)&&(t+=BuildToiletSideIcon("Key required","key")),HasFlag(n.SM,xISMLAKKEY)&&(t+=BuildToiletSideIcon("MLAK key","mlak")),HasFlag(n.SM,xISACCESSLIMITED)&&(t+=BuildToiletSideIcon("Access limited","lock")),HasFlag(n.SM,xISSHOWERS)&&(t+=BuildToiletSideIcon("Showers","shower")),HasFlag(n.SM,xISBABYCHANGE)&&(t+=BuildToiletSideIcon("Baby change","babychange")),HasFlag(n.SM,xISDRINKINGWATER)&&(t+=BuildToiletSideIcon("Drinking water","water")),HasFlag(n.SM,xISSHARPSDISPOSAL)&&(t+=BuildToiletSideIcon("Sharps disposal","syringe")),HasFlag(n.SM,xISSANITARYDISPOSAL)&&(t+=BuildToiletSideIcon("Sanitary disposal","disposal")),t}function BuildMiniToilet(n){var r=$("#toilet-mini-template").clone().html(),t="",i;return t=n.O==null?"unknown":n.O,i=r.replace("{{title}}",n.T).replace(/{{toiletId}}/g,n.ID).replace("{{score}}",n.S).replace("{{icons}}",BuildToiletIconList(n)).replace("{{address1}}",n.A1).replace("{{open}}",t).replace("{{mapicon}}",GetMapImageName(n)).replace("{{locality}}",(n.A1==null||n.A1==""?"":", ")+n.L)}function BuildMarkerImage(n,t){var i=0,r=0,u=0,f=0,e=0,o=0,h,c,l,s,a;return MarkerIconDefinitions[n]==null?(h=$("."+n).css("background-position"),h==undefined?(c=$("."+n).css("background-position-x"),l=$("."+n).css("background-position-y"),e=Number(c.match("[0-9]+")[0]),o=Number(l.match("[0-9]+")[0])):(s=$("."+n).css("background-position").match(/[0-9]+/g),e=Number(s[0]),o=Number(s[1])),i=Number($("."+n).css("width").match("[0-9]+")[0]),r=Number($("."+n).css("height").match("[0-9]+")[0]),t=="centre"?(u=Math.floor(i/2),f=Math.floor(r/2)):t=="bottomthird"?(u=Math.floor(i/3),f=r):(u=n.indexOf("-pin")>0?13:Math.floor(i/2),f=r),MarkerIconDefinitions[n]={x:e,y:o,width:i,height:r,pinX:u,pinY:f}):(i=MarkerIconDefinitions[n].width,r=MarkerIconDefinitions[n].height,e=MarkerIconDefinitions[n].x,o=MarkerIconDefinitions[n].y,u=MarkerIconDefinitions[n].pinX,f=MarkerIconDefinitions[n].pinY),a=new google.maps.MarkerImage("/Images/toiletmap-icons.png?v=2",new google.maps.Size(i,r),new google.maps.Point(e,o),new google.maps.Point(u,f))}function GetMapPinImage(n){var r,i=GetMapImageName(n);return images[i]==null&&(images[i]=BuildMarkerImage(i+"-pin")),r=images[i]}function GetHightlightedMapPinImage(n){var r,i=GetMapImageName(n)+"-pin-highlight";return images[i]==null&&(images[i]=BuildMarkerImage(i)),r=images[i]}function GetMapImageName(n){var t;return t=HasFlag(n.SM,xISDUMPPOINT)?"dumppoint":HasFlag(n.SM,xISACCESSIBLEMALE)&&HasFlag(n.SM,xISACCESSIBLEFEMALE)||HasFlag(n.SM,xISACCESSIBLEUNISEX)?"mfa":HasFlag(n.SM,xISUNISEX)?"mf":HasFlag(n.SM,xISMALE)&&HasFlag(n.SM,xISFEMALE)?"mf":HasFlag(n.SM,xISACCESSIBLEFEMALE)?"fa":HasFlag(n.SM,xISFEMALE)?"f":HasFlag(n.SM,xISACCESSIBLEMALE)?"ma":HasFlag(n.SM,xISMALE)?"m":"mf"}function AreBoundsEqual(n,t){var i=!1;return i=n==null&&t==null?!0:n==null||t==null?!1:n.getSouthWest().lat()==t.getSouthWest().lat()&&n.getSouthWest().lng()==t.getSouthWest().lng()&&n.getNorthEast().lat()==t.getNorthEast().lat()&&n.getNorthEast().lng()==t.getNorthEast().lng()}function recordTiming(n,t){var i=new Date,r=i.getTime()-t.getTime();buildTimingMessage(n,r,t)}function accumulateTime(n,t){var i=new Date,r=i.getTime()-n.getTime();return t+=r}function buildTimingMessage(n,t,i){timingMessage+="\n"+n+" took "+t+" milliseconds to run. "+(i==null?"":"Started-"+formatTime(i))}function formatTime(n){var u="",f=0,i=0,r=0,t=0,e;return f=n.getHours(),i=n.getMinutes(),i<10&&(i="0"+i),r=n.getSeconds(),r<10&&(r="0"+r),t=n.getMilliseconds(),t<10&&(e="00"+t),t<100&&(e="0"+t),u=f+":"+i+":"+r+":"+t}function ToiletMiniClick(n){typeof onToiletMiniClick=="function"&&onToiletMiniClick(n)}function onToiletMiniClick(n){markerClick(n)}function ensureBoundsAreBestFit(n){var i=!0,t=map.getBounds(),r=n.getNorthEast().lng()-n.getSouthWest().lng(),u=n.getSouthWest().lat()-n.getNorthEast().lat(),f=t.getNorthEast().lng()-t.getSouthWest().lng(),e=t.getSouthWest().lat()-t.getNorthEast().lat();return r<=f/2*1.01&&u*-1<=e/-2*1.01&&(map.setZoom(map.getZoom()+1),i=!1),i}function PreInitialiseMap(){$("#filterbar div div a").each(function(){$(this).data("selected",!$(this).children("i").hasClass("disabled"))}),$("#filterbar div div a").click(function(){$(this).children("i").toggleClass("disabled"),$(this).data("selected",!$(this).children("i").hasClass("disabled")),clearTimeout(updateCallTimeout),updateCallTimeout=setTimeout(function(){updateMap()},800)})}function InitialiseMap(){var o,n,f;if($("div#map-canvas").length>0){var i=$("#staticMap"),t=$("#map-canvas"),r=$("#filterbar"),u=$("#actionbar"),e=$("#GoogleClientID").attr("value");i!=null&&i.remove(),t!=null&&(t.height($(window).height()-300),t.toggleClass("hide")),r!=null&&r.toggleClass("hide"),u!=null&&u.toggleClass("hide"),o=new google.maps.LatLng(-26.5,133),supressInfoWindow=!1,n=getSession("mapType"),n==null&&(n=google.maps.MapTypeId.ROADMAP),f={minZoom:3,client:e,mapTypeId:n,gestureHandling:"greedy"},map=new google.maps.Map($("div#map-canvas").get(0),f),typeof PostInitialiseMap=="function"?PostInitialiseMap():map.fitBounds(AustraliaBounds),google.maps.event.addListener(map,"dragend",function(){toiletInfo&&(toiletInfo.close(),toiletInfo=null)}),google.maps.event.addListener(map,"maptypeid_changed",function(){var n=map.getMapTypeId();setSession("mapType",n)})}}function highlightMarker(n){var i=$("#toilet"+n).attr("data-mapicon"),t,r;i!=null&&i!=""&&(t=i+"-pin-highlight",images[t]==null&&(images[t]=BuildMarkerImage(t)),r=images[t],markers[n].setIcon(r),markers[n].setZIndex(500))}function unHighlightMarker(n){var i=$("#toilet"+n).attr("data-mapicon"),t,r;i!=null&&i!=""&&(t=i+"-pin",images[t]==null&&(images[t]=BuildMarkerImage(t)),r=images[t],markers[n].setIcon(r),markers[n].setZIndex(1))}function HighlightToilet(n){jQuery("#toilet"+n).animate({backgroundColor:color2},100),highlightMarker(n)}function UnHighlightToilet(n){unHighlightMarker(n),$("#toilet"+n).removeClass("miniToiletHightlighted"),$("#toilet"+n).animate({backgroundColor:"transparent"},100)}function minitoilet_mouseenter(n){HighlightToilet(n),lastToiletId!=null&&lastToiletId!=n&&UnHighlightToilet(lastToiletId),lastToiletId=n}function minitoilet_mouseleave(n){UnHighlightToilet(n)}function markerMouseOver(n){HighlightToilet(n),lastToiletId!=null&&lastToiletId!=n&&UnHighlightToilet(lastToiletId),lastToiletId=n}function markerClick(n){calloutDisplayTimeout&&(clearTimeout(calloutDisplayTimeout),calloutDisplayTimeout=null),calloutDisplayTimeout=setTimeout(function(){buildToiletCallout(n)},500)}function buildToiletCallout(n){if(calloutDisplayTimeout&&(clearTimeout(calloutDisplayTimeout),calloutDisplayTimeout=null),toiletInfo&&(toiletInfo.close(),toiletInfo=null),!supressInfoWindow){var t=$("#list ul li#toilet"+n).clone();t==undefined?(window.console&&console.log("Delaying callout display by 200ms"),calloutDisplayTimeout=setTimeout(function(){buildToiletCallout(n)},200)):(toiletInfo=new google.maps.InfoWindow({content:toiletCalloutContent(t),disableAutoPan:!1,maxWidth:300}),toiletInfo.toiletId=n,toiletInfo.open(map,markers[n]))}}function toiletCalloutContent(n){return $(n).find("img").each(function(){$(this).attr("src",$(this).attr("src").replace(".png",".small.png"))}),$(n).children("a").append("<br/><p>Click to see details<\/p>"),'<div class="callout">'+$(n).html()+"<\/div>"}function markerMouseOut(){}var MarkerIconDefinitions,timingMessage,lastToiletId,color,color2;(function(n,t){function e(n,t,i){var r=s[t.type]||{};return n==null?i||!t.def?null:t.def:(n=r.floor?~~n:parseFloat(n),isNaN(n))?t.def:r.mod?(n+r.mod)%r.mod:0>n?0:r.max<n?r.max:n}function l(t){var e=i(),o=e._rgba=[];return(t=t.toLowerCase(),r(y,function(n,i){var r,s=i.re.exec(t),h=s&&i.parse(s),f=i.space||"rgba";if(h)return r=e[f](h),e[u[f].cache]=r[u[f].cache],o=e._rgba=r._rgba,!1}),o.length)?(o.join()==="0,0,0,0"&&n.extend(o,f.transparent),e):f[t]}function o(n,t,i){return(i=(i+1)%1,i*6<1)?n+(t-n)*i*6:i*2<1?t:i*3<2?n+(t-n)*(2/3-i)*6:n}var a="backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor",v=/^([\-+])=\s*(\d+\.?\d*)/,y=[{re:/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(n){return[n[1],n[2],n[3],n[4]]}},{re:/rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(n){return[n[1]*2.55,n[2]*2.55,n[3]*2.55,n[4]]}},{re:/#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/,parse:function(n){return[parseInt(n[1],16),parseInt(n[2],16),parseInt(n[3],16)]}},{re:/#([a-f0-9])([a-f0-9])([a-f0-9])/,parse:function(n){return[parseInt(n[1]+n[1],16),parseInt(n[2]+n[2],16),parseInt(n[3]+n[3],16)]}},{re:/hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,space:"hsla",parse:function(n){return[n[1],n[2]/100,n[3]/100,n[4]]}}],i=n.Color=function(t,i,r,u){return new n.Color.fn.parse(t,i,r,u)},u={rgba:{props:{red:{idx:0,type:"byte"},green:{idx:1,type:"byte"},blue:{idx:2,type:"byte"}}},hsla:{props:{hue:{idx:0,type:"degrees"},saturation:{idx:1,type:"percent"},lightness:{idx:2,type:"percent"}}}},s={byte:{floor:!0,max:255},percent:{max:1},degrees:{mod:360,floor:!0}},h=i.support={},c=n("<p>")[0],f,r=n.each;c.style.cssText="background-color:rgba(1,1,1,.5)",h.rgba=c.style.backgroundColor.indexOf("rgba")>-1,r(u,function(n,t){t.cache="_"+n,t.props.alpha={idx:3,type:"percent",def:1}}),i.fn=n.extend(i.prototype,{parse:function(o,s,h,c){if(o===t)return this._rgba=[null,null,null,null],this;(o.jquery||o.nodeType)&&(o=n(o).css(s),s=t);var a=this,v=n.type(o),y=this._rgba=[];return(s!==t&&(o=[o,s,h,c],v="array"),v==="string")?this.parse(l(o)||f._default):v==="array"?(r(u.rgba.props,function(n,t){y[t.idx]=e(o[t.idx],t)}),this):v==="object"?(o instanceof i?r(u,function(n,t){o[t.cache]&&(a[t.cache]=o[t.cache].slice())}):r(u,function(t,i){var u=i.cache;r(i.props,function(n,t){if(!a[u]&&i.to){if(n==="alpha"||o[n]==null)return;a[u]=i.to(a._rgba)}a[u][t.idx]=e(o[n],t,!0)}),a[u]&&n.inArray(null,a[u].slice(0,3))<0&&(a[u][3]=1,i.from&&(a._rgba=i.from(a[u])))}),this):void 0},is:function(n){var e=i(n),t=!0,f=this;return r(u,function(n,i){var o,u=e[i.cache];return u&&(o=f[i.cache]||i.to&&i.to(f._rgba)||[],r(i.props,function(n,i){if(u[i.idx]!=null)return t=u[i.idx]===o[i.idx]})),t}),t},_space:function(){var n=[],t=this;return r(u,function(i,r){t[r.cache]&&n.push(i)}),n.pop()},transition:function(n,t){var f=i(n),c=f._space(),o=u[c],l=this.alpha()===0?i("transparent"):this,a=l[o.cache]||o.to(l._rgba),h=a.slice();return f=f[o.cache],r(o.props,function(n,i){var c=i.idx,r=a[c],u=f[c],o=s[i.type]||{};u!==null&&(r===null?h[c]=u:(o.mod&&(u-r>o.mod/2?r+=o.mod:r-u>o.mod/2&&(r-=o.mod)),h[c]=e((u-r)*t+r,i)))}),this[c](h)},blend:function(t){if(this._rgba[3]===1)return this;var r=this._rgba.slice(),u=r.pop(),f=i(t)._rgba;return i(n.map(r,function(n,t){return(1-u)*f[t]+u*n}))},toRgbaString:function(){var i="rgba(",t=n.map(this._rgba,function(n,t){return n==null?t>2?1:0:n});return t[3]===1&&(t.pop(),i="rgb("),i+t.join()+")"},toHslaString:function(){var i="hsla(",t=n.map(this.hsla(),function(n,t){return n==null&&(n=t>2?1:0),t&&t<3&&(n=Math.round(n*100)+"%"),n});return t[3]===1&&(t.pop(),i="hsl("),i+t.join()+")"},toHexString:function(t){var i=this._rgba.slice(),r=i.pop();return t&&i.push(~~(r*255)),"#"+n.map(i,function(n){return n=(n||0).toString(16),n.length===1?"0"+n:n}).join("")},toString:function(){return this._rgba[3]===0?"transparent":this.toRgbaString()}}),i.fn.parse.prototype=i.fn,u.hsla.to=function(n){if(n[0]==null||n[1]==null||n[2]==null)return[null,null,null,n[3]];var i=n[0]/255,r=n[1]/255,e=n[2]/255,c=n[3],u=Math.max(i,r,e),s=Math.min(i,r,e),t=u-s,h=u+s,l=h*.5,f,o;return f=s===u?0:i===u?60*(r-e)/t+360:r===u?60*(e-i)/t+120:60*(i-r)/t+240,o=t===0?0:l<=.5?t/h:t/(2-h),[Math.round(f)%360,o,l,c==null?1:c]},u.hsla.from=function(n){if(n[0]==null||n[1]==null||n[2]==null)return[null,null,null,n[3]];var r=n[0]/360,u=n[1],t=n[2],e=n[3],i=t<=.5?t*(1+u):t+u-t*u,f=2*t-i;return[Math.round(o(f,i,r+1/3)*255),Math.round(o(f,i,r)*255),Math.round(o(f,i,r-1/3)*255),e]},r(u,function(u,f){var s=f.props,o=f.cache,h=f.to,c=f.from;i.fn[u]=function(u){if(h&&!this[o]&&(this[o]=h(this._rgba)),u===t)return this[o].slice();var l,a=n.type(u),v=a==="array"||a==="object"?u:arguments,f=this[o].slice();return r(s,function(n,t){var i=v[a==="object"?n:t.idx];i==null&&(i=f[t.idx]),f[t.idx]=e(i,t)}),c?(l=i(c(f)),l[o]=f,l):i(f)},r(s,function(t,r){i.fn[t]||(i.fn[t]=function(i){var f=n.type(i),h=t==="alpha"?this._hsla?"hsla":"rgba":u,o=this[h](),s=o[r.idx],e;return f==="undefined"?s:(f==="function"&&(i=i.call(this,s),f=n.type(i)),i==null&&r.empty)?this:(f==="string"&&(e=v.exec(i),e&&(i=s+parseFloat(e[2])*(e[1]==="+"?1:-1))),o[r.idx]=i,this[h](o))})})}),i.hook=function(t){var u=t.split(" ");r(u,function(t,r){n.cssHooks[r]={set:function(t,u){var o,f,e="";if(u!=="transparent"&&(n.type(u)!=="string"||(o=l(u)))){if(u=i(o||u),!h.rgba&&u._rgba[3]!==1){for(f=r==="backgroundColor"?t.parentNode:t;(e===""||e==="transparent")&&f&&f.style;)try{e=n.css(f,"backgroundColor"),f=f.parentNode}catch(s){}u=u.blend(e&&e!=="transparent"?e:"_default")}u=u.toRgbaString()}try{t.style[r]=u}catch(s){}}},n.fx.step[r]=function(t){t.colorInit||(t.start=i(t.elem,r),t.end=i(t.end),t.colorInit=!0),n.cssHooks[r].set(t.elem,t.start.transition(t.end,t.pos))}})},i.hook(a),n.cssHooks.borderColor={expand:function(n){var t={};return r(["Top","Right","Bottom","Left"],function(i,r){t["border"+r+"Color"]=n}),t}},f=n.Color.names={aqua:"#00ffff",black:"#000000",blue:"#0000ff",fuchsia:"#ff00ff",gray:"#808080",green:"#008000",lime:"#00ff00",maroon:"#800000",navy:"#000080",olive:"#808000",purple:"#800080",red:"#ff0000",silver:"#c0c0c0",teal:"#008080",white:"#ffffff",yellow:"#ffff00",transparent:[null,null,null,0],_default:"#ffffff"}})(jQuery);var MyToilets=[],MyMaps=[],MyTrips=[],toiletMarker,poiMarker,poiBox,directionsRenderer,MyPreviewTimer,MyPreviewTimerValue=1e3,ActiveItem,CookieName="ToiletMap_MyToilet_AccordionState",CookieTimeout=1e3,CookieDuration=7,CookieTimerID,MapMask,favMapBounds,currentTargetData={};$("#MyFavourites").addClass("hide"),$("#accordioncontrols").removeClass("hide"),$(function(){var n="",i="",t;$("#intro").removeClass("hide"),$(".myfavourite").each(function(){var n=$(this).attr("id"),r="",t="",e=$(this).attr("data-preview"),o=$(this).attr("data-title"),i,s,u=$(this).attr("href"),f=u.replace("MyTrip?TripID=","");$(this).attr("href",f),u=f,n.indexOf("mytrip-")>-1&&(r="mytrip",t=n.replace("mytrip-",""),MyTrips.push(t)),n.indexOf("mymap-")>-1&&(r="mymap",t=n.replace("mymap-",""),MyMaps.push(t)),n.indexOf("mytoilet-")>-1&&(r="mytoilet",t=n.replace("mytoilet-",""),MyToilets.push(t)),i={data_id:n,id:t,type:r,data_preview:e,title:o,url:u},$(this).mouseenter(i,function(n){var t=n.data;showControls(t)}),$(this).mouseleave(i,function(n){var t=n.data}),$(this).click(i,function(n){showPreview(n.data)}),$(this).focus(i,function(n){var t=n.data;showControls(t)})}),showControls(),PreloadAccordionState();$("#MyFavToilets").on("shown",function(n){expandPanel(n),SaveAccordionState()});$("#MyFavToilets").on("hidden",function(n){collapsePanel(n),SaveAccordionState()});$("#MyFavMaps").on("shown",function(n){expandPanel(n),SaveAccordionState()});$("#MyFavMaps").on("hidden",function(n){collapsePanel(n),SaveAccordionState()});$("#MyFavTrips").on("shown",function(n){expandPanel(n),SaveAccordionState()});$("#MyFavTrips").on("hidden",function(n){collapsePanel(n),SaveAccordionState()});$(".navbar-form").each(function(){$(this).submit(function(n){submitMyFavourites($(this),n)})}),n=$("#alertMessage").get(0).innerHTML,n=jQuery.trim(n),n=htmlDecode(n),i=$("#alertType").get(0).innerHTML,i=jQuery.trim(i);switch(i){case"alert-error":t=messageType.ERROR;break;case"alert-info":t=messageType.INFO;break;case"alert-instruction":t=messageType.INSTRUCTION;break;case"alert-success":t=messageType.SUCCESS;break;case"alert-warning":t=messageType.WARNING;break;default:t=messageType.INFO}n.length>0&&messages.temporaryMessage([new displayMessage(t,n,"")]),$("#MyFavourites").removeClass("hide")});var map,markers={},mapImage,toiletInfo,images={},toilets={},updateCallTimeout,AustraliaBounds,calloutDisplayTimeout,supressInfoWindow,startMapTime;$(function(){startMapTime=+new Date,PreInitialiseMap(),AustraliaBounds=new google.maps.LatLngBounds(new google.maps.LatLng(-43.658327,112.9239721),new google.maps.LatLng(-9.2268057,153.6386738)),InitialiseMap()}),MarkerIconDefinitions=[],timingMessage="",color="#54DCFF",color2="#E0F8FE"