//<![CDATA[
//
$(function(){
	$("<span>").addClass('warning').appendTo('fieldset p');
	
	var phonePattern = /[\s\(]*[0-9]{3}[\s\)-\.]*[0-9]{3}[\s-\.]*[0-9]{4}/ ;
	var emailPattern = /\b[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b/i ;
	$('#ross_form').submit(function(){
		var valid = true;
		var message = "Please correct the following:\r\n-------------------------\r\n";
		var phone = $('#phone').val();
		$('input').removeClass('error');
		
		if(!validate($('#phone').val(), phonePattern) ){
			valid=false;
			message += "Use valid phone number format.\r\n";
			$('#phone').addClass('error');
		}
		if(!validate($('#email').val(), emailPattern) ){
			valid=false;
			message += "Check email address.\r\n";
			$('#email').addClass('error');
		}
		$('input.required', this).each(function(){
			if(this.value == ''){
				$(this).addClass('error');
				message += $(this).attr('alt')+"\r\n";
				valid=false;
			}
		});
		$('textarea.required1', this).each(function(){
			if(this.value == ''){
				$(this).addClass('error');
				message += "Tell us what you're looking for\r\n";
				valid=false;
			}
		});
		$('textarea.required2', this).each(function(){
			if(this.value == ''){
				$(this).addClass('error');
				message += "Special skills\r\n";
				valid=false;
			}
		});

		$('select.required', this).each(function(){
			if(this.value == ''){
				$(this).addClass('error');
				message += "Location\r\n";
				valid=false;
			}
		});

		if(valid){
		} else{
			alert(message);
			return false;
		}
	});
	//name validation
	$('#name').blur(function(){
		if(this.value == ''){
			$(this).addClass('error');
			$(this).next('span').text('Name required.');
		}else{
			$(this).removeClass('error');
			$(this).next('span').text('');
		}
	});
	//phone validation
	$('#phone').blur(function(){
		if(!validate(this.value, phonePattern) || this.value == ''){
			$(this).addClass('error');
			$(this).next('span').text('Invalid phone number (555-555-5555)');
		}else{
			$(this).removeClass('error');
			$(this).next('span').text('');
		}
	});
	//email validation
	$('#email').blur(function(){
		if(!validate(this.value, emailPattern) || this.value == ''){
			$(this).addClass('error');
			$(this).next('span').text('Invalid e-mail. (name@gmail.com)');
		}else{
			$(this).removeClass('error');
			$(this).next('span').text('');
		}
		
	});
	function validate(fieldVal, regexPattern){
		return fieldVal.match(regexPattern);
	}
});
//]]>