var map = null;
var mgr = null;
var pics = null;
var markerClusterer = null;
var mapzoom = 8;
var maxZoom = 13;
var destinationsPage = true;

function init_map() {
	if(GBrowserIsCompatible()) {
		map = new GMap2(document.getElementById('map_canvas'));
		map.setMapType(G_PHYSICAL_MAP);
		map.setCenter(new GLatLng(maplat, maplng), mapzoom);
		map.addControl(new customControls());
		mgr = new MarkerManager(map, {trackMarkers: true});
		pics = data.properties;
		window.setTimeout(setupCountyMarkers, 0);
		if($("body").hasClass("searchPage"))
			destinationsPage = false;
		showMarkers();
	}
}

function timing() {
	var mcOptions = { gridSize: 25, maxZoom: maxZoom };
	markerClusterer = new MarkerClusterer(map, markers, mcOptions);
}

function showMarkers() {
	map.clearOverlays();
	var icon = new GIcon(G_DEFAULT_ICON);
	icon.iconSize = new GSize(23, 30);
	icon.iconAnchor = new GPoint(12,32);
	icon.infoWindowAnchor = new GPoint(7,34);         
	icon.image = "/img/buttons/pointer-single.png";
	icon.shadow = null;
	var type = 1;
	if (markerClusterer != null) {
		markerClusterer.clearMarkers();
	}

	var lg = data.properties.length;
	var markerBounds = new GLatLngBounds();

	for (var i = 0; i < lg; i++) {
		var latlng = new GLatLng(pics[i].latitude, pics[i].longitude);
		var marker = new GMarker(latlng, {icon: icon, zIndexProcess:dropLower});
		var fn = markerClickFn(pics[i], latlng, marker);
		GEvent.addListener(marker, "click", fn);
		markerBounds.extend(latlng);
		markers.push(marker);
	}
	if ($("[id$='ddlTowns']").val() != "Any") {
	    map.setCenter(markerBounds.getCenter(), (map.getBoundsZoomLevel(markerBounds) - 1));
	}
	setTimeout("timing()", 0);
}

function markerClickFn(pic, latlng, marker) {
	return function() {
		var title = pic.servicecode;
		var nights = pic.nights;

		marker.openExtInfoWindow(
			map,
			"mapInfo",
			"<div>Loading...</div>",
			{ajaxUrl: "/propinfocontent.aspx?duration=" + nights + "&prop=" + title,
			beakOffset: 5}			
		); 
	};
}

function dropLower(marker,b) {
	return -GOverlay.getZIndex(marker.getPoint().lat());
}
      
function viewProperties(i) {
	if (markers[i] != null){
		if(mapToggler=="closed"){
			$(".showMap a").click();
		}
		map.setCenter(markers[i].getLatLng());
		GEvent.trigger(markers[i], "click");
		map.setZoom(maxZoom);
	}
    
}

