$(function(){

	// Project filter
	var $submenu_items = $("#top_menu li");
	var $projects = $("#projects a");
	$submenu_items.click(function(){
		var id = this.id;
		var filter = id.substring(7);
		$submenu_items.removeClass('active').filter(this).addClass('active');
		$projects.removeClass('active').filter('.'+filter).addClass('active');

		$projects.find('img').pixastic('desaturate');
		$projects.filter('.active').find('canvas').pixasticrevert();
	});

	
	var $gallery_items = $('a', '#project .gallery');
	
	if($gallery_items.length > 0)
	{
		// Mouse-over project pictures
		$gallery_items.bind('mouseenter', function(){
			var handler_thumb_src = $(this).find('img').attr('src');
			var newmedium = handler_thumb_src.replace('thumb','medium');
			$("#bigimage").attr('src', newmedium);
		});

		// Project slideshow
		var slideshow = $gallery_items.photoSwipe({
			preventSlideshow: true,
			captionAndToolbarAutoHideDelay: 0,
			getImageCaption: function(el){
				var title = $('<h1>'+$('h1').html()+'</h1>');
				var subtitle = $('<h2>'+$('h2').html()+'</h2>');

				return $('<div>').append(title).append(subtitle).append('<div class="ps-toolbar-close" style="padding-top: 12px;">Sluit</div>');
			},
			getToolbar: function()
			{
				return '<div class="ps-toolbar-previous" style="padding-top: 12px;">&lt; Vorige</div><div class="ps-toolbar-next" style="padding-top: 12px;">Volgende &gt;</div>';
			}
		});

		$('.ps-toolbar-close').live('click', function(){
			slideshow.hide();
		});

		$("#bigimage").click(function(){
			var src = $(this).attr('src');
			var full = src.replace('medium', 'large');
			var selector = 'a[href="'+full+'"]';
			$(selector).trigger('click');
		});
	}

	var $contactform = $('#contactform');
	if($contactform.length > 0)
	{
		$contactform.submit(function(event) {
			var $form = $(this);

			if($form.validationEngine('validate')) {
				$.post($form.attr('action'), $form.serialize(), function(message) {
					$form.html('<p>' + message + '</p>');
				});
			}
			return false;
		}).validationEngine();
	}
});

