var gMapiconSm;
var gMapiconMed;
var gMapiconBig;
		
$(function() {
  if (GBrowserIsCompatible()) {
    map = new GMap2($("#gmaps")[0]);
	//map.setCenter(new GLatLng(46.517170,6.631622),8);
	map.setCenter(new GLatLng(46.645665192584936,6.9378662109375),8);
    map.enableScrollWheelZoom();
    map.addControl(new GLargeMapControl());
	var mt = map.getMapTypes();
	for (var i=0; i<mt.length; i++) {
        mt[i].getMinimumResolution = function() {return 7;}      
      		mt[i].getMaximumResolution = function() {return 13;}  
    }
       gMapiconSm = new GIcon(G_DEFAULT_ICON);
       gMapiconSm.image = "/skins/default/img/pin_sm_of.png";
       gMapiconSm.shadow = "/skins/default/img/pin_sm_shad.png";
       gMapiconSm.iconAnchor=new GPoint(12,30);
       gMapiconSm.imageMap=[12,30,7,23,0,22,0,0,22,0,22,22,15,22];
       gMapiconSm.iconSize = new GSize(23, 30);
       gMapiconSm.shadowSize = new GSize(38, 30);
       gMapiconMed = new GIcon(G_DEFAULT_ICON);
       gMapiconMed.image = "/skins/default/img/pin_med_of.png";
       gMapiconMed.shadow = "/skins/default/img/pin_med_shad.png";
       gMapiconMed.iconAnchor=new GPoint(15,38);
       gMapiconMed.imageMap=[15,38,10,30,0,29,0,0,30,0,30,29,20,30];
       gMapiconMed.iconSize = new GSize(31, 39);
       gMapiconMed.shadowSize = new GSize(52, 39);  		    
       gMapiconBig = new GIcon(G_DEFAULT_ICON);
       gMapiconBig.image = "/skins/default/img/pin_big_of.png";
       gMapiconBig.shadow = "/skins/default/img/pin_big_shad.png";
       gMapiconBig.iconAnchor=new GPoint(19,51);
       gMapiconBig.imageMap=[19,51,13,39,0,38,0,0,38,0,39,38,26,38];
       gMapiconBig.iconSize = new GSize(39, 52);
       gMapiconBig.shadowSize = new GSize(65, 52);  		    
       showLocalite();
  }
}); 

var curMarker; 
function setCurrentMarker(el) {
	if (curMarker) {
		var gsrc=curMarker.getIcon().image;        	
		curMarker.setImage(gsrc.replace(/_o[vf]+/,"_of"));
		if (curMarker==el) {
			curMarker=null;
			updateResults("");
			return false;
		}
	}
	curMarker=el;
	gsrc=el.getIcon().image;
	el.setImage(gsrc.replace(/_o[vnf]+/,"_on"));
	return true;
}
var curLoc;

function updateResults(loc, page) {
	curLoc=loc;
	if (!page) page=0;
	$.get(window.location.href,  { "aj" : true, "loc": loc, "pg": page }, function(data) {
				$("#immlist").html(data);
				zoombox.init();
	});
	return false;	
}
		
function showLocalite() {
	map.clearOverlays();
	curMarker=null;
	//if (console) console.log(locs.length);
	for (var i=0;i<locs.length;i++) {
		var p=new GLatLng(0+locs[i][3],0+locs[i][2]);
		var nbRes=locs[i][0];
		var gic;
		if (nbRes>9) {
			gic=new GIcon(gMapiconBig);
		} else if (nbRes>1) {
			gic=new GIcon(gMapiconMed);
		}else {
			gic=new GIcon(gMapiconSm);
		}
	    var marker = new GMarker(p,{icon:gic,title:locs[i][1]}); //+" ("+locs[i][0]+")"
        eval("GEvent.addListener(marker, \"click\", function() { if (setCurrentMarker(this)) updateResults(\""+locs[i][4]+"\"); });");
        GEvent.addListener(marker, "mouseover", function() {
        	var gsrc=this.getIcon().image;
	        if (curMarker!=this) this.setImage(gsrc.replace(/_o[vf]+/,"_ov"));
	        return true;
        });
        GEvent.addListener(marker, "mouseout", function() {
        	var gsrc=this.getIcon().image;        	
	        if (curMarker!=this) this.setImage(gsrc.replace(/_o[vf]+/,"_of"));
	        return true;
        });        	    
		map.addOverlay(marker);	
	}
}

