YAHOO.namespace('Nate');

YAHOO.Nate.Highlighter = function ()
{
	this.containerForRadio = new Object();
};

YAHOO.Nate.Highlighter.Register = function (containerCssClass, radioGroup)
{
	var highlighter = new YAHOO.Nate.Highlighter();
	var i;

	for (i = 0; i < radioGroup.length; i++)
  {
		var container = highlighter.parentWithClass(radioGroup[i], containerCssClass);

		highlighter.containerForRadio[radioGroup[i].id] = container;
		radioGroup[i].highlighter = highlighter;

		YAHOO.util.Event.addListener(radioGroup[i], "click", highlighter.RadioClicked, highlighter, true);
	}
};

YAHOO.Nate.Highlighter.prototype.RadioClicked = function(ev)
{
	var radio, container;
	for(radioElementId in this.containerForRadio)
	{
		container = this.containerForRadio[radioElementId];
		radio = YAHOO.util.Dom.get(radioElementId);
		if( radio.checked )
			YAHOO.util.Dom.addClass(container, "selected");
		else
			YAHOO.util.Dom.removeClass(container, "selected");
  }
};

YAHOO.Nate.Highlighter.prototype.parentWithClass = function(element, cssClass)
{
	var parent = element.parentNode;

	if( YAHOO.util.Dom.hasClass(element, cssClass) )
		return element;

	if( parent == document )
		return null;

	return this.parentWithClass(parent, cssClass);
};






