/**
 * default.js
 * @uses MooTools version 1.2
 */


// init-functions executed after DOM is ready
window.addEvent('domready', function() {
	initSubmenu();
	initVestigingTabs();
});

// init-functions executed after entire page is loaded
window.addEvent('load', function() {
	initGooglemap();
});


/**
 * initSubmenu
 *
 * enables toggling of submenus
 *
 * @author Klaas Dieleman <klaas{AT}efocus.nl>
 * @return void
 */
function initSubmenu() {
	$$('#navmain ul').each(function(elSubmenu) {
		elSubmenu.getParent().getElement('span').addEvent('click', function() {
			$$('#navmain ul').erase(elSubmenu).each(function(el) {
				el.removeClass('open');
			});
			elSubmenu.toggleClass('open');
			elSubmenu.blur();
		});
		elSubmenu.addEvent('mouseleave', function() {
			elSubmenu.removeClass('open');
		});
	});
}


/**
 * initVestigingTabs
 *
 * enables toggling of 'vestiging'-tabs 
 *
 * @author Klaas Dieleman <klaas{AT}efocus.nl>
 * @return void
 */
function initVestigingTabs() {
	if (!$('vestigingtabs')) return;
	if ($$('#vestigingtabs li').length != $$('div.vestiging').length) return;
	
	$$('#vestigingtabs li')[0].addClass('active');
	$$('div.vestiging')[1].setStyle('display', 'none');
	
	$$('#vestigingtabs li').each(function(elTab, index) {
		elTab.addEvent('click', function() {
			if (index == 0) {
				// toon eerste tab
				$$('#vestigingtabs li')[0].addClass('active');
				$$('#vestigingtabs li')[1].removeClass('active');
				$$('div.vestiging')[0].setStyle('display', 'block');
				$$('div.vestiging')[1].setStyle('display', 'none');
				
			} else {
				// toon tweede tab
				$$('#vestigingtabs li')[1].addClass('active');
				$$('#vestigingtabs li')[0].removeClass('active');
				$$('div.vestiging')[1].setStyle('display', 'block');
				$$('div.vestiging')[0].setStyle('display', 'none');
				
			}
			
			initGooglemap();
			
		});
	});
}


function initGooglemap() {
	if(!$('map1') || !$('map2')) return;
	if(GBrowserIsCompatible()){
		geocoder = null;
		var map1 = new GMap2(document.getElementById("map1"));
		map1.addControl(new GLargeMapControl());
		
		var map2 = new GMap2(document.getElementById("map2"));
		map2.addControl(new GLargeMapControl());

		var geocoder = new GClientGeocoder();
		geocoder.setBaseCountryCode("nl");

		showAddress(map1, geocoder, adres1, balloonHTML1);
		showAddress(map2, geocoder, adres2, balloonHTML2);
	}
}
function showAddress(map,geocoder,address,html,icon){
	geocoder.getLatLng(address, function(point) {
		if (!point) {
			alert("Adres " + address + " is niet gevonden");
		} else {
			map.setCenter(point, 15);
			var marker = createMarker(point,html,icon);
			map.addOverlay(marker);
			map.addControl(new GMapTypeControl());
			retPoint = point;
		}
	});
}
function createMarker(point,html,icon){
	var marker = new GMarker(point,icon);
	GEvent.addListener(marker, "click", function() {
		marker.openInfoWindowHtml(html);
	});
	return marker;
}

