var my_itemcount = 4;
var my_controlname = 'control_';
var my_itemname = 'feature_';

/////////////////

function Rotator (iItemCount,sControlBaseName,sItemBaseName)
{
	var isInit = false;
	var itemCount = iItemCount;
	var controlBaseName = sControlBaseName;
	var itemBaseName = sItemBaseName;

	// Item Array Initialization
	var itemArray;
	var itemArrayLength = 0;

	itemArray = new Array;
	while (itemArrayLength < itemCount)
	{
		itemArray[itemArrayLength] = document.getElementById(itemBaseName+(++itemArrayLength));
		if (!itemArray[itemArrayLength-1]) return;
	}

	// Control Array Initialization
	var controlArray;
	var controlArrayLength = 0;

	controlArray = new Array;
	while (controlArrayLength < itemCount)
	{
		controlArray[controlArrayLength] = document.getElementById(controlBaseName+(++controlArrayLength));
		if (!controlArray[controlArrayLength-1]) return;
	}

	// METHODS
	function activateControl(control) {
		for (var i=itemCount-1; i>-1; --i)
		{
			controlArray[i].className = '';
		}
		control.className = 'active';
	}

	function showItem(item) {
		for (var i=itemCount-1; i>-1; --i)
		{
			itemArray[i].style.display = 'none';
		}
		item.style.display = 'block';
	}

	function rotateInit(index)
	{
		var control = controlArray[index];
		var item = itemArray[index];

		control.onmouseover = function() {
			activateControl(control);
			showItem(item);
		}
	}

	for (var i=itemCount-1; i>-1; i=i-1)
	{
		rotateInit(i);
	}

	isInit = true;
}

function addRotate()
{
	window.myRotator = new Rotator(my_itemcount,my_controlname,my_itemname);
}

// EVENT HANDLING
function addEvent(elm, evType, fn, useCapture) {
	if (elm.addEventListener) {
		elm.addEventListener(evType, fn, useCapture);
		return true;
	}
	else if (elm.attachEvent) {
		var r = elm.attachEvent('on' + evType, fn);
		return r;
	}
	else {
		elm['on' + evType] = fn;
	}
}

addEvent(window,'load',addRotate,false); 