(function(a){a.jmap=a.jmap||{};a.jmap.store={};a.jmap.JDetails={name:"jMaps Google Maps Plugin",description:"jMaps is a jQuery plugin that makes google maps easy",version:"3.0",releaseDate:"19/04/2008",author:"Tane Piper <digitalspaghetti@gmail.com>",blog:"http://digitalspaghetti.me.uk",repository:"http://hg.digitalspaghetti.me.uk/jmaps",googleGroup:"http://groups.google.com/group/jmaps",licenceType:"MIT",licenceURL:"http://www.opensource.org/licenses/mit-license.php"};a.jmap.JErrors={en:{functionDoesNotExist:"jMap Error 1: The function does not exist",addressNotFound:"This address cannot be found.  Please modify your search.",browserNotCompatible:"This browser is reported as being not compatible with Google Maps.",cannotLoad:"Cannot load the Google Maps API at this time.  Please check your connection."},fr:{addressNotFound:"Cette adresse ne peut pas être trouvée. Veuillez modifier votre recherche.",browserNotCompatible:"Ce navigateur est rapporté en tant qu'étant non compatible avec des cartes de Google.",cannotLoad:"Ne peut pas charger les cartes api de Google actuellement. Veuillez vérifier votre raccordement."},de:{addressNotFound:"Diese Adresse kann nicht gefunden werden. Ändern Sie bitte Ihre Suche.",browserNotCompatible:"Diese Datenbanksuchroutine wird als seiend nicht kompatibel mit Google Diagrammen berichtet.",cannotLoad:"Kann nicht die Google Diagramme API diesmal laden. Überprüfen Sie bitte Ihren Anschluß."},nl:{addressNotFound:"Dit adres kan worden gevonden niet. Gelieve te wijzigen uw onderzoek.",browserNotCompatible:"Dit browser wordt gemeld zoals zijnd niet compatibel met Kaarten Google.",cannotLoad:"Kan de Google Kaarten API op dit moment laden niet. Gelieve te controleren uw verbinding."},es:{addressNotFound:"Esta dirección no puede ser encontrada. Modifique por favor su búsqueda.",browserNotCompatible:"Este browser se divulga como siendo no compatible con los mapas de Google.",cannotLoad:"No puede cargar los mapas API de Google en este tiempo. Compruebe por favor su conexión."},sv:{addressNotFound:"Denna adress kunde ej hittas. Var god justera din sökning",browserNotCompatible:"Denna webbläsare är ej kompatibel med Google Maps",cannotLoad:"Kan inte ladda Google Maps API för tillfället. Var god kontrollera din anslutning."}};a.jmap.JDefaults={language:"en",mapType:"map",mapCenter:[55.958858,-3.162302],mapDimensions:[400,400],mapZoom:12,mapControlSize:"small",mapEnableType:false,mapEnableOverview:false,mapEnableDragging:true,mapEnableInfoWindows:true,mapEnableDoubleClickZoom:false,mapEnableScrollZoom:false,mapEnableSmoothZoom:false,mapEnableGoogleBar:false,mapEnableScaleControl:false,mapShowjMapIcon:true,debugMode:false};a.jmap.JAdsManagerDefaults={publisherId:""};a.jmap.JFeedDefaults={feedUrl:"",mapCenter:[]};a.jmap.JGroundOverlayDefaults={overlaySouthWestBounds:[],overlayNorthEastBounds:[],overlayImage:""};a.jmap.JIconDefaults={iconImage:"",iconShadow:"",iconSize:null,iconShadowSize:null,iconAnchor:null,iconInfoWindowAnchor:null,iconPrintImage:"",iconMozPrintImage:"",iconPrintShadow:"",iconTransparent:""};a.jmap.JMarkerManagerDefaults={borderPadding:100,maxZoom:17,trackMarkers:false};a.jmap.JMarkerDefaults={pointLatLng:[],pointHTML:null,pointOpenHTMLEvent:"click",pointIsDraggable:false,pointIsRemovable:false,pointRemoveEvent:"dblclick",pointMinZoom:4,pointMaxZoom:17,pointIcon:null,pointMaxContent:null,pointMaxTitle:null};a.jmap.JPolygonDefaults={polygonPoints:[],polygonStrokeColor:"#000000",polygonStrokeWeight:5,polygonStrokeOpacity:1,polygonFillColor:"#ff0000",polygonFillOpacity:1,mapCenter:[],polygonClickable:true};a.jmap.JPolylineDefaults={polylinePoints:[],polylineStrokeColor:"#ff0000",polylineStrokeWidth:10,polylineStrokeOpacity:1,mapCenter:[],polylineGeodesic:false,polylineClickable:true};a.jmap.JScreenOverlayDefaults={};a.jmap.JSearchAddressDefaults={address:null,cache:{},countryCode:"uk"};a.jmap.JSearchDirectionsDefault={fromAddress:"",toAddress:"",directionsPanel:""};a.jmap.JTrafficDefaults={method:"create",mapCenter:[]};a.jmap.JMoveToDefaults={centerMethod:"normal",mapType:null,mapCenter:[],mapZoom:null};a.jmap.JSavePositionDefaults={recall:false};a.jmap.variables={mapType:"Unknown",mapCenter:[]};a.jmap.init=function(c,b,e){var b=a.extend({},a.jmap.JDefaults,b);var b=a.jmap.JOptions=a.meta?a.extend({},b,a(this).data()):b;a.jmap._initChecks(c);c.jmap=a.jmap.GMap2=new GMap2(c);if(b.mapShowjMapIcon){a.jmap.addScreenOverlay({imageUrl:"http://hg.digitalspaghetti.me.uk/jmaps/raw-file/3228fade0b3c/docs/images/jmaps-mapicon.png",screenXY:[70,10],overlayXY:[0,0],size:[42,25]})}var d=a.jmap._initMapType(b.mapType);c.jmap.setCenter(new GLatLng(b.mapCenter[0],b.mapCenter[1]),b.mapZoom,d);switch(b.mapControlSize){case"small":c.jmap.addControl(new GSmallMapControl());break;case"large":c.jmap.addControl(new GLargeMapControl());break}if(b.mapEnableType){c.jmap.addControl(new GMapTypeControl())}if(b.mapEnableOverview){c.jmap.addControl(new GOverviewMapControl())}if(!b.mapEnableDragging){c.jmap.disableDragging()}if(!b.mapEnableInfoWindows){c.jmap.disableInfoWindow()}if(b.mapEnableDoubleClickZoom){c.jmap.enableDoubleClickZoom()}if(b.mapEnableScrollZoom){c.jmap.enableScrollWheelZoom()}if(b.mapEnableSmoothZoom){c.jmap.enableContinuousZoom()}if(b.mapEnableGoogleBar){c.jmap.enableGoogleBar()}if(b.mapEnableScaleControl){c.jmap.addControl(new GScaleControl())}if(b.debugMode){console.log(c.jmap)}a.jmap.getMapType();if(typeof e=="function"){return e(c,b)}};a.jmap.addFeed=function(b,d){var b=a.extend({},a.jmap.JFeedDefaults,b);var c=new GGeoXml(b.feedUrl);a.jmap.GMap2.addOverlay(c);if(b.mapCenter[0]&&b.mapCenter[1]){a.jmap.GMap2.setCenter(new GLatLng(b.mapCenter[0],b.mapCenter[1]))}if(typeof d=="function"){return d(c,b)}};a.jmap.addGroundOverlay=function(b,d){var b=a.extend({},a.jmap.JGroundOverlayDefaults,b);var c=new GLatLngBounds(new GLatLng(b.overlaySouthWestBounds[0],b.overlaySouthWestBounds[1]),new GLatLng(b.overlayNorthEastBounds[0],b.overlayNorthEastBounds[1]));a.jmap.GGroundOverlay=new GGroundOverlay(b.overlayImage,c);a.jmap.GMap2.addOverlay(a.jmap.GGroundOverlay);if(typeof d=="function"){return d()}};a.jmap.hideGroundOverlay=function(b){a.jmap.GGroundOverlay.hide();if(typeof b=="function"){return b()}};a.jmap.showGroundOverlay=function(b){isHidden=a.jmap.GGroundOverlay.isHidden();if(isHidden){a.jmap.GGroundOverlay.show()}if(typeof b=="function"){return b()}};a.jmap.addMarker=function(d,e){var d=a.extend({},a.jmap.JMarkerDefaults,d);var c={};if(typeof d.pointIcon=="object"){a.extend(c,{icon:d.pointIcon})}if(d.pointIsDraggable){a.extend(c,{draggable:d.pointIsDraggable})}var b=new GMarker(new GLatLng(d.pointLatLng[0],d.pointLatLng[1]),c);if(d.pointHTML){GEvent.addListener(b,d.pointOpenHTMLEvent,function(){b.openInfoWindowHtml(d.pointHTML,{maxContent:d.pointMaxContent,maxTitle:d.pointMaxTitle})})}if(d.pointIsRemovable){GEvent.addListener(b,d.pointRemoveEvent,function(){a.jmap.GMap2.removeOverlay(b)})}if(a.jmap.GMarkerManager){a.jmap.GMarkerManager.addMarker(b,d.pointMinZoom,d.pointMaxZoom)}else{a.jmap.GMap2.addOverlay(b)}if(typeof e=="function"){return e()}};a.jmap.addScreenOverlay=function(c,d){var c=a.extend({},a.jmap.JScreenOverlayDefaults,c);var b=new GScreenOverlay(c.imageUrl,new GScreenPoint(c.screenXY[0],c.screenXY[1]),new GScreenPoint(c.overlayXY[0],c.overlayXY[1]),new GScreenSize(c.size[0],c.size[1]));a.jmap.GMap2.addOverlay(b);if(typeof d=="function"){return d(b,c)}};a.jmap.addPolygon=function(c,e){var c=a.extend({},a.jmap.JPolygonDefaults,c);b={};if(!c.polygonClickable){var b=a.extend({},b,{clickable:false})}if(c.mapCenter[0]&&c.mapCenter[1]){a.jmap.GMap2.setCenter(new GLatLng(c.mapCenter[0],c.mapCenter[1]))}var d=new GPolygon(c.polygonPoints,c.polygonStrokeColor,c.polygonStrokeWeight,c.polygonStrokeOpacity,c.polygonFillColor,c.polygonFillOpacity,b);a.jmap.GMap2.addOverlay(d);if(typeof e=="function"){return e()}};a.jmap.addPolyline=function(c,e){var c=a.extend({},a.jmap.JPolylineDefaults,c);var d={};if(c.polylineGeodesic){a.extend({},d,{geodesic:true})}if(!c.polylineClickable){a.extend({},d,{clickable:false})}if(c.mapCenter[0]&&c.mapCenter[1]){a.jmap.GMap2.setCenter(new GLatLng(c.mapCenter[0],c.mapCenter[1]))}var b=new GPolyline(c.polylinePoints,c.polylineStrokeColor,c.polylineStrokeWidth,c.polylineStrokeOpacity,d);a.jmap.GMap2.addOverlay(b);if(typeof e=="function"){return e()}};a.jmap.addTrafficInfo=function(b,c){var b=a.extend({},a.jmap.JTrafficDefaults,b);switch(b.method){case"create":a.jmap.GTrafficOverlay=new GTrafficOverlay;a.jmap.GMap2.addOverlay(a.jmap.GTrafficOverlay);if(b.mapCenter[0]&&b.mapCenter[1]){a.jmap.GMap2.setCenter(new GLatLng(b.mapCenter[0],b.mapCenter[1]))}break;case"destroy":a.jmap.GMap2.removeOverlay(a.jmap.GTrafficOverlay);break}if(typeof c=="function"){return c()}};a.jmap.disableTraffic=function(b){a.jmap.GTrafficOverlay.hide();if(typeof b=="function"){return b()}};a.jmap.enableTraffic=function(b){a.jmap.GTrafficOverlay.show();if(typeof b=="function"){return b()}};a.jmap.createAdsManager=function(b,c){var b=a.extend({},a.jmap.JAdsManagerDefaults,b);a.jmap.GAdsManager=new GAdsManager(a.jmap.GMap2,b.publisherId);if(typeof c=="function"){return c()}};a.jmap.hideAds=function(b){a.jmap.GAdsManager.disable();if(typeof b=="function"){return b()}};a.jmap.showAds=function(b){a.jmap.GAdsManager.enable();if(typeof b=="function"){return b()}};a.jmap.createGeoCache=function(b){a.jmap.GGeocodeCache=new GGeocodeCache();if(typeof b=="function"){return b()}};a.jmap.createGeoCoder=function(b,c){if(b){a.jmap.GClientGeocoder=new GClientGeocoder(b)}else{a.jmap.GClientGeocoder=new GClientGeocoder}if(typeof c=="function"){return c()}};a.jmap.createIcon=function(b){var b=a.extend({},a.jmap.JIconDefaults,b);var c=new GIcon(G_DEFAULT_ICON);if(b.iconImage){c.image=b.iconImage}if(b.iconShadow){c.shadow=b.iconShadow}if(b.iconSize){c.iconSize=b.iconSize}if(b.iconShadowSize){c.shadowSize=b.iconShadowSize}if(b.iconAnchor){c.iconAnchor=b.iconAnchor}if(b.iconInfoWindowAnchor){c.infoWindowAnchor=b.iconInfoWindowAnchor}return c};a.jmap.createMarkerManager=function(b,c){var b=a.extend({},a.jmap.JMarkerManagerDefaults,b);a.jmap.GMarkerManager=new GMarkerManager(a.jmap.GMap2,b);if(typeof c=="function"){return c()}};a.jmap.searchAddress=function(b,e){var b=a.extend({},a.jmap.JSearchAddressDefaults,b);var c=a.extend({},a.jmap.JMarkerManagerDefaults);if(typeof a.jmap.GClientGeocoder=="undefined"){var d=new GClientGeocoder}else{var d=a.jmap.GClientGeocoder}d.getLatLng(b.address,function(f){if(!f){throw new Error(a.jmap.JErrors[a.jmap.JOptions.language].addressNotFound)}if(typeof e=="function"){return e(b,f)}})};a.jmap.searchDirections=function(c,d){var c=a.extend({},a.jmap.JSearchDirectionsDefaults,c);var b=a("#"+c.directionsPanel).get(0);a.jmap.GDirections=new GDirections(a.jmap.GMap2,b);a.jmap.GDirections.load(c.fromAddress+" to "+c.toAddress);if(typeof d=="function"){return d()}};a.jmap.moveTo=function(c,e){var c=a.extend({},a.jmap.JMoveToDefaults,c);if(c.mapType){var d=a.jmap._initMapType(c.mapType)}var b=new GLatLng(c.mapCenter[0],c.mapCenter[1]);switch(c.centerMethod){case"normal":a.jmap.GMap2.setCenter(b,c.mapZoom,d);break;case"pan":a.jmap.GMap2.panTo(b);break}if(typeof e=="function"){return e()}};a.jmap.savePosition=function(b,c){var b=a.extend({},a.jmap.JMoveToDefaults,b);if(b.recall){a.jmap.GMap2.returnToSavedPosition()}else{a.jmap.GMap2.savePosition()}if(typeof c=="function"){return c()}};a.jmap.createKeyboardHandler=function(b){a.jmap.keyboardHandler=new GKeyboardHandler(a.jmap.GMap2);if(typeof b=="function"){return b()}};a.jmap.getMapType=function(){var c=a.jmap.GMap2.getMapTypes();var b=a.jmap.GMap2.getCurrentMapType();if(b.Hz){a.jmap.variables.mapType=b.Hz}};a.jmap.getCenter=function(){var b=a.jmap.GMap2.getCenter();a.jmap.variables.mapCenter=b;if(typeof callback=="function"){return callback(b)}};a.jmap.getBounds=function(){var b=a.jmap.GMap2.getBounds();a.jmap.variables.mapBounds=b;if(typeof callback=="function"){return callback(b)}};a.jmap._initMapType=function(b){switch(b){case"map":var c=G_NORMAL_MAP;break;case"sat":var c=G_SATELLITE_MAP;break;case"hybrid":var c=G_HYBRID_MAP;break}return c};a.jmap._initChecks=function(b){if(typeof GBrowserIsCompatible=="undefined"){a(b).text(a.jmap.JErrors[a.jmap.JOptions.language].cannotLoad).css({color:"#f00"});throw Error(a.jmap.JErrors[a.jmap.JOptions.language].cannotLoad)}if(!GBrowserIsCompatible()){a(b).text(a.jmap.JErrors[a.jmap.JOptions.language].browserNotCompatible).css({color:"#f00"});throw Error(a.jmap.JErrors[a.jmap.JOptions.language].browserNotCompatible)}};a.jmap.storePoints=function(b,c){a.jmap.store=a.extend({},a.jmap.store,b);if(typeof c=="function"){return c(a.jmap.store)}};a.fn.jmap=function(d,b,c){return this.each(function(){if(d=="init"){new a.jmap.init(this,b,c)}else{if(typeof d=="object"||d==null){new a.jmap.init(this,d,b)}else{if(typeof b=="function"){new a.jmap[d](b)}else{try{new a.jmap[d](b,c)}catch(e){throw Error(a.jmap.JErrors[a.jmap.JOptions.language].functionDoesNotExist)}}}}})}})(jQuery);