jQuery.fn.ajaxForm=function(){return this.each(function(){var b=$(this);var a=b.attr("id");b.prepend('<div class="updatingOverlay"></div>');b.unbind("submit");b.submit(function(){b.find(".updatingOverlay").height(b.height()).width(b.width());b.addClass("updatingContainer");$.post(b.attr("action"),b.serialize(),function(c){b.replaceWith(c);$("#"+a).ajaxForm()});return false})})};var googleMap=new function(){this.load=function(a){google.load("maps","3",{other_params:"sensor=true"});google.setOnLoadCallback(function(){googleMap.setup();a()})};this.setup=function(){google.maps.Map.prototype.markers=new Array();google.maps.Map.prototype.addMarker=function(a){this.markers[this.markers.length]=a};google.maps.Map.prototype.getMarkers=function(){return this.markers};google.maps.Map.prototype.clearMarkers=function(){for(var a=0;a<this.markers.length;a++){this.markers[a].setMap(null)}this.markers=new Array()}};this.createMap=function(a,b,c){var d={zoom:c,center:b,scrollwheel:false,mapTypeId:google.maps.MapTypeId.ROADMAP};return new google.maps.Map(document.getElementById(a),d)}};if(window.jQuery){(function(a){if(a.browser.msie){try{document.execCommand("BackgroundImageCache",false,true)}catch(b){}}a.fn.rating=function(d){if(this.length==0){return this}if(typeof arguments[0]=="string"){if(this.length>1){var c=arguments;return this.each(function(){a.fn.rating.apply(a(this),c)})}a.fn.rating[arguments[0]].apply(this,a.makeArray(arguments).slice(1)||[]);return this}var d=a.extend({},a.fn.rating.options,d||{});a.fn.rating.calls++;this.not(".star-rating-applied").addClass("star-rating-applied").each(function(){var n,h=a(this);var e=(this.name||"unnamed-rating").replace(/\[|\]/g,"_").replace(/^\_+|\_+$/g,"");var k=a(this.form||document.body);var f=k.data("rating");if(!f||f.call!=a.fn.rating.calls){f={count:0,call:a.fn.rating.calls}}var m=f[e];if(m){n=m.data("rating")}if(m&&n){n.count++}else{n=a.extend({},d||{},(a.metadata?h.metadata():(a.meta?h.data():null))||{},{count:0,stars:[],inputs:[]});n.serial=f.count++;m=a('<span class="star-rating-control"/>');h.before(m);m.addClass("rating-to-be-drawn");if(h.attr("disabled")){n.readOnly=true}m.append(n.cancel=a('<div class="rating-cancel"><a title="'+n.cancel+'">'+n.cancelValue+"</a></div>").mouseover(function(){a(this).rating("drain");a(this).addClass("star-rating-hover")}).mouseout(function(){a(this).rating("draw");a(this).removeClass("star-rating-hover")}).click(function(){a(this).rating("select")}).data("rating",n))}var j=a('<div class="star-rating rater-'+n.serial+'"><a title="'+(this.title||this.value)+'">'+this.value+"</a></div>");m.append(j);if(this.id){j.attr("id",this.id)}if(this.className){j.addClass(this.className)}if(n.half){n.split=2}if(typeof n.split=="number"&&n.split>0){var g=(a.fn.width?j.width():0)||n.starWidth;var i=(n.count%n.split),l=Math.floor(g/n.split);j.width(l).find("a").css({"margin-left":"-"+(i*l)+"px"})}if(n.readOnly){j.addClass("star-rating-readonly")}else{j.addClass("star-rating-live").mouseover(function(){a(this).rating("fill");a(this).rating("focus")}).mouseout(function(){a(this).rating("draw");a(this).rating("blur")}).click(function(){a(this).rating("select")})}if(this.checked){n.current=j}h.hide();h.change(function(){a(this).rating("select")});j.data("rating.input",h.data("rating.star",j));n.stars[n.stars.length]=j[0];n.inputs[n.inputs.length]=h[0];n.rater=f[e]=m;n.context=k;h.data("rating",n);m.data("rating",n);j.data("rating",n);k.data("rating",f)});a(".rating-to-be-drawn").rating("draw").removeClass("rating-to-be-drawn");return this};a.extend(a.fn.rating,{calls:0,focus:function(){var c=this.data("rating");if(!c){return this}if(!c.focus){return this}var d=a(this).data("rating.input")||a(this.tagName=="INPUT"?this:null);if(c.focus){c.focus.apply(d[0],[d.val(),a("a",d.data("rating.star"))[0]])}},blur:function(){var c=this.data("rating");if(!c){return this}if(!c.blur){return this}var d=a(this).data("rating.input")||a(this.tagName=="INPUT"?this:null);if(c.blur){c.blur.apply(d[0],[d.val(),a("a",d.data("rating.star"))[0]])}},fill:function(){var c=this.data("rating");if(!c){return this}if(c.readOnly){return}this.rating("drain");this.prevAll().andSelf().filter(".rater-"+c.serial).addClass("star-rating-hover")},drain:function(){var c=this.data("rating");if(!c){return this}if(c.readOnly){return}c.rater.children().filter(".rater-"+c.serial).removeClass("star-rating-on").removeClass("star-rating-hover")},draw:function(){var c=this.data("rating");if(!c){return this}this.rating("drain");if(c.current){c.current.data("rating.input").attr("checked","checked");c.current.prevAll().andSelf().filter(".rater-"+c.serial).addClass("star-rating-on")}else{a(c.inputs).removeAttr("checked")}c.cancel[c.readOnly||c.required?"hide":"show"]();this.siblings()[c.readOnly?"addClass":"removeClass"]("star-rating-readonly")},select:function(c){var d=this.data("rating");if(!d){return this}if(d.readOnly){return}d.current=null;if(typeof c!="undefined"){if(typeof c=="number"){return a(d.stars[c]).rating("select")}if(typeof c=="string"){a.each(d.stars,function(){if(a(this).data("rating.input").val()==c){a(this).rating("select")}})}}else{d.current=this[0].tagName=="INPUT"?this.data("rating.star"):(this.is(".rater-"+d.serial)?this:null)}this.data("rating",d);this.rating("draw");var e=a(d.current?d.current.data("rating.input"):null);if(d.callback){d.callback.apply(e[0],[e.val(),a("a",d.current)[0]])}},readOnly:function(e,c){var d=this.data("rating");if(!d){return this}d.readOnly=e||e==undefined?true:false;if(c){a(d.inputs).attr("disabled","disabled")}else{a(d.inputs).removeAttr("disabled")}this.data("rating",d);this.rating("draw")},disable:function(){this.rating("readOnly",true,true)},enable:function(){this.rating("readOnly",false,false)}});a.fn.rating.options={cancel:"Cancel Rating",cancelValue:"",split:0,required:true,starWidth:16};a(function(){a("input[type=radio].star").rating()})})(jQuery)};var wotsForLunchApi={searchUrl:"Restaurant/BoundsChanged.aspx"};var mainMapMap;var mainMap=new function(){var e=this;var a=1;var c;var d=$("#searchResults");var b;this.init=function(f){mapDivId=f;if(!document.getElementById(f)){return}googleMap.load(function(){e.initMap(f)});d.prepend('<div id="searchResultsUpdating"></div>');$("#pagingWrap a").live("click",function(h){var g=$(h.target).attr("title");e.boundsChanged(g);return false});$("#findAddressBar form").submit(function(){e.findAddress();return false})};this.initMap=function(g){var j=new google.maps.LatLng(-28.397,135.644);var k=4;b=new google.maps.Geocoder();e.map=googleMap.createMap(g,j,k);mainMapMap=e.map;if($("#isFirstView").length>0&&google.loader.ClientLocation){var h=new google.maps.LatLng(google.loader.ClientLocation.latitude,google.loader.ClientLocation.longitude);e.map.setCenter(h);e.map.setZoom(16);google.maps.event.addListener(e.map,"dragend",mainMap.boundsChanged);google.maps.event.addListener(e.map,"zoom_changed",mainMap.boundsChanged);google.maps.event.addListener(e.map,"tilesloaded",mainMap.boundsChanged)}else{var i=new google.maps.LatLng($("#bounds_s").val(),$("#bounds_w").val());var f=new google.maps.LatLng($("#bounds_n").val(),$("#bounds_e").val());e.currentBounds=new google.maps.LatLngBounds(i,f);e.map.fitBounds(e.currentBounds);e.redrawMarkers();google.maps.event.addListener(e.map,"dragend",mainMap.boundsChanged);google.maps.event.addListener(e.map,"zoom_changed",mainMap.boundsChanged)}};this.findAddress=function(){var f=$("#findAddressText").val()+" australia";b.geocode({address:f,country:"au",latLng:e.map.getCenter()},e.findAddress_callback)};this.findAddress_callback=function(g,f){if(f=="OK"&&g.length>0){e.map.fitBounds(g[0].geometry.viewport);setTimeout(function(){e.boundsChanged(1)},200);$("#findAddressText").val("")}else{if(f=="ZERO_RESULTS"){alert("No results were found for the address entered")}else{alert("Could not find the address entered.")}}};this.boundsChanged=function(f){if(!f){f=1}google.maps.event.clearListeners(e.map,"tilesloaded");e.currentBounds=e.map.getBounds();if(!e.currentBounds){return}d.addClass("updating");if(c){c.abort()}c=$.get(wotsForLunchApi.searchUrl,{s:Math.round(e.currentBounds.getSouthWest().lat()*1000)/1000,n:Math.round(e.currentBounds.getNorthEast().lat()*1000)/1000,e:Math.round(e.currentBounds.getNorthEast().lng()*1000)/1000,w:Math.round(e.currentBounds.getSouthWest().lng()*1000)/1000,p:f},e.boundsChanged_callback)};this.boundsChanged_callback=function(f){d.removeClass("updating");document.getElementById("searchResults").innerHTML=f;e.redrawMarkers();d.prepend('<div id="searchResultsUpdating"></div>')};this.redrawMarkers=function(){e.map.clearMarkers();for(var k=0;k<100;k++){var l=document.getElementById("r_"+k);if(!l){return}var j=document.getElementById("rlat_"+k);var h=document.getElementById("rlng_"+k);var f=new google.maps.LatLng(j.value,h.value);var g=mainMap.createMarker(f,k);e.map.addMarker(g)}};this.createMarker=function(f,h){var g=new google.maps.Marker({position:f,map:e.map});google.maps.event.addListener(g,"click",function(){if(e.infowindow){e.infowindow.close()}e.infowindow=new google.maps.InfoWindow({content:$("#r_"+h).html()});e.infowindow.open(e.map,g)});$("#r_"+h).click(function(){google.maps.event.trigger(g,"click");return false});return g}};var detailMap=new function(){var a=this;this.init=function(b,d,c){mapDivId=b;googleMap.load(function(){a.initMap(b,d,c)})};this.initMap=function(b,e,d){var g=17;var c=new google.maps.LatLng(e,d);a.map=googleMap.createMap(b,c,g);var f=new google.maps.Marker({position:c,map:a.map});a.map.addMarker(f)}};var commentForm=new function(){var a=this;this.init=function(c,b){a.formId=c;a.refreshFormId=b;a.$refreshForm=$("#"+b);a.$refreshForm.prepend('<div class="updatingOverlay"></div>');a.$form=$("#"+c);a.$form.prepend('<div class="updatingOverlay"></div>');a.$form.unbind("submit");a.$form.submit(a.submitHandler)};this.submitHandler=function(){a.$form.find("div.updatingOverlay").height(a.$form.height()).width(a.$form.width());a.$form.addClass("updatingContainer");$.post(a.$form.attr("action"),a.$form.serialize(),a.submit_callback);return false};this.submit_callback=function(b){a.$form.replaceWith(b);$("input[type=radio].star").rating();a.init(a.formId,a.refreshFormId);a.refreshComments()};this.refreshComments=function(){a.$refreshForm.find("div.updatingOverlay").height(a.$refreshForm.height()).width(a.$refreshForm.width());a.$refreshForm.addClass("updatingContainer");$.get(a.$refreshForm.attr("action"),null,a.refresh_callback)};this.refresh_callback=function(b){a.$refreshForm.replaceWith(b);a.init(a.formId,a.refreshFormId)}};var TwitterSearch={search:function(c,a,b,d){this.insertAjaxHack(c,a,b,d)},insertAjaxHack:function(d,a,c,e){var b="http://search.twitter.com/search.json?phrase="+escape(d)+"&geocode="+escape(a)+"%2C"+escape(c)+"%2C10km&callback=TwitterSearch.parseAndDisplayResults";document.writeln('<div id="twitter_search_results">');document.writeln('<span class="loading">Loading Tweets...</span>');document.writeln('<script src="'+b+'" type="text/javascript"></script>');document.writeln("</div>")},parseAndDisplayResults:function(a){this.parseResults(a);this.displayResults(a)},parseResults:function(a){if(a.results.length>0){this.last_tweet_id=a.results[0].id}},displayResults:function(f){var c=document.getElementById("twitter_search_results");var e="";if(f.results.length>10){f.results.length=10}for(var a=0;a<f.results.length;a++){var g=f.results[a];var d=this.sanitizeMessageText(g.text);var b=new Date(g.created_at);var h="odd";if(a%2==0){h="even"}e+='<li class="result '+h+'" id="result_'+g.id+'">';e+='<div class="text"><a target="_blank" href="http://twitter.com/'+g.from_user+'">'+g.from_user+'</a>: <span class="msgtxt '+g.iso_language_code+'" id="msgtxt'+g.id+'">'+d+"</span></div>";e+='<div class="info">'+b.time_ago_in_words()+' ago � <a target="_blank" class="lit" href="http://twitter.com/'+g.from_user+"/statuses/"+g.id+'">View Tweet</a></div>';e+="</li>"}if(f.results.length==0){c.innerHTML="<p>No twitter comments found </p>"}else{c.innerHTML='<ol id="twitter_results">'+e+"</ol>"}},sanitizeMessageText:function(c){c=c.replace("&amp;","&");var a=new RegExp("(([a-zA-Z]+://)([a-z][a-z0-9_..-]*[a-z]{2,6})([a-zA-Z0-9/*-_?&%]*))","i");c=c.replace(a,'<a href="$1">$1</a>');var b=new RegExp("@([a-zA-Z0-9_]+)","g");c=c.replace(b,'@<a href="http://twitter.com/$1">$1</a>');return(c)}};Date.prototype.time_ago_in_words=function(){var a;distance_in_milliseconds=new Date()-this;distance_in_minutes=Math.round(Math.abs(distance_in_milliseconds/60000));if(distance_in_minutes==0){a="less than a minute"}else{if(distance_in_minutes==1){a="1 minute"}else{if(distance_in_minutes<45){a=distance_in_minutes+" minutes"}else{if(distance_in_minutes<90){a="about 1 hour"}else{if(distance_in_minutes<1440){a="about "+Math.round(distance_in_minutes/60)+" hours"}else{if(distance_in_minutes<2160){a="about 1 day"}else{if(distance_in_minutes<43200){a=Math.round(distance_in_minutes/1440)+" days"}else{if(distance_in_minutes<86400){a="about 1 month"}else{if(distance_in_minutes<525600){a=Math.round(distance_in_minutes/43200)+" months"}else{if(distance_in_minutes<1051200){a="about 1 year"}else{a="over "+Math.round(distance_in_minutes/525600)+" years"}}}}}}}}}}return a};