var koopzondagMarkers = {};

var itvl = window.setInterval(function() {
	if (!Object.isUndefined(window.GoogleMaps)) {
		if (GoogleMaps.addMarker && GoogleMaps.createMarker) {
			GoogleMaps.addMarker = function (markerInfo, routeInfo)
			{
				koopzondagMarkers[markerInfo.relationid] = GoogleMaps.createMarker(new GLatLng(markerInfo.lat, markerInfo.lng), markerInfo, routeInfo);
				GoogleMaps.map.addOverlay(koopzondagMarkers[markerInfo.relationid]);
			}

			GoogleMaps.createMarker = function (point, markerInfo)
			{
				var markerOptions = {};
				if (GoogleMaps.markerIcon) markerOptions.icon = GoogleMaps.markerIcon;

				var marker = new GMarker(point, markerOptions);
				marker.value = markerInfo.name;
				GEvent.addListener(marker, "click", function() {
					GoogleMaps.showRelationInformation(markerInfo.relationid);
				});
				return marker;
			}

			window.clearInterval(itvl);
		}
	}
}, 1);

document.observe ("dom:loaded", function()
{
	GoogleMaps.specialMarker = false;
	$('vestiging').observe ('change', function() {
		if ($F(this) != 0) {
			if (GoogleMaps.specialMarker) {
				if ($F(this) != GoogleMaps.specialMarker) {
					GoogleMaps.showRelationInformation($F(this));
				}
			} else {
				GoogleMaps.showRelationInformation($F(this));
			}
		}
	});

	GoogleMaps.showRelationInformation = function(relationid) {
		if (relationid != GoogleMaps.specialMarker) {
			if (koopzondagMarkers[GoogleMaps.specialMarker]) {
				koopzondagMarkers[GoogleMaps.specialMarker].setImage(GoogleMaps.conf.icon.url);
			}
			koopzondagMarkers[relationid].setImage(GoogleMaps.conf.overicon);
			GoogleMaps.specialMarker = relationid;
			$('vestiging').value = relationid;
			new Ajax.Request(PbLib.getNewURI('l/koopzondag/getkoopzondagen'), {
				'asynchronous': false,
				'parameters': {
					'relationid': relationid,
					'relationname': koopzondagMarkers[GoogleMaps.specialMarker].value
				},
				'onSuccess': function (response) {
					$('koopzondaglist').update(response.responseText.evalJSON());
				}
			});
		}
	}
	var myCalendarSelect = new DateSelect("calendar");
	var active = false;

	myCalendarSelect.addEventListener("cellclick", function(e){
		if (typeof(Event.element(e).date) != "undefined") {
			var date = Event.element(e).date;

			if (date.getDay() == 0) {
				if (Event.element(e) != active) {
					Event.element(e).addClassName("active");
				}
				if (active) {
					if (Event.element(e) != active) {
						active.removeClassName("active");
					}
				}

				new Ajax.Request(PbLib.getNewURI('l/koopzondag/getvestigingen?selecteddate=' + new Date(date.getFullYear(), date.getMonth(), Event.element(e).innerHTML).toJSON().replace(/"/g, '')), {
					'asynchronous': false,
					'onSuccess': function (response) {
						$('answerlist').update(response.responseText.evalJSON());
					}
				});
				active = Event.element(e);
			}
		}
	});

});