// JavaScript Document
var baseIcon={};
var points = [];
var markers = [];
var counter = 0;
var sidebar_html = "";
var marker_html = [];
var map = null;
function initMaps() {
	if (GBrowserIsCompatible()) {
		document.getElementById('map_canvas').style.width = ((typeof(netizen.maps.size.width)!="undefined")?netizen.maps.size.width:672)+"px"
		document.getElementById('map_canvas').style.height = ((typeof(netizen.maps.size.height)!="undefined")?netizen.maps.size.height:360)+"px"
		//
		baseIcon = new GIcon();
		baseIcon.shadow = "http://www.netizen.be/_html/images/googlemap/logoNetizenShadow.png";
		baseIcon.iconSize = new GSize(47, 50);
		baseIcon.shadowSize = new GSize(100, 50);
		baseIcon.iconAnchor = new GPoint(47, 50);
		baseIcon.infoWindowAnchor = new GPoint(19, 65);
		baseIcon.infoShadowAnchor = new GPoint(23.5, 25);
		//
		var mapObj = document.getElementById("map_canvas");
		if (mapObj != "undefined" && mapObj != null) {
			map = new GMap2(document.getElementById("map_canvas"));
			
			map.setCenter(new GLatLng(netizen.maps.center.lat, netizen.maps.center.lon), ((typeof(netizen.maps.center.zoom)!="undefined")?netizen.maps.center.zoom:15), G_NORMAL_MAP);
		 
			map.addControl(new GLargeMapControl());
			map.addControl(new GMapTypeControl());

			for (var i=0,j=netizen.maps.points.length;i<j;i++){
				var point = new GLatLng(netizen.maps.points[i].lat, netizen.maps.points[i].lon);
				/*
				var marker = createMarker(point, netizen.maps.points[i].title, netizen.maps.points[i].content, 0);
				map.addOverlay(marker);
				*/
			}

			map.openInfoWindow(point, "<p><img src=\"http://www.netizen.be/_html/images/googlemap/logoNetizen.png\" align=\"left\" width=\"60px\" height=\"50px\" /><strong>Netizen</strong><br />Grand place 11a<br>1435 Mont-Saint-Guibert<br>Belgique</p><p style=\"margin-left:60px;\"><a href=\"http://maps.google.be/maps?f=d&hl=fr&geocode=&saddr=&daddr=Grand+place+11a+1435+mont+saint+guibert&jsv=107&sll=50.855096,4.39842&sspn=0.038091,0.11467&ie=UTF8&t=h&z=15\" target=\"_blank\">Me rendre &agrave; cette adresse</a></p><br>");
		}
		
	} else {
		document.write('<p><strong>Vous devez activer Javascript pour voir la carte.<\/strong><\/p>');
	}
}
function createMarker(point, title, html, n) {
	if(n >= 0) { n = -1; }
	var icon = new GIcon(baseIcon);
		icon.image = "http://www.netizen.be/_html/images/googlemap/logoNetizen.png";


	var marker = new GMarker(point,icon);
	if(isArray(html)) {
		GEvent.addListener(marker, "click", function() { marker.openInfoWindowTabsHtml(html); });
	} else {
		GEvent.addListener(marker, "click", function() { marker.openInfoWindowHtml(html); });
	}
	points[counter] = point;
	markers[counter] = marker;
	marker_html[counter] = html;
	counter++;
	return marker;
}
function isArray(a) {return isObject(a) && a.constructor == Array;}
function isObject(a) {return (a && typeof a == 'object') || isFunction(a);}
function isFunction(a) {return typeof a == 'function';}
function showGMLayer(idx) {
	if(isArray(marker_html[idx])) {
		markers[idx].openInfoWindowTabsHtml(marker_html[idx]);
	} else {
		markers[idx].openInfoWindowHtml(marker_html[idx]);
	}
}
function showInfoWindow(idx,html) {
	map.centerAtLatLng(points[idx]);
	markers[idx].openInfoWindowHtml(html);
}
function setDirections(fromAddress, toAddress, locale) {
		var resultat = document.getElementById("ReponseItineraire").style;
		resultat.display = '';
		if(gdir){gdir.clear();}
		gdir = null;
		CarteItineraire = new GMap2(document.getElementById("EmplacementCarteItineraire"));
		gdir = new GDirections(CarteItineraire, document.getElementById("EmplacementTexteItineraire"));
		GEvent.addListener(gdir, "error", EnCasdErreur);
		gdir.load("from: " + fromAddress + " to: " + toAddress,	{ "locale": locale });
}
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; 
	} else { 
		return false; 
	} 
}
addEvent(window, 'load', initMaps);
