// JavaScript Document

var Uncheck = function(name,trigger,formname){

	this.name = name;
	
	this.trigger = trigger;
	
	this.tgs = this.getTargets();
		
	this.tg = this.getTrigger();
	
	this.formname = formname;
}

Uncheck.prototype = {

	set:function(){		
		
			var tgs = this.tgs;
			
			var tg = this.tg;
			
			var trigger = this.trigger;
			
			var change = this.change;
		
			var action = function(){
				change(tgs,tg,trigger);
			}
			
			dom.addListener(this.tg,'click',action);
		
		},
	
	change:function(_ts,_t,_trig){
		
		if(_t.checked){
			for(i =0; i < _ts.length; i++){
				
				_ts.item(i).disabled = true;
				
				_ts.item(i).checked = false;
				
				if(_ts.item(i).value == _trig){
					_ts.item(i).disabled = false;
					_ts.item(i).checked = true;				
				}
			}
			
		}else{
			
			for(i =0; i < _ts.length; i++){	
				_ts.item(i).disabled = false;
		
			}
		}
	},
	
	getTrigger : function(){

		for(i =0; i < this.tgs.length; i++){
				
				if(this.tgs.item(i).value == this.trigger){
					return this.tgs.item(i);
				}else{}
			}
	},

	getTargets : function(){
		return document.getElementsByName(this.name);
	},
	
	catchReset : function(){
		
		var form = document.getElementById(this.formname);
		
		var _ts = this.tgs;
		
		var actReset = this.actReset;
				
		var r = function(){
			
			actReset(_ts);

		}
	
		dom.addListener(form,'reset',r);
	},
	
	actReset : function(_ts){

		for(i =0; i < _ts.length; i++){
			
			_ts.item(i).disabled = false;
			
			_ts.item(i).checked = false;
			
		}
	}
}


var c = function(){
	var cs = new Uncheck('data[Job][category_id][]',1,'form1');
	cs.set();
	cs.catchReset();
}

var b = function (){
	var cs2 = new Uncheck('data[Job][benefit_id][]',1,'form1');
	cs2.set();
	cs2.catchReset();
}

dom.addListener(window,'load',c);

dom.addListener(window,'load',b);
