$(document).ready(function(){
	
	(function($){
		
		var settings;
		
		$.fn.netForm = function(callerSettings) {
			settings = $.extend({
				requiredMessage: '<span class="fieldError">&nbsp;required</span>', 
				validEmailMessage: 'Invalid email address', 
				valid: 0
			}, callerSettings || {});
			
			// process the validation
			$(this).submit(function(event){
				$.each($('input[type="text"]'), function(){
					settings.checkRequired($(this));
				});	
				if (settings.valid > 0) {
					settings.valid = 0;
					window.scrollBy(0,-800);
					$('div.feedbackMessage').text('There are errors/missing information in your form. Please correct them and submit again.');
					return false;
				}
			});
			
			// check required field
			settings.checkRequired = function(obj) {
				 var required = obj.attr('required');
				 var str = obj.val();
				 if (required && str == '') {
				 	settings.appendMessage(obj);
					settings.valid = 1;
				 }
				 else
				 	settings.removeMessage(obj);
			}
			
			// append the message beside the field that was validated
			settings.appendMessage = function(obj) {
				var span  = obj.next('span');
				if (span.length == 0)
					$('<span>'+settings.requiredMessage+'</span>').insertAfter(obj);
				else	
					span.fadeIn();
			}
			
			settings.removeMessage = function(obj) {
				var span = obj.next(span);
				if (span.length > 0)
					span.fadeOut();
			}
		}
	})(jQuery);
});