// checkbox function that uses a single checkbox to uncheck multiple checkboxes
// and uses any of the multiple checkboxes to uncheck the single checkbox

(function(){
	$.fn.checkthis = function(options){
		//merge settings
		settings=$.extend({
			groupCheck:null,
			grpName:'group_name',
			enabledOnly:false
		},options || {});
		
		var single_check=this;
		
		// set "check" variables
		grp_check = (settings.groupCheck==null) ? 'input[name='+settings.grpName+']' : settings.groupCheck;
		
		//attach click event to the "single" checkbox
		single_check.click(function(s){
			if(s.target.checked) {
				$(grp_check).attr('checked',false);
			}
		});
		
		//attach click event to checkboxes in the "group"
		$(grp_check).click(function(){
			if(this.checked) {
				single_check.attr('checked',false);
			}
		});
		
		return this;
	};
})(jQuery);

(function(){
	$.fn.checkthis2 = function(options){
		//merge settings
		settings=$.extend({
			groupCheck2:null,
			grpName2:'group_name',
			enabledOnly:false
		},options || {});
		
		var single_check2=this;
		
		// set "check" variables
		grp_check2 = (settings.groupCheck2==null) ? 'input[name='+settings.grpName2+']' : settings.groupCheck2;
		
		//attach click event to the "single" checkbox
		single_check2.click(function(s){
			if(s.target.checked) {
				$(grp_check2).attr('checked',false);
			}
		});
		
		//attach click event to checkboxes in the "group"
		$(grp_check2).click(function(){
			if(this.checked) {
				single_check2.attr('checked',false);
			}
		});
		
		return this;
	};
})(jQuery);