/***********************************************************************
 *						REGISTER.JS
 **********************************************************************/

var bTitle = false;
var bLastname = false;
var bFirstname = false;
var bEmail = false;
var bPostalCode = false;
var bCity = false;
var bDateOfBirth = false;


/***********************************************************************
 *						LIVE VALIDATION
 **********************************************************************/

$(document).ready(function()
{
	
	
	/*******************************************************************
	 * 						FORM INFORMATIONS
	 ******************************************************************/
	
	
	/*******************************************************************
	 * 							TITLE
	 ******************************************************************/
	$('input[type=radio][name=title]').click(function()
	{
		if(!$('input[type=radio][name=title]:checked').length)
		{
			$('label#titles').addClass('error');
			bTitle = false;
		}
		else
		{
			$('label#titles').removeClass('error');
			bTitle = true;
		}
	});


	/*******************************************************************
	 * 						LASTNAME
	 ******************************************************************/
	$('#lastname').blur(function()
	{
		if($('#lastname').val() == '')
		{
			$('label[for=lastname]').addClass('error');
			$('input#lastname').addClass('error');
			bLastname = false;
		}
		else
		{
			$('label[for=lastname]').removeClass('error');
			$('input#lastname').removeClass('error');
			bLastname = true;
		}
	});



	/*******************************************************************
	 * 						FIRSTNAME
	 ******************************************************************/	
	$('#firstname').blur(function()
	{
		if($('#firstname').val() == '')
		{
			$('label[for=firstname]').addClass('error');
			$('input#firstname').addClass('error');
			bFirstname = false;
		}
		else
		{
			$('label[for=firstname]').removeClass('error');
			$('input#firstname').removeClass('error');
			bFirstname = true;
		}
	});


	/*******************************************************************
	 * 							EMAIL
	 ******************************************************************/
	$('#email').blur(function()
	{
		regexpMail = new RegExp('^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]{2,}[.][a-zA-Z]{2,3}$', 'gi');
		
		if($('#email').val() == '' || !regexpMail.test($('#email').val()))
		{
			$('label[for=email]').addClass('error');
			$('input#email').addClass('error');
			bEmail = false;
		}
		else
		{
			$('label[for=email]').removeClass('error');
			$('input#email').removeClass('error');
			bEmail = true;
		}
	});


	/*******************************************************************
	 * 						DATE OF BIRTH
	 ******************************************************************/
	$('#dayofbirth').change(function()
	{
			
		if($('#dayofbirth').val() == '' || $('#monthofbirth').val() == '' || $('#yearofbirth').val() == '')
		{
			$('label[for=dateofbirth]').addClass('error');
			bDateOfBirth = false;
		}
		else
		{
			$('label[for=dateofbirth]').removeClass('error');
			bDateOfBirth = true;
		}
	});
	$('#monthofbirth').change(function()
	{

		if($('#dayofbirth').val() == '' || $('#monthofbirth').val() == '' || $('#yearofbirth').val() == '')
		{
			$('label[for=dateofbirth]').addClass('error');
			bDateOfBirth = false;
		}
		else
		{
			$('label[for=dateofbirth]').removeClass('error');
			bDateOfBirth = true;
		}
	});
	$('#yearofbirth').change(function()
	{

		if($('#dayofbirth').val() == '' || $('#monthofbirth').val() == '' || $('#yearofbirth').val() == '')
		{
			$('label[for=dateofbirth]').addClass('error');
			bDateOfBirth = false;
		}
		else
		{
			$('label[for=dateofbirth]').removeClass('error');
			bDateOfBirth = true;
		}
	});

	
	/*******************************************************************
	 *						POSTAL CODE
	 ******************************************************************/	
	$('#postalcode').blur(function()
	{
		regexpPc = new RegExp('^(2[ab]|0[1-9]|[1-9][0-9])[0-9]{3}$', 'gi');
		
		if($('#postalcode').val() == ''  || !regexpPc.test($('#postalcode').val()))
		{
			$('label[for=postalcode]').addClass('error');
			$('input#postalcode').addClass('error');
			bPostalCode = false;
		}
		else
		{
			$('label[for=postalcode]').removeClass('error');
			$('input#postalcode').removeClass('error');
			bPostalCode = true;
		}
	});	

	
	/*******************************************************************
	 * 							CITY
	 ******************************************************************/	
	$('#city').blur(function()
	{
		if($('#city').val() == '')
		{
			$('label[for=city]').addClass('error');
			$('input#city').addClass('error');
			bCity = false;	
		}
		else
		{
			$('label[for=city]').removeClass('error');
			$('input#city').removeClass('error');
			bCity = true;			
		}
	});

	
	/*******************************************************************
	 * 						SEND FORM
	 ******************************************************************/
	$("#button_image").click(function()	{	return formRegister();	});
	
	$("#optinless_link").click(function()
	{
		$('#optin').attr('value', 0);
		if(formRegister())
		{
			$('#register').submit();
		}
	});

});


/***********************************************************************
 * 					FORM VALIDATION FUNCTION
 **********************************************************************/
function formRegister()
{
	
	/*******************************************************************
	 * 						TITLE
	 ******************************************************************/	
	if(!$('input[type=radio][name=title]:checked').length)
	{
		$('label#titles').addClass('error');
		bTitle = false;
	}
	else
	{
		$('label#titles').removeClass('error');
		bTitle = true;
	}
	
	
	/*******************************************************************
	 * 						LASTNAME
	 ******************************************************************/
	if($('#lastname').val() == '')
	{
		$('label[for=lastname]').addClass('error');
		$('input#lastname').addClass('error');
		bLastname = false;
	}
	else
	{
		$('label[for=lastname]').removeClass('error');
		$('input#lastname').removeClass('error');
		bLastname = true;
	}


	/*******************************************************************
	 * 						FIRSTNAME
	 ******************************************************************/
	if($('#firstname').val() == '')
	{
		$('label[for=firstname]').addClass('error');
		$('input#firstname').addClass('error');
		bFirstname = false;
	}
	else
	{
		$('label[for=firstname]').removeClass('error');
		$('input#firstname').removeClass('error');
		bFirstname = true;
	}


	/*******************************************************************
	 * 							EMAIL
	 ******************************************************************/
	regexpMail = new RegExp('^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]{2,}[.][a-zA-Z]{2,3}$', 'gi');
		
	if($('#email').val() == '' || !regexpMail.test($('#email').val()))
	{
		$('label[for=email]').addClass('error');
		$('input#email').addClass('error');
		bEmail = false;
	}
	else
	{
		$('label[for=email]').removeClass('error');
		$('input#email').removeClass('error');
		bEmail = true;
	}


	/*******************************************************************
	 * 						DATE OF BIRTH
	 ******************************************************************/
	if($('#dayofbirth').val() == '' || $('#monthofbirth').val() == '' || $('#yearofbirth').val() == '')
	{
		$('label[for=dateofbirth]').addClass('error');
		bDateOfBirth = false;
	}
	else
	{
		$('label[for=dateofbirth]').removeClass('error');
		bDateOfBirth = true;
	}
		
	
	/*******************************************************************
	 * 							ZIPCODE
	 ******************************************************************/	
	regexpPC = new RegExp('^(2[ab]|0[1-9]|[1-9][0-9])[0-9]{3}$', 'gi');
	
	if($('#postalcode').val() == ''  || !regexpPC.test($('#postalcode').val()))
	{
		$('label[for=postalcode]').addClass('error');
		$('input#postalcode').addClass('error');
		bPostalCode = false;
	}
	else
	{
		$('label[for=postalcode]').removeClass('error');
		$('input#postalcode').removeClass('error');
		bPostalCode = true;
	}

	
	/*******************************************************************
	 * 							CITY
	 ******************************************************************/
	if($('#city').val() == '')
	{
		$('label[for=city]').addClass('error');
		$('input#city').addClass('error');
		bCity = false;
	}
	else
	{
		$('label[for=city]').removeClass('error');
		$('input#city').removeClass('error');
		bCity = true;
	}
	
	return bTitle && bLastname && bFirstname && bEmail && bPostalCode && bCity && bDateOfBirth;
}

