var infowindow;
var bounds;
var map;
var zoom=0;
var zoom_previous=0;
var marker=new Array();
var p=new Array();

(function () {
	google.maps.Map.prototype.clearMarkers = function() {
		l = p.length;
		for (var i = 0; i < l; i++) {
			if(marker[i]) {
				marker[i].setMap(null);
				marker[i]=null;
			}
		}
	};
})();

function initialize() {
	var latlng = new google.maps.LatLng(50.4037026, 1.6499015);
	var myOptions = {
		zoom: 8,
		center: latlng,
		mapTypeId: google.maps.MapTypeId.ROADMAP
	};
	map = new google.maps.Map(document.getElementById('gmap'), myOptions);
	google.maps.event.addListener(map, 'zoom_changed', function() {
		/*if(zoom != map.getZoom() && zoom) {
			if(map.getZoom()-2 == zoom && map.getZoom()>zoom_previous) { produitEngine({'zoom':+1}); }
			else if(map.getZoom()-1 == zoom && map.getZoom()<zoom_previous) { produitEngine({'zoom':-1}); }
			zoom_previous = map.getZoom();
		}
		else if(zoom != map.getZoom()) {
			zoom = map.getZoom();
		}*/
	});
	
	if(!carte) defineMarker(p,true);
}

function defineMarker(p,b) {
	var bounds = new google.maps.LatLngBounds();
	l = p.length;
	for (var i = 0; i < l; i++) {
		var latlng = new google.maps.LatLng(p[i].lat, p[i].lng);
		var image = new google.maps.MarkerImage(url_site+'images/icon/icon-tooltip-'+(p[i].count)+'.png',
			new google.maps.Size(23, 35),
			new google.maps.Point(0,0),
			new google.maps.Point(0, 35)
		);
		marker[i] = new google.maps.Marker({
			position: latlng,
			map: map,
			icon: image,
			title: p[i].name,
			html: p[i].html,
			zIndex: i
		});
		google.maps.event.addListener(marker[i], 'click', function() {
			if (!infowindow) {
				infowindow = new google.maps.InfoWindow();
			}
			infowindow.setContent(this.html);
			infowindow.open(map,this);
		});
		if(b) {
			bounds.extend(latlng);
			map.fitBounds(bounds);
			if(i+1==l) setTimeout('defineZoom();',250);
		}
	}
}

function defineZoom() {
	l = p.length;
	if(map.getZoom()>=14) map.setZoom(14);
	/*else map.setZoom(map.getZoom()-1)*/
}

function createMarker(name, latlng) {
	var marker = new google.maps.Marker({position: latlng, map: map});
	google.maps.event.addListener(marker, "click", function() {
		if (infowindow) infowindow.close();
		infowindow = new google.maps.InfoWindow({content: name});
		infowindow.open(map, marker);
	});
	return marker;
}