var DMaps={};var points=[];(function(D){var center={'lat':42.098222,'lng':11.074219,'zoom':5};var path='/js';var markerBehaviour='click';var markers=[];var offset=0;var baseIcon=new GIcon(G_DEFAULT_ICON);baseIcon.iconSize=new GSize(28,35);baseIcon.shadowSize=new GSize(54,35);baseIcon.iconAnchor=new GPoint(9,35);baseIcon.infoWindowAnchor=new GPoint(14,3);var createMarker=function(point,number,message){var numbered=new GIcon(baseIcon);numbered.image=path+"/marker"+(offset+number)+".png";var marker=new GMarker(point,{icon:numbered});var localCallback=function(){marker.openInfoWindowHtml(message)};GEvent.addListener(marker,markerBehaviour,localCallback);return marker};var setCenter=function(lat,lng,zoom){center.lat=lat;center.lng=lng;center.zoom=zoom||center.zoom};var setMarkerCallback=function(cb){createMarker=cb};var setMarkerBehaviour=function(behav){markerBehaviour=behav};var setPath=function(p){path=p};var getMarker=function(index){return markers[index]};var setOffset=function(offst){offset=offst};var trigger=function(index){try{var marker=markers[index];GEvent.trigger(marker,markerBehaviour)}catch(exc){}};var init=function(){if(GBrowserIsCompatible()){var map=new GMap2(document.getElementById('gmap'));map.setCenter(new GLatLng(center.lat,center.lng),center.zoom);map.addControl(new GLargeMapControl());map.addControl(new GMapTypeControl());map.addControl(new GScaleControl());var coords={'n':-90,'s':90,'o':180,'e':-180};for(i=0;i<points.length;i++){var point=new GLatLng(points[i].lat,points[i].lng);if(points[i].lng<coords.o){coords.o=points[i].lng}if(points[i].lng>coords.e){coords.e=points[i].lng}if(points[i].lat>coords.n){coords.n=points[i].lat}if(points[i].lat<coords.s){coords.s=points[i].lat}newm=createMarker(point,points[i].index,points[i].addr);markers[points[i].index]=newm;map.addOverlay(newm)}var autozoom=map.getBoundsZoomLevel(new GLatLngBounds(new GLatLng(coords.s,coords.o),new GLatLng(coords.n,coords.e)));autozoom-=1;var effzoom=Math.max(center.zoom,autozoom);var clat=(coords.n+coords.s)/2;var clng=(coords.o+coords.e)/2;if(clat>0&&clng>0){map.setCenter(new GLatLng(clat,clng),effzoom)}}};var unload=GUnload;D.init=init;D.setCenter=setCenter;D.setPath=setPath;D.setMarkerCallback=setMarkerCallback;D.setMarkerBehaviour=setMarkerBehaviour;D.unload=unload;D.baseIcon=baseIcon;D.getMarker=getMarker;D.trigger=trigger;D.setOffset=setOffset})(DMaps);