IBSYS.using("treet");

IBSYS.treet.SubscriptionHighlighter = {
	
	//Default Non-Highlight Hex Code
	off : "#FFFFFF",
	
	//Default Highlighted Hex Code
	on : "#000000",
	
	//Adds listeners to checkboxes in a given range
	init : function(id, off, on) {
		
		//Remember "from" and "to" hex codes
		this.off = off;
		this.on = on;
		
		//Find all input tags in region
		var inputTags = document.getElementById(id).getElementsByTagName("input");
		
		//Loop through input tags in region
		for (var tag = 0; tag < inputTags.length; tag++) {
			
			//Only add listener if it is a checkbox
			if (inputTags[tag].type == "checkbox") {
				
				//Add event listener for "click" event
				YAHOO.util.Event.addListener(inputTags[tag], "click", this.onClick); 
				
				//Initial check state
				this.toggle(inputTags[tag].parentNode.parentNode.parentNode);
			}
		}
	},
	
	//Toggles the background of a checkbox based on selection state
	onClick : function (event) {
		var div = YAHOO.util.Event.getTarget(event).parentNode.parentNode.parentNode;
		IBSYS.treet.SubscriptionHighlighter.toggle(div);
	},
	
	toggle : function (div) {
		var checks = div.getElementsByTagName('input');
		var onechecked = false;
		
		//Find checked children
		for (var check = 0; check < checks.length; check++) {
			if (checks[check].checked) {
				onechecked = true;
			}
		}
		
		//Key off of "checked" value
		if (onechecked) {
			
			//Use this.on as the highlight value
			div.style.backgroundColor = IBSYS.treet.SubscriptionHighlighter.on;
		}
		else {
			
			//Use this.off as the non-highlight value
			div.style.backgroundColor = IBSYS.treet.SubscriptionHighlighter.off;
		}
	}
	
}
