(function(a){a.jmap=a.jmap||{};a.jmap.JDetails={version:"2.0b",releaseDate:"03/03/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:{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,debugMode:false};a.jmap.JAdsManagerDefaults={publisherId:""};a.jmap.JFeedDefaults={feedUrl:"",mapCenter:[]};a.jmap.JGroundOverlayDefauts={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.JSearchAddressDefaults={address:null,addMarker:false,showAddress:false,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}})(jQuery);(function(a){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);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.debugMode){console.log(c.jmap)}if(typeof e=="function"){return e()}};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()}};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.addMarker=function(e,d,g){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);var f=e.jmap||a.jmap.GMap2;if(d.pointIsRemovable){GEvent.addListener(b,d.pointRemoveEvent,function(){f.removeOverlay(b)})}if(a.jmap.GMarkerManager){a.jmap.GMarkerManager.addMarker(b,d.pointMinZoom,d.pointMaxZoom)}else{f.addOverlay(b)}if(d.pointHTML){f.setCenter(b.getLatLng());setTimeout(function(){b.bindInfoWindowHtml(d.pointHTML);b.openInfoWindowHtml(d.pointHTML)},3000)}if(typeof g=="function"){return g()}};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(c,b,d,g){var b=a.extend({},a.jmap.JSearchAddressDefaults,b);var d=a.extend({},a.jmap.JMarkerManagerDefaults,d);if(typeof a.jmap.GClientGeocoder=="undefined"){var f=new GClientGeocoder}else{var f=a.jmap.GClientGeocoder}var e=c.jmap||a.jmap.GMap2;f.getLatLng(b.address,function(h){if(!h){throw new Error(a.jmap.JErrors[a.jmap.JOptions.language].addressNotFound)}else{e.setCenter(h);if(b.debugMode){console.log(h.x);console.log(h.y)}if(b.zoom){e.setZoom(b.zoom)}if(b.addMarker){d.pointLatLng=[h.y,h.x];if(b.showAddress){d.pointHTML=b.showAddress}a.jmap.addMarker(c,d)}else{return h}}},g)};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"panTo":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._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)}}})(jQuery);(function(a){a.fn.jmap=function(b,c){return this.each(function(){new a.jmap.init(this,b,c)})};a.fn.addMarker=function(b,c){return this.each(function(){new a.jmap.addMarker(this,b,c)})};a.fn.createMarkerManager=function(b,c){return this.each(function(){new a.jmap.createMarkerManager(b,c)})};a.fn.searchAddress=function(b,c,d){return this.each(function(){new a.jmap.searchAddress(this,b,c,d)})};a.fn.searchDirections=function(b,c){return this.each(function(){new a.jmap.searchDirections(b,c)})};a.fn.moveTo=function(b,c){return this.each(function(){new a.jmap.moveTo(b,c)})}})(jQuery);
