function addEvent(obj, evType, fn) {
	if (obj.addEventListener) {
		obj.addEventListener(evType, fn, false);
		return true;
	}
	else if (obj.attachEvent) {
		var r = obj.attachEvent("on" + evType, fn);
		return r;
	}
}

var zoomEnCours=false;

function zoomIn(){
	document.getElementById('mapGoogle').className='zoom';
	document.getElementById('mapGoogle').setAttribute('class','zoom');
	document.getElementById('content').className='zoom';
	document.getElementById('content').setAttribute('class','zoom');
	document.getElementById('extra').className='zoom';
	document.getElementById('extra').setAttribute('class','zoom');
	document.getElementById('infoPlus').className='zoom';
	document.getElementById('infoPlus').setAttribute('class','zoom');
	document.getElementById('btnZoomPlus').style.display='none';
	document.getElementById('btnZoomMoins').style.display='block';
	var center=map.getCenter();
	map.checkResize();
	map.setCenter(center);
	map.zoomIn();
	document.getElementById('mapGoogle').style.top='200px';
	document.getElementById('btnZoomPlus').style.top='210px';
	document.getElementById('infoPlus').style.paddingTop=(500+10)+'px';
	if(document.getElementsByTagName('html').item(0).scrollTop>185){
		document.getElementsByTagName('html').item(0).scrollTop=185;
	}
	zoomEnCours=true;
}

function zoomOut(){
	document.getElementById('mapGoogle').className='';
	document.getElementById('mapGoogle').removeAttribute('class');
	document.getElementById('content').className='';
	document.getElementById('content').removeAttribute('class');
	document.getElementById('extra').className='';
	document.getElementById('extra').removeAttribute('class');
	document.getElementById('infoPlus').className='';
	document.getElementById('infoPlus').removeAttribute('class');
	document.getElementById('btnZoomPlus').style.display='block';
	document.getElementById('btnZoomMoins').style.display='none';
	var center=map.getCenter();
	map.checkResize();
	map.setCenter(center);
	map.zoomOut();
	zoomEnCours=false;
	positionColD();
}

function positionColD(){
	if(zoomEnCours) return;
	t=document.getElementsByTagName('html').item(0).scrollTop?document.getElementsByTagName('html').item(0).scrollTop:document.body.scrollTop;
	tt=document.getElementById('content').offsetHeight;
	document.getElementById('mapGoogle').style.top=Math.max(Math.min(Math.max(200,t+15),200+tt-252-15-250),200)+'px';
	document.getElementById('btnZoomPlus').style.top=Math.max(Math.min(Math.max(210,t+10+15),210+tt-252-15-250),210)+'px';
	document.getElementById('infoPlus').style.paddingTop=Math.max(Math.min(Math.max(252+15,t+252-200+15+15),tt-250),252+15)+'px';
}

function afficheBulle(i) {
	marqueurs[i][4].openExtInfoWindow(
		map,
		"custom_info_window_black",
		marqueurs[i][3],
		{beakOffset: 3}
	);
	var center=map.fromLatLngToDivPixel(new GLatLng(marqueurs[i][0],marqueurs[i][1]));
	center.x-=10;
	center.y-=60;
	map.panTo(map.fromDivPixelToLatLng(center));
}

function mapGoogle(lt,lg,z,d){
	if(GBrowserIsCompatible()){

		// Carte
		map = new GMap2(document.getElementById("mapGoogle"));
		map.setCenter(new GLatLng(lt,lg),z);
		map.setMapType(G_NORMAL_MAP);

		// Controles
		map.addControl(new GSmallMapControl());

		// Marqueurs
		var baseIcon = new GIcon(G_DEFAULT_ICON);
		baseIcon.infoWindowAnchor = new GPoint(9, 2);
		for(var i=0;i<marqueurs.length;i++){
			baseIcon.image = "http://www.11h59.com/googleMarkerAZ/"+marqueurs[i][2]+".png";
			marqueurs[i][4] = new GMarker(new GLatLng(marqueurs[i][0],marqueurs[i][1]),{ icon:baseIcon });
			map.addOverlay(marqueurs[i][4]);
			GEvent.addListener(marqueurs[i][4], "click", eval("new Function('afficheBulle("+i+");');"));
		}

		// permet l'ajustement de la position de la colonne de droite (hauteur) par rapport au scroll
		if(d){
			window.setInterval(positionColD,500);
		}

	}
}