var nFeaturedIndex = 0;
var oFeatured = null;
var nIntervalId = -1;
	
function CFeatured()
{
	this.oImage = document.getElementById("imgFeaturedImage");
	this.oHeading = document.getElementById("divFeaturedHeading");
	this.oText = document.getElementById("divFeaturedText");	
	this.oLink = document.getElementById("atagLink"); 
	this.aFeaturedItems = new Array();
	
	this.Add = CFeatured_Add;
	this.Play = CFeatured_Play;
	this.Set = CFeatured_Set;
	this.Next = CFeatured_Next;
	this.Previous = CFeatured_Previous;
	this.Stop = CFeatured_Stop;
	this.Count = CFeatured_Count;
	this.Opacity = CFeatured_Opacity;
	this.ChangeOpacity = CFeatured_ChangeOpacity;
}	

function CFeatured_Play()
{
	nIntervalId = window.setInterval("Next(false)",8000);
}

function CFeatured_Stop()
{
	window.clearInterval(nIntervalId);
}

function CFeatured_Next()
{
	if(nFeaturedIndex < this.aFeaturedItems.length-1)
	{
		nFeaturedIndex++; 
	}
	else
	{
		nFeaturedIndex = 0;
	}
	
	this.Set(nFeaturedIndex);
}

function CFeatured_Count()
{
	return this.aFeaturedItems.length;
}

function CFeatured_Previous()
{
	if(nFeaturedIndex > 0)
	{
		nFeaturedIndex--; 
	}
	else
	{
		nFeaturedIndex = this.aFeaturedItems.length-1;
	}
	
	this.Set(nFeaturedIndex);
}

function CFeatured_Set(nId)
{
	if(this.aFeaturedItems.length > 0)
	{
		var oFeaturedItem = this.aFeaturedItems[nId];		

		//make object transparent 
		this.ChangeOpacity(0, "tblFeaturedItem");
    		
		this.oImage.src = oFeaturedItem.sImage;
		this.oHeading.innerHTML = oFeaturedItem.sTitle;
		this.oText.innerHTML = oFeaturedItem.sText;
		this.oLink.href = oFeaturedItem.sUrl;

		this.Opacity( "tblFeaturedItem", 0, 100, 1500 );
	}
}

function CFeatured_Opacity(id, opacStart, opacEnd, millisec) 
{ 
    //speed for each frame 
    var speed = Math.round(millisec / 100); 
    var timer = 0; 

    //determine the direction for the blending, if start and end are the same nothing happens 
    if(opacStart > opacEnd) 
    { 
        for(i = opacStart; i >= opacEnd; i--) 
        { 
            setTimeout("CFeatured_ChangeOpacity(" + i + ",'" + id + "')",(timer * speed)); 
            timer++; 
        } 
    } 
    else if(opacStart < opacEnd) 
    { 
        for(i = opacStart; i <= opacEnd; i++) 
        { 
            setTimeout("CFeatured_ChangeOpacity(" + i + ",'" + id + "')",(timer * speed)); 
            timer++; 
        } 
    } 
} 

//change the opacity for different browsers 
function CFeatured_ChangeOpacity(opacity, id) 
{ 
    var object = document.getElementById(id).style; 
    //IE has an issue where the titles look blurry... temporarily commented out 
    //to fix this issue, at the expense of no longer having the nice fade in/out.

    /*
    object.opacity = (opacity / 100); 
    object.MozOpacity = (opacity / 100); 
    object.KhtmlOpacity = (opacity / 100); 
    object.filter = "alpha(opacity=" + opacity + ")"; */
} 


function CFeatured_Add(sTitle, sUrl, sImage, sText)
{
	var oFeaturedItem = new CFeaturedItem(sTitle, sUrl,sImage,sText);
	this.aFeaturedItems[this.aFeaturedItems.length] = oFeaturedItem;
}

function CFeaturedItem(sTitle, sUrl, sImage, sText)
{
	this.sTitle = sTitle;
	this.sUrl = sUrl;
	this.sImage = sImage;
	this.sText = sText;
}	

function Next(bStop)
{	
	if(oFeatured != null)
	{
		if(bStop)
		{
			oFeatured.Stop();
		}
	
		oFeatured.Next();
	}
}

function Previous(bStop)
{	
	if(oFeatured != null)
	{
		if(bStop)
		{
			oFeatured.Stop();
		}
	
		oFeatured.Previous();
	}
}
