jQuery(document).ready(function()
{
	// Smooth Scroll
	jQuery('a[href*=#]').click(function()
	{
		if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname)
		{
			var $target = jQuery(this.hash);
			$target = $target.length && $target || jQuery('[name=' + this.hash.slice(1) +']');
			if ($target.length)
			{
				var targetOffset = $target.offset().top - 0;
				jQuery('html,body').animate({scrollTop: targetOffset}, 1000);
				return false;
			}
		}
	});
	
	// Contact Form
	jQuery('#contact').submit(function()
	{
		jQuery(".error").hide();
		var xError = false;
		
		if(this.vName && this.vName.value === '')
		{
			jQuery('#errorMessage').html('&nbsp;Please enter your name');
			jQuery('#error').fadeIn();
			xError = true;
			return false;
		}
		
		if(this.vEmail && this.vEmail.value === '')
		{
			jQuery('#errorMessage').html('&nbsp;Please enter your email address');
			jQuery('#error').fadeIn();
			xError = true;
			return false;
		}
		
		if(this.vEmail && !(/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test(this.vEmail.value)))
		{
			jQuery('#errorMessage').html('&nbsp;Please enter a valid email address');
			jQuery('#error').fadeIn();
			xError = true;
			return false;
		}
		
		if(this.vSubject && this.vSubject.value === '')
		{
			jQuery('#errorMessage').html('&nbsp;Please enter a subject');
			jQuery('#error').fadeIn();
			xError = true;
			return false;
		}
		
		if(this.vMessage && this.vMessage.value === '')
		{
			jQuery('#errorMessage').html('&nbsp;Please enter your message');
			jQuery('#error').fadeIn();
			xError = true;
			return false;
		}
		
		if(xError)
		{
			// there is still something wrong
			jQuery('#errorMessage').html('&nbsp;Unknown error occured');
			jQuery('#error').fadeIn();
			return false;
		}
		
		else
		
		{
			// let's go
			jQuery('#error').hide();
			jQuery('#success').hide();
			jQuery('#submit').attr("disabled", true);
			jQuery('#activity').show();
			
			var inputs = [];
			jQuery(':input', this).each(function()
			{
				inputs.push(this.name + '=' + encodeURIComponent(this.value));
			});
			
			jQuery.ajax(
			{
				type: "POST",
				data: inputs.join('&'),
				url: this.action,
				timeout: 10000,
				error: function(err) {console.log(err);},
				success: function(data) {jQuery('#cResponse').html(data);}
			});
		}
	return false;
	});
	
	// Pretty Photo
	jQuery("a[rel^='prettyPhoto']").prettyPhoto();
});