$(document).ready(function() {

	$('form .required').blur(function() {
		if(!$(this).val()) {
			$(this).addClass('warning_field');
		} else {
			$(this).removeClass('warning_field');
			$(this).parent().find('.warning_message').remove();
		}
	});
	
	$('form input.checkbox.required').click(function() {
		if($(this).attr('checked')) {
			$(this).removeClass('warning_field');
			$(this).parent().find('.warning_message').remove();
		} else {
			$(this).addClass('warning_field');
		}
	});
	
	$('form .email.win').blur(function() {
		if(validEmail($(this))) {
			$.post('/static/scripts/ajax/userajax.php', { action: 'CheckEntry', email: $('form #email').val(), festival: $('form #festival').val() }, function(data) {
				if(data) {
					emailInUse();
					$('form .email.win').addClass('warning_field');
				} else {
					$('form .email.win').removeClass('warning_field');
				}
			});
		}
	});
	
	$('form select.win').change(function() {
		$('form .email.win').trigger('blur');
	});
	
	$('form input.submit').click(function() {
		var invalid = false;
		$('form .warning_message').remove();
		var elems = $('form input.text, form textarea');
		for(var i = 0; i <= elems.length; i++) {
			if($(elems[i]).hasClass('required') && !$(elems[i]).val() || $(elems[i]).hasClass('email') && !validEmail($(elems[i]))) {
				$(elems[i]).addClass('warning_field');
			}
			if($(elems[i]).hasClass('warning_field')) {
				$(elems[i]).parent().prepend('<div class="warning_message">'+$(elems[i]).attr('title')+'</div>');
				invalid = true;
			}
		}
		var elems = $('form input.checkbox');
		for(var i = 0; i <= elems.length; i++) {
			if($(elems[i]).hasClass('required') && !$(elems[i]).attr('checked')) {
				$(elems[i]).addClass('warning_field');
			}
			if($(elems[i]).hasClass('warning_field')) {
				$(elems[i]).parent().prepend('<div class="warning_message">'+$(elems[i]).attr('title')+'</div>');
				invalid = true;
			}
		}
		if(invalid) {
			for(i2 = 0; i2 < 5; i2++) {
				$('form input.submit').animate({left: "-5px"}, 25).animate({left: "5px"}, 25);
			}
			$('form input.submit').animate({left: "0px"}, 25);
			return false;
		}
	});
	
	attachEmails();

});


function attachEmails() {
	$('form .email').blur(function() {
		if(validEmail($(this))) {
			$(this).removeClass('warning_field');
		} else {
			$(this).addClass('warning_field');
		}
	});
}


function validEmail(obj) {
	var regEmail = /^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/;
	if(obj.val().match(regEmail)) return true;
}