var GMmap;
var GMShopicon;
var GMParkingicon;
var GMRailicon;
var GMRouteicon;
var GMCityicon;
var GMRegionicon;

function GMload() {
	if (GBrowserIsCompatible()) {
		//define icon for shop marker
		GMShopicon = new GIcon();
		//GMShopicon.image = "http://labs.google.com/ridefinder/images/mm_20_orange.png";
		//GMShopicon.shadow = "http://labs.google.com/ridefinder/images/mm_20_shadow.png";
		GMShopicon.image = "http://pilot.winkelparade.nl/img/gm/shop.png";
		GMShopicon.shadow = "";
		GMShopicon.iconSize = new GSize(20, 20);
		GMShopicon.shadowSize = new GSize(0, 0);
		GMShopicon.iconAnchor = new GPoint(6, 20);
		GMShopicon.infoWindowAnchor = new GPoint(5, 1);
		//define icon for parking marker
		GMParkingicon = new GIcon();
		GMParkingicon.image = "http://pilot.winkelparade.nl/img/gm/parking.png";
		GMParkingicon.shadow = ""
		GMParkingicon.iconSize = new GSize(20, 20);
		GMParkingicon.shadowSize = new GSize(0, 0);
		GMParkingicon.iconAnchor = new GPoint(16, 32);
		GMParkingicon.infoWindowAnchor = new GPoint(16, 0);
		//define icon for rail marker
		GMRailicon = new GIcon();
		GMRailicon.image = "http://pilot.winkelparade.nl/img/gm/train.png";
		GMRailicon.shadow = "";
		GMRailicon.iconSize = new GSize(32, 32);
		GMRailicon.shadowSize = new GSize(59, 32);
		GMRailicon.iconAnchor = new GPoint(16, 32);
		GMRailicon.infoWindowAnchor = new GPoint(16, 0);
		//define icon for route marker
		GMRouteicon = new GIcon();
		GMRouteicon.image = "http://pilot.winkelparade.nl/img/gm/route.png";
		GMRouteicon.shadow = "";
		GMRouteicon.iconSize = new GSize(32, 32);
		GMRouteicon.shadowSize = new GSize(59, 32);
		GMRouteicon.iconAnchor = new GPoint(16, 32);
		GMRouteicon.infoWindowAnchor = new GPoint(16, 0);
		//define icon for city marker
		GMCityicon = new GIcon();
		GMCityicon.image = "http://pilot.winkelparade.nl/img/gm/route.png";
		GMCityicon.shadow = "";
		GMCityicon.iconSize = new GSize(32, 32);
		GMCityicon.shadowSize = new GSize(59, 32);
		GMCityicon.iconAnchor = new GPoint(16, 32);
		GMCityicon.infoWindowAnchor = new GPoint(16, 0);
		//define icon for region marker
		GMRegionicon = new GIcon();
		GMRegionicon.image = "http://pilot.winkelparade.nl/img/gm/route.png";
		GMRegionicon.shadow = "";
		GMRegionicon.iconSize = new GSize(32, 32);
		GMRegionicon.shadowSize = new GSize(59, 32);
		GMRegionicon.iconAnchor = new GPoint(16, 32);
		GMRegionicon.infoWindowAnchor = new GPoint(16, 0);
		//init map
		if ($("kaart")) {
			GMmap = new GMap2($("kaart"));
			GMmap.disableInfoWindow();
			//add controls
			GMmap.addControl(new GLargeMapControl3D ());
			//GMmap.addControl(new GScaleControl());
			//GMmap.addControl(new GMapTypeControl());
			//GMmap.addControl(new GOverviewMapControl());
			GMinit();
		} else {
			alert("geen kaart gevonden");
		}
	}
}

var lastMarker;

function hideBoxWinkel() {
	$("winkeloverlay").style.display = "none";
	var wi = Wp.General.GetElementsByClass($("winkels_ovz_list_body"), "winkelinfo")
	for (var i = 0; i < wi.length; i++) { wi[i].style.display = "none"; wi[i].style.top = "0px"; }
	if (lastMarker) {
		lastMarker.setImage("http://pilot.winkelparade.nl/img/gm/shop.png");
		lastMarker = undefined;
	}
}

function normalizeMarker() {
	if (lastMarker) {
		lastMarker.setImage("http://pilot.winkelparade.nl/img/gm/shop.png");
	}
}

function showBoxWinkel(vstid, marker) {
	hideBoxWinkel();
	
	setTimeout(function() {
		if (marker) {
			if (vstid.indexOf("poi") == -1) {
				marker.setImage("http://pilot.winkelparade.nl/img/gm/shop_selected.png");
				lastMarker = marker;
				GMmap.panTo(marker.getLatLng());
			}
		}
		with ($("winkeloverlay")) {
			style.display = "block";
			onclick = hideBoxWinkel;
		}

		with ($("box_winkel" + vstid)) {
			style.display = "block";
			style.top = "-350px";
			onclick = hideBoxWinkel;
		}
	},100);
}

function GMPanToShop(zoom, lat, lng, vstid) {
	showBoxWinkel(vstid);	
	GMPanTo(zoom, lat, lng);
}

function GMPanTo(zoom, lat, lng) {
	document.documentElement.scrollTop=0;
	GMmap.setZoom(zoom);
	GMmap.panTo(new GLatLng(lat, lng));
}

