//<![CDATA[
var map;
var geocoder;
var global_markers = new Array();

function VWN_load() {
	if (GBrowserIsCompatible()) {
		geocoder = new GClientGeocoder();
		map = new GMap2(document.getElementById('map'));
		map.addControl(new GSmallMapControl());
		map.addControl(new GMapTypeControl());
		map.setCenter(new GLatLng(52.300000, 5.300000), 7);
		VWN_display_local_departments();
		VWN_display_regional_departments();
		VWN_display_azcs();

	}
}

function VWN_display_regional_departments() {
	var search_url = '/tools/get_regional_departments.xml.php';
	GDownloadUrl(search_url, function(data) {
		if( data != "-1" ) { 
			var xml = GXml.parse(data);
			var markers = xml.documentElement.getElementsByTagName('marker');
			for(i=0;i<markers.length;i++) {
				var point = new GLatLng(parseFloat(markers[i].getAttribute('lat')),
										parseFloat(markers[i].getAttribute('lng')));
				var name = markers[i].getAttribute('name');
				var address = markers[i].getAttribute('address');
				var postcode = markers[i].getAttribute('postcode');
				var city = markers[i].getAttribute('city');
				var marker = VWN_create_marker(point, name, address, postcode, city);
				var id = postcode.replace(" ", "_");
				global_markers[id] = marker;
		        map.addOverlay(marker);
			}
		}
	});
}

function VWN_display_local_departments() {
	var search_url = '/tools/get_local_departments.xml.php';
	GDownloadUrl(search_url, function(data) {
		if( data != "-1" ) { 
			var xml = GXml.parse(data);
			var markers = xml.documentElement.getElementsByTagName('marker');
			for(i=0;i<markers.length;i++) {
				var point = new GLatLng(parseFloat(markers[i].getAttribute('lat')),
										parseFloat(markers[i].getAttribute('lng')));
				var name = markers[i].getAttribute('name');
				var address = markers[i].getAttribute('address');
				var postcode = markers[i].getAttribute('postcode');
				var city = markers[i].getAttribute('city');
				var blueIcon = new GIcon(G_DEFAULT_ICON);
				blueIcon.image = "http://www.google.com/intl/en_us/mapfiles/ms/micons/blue-dot.png";
				blueIcon.iconSize = new GSize(32, 32);
				var markerOptions = { icon:blueIcon, clickable:false };
				var marker = new GMarker( point, markerOptions );
				map.addOverlay(marker);
			}
		}
	});
}

function VWN_display_azcs() {
	var search_url = '/tools/get_azcs.xml.php';
	GDownloadUrl(search_url, function(data) {
		if( data != "-1" ) { 
			var xml = GXml.parse(data);
			var markers = xml.documentElement.getElementsByTagName('marker');
			for(i=0;i<markers.length;i++) {
				var point = new GLatLng(parseFloat(markers[i].getAttribute('lat')),
										parseFloat(markers[i].getAttribute('lng')));
				var yellowIcon = new GIcon(G_DEFAULT_ICON);
				yellowIcon.image = "http://www.google.com/intl/en_us/mapfiles/ms/micons/yellow-dot.png";
				yellowIcon.iconSize = new GSize(32, 32);
				var markerOptions = { icon:yellowIcon, clickable:false };
				var marker = new GMarker( point, markerOptions );
				map.addOverlay(marker);
			}
		}
	});
}

function VWN_addListener( marker, html ) {
	GEvent.addListener(marker, 'click', function() {
		marker.openInfoWindowHtml(html);
	});
}

function VWN_get_location() {
	var postcode = document.getElementById( "postcode" ).value;
	var search_url = '/tools/get_location.xml.php?postcode='+postcode;
	GDownloadUrl(search_url, function(data) {
		if( data != "-1" ) {
			document.getElementById('map-error').style.display = "none";
			var xml = GXml.parse(data);
			var markers = xml.documentElement.getElementsByTagName('marker');
			var point = new GLatLng(parseFloat(markers[0].getAttribute('lat')),
									parseFloat(markers[0].getAttribute('lng')));
			var name = markers[0].getAttribute('name');
			var address = markers[0].getAttribute('address');
			var postcode = markers[0].getAttribute('postcode');
			var city = markers[0].getAttribute('city');
			var bounds = new GLatLngBounds();
			bounds.extend(point);
			map.setCenter(bounds.getCenter(), 12);
			var html = '<img src="/images/headers/vwn-logo-small.png" style="margin: 0 0 8px 0;" /><br/>' + '<strong>' + name + '</strong><br/> ' + address + ', ' + postcode + ', ' + city + '<br/><a href="/word-vrijwilliger/" onclick="return pageTracker._trackEvent(\'Afdeling in de buurt\', \'Klikken op Word nu vrijwilliger link\', \''+ name +'\' );">Word nu vrijwilliger &rsaquo;</a>';
			var id = postcode.replace(" ", "_");
			global_markers[id].openInfoWindowHtml(html);
			//document.getElementById('map-location').style.display = "block";
			//document.getElementById('map-location').innerHTML = html;
		}
		//else {
		//	document.getElementById('map-error').style.display = "block";
		//}
	})
}

function VWN_create_marker(point, name, address, postcode, city, alt ) {
	var marker = new GMarker( point );
	var html = '<img src="/images/headers/vwn-logo-small.png" style="margin: 0 0 8px 0;" /><br/>' + '<strong>' + name + '</strong><br/> ' + address + ', ' + postcode + ', ' + city + '<br/><a href="/word-vrijwilliger/" onclick="return pageTracker._trackEvent(\'Afdeling in de buurt\', \'Klikken op Word nu vrijwilliger link\', \''+ name +'\' );">Word nu vrijwilliger &rsaquo;</a>';
	var id = postcode.replace(" ", "_");
	marker.id = "marker_"+id;
	GEvent.addListener(marker, 'click', function() {
		marker.openInfoWindowHtml(html);
	});
	return marker;
}
 
$(function() {
	var lookupAddress = function() {
		if (jQuery('#application-address').val() != '' || jQuery('#application-city').val() != '') {
			return false;
		}
		var regexpPostcode = new RegExp(/(^([1-9][0-9]{3})( ?)([a-zA-Z]{2})$)/);
		var regexpHouseNumber = new RegExp(/^[0-9]+$/);
		if (regexpPostcode.test(jQuery('#application-postcode').val()) && regexpHouseNumber.test(jQuery('#application-housenumber').val())) {
			// valid postalcode & huisnummer
			jQuery.ajax({
				type: 'GET', 
				url: '/tools/get_address.js.php', 
				data: ({ 'postcode' : jQuery('#application-postcode').val().toUpperCase(), 'huisnr' : jQuery('#application-housenumber').val() }), 
				success: function(response){
					if (response.substring(0, 5) != 'ERROR') {
						var split = response.split("||");
						jQuery('#application-address').val(split[0]);
						jQuery('#application-city').val(split[1])
						return true;
					}
				}
			});
		}
	}
	jQuery('#application-postcode').blur(lookupAddress);
	jQuery('#application-housenumber').blur(lookupAddress);
	
	$("#donateur_bedrag_anders_label").click( function() {
		$("#donateur_ander_bedrag").focus();
	});
	$("#amount-5, #amount-10, #amount-20,").click( function() {
		$("#donateur_ander_bedrag").attr( "value", "" );
	});
	$("#donateur_ander_bedrag").keyup( function() {
		if( $(this).val() ) {
			$("#donateur_bedrag_anders").attr( "checked", "checked" );
		}
	});
});


// Track page events
$(function() {
	var parts = document.title.split(" - ");
	$("#page-navigation a").click( function() {
		return pageTracker._trackEvent('Hoofdnavigatie', parts[0], $(this).text() );
	});
	$("#test-teaser a").click( function() {
		return pageTracker._trackEvent('Klikken op buttons naar Test', 'Vrijwilliger worden? Doe de test!', parts[0] );
	});
	$("#cta a").click( function() {
		return pageTracker._trackEvent('Klikken op buttons naar Test', 'Word nu vrijwilliger', parts[0] );
	});
	$("#get-location").submit( function() {
		return pageTracker._trackEvent('Afdeling in de buurt', 'Zoeken op postcode', $("#postcode").val() );
	});
	$("#external-links a").click( function() {
		return pageTracker._trackEvent( 'Contact pagina', 'Klikken op links', $(this).text() );
	});
	$("#cta2 a").click( function() {
		return pageTracker._trackEvent( 'Donateur call to actions', 'Button Geen tijd, word donateur!', parts[0] );
	});
	$("#cta3 a").click( function() {
		return pageTracker._trackEvent( 'Donateur call to actions', 'Vrijwilligers formulier', 'Button Geen tijd, word donateur!' );
	});
	$("#cta4 a").click( function() {
		alert('asd');
		return pageTracker._trackEvent( 'Donateur call to actions', 'Vrijwilligers formulier', 'Link in paragraaf onderaan formulier' );
	});
	
});



//]]>