
$(document).ready(function(){
   
	// Fancyzoom
	$.fn.fancyzoom.defaultsOptions.imgDir='images/';
	$('a.image').fancyzoom({Speed:0,showoverlay:true,overlay:4/10});
	
	// Ajax form handler
	$("#contact-form").submit(function(){
		
		var inputsAreValid = true;
		var label = null;
		var span = null;
		
		// Validate name
		
		var name = $("#name")[0].value;
		
		if(!name.match(/^[ a-zåäöA-ZÅÄÖ]+$/))
		{
			label = $("#namelabel")[0];
			span = $("#namelabel span")[0];
			if(span == undefined)
			{
				var spanNode = document.createElement("span");
				spanNode.style.color = "#ff0000";
				spanNode.appendChild(document.createTextNode(" *"));
				label.appendChild(spanNode);
			}
			
			inputsAreValid = false;
		}
		else
		{
			$("#namelabel span").remove();
		}
		
		
		// Validate email
		var email = $("#email")[0].value;
		
		if(!email.match(/^[\w]+(\.[\w]+)*@([\w]+\.)+[a-zA-Z]{2,7}$/))
		{
			label = $("#emaillabel")[0];

			span = $("#emaillabel span")[0];
			if(span == undefined)
			{
				var spanNode = document.createElement("span");
				spanNode.style.color = "#ff0000";
				spanNode.appendChild(document.createTextNode(" *"));
				label.appendChild(spanNode);
			}
			
			inputsAreValid = false;
		}
		else
		{
			$("#emaillabel span").remove();
		}
		
		// Validate subject
		
		var subject = $("#subject")[0].value;
		
		if(!subject.match(/^[ a-zåäöA-ZÅÄÖ!?.,-]+$/))
		{
			label = $("#subjectlabel")[0];
			span = $("#subjectlabel span")[0];
			if(span == undefined)
			{
				var spanNode = document.createElement("span");
				spanNode.style.color = "#ff0000";
				spanNode.appendChild(document.createTextNode(" *"));
				label.appendChild(spanNode);
			}
			
			inputsAreValid = false;
		}
		else
		{
			$("#subjectlabel span").remove();
		}
		
		// Validate message
		
		var message = $("#message")[0].value;
		
		if(!message.match(/^[ a-zåäöA-ZÅÄÖ\n\r\?\!\,\.\-\/]+$/))
		{
			label = $("#messagelabel")[0];
			span = $("#messagelabel span")[0];
			if(span == undefined)
			{
				var spanNode = document.createElement("span");
				spanNode.style.color = "#ff0000";
				spanNode.appendChild(document.createTextNode(" *"));
				label.appendChild(spanNode);
			}
			
			inputsAreValid = false;
		}
		else
		{
			$("#messagelabel span").remove();
		}
		
		if(inputsAreValid)
		{
			$("#submit-btn").after("<img src=\"images/ajax-loader.gif\" id=\"ajax-loader\" />");
			$('#submit-btn').attr("disabled", true); 
			
			var f = $("#contact-form");
			var action = f.attr("action");
			var serializedForm = f.serialize();
			$.post(action,
				serializedForm, 
				function(data)
				{
					$('#submit-btn').removeAttr("disabled"); 
					$("#ajax-loader").remove();
					//alert(data);
				
					if(!data.match(/error/))
					{	
						// Reset the form inputs
						$("#contact-form input")[0].value = "";
						$("#contact-form input")[1].value = "";
						$("#contact-form input")[2].value = "";
						$("#message")[0].value = "";
						
						$("#submit-btn").after("<span id=\"ajax_complete\">Message sent successfully!</span>");
						$("#ajax-complete").fadeIn(1000);
					}
				});
		}
		
		return false;
		
	});
	
});