var stopTimer = false;
var marqueeLoadTimer = null;
var marqueeRotateTimer = null;
var marqueeData = new Array('marquee1','marquee2','marquee3','marquee4','marquee5');
var selectedMarquee = 0;
var showingMarquee = 0;

$(function(){  

  initMarquee();

  //-------------------------------------------------------------------------------------------
  // Setup clicks for changing marquee
  //-------------------------------------------------------------------------------------------
  $('a.marq').click(function(){
    
	var marq = $(this).attr("rel");
	var index = parseInt(marq.replace("marquee",""));
	index--;
	clearTimeout(marqueeLoadTimer);
	selectMarquee(index,true);
  });

});

function initMarquee()
{
   marqueeLoadTimer = setTimeout('loadMarquee();',6000);
}

function loadMarquee()
{
	$('#marquee2').fadeIn('slow', function() {
	    $('#marquee1').fadeOut('slow', function(){
		marqueeRotateTimer = setTimeout('rotateMarquee();',100);
	    });
	});
}


function selectMarquee(index,fromClick)
{
	if(fromClick)
	{
		clearTimeout(marqueeRotateTimer);
		stopTimer = true; //stop automatic rotation for a little while when user clicks
	}

	var data = marqueeData[index];
	//alert("index="+index+" showingMarquee="+showingMarquee);
	if (data != null && index!=showingMarquee) 
	{

		//alert("move marquee from selected: "+selectedMarquee+ " to index: "+index + " showing: "+showingMarquee);

		selectedMarquee = index;
		
		$('#'+marqueeData[showingMarquee]).fadeOut('slow', function() {
		    $('#'+marqueeData[selectedMarquee]).fadeIn('slow');
		});

		showingMarquee = index;
	}

	if(fromClick)
	{
		marqueeRotateTimer = setTimeout('restartTimer();',8000); //restart again if no clicks for 8 secs
	}
}

function resetMarqueeRotation()
{
	if (marqueeRotateTimer != null || stopTimer == true)
	{
		clearTimeout(marqueeRotateTimer);
	}

	if(!stopTimer)
		marqueeRotateTimer = setTimeout('rotateMarquee();',6000);

	else
		marqueeRotateTimer = setTimeout('restartTimer();',8000); //loop until stopTimer is reset
}

function rotateMarquee()
{
	var id = selectedMarquee + 1;
	if (id >= marqueeData.length) id = 0;
	selectMarquee(id,false);
	if(!stopTimer) resetMarqueeRotation();
}

function restartTimer()
{
	stopTimer=false;
	resetMarqueeRotation();
}

