$(document).ready(function() {

	initMasonry();
	
	$('form.newsletter input[name=email]').focus(function(){
		initVal = 'your email address';
		curVal = $(this).val();
		if (curVal == initVal) {
			$(this).val('');
		}
	});
	
	$('form.newsletter input[name=email]').blur(function(){
		initVal = 'your email address';
		curVal = $(this).val();
		if (curVal == '') {
			$(this).val(initVal);
		}
	});	

	$('#media-home a').click(function(){
		$(this).fadeOut('12000');
		return false;	
	});

	$('#newslettersubscribe').validate({
		submitHandler: function(form){
			$.ajax({
				type: $(form).attr('method'),
				url: $(form).attr('action'),
				data: $(form).serialize(),
				dataType: 'json',
				cache: false,
				success: function(result){
					if(result.success){
						$(form).fadeOut(200, function(){
							$(form).after('<p class="newsletter_result">' + result.message + '</p>')
							$('.newsletter_result').click(function(){
								$(this).remove();
								$('form.newsletter input[name=email]').val('your e-mailadress');
								$(form).fadeIn();
							})
						})
					} 
				}
			})			
		}
	});
	
	$('#newslettersubmit').click(function() {
		$('#newslettersubscribe').submit();
		return false;
	});
	
	/* var dates = $( "#from, #until" ).datepicker({
		defaultDate: "-1w",
		changeMonth: true,
		numberOfMonths: 2,
		dateFormat: "d M, yy",
		onSelect: function( selectedDate ) {
			var option = this.id == "from" ? "minDate" : "maxDate",
				instance = $( this ).data( "datepicker" ),
				date = $.datepicker.parseDate(
					instance.settings.dateFormat ||
					$.datepicker._defaults.dateFormat,
					selectedDate, instance.settings );
			dates.not( this ).datepicker( "option", option, date );
		}
	});	 */
	
	$('input.datepicker').datepicker({
	    showButtonPanel: true,
	    closeText: 'Clear',
	    dateFormat: "d M, yy",
	    onSelect: function(dateText, inst) {
	        // set range <selected, +7d> on next for example
	        var minDate = $(this).datepicker('getDate');
	        var maxDate = $(this).datepicker('getDate');
	
	        $($(this).nextAll('input')[0]).datepicker('option', {minDate: minDate});
	    },
	    onClose: function(dateText, inst) {
	        $(this).data('pickerVisible', false);
	        if (dateText == '') {
	          $(this).data('selected', true);
	          $($(this).nextAll('input')).val('');
	          $($(this).nextAll('input')).datepicker('option', {minDate: '', maxDate: ''});
	        }
	    }
	});	
	
	//$(".datepicker").datepicker();
	//$(".datepicker").datepicker( "option", "dateFormat", "d M, yy" );
	
	// when no labels are used, but tekst inside an input or textarea, check if the value isn't the defaultvalue
	$.validator.addMethod("defaultvalue", function(value, element) {
		if($(element).data('defaultValue') == value){
			return false;		
		} else {
			return true;
		}
	}, $.validator.messages.required);

	$('.form .text, .form textarea').focus(function(){
		if($(this).val() == $(this).data('defaultValue')){
			$(this).val('')
		}
	}).blur(function(){
		if(!$(this).val()){
			$(this).val($(this).data('defaultValue'))
			if($(this).next('label.error').length){
				$(this).next('label.error').hide();
			}
		}
	});

	// form validation any form
	// give the required input fields a class 'required', and in case of special field like email, add a class 'email'.
	// more details http://docs.jquery.com/Plugins/validation
	if($('.form').length){
		$('.form').each(function(){			
			$(this).validate({
				submitHandler: function(form){
					$(form).find("input[type='submit']").attr('disabled', 'disabled');
					form.submit();
				}
			})			
		})
	}	
	
	//INIT Vimeo API
    var vimeoPlayers = document.querySelectorAll('iframe'),
        player;

    for (var i = 0, length = vimeoPlayers.length; i < length; i++) {
        player = vimeoPlayers[i];
        $f(player).addEvent('ready', ready);
    }

    function addEvent(element, eventName, callback) {
        if (element.addEventListener) {
            element.addEventListener(eventName, callback, false);
        } else {
            element.attachEvent(eventName, callback, false);
        }
    }

    function ready(player_id) {
        // Keep a reference to Froogaloop for this player
        var container = document.getElementById(player_id).parentNode.parentNode,
            froogaloop = $f(player_id);
           
        //Call Play and pause to activate loading of whole video
        //Vimeo won't let you preload the video by default (because of bandwidth issues etc.)
        //But this doesn't seem to work!
        //froogaloop.api('play');
        //froogaloop.api('pause');
        
		$('#media-home a').click(function(){
			
			$(this).fadeOut('12000');
			froogaloop.api('play');
		
			return false;	
				
		});                

    }		
	
});

function initMasonry() {
	$('#items').masonry({
		itemSelector: 'article',
		columnWidth: 295,
		isResizable: true
	});	
}

$(window).load(function() {
	initMasonry();
});

$(window).resize(function() {
	initMasonry();
});
