(function(a){a.fn.extend({directions:function(f,c,d){if(a.trim(f)!=""&&a.trim(c)!=""){d=a.extend({map:null,directionsPanel:null,to:null},{to:d});var e=this;a(".postcode, .getroute",this).bind("click keypress",function(b){var g=a(".postcode",e).val();if(this.type=="text"&&(window.event?b.keyCode:b.which)==13||this.type=="button"&&b.type=="click"&&g!=""){e.getDirections(g);return false}return true});a(".printmap",this).click(function(){var b=window.open("","_blank","width=100,height=100");b.window.document.write(a(e.data("options").directionsPanel).html());
b.window.print();b.close()});f={zoom:14,center:new google.maps.LatLng(f,c),mapTypeId:google.maps.MapTypeId.HYBRID,disableDefaultUI:true};d.map=new google.maps.Map(a(".map",this)[0],f);d.directionsPanel=a(".route",this)[0];this.directionsCleanUp();this.data("options",d)}},getDirections:function(f){var c=this.data("options"),d=new google.maps.DirectionsService,e=new google.maps.DirectionsRenderer;d.route({destination:c.to,origin:f,travelMode:google.maps.DirectionsTravelMode.DRIVING},function(b,g){if(g==
google.maps.DirectionsStatus.OK){e.setMap(c.map);a(c.directionsPanel).animate({height:"240px"},1E3).html("");e.setPanel(c.directionsPanel);e.setDirections(b)}})},directionsCleanUp:function(){this.data("options")&&a(".error",this).add(this.data("options").directionsPanel).html("")}})})(jQuery);

