(function(d){d.fn.gMap=function(k){if(!window.GBrowserIsCompatible||!GBrowserIsCompatible())return this;var a=d.extend({},d.fn.gMap.defaults,k);return this.each(function(){var e=new GMap2(this),j=new GClientGeocoder;if(a.address)j.getLatLng(a.address,function(h){e.setCenter(h,a.zoom)});else if(a.latitude&&a.longitude)e.setCenter(new GLatLng(a.latitude,a.longitude),a.zoom);else if(d.isArray(a.markers)&&a.markers.length>0)a.markers[0].address?j.getLatLng(a.markers[0].address,function(h){e.setCenter(h, a.zoom)}):e.setCenter(new GLatLng(a.markers[0].latitude,a.markers[0].longitude),a.zoom);else e.setCenter(new GLatLng(34.885931,9.84375),a.zoom);e.setMapType(a.maptype);if(a.controls.length==0)e.setUIToDefault();else for(var f=0;f<a.controls.length;f++)eval("$gmap.addControl(new "+a.controls[f]+"());");a.scrollwheel==true&&a.controls.length!=0&&e.enableScrollWheelZoom();for(f=0;f<a.markers.length;f++){var b=a.markers[f],c=new GIcon;c.image=a.icon.image;c.shadow=a.icon.shadow;c.iconSize=d.isArray(a.icon.iconsize)? new GSize(a.icon.iconsize[0],a.icon.iconsize[1]):a.icon.iconsize;c.shadowSize=d.isArray(a.icon.shadowsize)?new GSize(a.icon.shadowsize[0],a.icon.shadowsize[1]):a.icon.shadowsize;c.iconAnchor=d.isArray(a.icon.iconanchor)?new GPoint(a.icon.iconanchor[0],a.icon.iconanchor[1]):a.icon.iconanchor;c.infoWindowAnchor=d.isArray(a.icon.infowindowanchor)?new GPoint(a.icon.infowindowanchor[0],a.icon.infowindowanchor[1]):a.icon.infowindowanchor;if(b.icon){c.image=b.icon.image;c.shadow=b.icon.shadow;c.iconSize= d.isArray(b.icon.iconsize)?new GSize(b.icon.iconsize[0],b.icon.iconsize[1]):b.icon.iconsize;c.shadowSize=d.isArray(b.icon.shadowsize)?new GSize(b.icon.shadowsize[0],b.icon.shadowsize[1]):b.icon.shadowsize;c.iconAnchor=d.isArray(b.icon.iconanchor)?new GPoint(b.icon.iconanchor[0],b.icon.iconanchor[1]):b.icon.iconanchor;c.infoWindowAnchor=d.isArray(b.icon.infowindowanchor)?new GPoint(b.icon.infowindowanchor[0],b.icon.infowindowanchor[1]):b.icon.infowindowanchor}if(b.address){if(b.html=="_address")b.html= b.address;j.getLatLng(b.address,function(h,i){return function(g){g=new GMarker(g,h);i.html&&g.bindInfoWindowHtml(a.html_prepend+i.html+a.html_append);i.html&&i.popup&&g.openInfoWindowHtml(a.html_prepend+i.html+a.html_append);g&&e.addOverlay(g)}}(c,b))}else{if(b.html=="_latlng")b.html=b.latitude+", "+b.longitude;c=new GMarker(new GPoint(b.longitude,b.latitude),c);b.html&&c.bindInfoWindowHtml(a.html_prepend+b.html+a.html_append);b.html&&b.popup&&c.openInfoWindowHtml(a.html_prepend+b.html+a.html_append); c&&e.addOverlay(c)}}})};d.fn.gMap.defaults={address:"",latitude:0,longitude:0,zoom:1,markers:[],controls:[],scrollwheel:true,maptype:G_NORMAL_MAP,html_prepend:'<div class="gmap_marker">',html_append:"</div>",icon:{image:"http://www.google.com/mapfiles/marker.png",shadow:"http://www.google.com/mapfiles/shadow50.png",iconsize:[20,34],shadowsize:[37,34],iconanchor:[9,34],infowindowanchor:[9,2]}}})(jQuery);
