/**
*	Set events
**/
$(document).ready(function()
{
	// Focus name or text input
	var name_hidden = $('#name').attr('type') == 'hidden';
	if (!name_hidden)
	{
		$('#name').focus();
	}
	else
	{
		$('#text').focus();
	}
	
	// Add event handler on 'send' button
	$('button#send').click(CheckContactForm);

});

// -----------------------------------------------------------------------

/**
*	Check contact form & send it using Ajax
**/
function CheckContactForm()
{
	$('.error').hide();

	var errors = [];

	// Check name
	if (!CheckNotEmpty('name')) 
	{
		errors.push(CreateValidationErrorObject('name', 'Je hebt geen (correcte) naam ingevuld.'));
	}	

	// Check email
	if (!CheckValidEmail('contact_email')) 
	{
		errors.push(CreateValidationErrorObject('contact_email', 'Je hebt geen (geldig) emailadres ingevuld.'));
	}	

	// Check text
	if (!CheckNotEmpty('text')) 
	{
		errors.push(CreateValidationErrorObject('text', 'Je hebt geen vraag of opmerking ingevuld.'));
	}	

	// Check errors
	if (errors.length == 0)
	{
		// Hide form
		$('#explanation').hide();
		$('#contact_form').hide();
		$('#contactform .process_error').html('<img src="/images/content/ajax-busy.gif" /> &nbsp; Het formulier wordt verstuurd, een ogenblik geduld alsjeblieft...').show();

		var formdata = new Object;
		$('.formctrl').each(function()
		{
			formdata[this.id] = this.value;
		});

		// Save on server
		SendForm(formdata);
	}
	else
	{	
		// Validation failed
		ShowValidationErrors(errors);
	}

}

// -----------------------------------------------------------------------

/**
*	SendForm
*
*	Sends the formdata using ajax.
**/
function SendForm(fields)
{
	var opt = new Object();
	opt.type = 'POST';
	opt.url = '/contact/process-form';
	opt.data = fields;
	opt.success = function(msg)
	{
		if (msg == 'OK')
		{
			$('#contactform .process_error').html('Het formulier is met succes verstuurd.').show();
		}
		else
		{
			$('#contactform .process_error').html(msg).show();
		}
	};
	opt.error = function() 
	{
		$('#contactform .process_error').html('Er is een fout opgetreden bij het versturen van het formulier.').show();
	}
	$.ajax(opt);
}
