///////////////////////////////////////////
// Home Page Featured Items
// Shows/Hides various featured items on the home page
///////////////////////////////////////////


// Set Rotate Timer Interval
rotateTimer = 5000;



// Load functions
window.onload = function()
{
	hide_items();
	show_items();
	stop();
	
	// display first featured item
	document.getElementById('feature_1').className='show';
	document.getElementById('featureLink_1').className='active';
	
	// set rotate timer
	slideshow = setInterval( "rotate()", rotateTimer );
}


// Hide Function
function hide_items()
{

	// get record count of featured items
	var parent = document.getElementById('featuredLinks');
	var itemCount = parent.getElementsByTagName('li').length;

	for(i=1;itemCount>=i;i++)
	{
		document.getElementById('feature_'+i).className='hide';
		document.getElementById('featureLink_'+i).className='';
	}
}



// Show Function
function show_items()
{

	// get record count of featured items
	var parent = document.getElementById('featuredLinks');
	var itemCount = parent.getElementsByTagName('li').length;

	for(i=1;itemCount>=i;i++)
	{
		document.getElementById('featureLink_'+i).onclick=function()
		{
			hide_items();
			var id = this.id;
			id = id.replace(/featureLink_/,'');
			document.getElementById('feature_'+id).className='show';
			this.className='active';
			return false;
		}
	}
}



// Rotate Items Function
function rotate()
{
	// get record count of featured items
	var parent = document.getElementById('featuredLinks');
	var itemCount = parent.getElementsByTagName('li').length;
	
	// get currently displayed item
	for(i=1;itemCount>=i;i++)
	{
		thisClass = document.getElementById('feature_'+i).className;
		if(thisClass == 'show') 
		{
			document.getElementById('feature_'+i).className = 'hide';
			document.getElementById('featureLink_'+i).className = '';
			if(i==itemCount) {
				document.getElementById('feature_1').className = 'show';
				document.getElementById('featureLink_1').className = 'active';
			} else {
				document.getElementById('feature_'+(i+1)).className = 'show';
				document.getElementById('featureLink_'+(i+1)).className = 'active';
			}
			i = itemCount + 1;
		}
	}
}



// Rotate Item Pause/Restart Controls
function stop() 
{
	document.getElementById('featuredItems').onmouseover=function()
	{
		// stop the featured item rotator
		clearInterval(slideshow);
	}
	document.getElementById('featuredItems').onmouseout=function()
	{
		// restart featured item rotator
		slideshow = setInterval( "rotate()", rotateTimer );
	}
}





// Get Element By Class Name
function getElementsByClassName(oElm, strTagName, strClassName){
	var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
	var arrReturnElements = new Array();
	strClassName = strClassName.replace(/\-/g, "\\-");
	var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
	var oElement;
	for(var i=0; i<arrElements.length; i++){
		oElement = arrElements[i];
		if(oRegExp.test(oElement.className)){
			arrReturnElements.push(oElement);
		}
	}
	return (arrReturnElements)
}

