$(function(){
	$('input[name=request_start_date]').datepicker();
	$('input[name^=request_], textarea[name^=request_]').each(function(){
		if(!fields[this.name])
			return;
		this.value = fields[this.name];
		$(this).focus(function(){
			if(this.value != fields[this.name])
				return;
			this.value = '';
		}).blur(function(){
			if (this.value.length > 0) {
				return;
			}
			this.value = fields[this.name];
		});
	});
	
	
	$('#doSubmit').click(function(){
		var errorMessages = [];
		var name = $('#request_name').val();
		name = name.replace(fields.request_name, '').replace(/(^\s*|\s*$)/, '');
		if (name.length == 0) {
			errorMessages.push(fieldErrors.request_name);
		}
		
		var mail = $('#request_email').val();
		mail = mail.replace(fields.request_email, '').replace(/(^\s*|\s*$)/, '');
		if (!validateEmail(mail)) {
			errorMessages.push(fieldErrors.request_email);
		}
		
		var selectedCourse = parseInt($('#request_course_type').val());
		selectedCourse = isNaN(selectedCourse) ? 0 : selectedCourse;
		if (!selectedCourse) {
			errorMessages.push(fieldErrors.request_course_type);
		}
		
		var country = $('#request_country').val();
		country = country.replace(fields.request_country, '').replace(/(^\s*|\s*$)/, '');
		if (country.length == 0) {
			errorMessages.push(fieldErrors.request_country);
		}
		
		var startDate = $('#request_start_date').val();
		
		startDate = startDate.replace(/(^\s*|\s*$)/, '');
		if (!validateDate(startDate)) {
			errorMessages.push(fieldErrors.request_start_date);
		}
		
		if (errorMessages.length > 0) {
			alert(errorMessages.join("\n"));
			return false;
		}
		
		$('input[name^=request_], textarea[name^=request_]').each(function(){
			if (!fields[this.name] || this.name == 'request_start_date') {
				return;
			}	
			this.value = this.value.replace(fields[this.name], '');
		})
		
		$('#request_from').submit();
	})
	
	function validateEmail(emailAddress)
	{
		return emailAddress.match(/^[a-z0-9_-]+(\.[a-z0-9_-]+)*@([0-9a-z][0-9a-z-]*[0-9a-z]\.)+([a-z]{2,4})$/i)
	}
	
	function validateDate(dateStr)
	{
		var match = dateStr.match(/^\d{4}\/\d{2}\/\d{2}$/);
		return match;
	}
})
