/*
 * jQuery formvalidator plugin
 * http://www.hivetechnology.com.au/
 *
 * Copyright (c) 2011 Hive Technology
 *
 * Date Created: 2011-10-06
 * Last Updated: 2011-10-06
 */

/*
	Instructions:
	Include this javascript plugin along with jQuery then just add the data-validationgroup="groupname" to all input fields you wish to have set as required and also the submit button.
	Example:
	<form>
		<input type="text" data-validationgroup="loginform" name="username" />
		<input type="text" data-validationgroup="loginform" name="password" />
		<input type="submit" data-validationgroup="loginform" name="login" value="Login" />
	</form>
	<form>
		<input type="text" data-validationgroup="quoteform" name="name" />
		<input type="text" data-validationgroup="quoteform" name="email" />
		<input type="submit" data-validationgroup="quoteform" name="submit" value="Submit" />
	</form>
*/
	
jQuery.formvalidator = function(o) {
	o=jQuery.extend({
		defaultvalidationgroup:''
	},o);
	
	/*jQuery('input[data-validationgroup],textarea[data-validationgroup]').each(function(){
		jQuery(this).css({'background-color':'blue'});
	});*/
	
	jQuery('input[type="submit"][data-validationgroup]').each(function(){
		jQuery(this).attr('onclick','return jQuery.formvalidator.validateGroup(this);');
	});
};
jQuery.formvalidator.validateGroup=function(objButton){
	var validationGroup=jQuery(objButton).attr('data-validationgroup');
	var msg='Please fill in the following fields:\n';
	var invalidFieldCount=0;
	
	var selector='input[data-validationgroup="'+validationGroup+'"],textarea[data-validationgroup="'+validationGroup+'"]';
	jQuery(selector).each(function(){
		if(jQuery(this).val()==''){
			
			var fieldName=jQuery(this).attr('name');
			fieldName=fieldName.replace('_',' ');
			
			msg+='- '+fieldName+'\n';
			jQuery(this).css({'background-color':'#ff8888'});
			invalidFieldCount++;
		}
		else{
			jQuery(this).css({'background-color':'white'});
		}
	});
	
	if(invalidFieldCount>0){
		alert(msg);
		return false;
	}
	else
		return true;
}

jQuery(function(){
	jQuery.formvalidator();
});
