function Feature(thumbOff, thumbOn, thumbSelected, text, thumbId, textId)
{
	var proto = arguments.callee.prototype;
   
	this._thumbOff = thumbOff;
	this._thumbOn = thumbOn;
	this._thumbSelected = thumbSelected;
	this._text = text;
	this._textDiv = document.getElementById(textId);
	this._thumbImg = document.getElementById(thumbId);
	this._thumbImg.feature = this;
	
	// Cache images
	var i;
	i = new Image();
	i.src = this._thumbOff;
	i.src = this._thumbOn;
	i.src = this._thumbSelected;

	proto.Over = function(ev)
	{
		var sender = EventSender(ev);
		var feature = sender.feature;
		
		if(feature._textDiv.imageSet != feature)
	    {
	        feature._thumbImg.src = feature._thumbOn;
	    }
	}
	
	proto.Out = function(ev)
	{
		var sender = EventSender(ev);
		var feature = sender.feature;
		
		if(feature._textDiv.feature == feature)
			feature._thumbImg.src = feature._thumbSelected;
		else
			feature._thumbImg.src = feature._thumbOff;
	}

	proto.Click = function(ev)
	{
		var sender = EventSender(ev);
		var feature = sender.feature;
		var oldFeature = feature._textDiv.feature;
		
		if(feature != oldFeature)
		{
		    feature._textDiv.innerHTML = feature._text;
		    feature._thumbImg.src = feature._thumbSelected;
		    feature._textDiv.feature = feature;
		    if(oldFeature != null)
		    {
			    oldFeature._thumbImg.src = oldFeature._thumbOff;
		    }
		}
	}
	
	proto.Initialize = function()
	{
		this._textDiv.innerHTML = this._text;
		this._textDiv.feature = this;
		this._thumbImg.src = this._thumbSelected;
	}
	
	this._thumbImg.src = this._thumbOff;
	this.overEvent = new CJL_RegisterEvent(this._thumbImg, "mouseover", proto.Over);
	this.outEvent = new CJL_RegisterEvent(this._thumbImg, "mouseout", proto.Out);
	this.clickEvent = new CJL_RegisterEvent(this._thumbImg, "click", proto.Click);
}