/* -------------------------------------

/////////////////////////////////////////

// Simple Form Validation with JQuery. //

/////////////////////////////////////////

// C.Burnett :: 09.05.06 ////////////////

/////////////////////////////////////////

---------------------------------------*/

$.fn.validate = function() {

	var effect = 'slideDown'; // Pick default effect

	var speed = 'fast'; // Choose default speed

	this.submit(function(e) {

		$('.error').remove();

		var er = 0;

		var region = 0;

		var sal = 0;

		// Simple empty field validation

		$('.validate-required').each(function (i) {

			var type = $(this).attr('type');

			if (type == 'text') {

				var v = this.value;

			}else if (type == 'checkbox' || type == 'radio') {

				var v = this.checked;

			}

			var msg = $(this).attr('title');

			if (v == '' || v == false) { 

				html = '<div class="error">'+msg+'</div>';

				$('#'+this.id).before(html);

				$('#'+this.id).addClass('errorField');

				// ScrollTo Requires Interface extensions

				if (!er)

					//$('#'+this.id).ScrollTo(500);

				er++;

			}else{

				$('#'+this.id).removeClass('errorField');

			}		

		});

		// Email validation

		$('.validate-email').each(function (i) {

			var v = this.value;

			var msg = $(this).attr('title');

			var emailFilter=/^.+@.+\..{2,3}$/;

			if (!(emailFilter.test(v))){

				html = '<div class="error">'+msg+'</div>';

				$('#'+this.id).after(html);

				$('#'+this.id).addClass('errorField');

				// ScrollTo Requires Interface extensions

				if (!er)

					//$('#'+this.id).ScrollTo(500);

				er++;

			}else{

				$('#'+this.id).removeClass('errorField');

			}		

		});

		

		// Call Error effect

		$('div.error')[effect](speed);

		// Catch Submit Event on Error

		if (er) e.preventDefault();

	});

};
