jQuery.fn.googleMaps=function(a){if(!window.GBrowserIsCompatible||!GBrowserIsCompatible()){return this}var b=$.extend({},$.googleMaps.defaults,a);return this.each(function(){$.googleMaps.gMap=new GMap2(this,b);$.googleMaps.mapsConfiguration(b)})};$.googleMaps={mapsConfiguration:function(a){if(a.geocode){geocoder=new GClientGeocoder;geocoder.getLatLng(a.geocode,function(b){if(b){$.googleMaps.gMap.setCenter(b,a.depth);$.googleMaps.latitude=b.x;$.googleMaps.longitude=b.y}})}else{var b=$.googleMaps.mapLatLong(a.latitude,a.longitude);$.googleMaps.gMap.setCenter(b,a.depth)}if(a.polyline)$.googleMaps.gMap.addOverlay($.googleMaps.mapPolyLine(a.polyline));if(a.geodesic){$.googleMaps.mapGeoDesic(a.geodesic)}if(a.pan){a.pan=$.googleMaps.mapPanOptions(a.pan);window.setTimeout(function(){$.googleMaps.gMap.panTo($.googleMaps.mapLatLong(a.pan.panLatitude,a.pan.panLongitude))},a.pan.timeout)}if(a.layer)$.googleMaps.gMap.addOverlay(new GLayer(a.layer));if(a.markers)$.googleMaps.mapMarkers(b,a.markers);if(a.controls.type||a.controls.zoom||a.controls.mapType){$.googleMaps.mapControls(a.controls)}else{if(!a.controls.hide)$.googleMaps.gMap.setUIToDefault()}if(a.scroll)$.googleMaps.gMap.enableScrollWheelZoom();else if(!a.scroll)$.googleMaps.gMap.disableScrollWheelZoom();if(a.controls.localSearch)$.googleMaps.gMap.enableGoogleBar();else $.googleMaps.gMap.disableGoogleBar();if(a.feed)$.googleMaps.gMap.addOverlay(new GGeoXml(a.feed));if(a.trafficInfo){var c={incidents:true};trafficInfo=new GTrafficOverlay(c);$.googleMaps.gMap.addOverlay(trafficInfo)}if(a.directions){$.googleMaps.directions=new GDirections($.googleMaps.gMap,a.directions.panel);$.googleMaps.directions.load(a.directions.route)}if(a.streetViewOverlay){svOverlay=new GStreetviewOverlay;$.googleMaps.gMap.addOverlay(svOverlay)}},mapGeoDesic:function(a){geoDesicDefaults={startLatitude:37.4419,startLongitude:-122.1419,endLatitude:37.4519,endLongitude:-122.1519,color:"#ff0000",pixels:2,opacity:10};a=$.extend({},geoDesicDefaults,a);var b={geodesic:true};var c=new GPolyline([new GLatLng(a.startLatitude,a.startLongitude),new GLatLng(a.endLatitude,a.endLongitude)],a.color,a.pixels,a.opacity,b);$.googleMaps.gMap.addOverlay(c)},localSearchControl:function(a){var b=$.googleMaps.mapControlsLocation(a.location);$.googleMaps.gMap.addControl(new $.googleMaps.gMap.LocalSearch,new GControlPosition(b,new GSize(a.x,a.y)))},getLatitude:function(){return $.googleMaps.latitude},getLongitude:function(){return $.googleMaps.longitude},directions:{},latitude:"",longitude:"",latlong:{},maps:{},marker:{},markersCount:0,gMap:{},defaults:{latitude:37.4419,longitude:-122.1419,depth:13,scroll:true,trafficInfo:false,streetViewOverlay:false,controls:{hide:false,localSearch:false},layer:null},mapPolyLine:function(a){polylineDefaults={startLatitude:37.4419,startLongitude:-122.1419,endLatitude:37.4519,endLongitude:-122.1519,color:"#ff0000",pixels:2};a=$.extend({},polylineDefaults,a);return new GPolyline([$.googleMaps.mapLatLong(a.startLatitude,a.startLongitude),$.googleMaps.mapLatLong(a.endLatitude,a.endLongitude)],a.color,a.pixels)},mapLatLong:function(a,b){return new GLatLng(a,b)},mapPanOptions:function(a){var b={panLatitude:37.4569,panLongitude:-122.1569,timeout:0};return a=$.extend({},b,a)},mapMarkers:function(a,b){if(b==null||b.length==0)return;var c=0;if(document.getElementById("divAddresses"))document.getElementById("divAddresses").innerHTML="";var d=new GLatLngBounds;for(i=0;i<b.length;i++){var e;var f=new GIcon(G_DEFAULT_ICON);if(b[i].icon){f.iconSize=new GSize(40,40);f.image=b[i].icon.image;f.shadow=b[i].icon.image;f.shadowSize=new GSize(40,40);f.iconAnchor=new GPoint(0,40);f.infoWindowAnchor=new GPoint(20,0);f.imageMap=[0,0,40,0,40,40,0,40]}var g=false;if(b[i].latitude!=0&&b[i].longitude!=0){var h=new GLatLng(b[i].latitude,b[i].longitude);if(h){e=new GMarker(h,{icon:f});g=true}}else if(b[i].geocode){try{var j=new GClientGeocoder;j.getLatLng(b[i].geocode,function(a){if(a){e=new GMarker(a,{icon:f});g=true}})}catch(k){}}if(g==true){var l="http://"+document.domain+"/"+b[i].link;var m=b[i].html.replace("'","\\'");GEvent.addListener(e,"click",function(){window.location=l});if(b[i].html){GEvent.addListener(e,"mouseover",function(){this.openInfoWindowHtml(m)});GEvent.addListener(e,"mouseout",function(){e.closeInfoWindow()});if(document.getElementById("divAddresses"))document.getElementById("divAddresses").innerHTML+='<a class="gMaps-locationItem" href="javascript:$.googleMaps.marker['+c+"].openInfoWindowHtml('"+b[i].html.replace("'","\\'")+"')\"><div id='divPoint"+c+"' >"+b[i].html+"</div></a>"}d.extend(e.getPoint());$.googleMaps.marker[c]=e;$.googleMaps.gMap.addOverlay($.googleMaps.marker[c]);c++}}var n=$.googleMaps.gMap.getBoundsZoomLevel(d);var o=d.getCenter();if(n>10)n=10;if(c==0){o=new GLatLng(a.CenterPoint.Latitude,result.CenterPoint.Longitude);n=result.ZoomLevel}$.googleMaps.gMap.setZoom(n);$.googleMaps.gMap.setCenter(o)},clearMarkers:function(){$.googleMaps.gMap.clearOverlays();if(document.getElementById("divAddresses"))document.getElementById("divAddresses").innerHTML=""},addMarker:function(a,b){if($.googleMaps.markersCount==0){if(document.getElementById("divAddresses"))document.getElementById("divAddresses").innerHTML=""}var c=new GLatLngBounds;var d;var e=new GIcon(G_DEFAULT_ICON);if(a.icon){e.iconSize=new GSize(40,40);e.image=a.icon.image;e.shadow=a.icon.image;e.shadowSize=new GSize(40,40);e.iconAnchor=new GPoint(0,40);e.infoWindowAnchor=new GPoint(20,0);e.imageMap=[0,0,40,0,40,40,0,40]}var f=false;if(a.latitude!=0&&a.longitude!=0){var g=new GLatLng(a.latitude,a.longitude);if(g){d=new GMarker(g,{icon:e});f=true}}else if(a.geocode){try{var h=new GClientGeocoder;h.getLatLng(a.geocode,function(a){if(a){d=new GMarker(a,{icon:e});f=true}})}catch(i){}}if(f==true){var j="http://"+document.domain+"/"+a.link;var k=a.html.replace("'","\\'");GEvent.addListener(d,"click",function(){window.location=j});if(a.html){GEvent.addListener(d,"mouseover",function(){this.openInfoWindowHtml(k)});GEvent.addListener(d,"mouseout",function(){d.closeInfoWindow()});if(document.getElementById("divAddresses"))document.getElementById("divAddresses").innerHTML+='<a class="gMaps-locationItem" href="javascript:$.googleMaps.marker['+$.googleMaps.markersCount+"].openInfoWindowHtml('"+a.html.replace("'","\\'")+"')\"><div id='divPoint"+$.googleMaps.markersCount+"' >"+a.html+"</div></a>"}c.extend(d.getPoint());$.googleMaps.marker[$.googleMaps.markersCount]=d;$.googleMaps.gMap.addOverlay($.googleMaps.marker[$.googleMaps.markersCount])}var l=$.googleMaps.gMap.getBoundsZoomLevel(c);var m=c.getCenter();$.googleMaps.gMap.setZoom(10);$.googleMaps.gMap.setCenter(m);$.googleMaps.markersCount++},mapControls:function(a){controlsDefaults={type:{location:"G_ANCHOR_TOP_RIGHT",x:10,y:10,control:"GMapTypeControl"},zoom:{location:"G_ANCHOR_TOP_LEFT",x:10,y:10,control:"GLargeMapControl3D"}};a=$.extend({},controlsDefaults,a);a.type=$.extend({},controlsDefaults.type,a.type);a.zoom=$.extend({},controlsDefaults.zoom,a.zoom);if(a.type){var b=$.googleMaps.mapControlsLocation(a.type.location);var c=new GControlPosition(b,new GSize(a.type.x,a.type.y));$.googleMaps.gMap.addControl($.googleMaps.mapControl(a.type.control),c)}if(a.zoom){var b=$.googleMaps.mapControlsLocation(a.zoom.location);var c=new GControlPosition(b,new GSize(a.zoom.x,a.zoom.y));$.googleMaps.gMap.addControl($.googleMaps.mapControl(a.zoom.control),c)}if(a.mapType){if(a.mapType.length>=1){for(i=0;i<a.mapType.length;i++){if(a.mapType[i].remove)$.googleMaps.gMap.removeMapType($.googleMaps.mapTypeControl(a.mapType[i].remove));if(a.mapType[i].add)$.googleMaps.gMap.addMapType($.googleMaps.mapTypeControl(a.mapType[i].add))}}else{if(a.mapType.add)$.googleMaps.gMap.addMapType($.googleMaps.mapTypeControl(a.mapType.add));if(a.mapType.remove)$.googleMaps.gMap.removeMapType($.googleMaps.mapTypeControl(a.mapType.remove))}}}}
