var RomoMap=function($){function Map(ele,opts){this.mapOn=false;this.opts=opts;this.ele=$(ele);this.addr=null;this.mapEle=this.ele.find(".mapContainer");this.directionsEle=this.mapEle.find(".directions");this.directionsDisplay=new google.maps.DirectionsRenderer;this.directionsService=new google.maps.DirectionsService;this.init()}Map.prototype.calculateRoute=function(){var start=this.mapEle.find(".controls input").val();var end=this.addr;if($.trim(start)===""){this.directionsOff();return}if(this.directionStart==start){return}this.directionStart=start;this.directionsOn();var request={origin:start,destination:end,travelMode:google.maps.TravelMode.DRIVING};this.directionsService.route(request,$.proxy(function(response,status){if(status==google.maps.DirectionsStatus.OK){this.directionsDisplay.setDirections(response)}else{switch(status){case google.maps.DirectionsStatus.NOT_FOUND:alert("Could not find start");break;case google.maps.DirectionsStatus.ZERO_RESULTS:alert("No route available");break;case google.maps.DirectionsStatus.MAX_WAYPOINTS_EXCEEDED:alert("Route is too long");break;default:alert("Mapping Error");break}this.directionsOff()}},this))};Map.prototype.directionsOn=function(){this.mapEle.addClass("dir");google.maps.event.trigger(this.map,"resize")};Map.prototype.directionsOff=function(){this.mapEle.removeClass("dir");this.directionsEle.html("");google.maps.event.trigger(this.map,"resize")};Map.prototype.show=function(){this.mapEle.show()};Map.prototype.hide=function(){this.mapEle.hide()};Map.prototype.init=function(){if(this.opts&&parseFloat(this.opts.lat)&&parseFloat(this.opts.long)){this.addr=new google.maps.LatLng(this.opts.lat,this.opts.long);this.load()}else{var geocoder=new google.maps.Geocoder;geocoder.geocode({address:this.opts.postcode},$.proxy(function(results,status){if(status==google.maps.GeocoderStatus.OK){this.addr=results[0].geometry.location;this.load()}else{alert("Geocode was not successful for the following reason: "+status)}},this))}};Map.prototype.load=function(){var mapOptions={zoom:14,center:this.addr};this.map=new google.maps.Map(this.mapEle.find(".map")[0],mapOptions);this.directionsDisplay.setMap(this.map);this.directionsDisplay.setPanel(this.directionsEle[0]);var control=this.mapEle.find(".controls");this.map.controls[google.maps.ControlPosition.TOP_CENTER].push(control[0]);google.maps.event.addListenerOnce(this.map,"idle",function(){control.show()});new google.maps.Marker({map:this.map,position:this.addr});control.find("input").change($.proxy(this.calculateRoute,this))};return Map}(jQuery);(function($){var OverlayDialog=function(holder,options){var base=this;if(typeof window.overlayDialog==="object"){return}window.overlayDialog=base;base.holder=$(holder);base.$el=$('
').hide();base.$el.data("overlayDialog",base);base.open=function(url,html,dialogClass,onAfterShow){if(html===undefined)html=false;var dialog=base.$el.next(".overlayDialog");var content=dialog.find(".boxHtml");content.html("");dialog.attr("class",base.options.baseClass);if(typeof dialogClass==="string"){dialog.addClass(dialogClass)}var fill=function(){if(typeof base.options.autoSize!=="undefined"&&base.options.autoSize===false){return}var me=$(this).find(".boxContent");base.bindLinks(me)};if(url!==undefined&&html===false){dialog.addClass("loading");base.show(function(){var request={type:"GET",url:url};request.crossDomain=true;request.withCredentials=true;request.xhrFields={withCredentials:true};request.beforeSend=function(jqXHR,settings){jqXHR.setRequestHeader("X-REQUESTED-WITH","XMLHttpRequest")};$.ajax(request).done(function(data){if(data==="logged-out"||data==="logged-in"){location.reload(true)}else if(data.redirect){window.location.replace(data.redirect)}else{content.html(data);fill.call(dialog);dialog.removeClass("loading");base.$el.trigger("dialogOpen")}}).fail(function(xhr){if(!xhr.getResponseHeader("X-Redirect")){dialog.removeClass("loading");content.html("Error: "+xhr.responseText);setTimeout(base.hide,2e3)}})})}else if(html){base.show(function(){if(typeof url==="object"){content.append(url)}else{content.html(url)}fill.call(dialog);dialog.removeClass("loading");if(typeof onAfterShow==="function"){onAfterShow()}base.$el.trigger("dialogOpen")})}return base};base.show=function(onShow){base.$el.css({display:"block",opacity:0}).velocity({opacity:.8},{duration:175});base.$el.next(".overlayDialog").css({display:"block",opacity:0}).velocity("fadeIn",{duration:175,complete:function(){base.$el.next(".overlayDialog").addClass("dialog-onshow");base.$el.trigger("dialogShow");if(typeof onShow==="function"){onShow()}}});return base};base.hide=function(onHide){base.$el.velocity("fadeOut",{duration:200});base.$el.next(".overlayDialog").velocity("fadeOut",{duration:150,complete:function(){base.$el.next(".overlayDialog").removeClass("dialog-onshow");base.$el.trigger("dialogHide");if(typeof onHide==="function"){onHide()}}});return base};base.init=function(){base.options=$.extend({},base.defaultOptions,options);base.$el.appendTo(base.holder);var title=base.options.title;var text=base.options.text;if(window.DialogOptions){title=window.DialogOptions.closeTitle;text=window.DialogOptions.closeText}$('').hide().insertAfter(base.$el).find(".dialog-close").click(function(e){base.hide();e.preventDefault();return false}).end();base.$el.click(function(e){base.hide()});base.bindLinks();return base};base.bindLinks=function(ele){if(ele===undefined)ele=base.holder;ele.on("click",'a.dialog[href!="#"][target!=""]:not(.no-dialog), a.dialog[data-href!="#"][target!=""]:not(.no-dialog), .close-dialog',function(e){var link=$(this);var iframe=link.hasClass("xsite");if(iframe||location.href.substr(0,15)===this.href.substr(0,15)){e.preventDefault();if(link.hasClass("close-dialog")){base.hide()}else if(iframe){var iframe='