var map, geocoder;

$(document).ready(function() {
	// External
	$('.external, a[rel="external"]').attr('target', '_blank');
	
	// Contact
	if($('.contact').length > 0)
	{
		var tx0 = new Spry.Widget.ValidationTextField('txtName', 'none', {validateOn:['submit']});
		var tx1 = new Spry.Widget.ValidationTextField('txtEmail', 'email', {validateOn:['submit']});
		var tx3 = new Spry.Widget.ValidationTextarea('txtMessage', {maxChars:400, counterType:'chars_remaining', counterId:'text-counter', validateOn:['submit']});
		
		$('#tName').focus();
		
		// Google Map
	    var latlng = new google.maps.LatLng(52.1326,5.2912);
		
		var myOptions = { zoom: 8, center: latlng, mapTypeId: google.maps.MapTypeId.ROADMAP };
	    map = new google.maps.Map(document.getElementById('google-maps'), myOptions);
	    
		geocoder = new google.maps.Geocoder();
		geocoder.geocode({ 'address': address + ', ' + town, 'partialmatch': true }, google_CenterMap);
	}
	
	// Images
	if($('.gallery').length > 0)
	  $('.gallery a').fancybox({ titleShow: false });
	
	// Reservering
	if($('.reserve').length > 0)
	  $('.reserve').fancybox({ type: 'iframe', width: 350, height: 510, autoScale: false });
	
	// Menu card
	if($('.menu-links').length > 0)
	{
		$('.menu-page').click(function() {
			$('.menu-card').load(ROOT + 'ajax/menu/' + $(this).attr('id'));
		});
		
		// Load first page
		$('.menu-card').load(ROOT + 'ajax/menu/' + $('.menu-page:first-child').attr('id'));
	}
	
	// Twitter
	if($('.twitter-box').length > 0)
	  Twitter.UserTimeline({ user: 'restzonnewijzer', update: 'twitter', count: 4, limit: true });
});

function google_CenterMap(results, status)
{
	if(status == 'OK' && results.length > 0)
	{
		map.fitBounds(results[0].geometry.viewport);
		
		var marker = new google.maps.Marker({
			position: map.getCenter(),
			map: map
		});

		var text = '<div style="font-family: Arial; font-size: 10pt; color: #111;"><strong>De Zonnewijzer</strong><br />' + address + '<br />' + zip + ' ' + town + '</div>';

		var infowindow = new google.maps.InfoWindow({ content: text });

		google.maps.event.addListener(marker, 'click', function() {
		  infowindow.open(map, marker);
		});
		
		infowindow.open(map, marker);
	}
}
