/**
 * jQuery gMap
 *
 * @url		http://gmap.nurtext.de/
 * @author	Cedric Kastner <cedric@nur-text.de>
 * @version	1.1.0
 * ---------------------------------------------
 * @edit by  Michal Matuška 
 * @update: auto zoom from markers   
 */
(function($){$.fn.gMap=function(g){if(!window.GBrowserIsCompatible||!GBrowserIsCompatible())return this;var h=$.extend({},$.fn.gMap.defaults,g);return this.each(function(){$gmap=new GMap2(this);$geocoder=new GClientGeocoder();if(h.address){$geocoder.getLatLng(h.address,function(a){$gmap.setCenter(a,h.zoom)})}else{if(h.latitude&&h.longitude){$gmap.setCenter(new GLatLng(h.latitude,h.longitude),h.zoom)}else{if($.isArray(h.markers)&&h.markers.length>0){if(h.zoom=='auto'){var d=new GLatLngBounds();var e=h.markers;for(var i=0;i<e.length;i++){var f=new GMarker(new GLatLng(e[i].latitude,e[i].longitude));d.extend(f.getPoint())}$gmap.setCenter(d.getCenter(),$gmap.getBoundsZoomLevel(d))}else{if(h.markers[0].address){$geocoder.getLatLng(h.markers[0].address,function(a){$gmap.setCenter(a,h.zoom)})}else{$gmap.setCenter(new GLatLng(h.markers[0].latitude,h.markers[0].longitude),h.zoom)}}}else{$gmap.setCenter(new GLatLng(34.885931,9.84375),h.zoom=='auto'?0:h.zoom)}}}$gmap.setMapType(h.maptype);if(h.controls.length==0){$gmap.setUIToDefault()}else{for(var i=0;i<h.controls.length;i++){eval('$gmap.addControl(new '+h.controls[i]+'());')}}if(h.scrollwheel==true&&h.controls.length!=0){$gmap.enableScrollWheelZoom()}for(var j=0;j<h.markers.length;j++){marker=h.markers[j];gicon=new GIcon();gicon.image=h.icon.image;gicon.shadow=h.icon.shadow;gicon.iconSize=($.isArray(h.icon.iconsize))?new GSize(h.icon.iconsize[0],h.icon.iconsize[1]):h.icon.iconsize;gicon.shadowSize=($.isArray(h.icon.shadowsize))?new GSize(h.icon.shadowsize[0],h.icon.shadowsize[1]):h.icon.shadowsize;gicon.iconAnchor=($.isArray(h.icon.iconanchor))?new GPoint(h.icon.iconanchor[0],h.icon.iconanchor[1]):h.icon.iconanchor;gicon.infoWindowAnchor=($.isArray(h.icon.infowindowanchor))?new GPoint(h.icon.infowindowanchor[0],h.icon.infowindowanchor[1]):h.icon.infowindowanchor;if(marker.icon){gicon.image=marker.icon.image;gicon.shadow=marker.icon.shadow;gicon.iconSize=($.isArray(marker.icon.iconsize))?new GSize(marker.icon.iconsize[0],marker.icon.iconsize[1]):marker.icon.iconsize;gicon.shadowSize=($.isArray(marker.icon.shadowsize))?new GSize(marker.icon.shadowsize[0],marker.icon.shadowsize[1]):marker.icon.shadowsize;gicon.iconAnchor=($.isArray(marker.icon.iconanchor))?new GPoint(marker.icon.iconanchor[0],marker.icon.iconanchor[1]):marker.icon.iconanchor;gicon.infoWindowAnchor=($.isArray(marker.icon.infowindowanchor))?new GPoint(marker.icon.infowindowanchor[0],marker.icon.infowindowanchor[1]):marker.icon.infowindowanchor}if(marker.address){if(marker.html=='_address'){marker.html=marker.address}$geocoder.getLatLng(marker.address,function(b,c){return function(a){gmarker=new GMarker(a,b);if(c.html){gmarker.bindInfoWindowHtml(h.html_prepend+c.html+h.html_append)}if(c.html&&c.popup){gmarker.openInfoWindowHtml(h.html_prepend+c.html+h.html_append)}if(gmarker){$gmap.addOverlay(gmarker)}}}(gicon,marker))}else{if(marker.html=='_latlng'){marker.html=marker.latitude+', '+marker.longitude}gmarker=new GMarker(new GPoint(marker.longitude,marker.latitude),gicon);if(marker.html){gmarker.bindInfoWindowHtml(h.html_prepend+marker.html+h.html_append)}if(marker.html&&marker.popup){gmarker.openInfoWindowHtml(h.html_prepend+marker.html+h.html_append)}if(gmarker){$gmap.addOverlay(gmarker)}}}})};$.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);