// JavaScript Document
$(document).ready(function()
{
	
	$('.book').click(function()
	{
		$(this).find('input:radio').attr('checked',1);
	});
	
	$('.book:even').addClass('even').hover(function()
	{
		$(this).addClass('even_over');
	},function()
	{
		$(this).removeClass('even_over');
	});
	
	$('.book:odd').addClass('odd').hover(function()
	{
		$(this).addClass('odd_over');
	},function()
	{
		$(this).removeClass('odd_over');
	});	
	
	$('.error_msgs').hide();
	
	$('.form').submit(function()
	{		
		$(this).ajaxSubmit({
										  dataType:      'json',   // target element(s) to be updated with server response 
											beforeSubmit:  showRequest,  // pre-submit callback 
											success:       showResponse  // post-submit callback 
										 });
		return false;
	});
});


function showRequest(formData, jqForm, options) 
{ 
	var name = "Name: " + $('#name').val();
	var street = "Street: " + $('#street').val();
	var suburb = "Suburb: " + $('#suburb').val();
	var postcode = "Postcode: " + $('#postcode').val();
	var mobile = "Mobile: " + $('#mobile').val();
	var email = "Email: " + $('#email').val();
	var gender = "Gender: " + $('.gender:checked').fieldValue();
	var age = "Age: " + $('.age:checked').fieldValue();
	var live_in = "I live in: " + $('.live_in:checked').fieldValue();

	return confirm('Are you sure you want to submit the following information?\n\n'+
								 	name+'\n'+
									street+'\n'+
									suburb+'\n'+
									postcode+'\n'+
									mobile+'\n'+
									email+'\n'+
									gender+'\n'+
									age+'\n'+
									live_in);
}

function showResponse(responseJson)
{
	$('input').removeClass('error');
	$('.error_msgs').hide().html('');
	
	var response = eval(responseJson);

	switch(response.status)
	{
		case 0: // successful
		
			location.href = 'thankyou.php';
		
		break;
		
		case 1: // multiple errors
		
		for (var i=0; i<response.errors.length; i++)
		{
			$('.error_msgs').append(response.errors[i].msg + '<br/>');
			
			$('#'+response.errors[i].id).addClass('error');
		}
		
		$('.error_msgs').show()
		
		break;
		
		case 2: // db query error
		
		$('.error_msgs').append(response.msg).show();
		
		break;
	}
}