(function($){$.fn.gMap=function(options){if(!window.GBrowserIsCompatible||!GBrowserIsCompatible()){return this}var mapContext=this.selector;var settings=$.extend({},$.fn.gMap.defaults,options);return this.each(function(){$gmap=new GMap2(this);$gmap.mapContext=mapContext;$gmap.settings=settings;$gmap.gMarkers=[];var mapPreExists=-1;_.each($.fn.gMap.gMaps,function(m,i){if(m.mapContext==mapContext){mapPreExists=i;_.breakLoop()}});if(mapPreExists===-1){$.fn.gMap.gMaps.push($gmap)}else{$.fn.gMap.gMaps[mapPreExists]=$gmap}$.fn.gMap.oMaps[mapContext]=$gmap;$geocoder=new GClientGeocoder();if(settings.address){$geocoder.getLatLng(settings.address,function(gpoint){$gmap.setCenter(gpoint,settings.zoom)})}else{if(settings.latitude&&settings.longitude){$gmap.setCenter(new GLatLng(settings.latitude,settings.longitude),settings.zoom)}else{if($.isArray(settings.markers)&&settings.markers.length>0){if(settings.markers[0].address){$geocoder.getLatLng(settings.markers[0].address,function(gpoint){$gmap.setCenter(gpoint,settings.zoom)})}else{settings.latitude=settings.markers[0].latitude;settings.longitude=settings.markers[0].longitude}}else{settings.latitude=34.885931;settings.longitude=9.84375;settings.zoom=2}}}$gmap.setCenter(new GLatLng(settings.latitude,settings.longitude),settings.zoom);$gmap.setMapType(settings.maptype);if(settings.controls.length===0){$gmap.setUIToDefault()}else{for(var i=0;i<settings.controls.length;i++){eval("$gmap.addControl(new "+settings.controls[i]+"());")}}if(settings.scrollwheel===true&&settings.controls.length!==0){$gmap.enableScrollWheelZoom()}for(var j=0;j<settings.markers.length;j++){$.fn.gMap.addMarker(settings.markers[j],$gmap)}})};$.fn.gMap.addMarker=function(marker,$gmap){var gmarkers=$gmap.gMarkers,settings=$gmap.settings,settingsIcon=settings.icon,markerIcon=marker.icon,gicon=new GIcon();gicon.image=settingsIcon.image;gicon.shadow=settingsIcon.shadow;gicon.iconSize=($.isArray(settingsIcon.iconsize))?new GSize(settingsIcon.iconsize[0],settingsIcon.iconsize[1]):settingsIcon.iconsize;gicon.shadowSize=($.isArray(settingsIcon.shadowsize))?new GSize(settingsIcon.shadowsize[0],settingsIcon.shadowsize[1]):settingsIcon.shadowsize;gicon.iconAnchor=($.isArray(settingsIcon.iconanchor))?new GPoint(settingsIcon.iconanchor[0],settingsIcon.iconanchor[1]):settingsIcon.iconanchor;gicon.infoWindowAnchor=($.isArray(settingsIcon.infowindowanchor))?new GPoint(settingsIcon.infowindowanchor[0],settingsIcon.infowindowanchor[1]):settingsIcon.infowindowanchor;if(markerIcon){gicon.image=markerIcon.image;if(markerIcon.shadow){gicon.shadow=markerIcon.shadow}if(markerIcon.iconsize){gicon.iconSize=($.isArray(markerIcon.iconsize))?new GSize(markerIcon.iconsize[0],markerIcon.iconsize[1]):markerIcon.iconsize}if(markerIcon.shadowsize){gicon.shadowSize=($.isArray(markerIcon.shadowsize))?new GSize(markerIcon.shadowsize[0],markerIcon.shadowsize[1]):markerIcon.shadowsize}if(markerIcon.iconanchor){gicon.iconAnchor=($.isArray(markerIcon.iconanchor))?new GPoint(markerIcon.iconanchor[0],markerIcon.iconanchor[1]):markerIcon.iconanchor}if(markerIcon.infowindowanchor){gicon.infoWindowAnchor=($.isArray(markerIcon.infowindowanchor))?new GPoint(markerIcon.infowindowanchor[0],markerIcon.infowindowanchor[1]):markerIcon.infowindowanchor}}var gmarkerOptions={icon:gicon};if(marker.draggable){$.extend(gmarkerOptions,{draggable:true})}if(marker.address){if(marker.html=="_address"){marker.html=marker.address}$geocoder.getLatLng(marker.address,function(gicon,marker){return function(gpoint){gmarker=new GMarker(gpoint,gicon);if(marker.html){gmarker.bindInfoWindowHtml(settings.html_prepend+marker.html+settings.html_append)}if(marker.html&&marker.popup){gmarker.openInfoWindowHtml(settings.html_prepend+marker.html+settings.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(settings.html_prepend+marker.html+settings.html_append)}if(marker.html&&marker.popup){gmarker.openInfoWindowHtml(settings.html_prepend+marker.html+settings.html_append)}if(gmarker){$gmap.addOverlay(gmarker)}}gmarker.poly=[];if(marker.draggable){GEvent.addListener(gmarker,"dragend",function(){$(document).trigger({type:"markerChange"})})}gmarker.originalConfig=marker;this.addToMarkerCollection(gmarker,$gmap);if(marker.html&&marker.infoWindowEnabled){gmarker.bindInfoWindowHtml(settings.html_prepend+marker.html+settings.html_append);if(gmarker){$gmap.addOverlay(gmarker)}if(marker.popup===true){gmarker.openInfoWindowHtml(settings.html_prepend+marker.html+settings.html_append)}}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(settings.html_prepend+marker.html+settings.html_append)}if(marker.html&&marker.popup){gmarker.openInfoWindowHtml(settings.html_prepend+marker.html+settings.html_append)}if(gmarker){$gmap.addOverlay(gmarker)}}};$.fn.gMap.addToMarkerCollection=function(marker,map){map.gMarkers.push(marker)};$.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]},draggable:false};$.fn.gMap.gMaps=[];$.fn.gMap.oMaps={};$.fn.gMap.gMaps.gMarkers=[]})(jQuery);function Course(a,g,c){var f=a.distanceFrom(new GLatLng(a.lat()+0.1,a.lng()))*10;var e=a.distanceFrom(new GLatLng(a.lat(),a.lng()+0.1))*10;var d=g*Math.cos(c*Math.PI/180)/f;var b=g*Math.sin(c*Math.PI/180)/e;return new GLatLng(a.lat()+d,a.lng()+b)};
