function validatePostPaymentForm()
{
	$('#postalcode').onkeyup = function(e){ goToOtherField(e,$('#postalcode'),4,$('#postalcode_letters'),null) };	
	if($('#birthday'))('birthDay').onkeyup = function(e){ goToOtherField(e,$('#birthDay'),2,$('#birthMonth'),null) };
	if($('#birthmonth'))$('#birthMonth').onkeyup = function(e){ goToOtherField(e,$('#birthMonth'),2,$('#birthYear'),null) };
	
	if($('#emailAddress')){
		validateEmail();
		$('#emailAddress').bind('keyup', function(e){
			validateEmail();
		});
		
		$('#emailAddress').bind('change', function(e){
			validateEmail();
		});
	}
	
	if($('#password')){
		validatePassword();
		$('#password').bind('keyup', function(e){
			validatePassword();
		});
	}
	
	if($('#isOwner')) {
		validateIsOwner();
		$('#isNotOwner').bind('change', function(e) {validateIsOwner()});
		$('#isOwner').bind('change', function(e) {validateIsOwner()});
	}
	
	if($('#genderMale')) {
		validateGender();
		$('#genderMale').bind('change', function(e) {validateGender()});
		$('#genderFemale').bind('change', function(e) {validateGender()});
	}
	
	if($('#terms')) {
		validateTerms();
		$('#terms').bind('click', function(e) {validateTerms()});
	}
	
	if(	$('#birthDay') && $('#birthMonth') && $('#birthYear')){
		validateBirthDate();
		
		$('#birthDay').bind('change', function(e){
			validateBirthDate();
		});
		
		$('#birthMonth').bind('change', function(e){
			validateBirthDate();
		});
		
		$('#birthYear').bind('change', function(e){
			validateBirthDate();
		});
	}
	
	if($('#postalcode')) {
		$('#postalcode').bind('keyup', function(e){
			if(this.value.length >= 4) {
				$('#postalcode_letters').focus();
			}
		});
		$('#postalcode').bind('blur', function(e){validatePostalcode()});
		
		$('#postalcode_letters').bind('keyup', function(e){
			if(this.value.length >= 2) {
				validatePostalcode()
			}
		});
		$('#postalcode_letters').bind('blur', function(e){validatePostalcode()});
	}
		
	if($('#mileageKmYear')) {
		validateMileageKmYear();
		$('#mileageKmYear').bind('change', function(e){
			validateMileageKmYear();
		});
	}
}

function createValidImg()
{
	var img = document.createElement('img');
	img.src = '/images/icons/tick.png';
	img.alt = 'Valide';
	return img;
}


function validateEmail()
{
	var reg = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/;
	var email =$('#emailAddress').val();
	
	var isValid = reg.test(email);
	
	if (isValid){
		accountExists(email);
	} else {
		$('#passwordItem').css({display:'none'});
		$('#passwordExists').val('false');

	}
	setValidationImage($('#emailAddressStatus'),isValid);			
}

function accountExists(email){
		var url = '/gebruiker/checkaccount';
		
		// Get map data
		$.ajax({
			type: 'POST',
			url: url,
			dataType: 'json',
			data: 'email='+email,
			success: function(data) {
				$('#passwordExists').val(data.exists);
				if(data.exists){
					$('#passwordItem').css({display:'block'});
					$('passwordForgetInfo').css({display:'block'});
				} else {
					$('#passwordItem').css({display:'none'});
					$('passwordForgetInfo').css({display:'none'});
				}
			}
		});
}

function validateIsOwner()
{
	if($('#isOwner:checked').val() || $('#isNotOwner:checked').val()){
		setValidationImage($('#isOwnerStatus'),true);
	} else {
		setValidationImage($('#isOwnerStatus'),false);
	}
}

function validateGender()
{
	if($('#genderMale:checked').val() || $('#genderFemale:checked').val()){
		setValidationImage($('#genderStatus'),true);
	} else {
		setValidationImage($('#genderStatus'),false);
	}
}

function validateTerms()
{
	if($('#terms').attr('checked')){
		setValidationImage($('#termsStatus'),true);
	} else {
		setValidationImage($('#termsStatus'),false);
	}
}

function validatePostalcode()
{
	var reg_a = /^[0-9]{4}$/;
	var reg_b = /^[a-zA-Z]{2}$/;
	
	var isValidPc = (reg_a.test($('#postalcode').val()),reg_b.test($('#postalcode_letters').val())) ? true : false;
	
	setValidationImage($('#postalcodeStatus'),isValidPc);
}

function validateMileageKm()
{
	var reg = /^[0-9]{1,6}$/;
	setValidationImage($('#mileageKmStatus'),reg.test($('#mileageKm').val()));
}

function validateMileageKmYear()
{
	var reg = /^[0-9]{1,6}$/;
	setValidationImage($('#mileageKmYearStatus'),(reg.test($('#mileageKmYear').val()) && $('#mileageKmYear').val() != '0'));
}

function validateBirthDate()
{
	var reg = /^([0-2]?[0-9]|3[01])\-(0?[0-9]|1[0-2])\-[0-9]{4}$/;
	var date = $('#birthDay').val() + '-' + $('#birthMonth').val() + '-' +  $('#birthYear').val();		
	var validDate = reg.test(date) ? true : false;
	
	setValidationImage($('#birthDateStatus'),validDate);
}

function setValidationImage(element,isValid)
{
	if(isValid){
		element.html(createValidImg());
	}
	else {
		element.html('');
	}
}

function hasValidImage(spanElement)
{
	var imgs = spanElement;
	return (imgs.length > 0) ? 1 : 0;
}

function validatePassword()
{
	var reg = /^[a-zA-Z0-9]{6,}$/;
	setValidationImage($('#passwordStatus'),reg.test($('#password').val()))
}

function goToOtherField(event,currentField,valueMaxLength,formField,previousField){
	
	if(previousField != null && event.keyCode == 8 && currentField.val().length == 0) {
		previousField.focus();
	}
	
	if(currentField.val().length >= valueMaxLength && formField != null)
	{
		formField.focus();
	}
}