var iCurrentQuote, iMaxQuote, iQuoteSeconds, quoteTimer;

function changeQuote(currentID, newID) {
	if (currentID != newID) {
		oCurrent = $('GRQuote'+currentID);
		oNew = $('GRQuote'+newID);

		Effect.Fade(oCurrent, { duration: .5, from: 1.0, to: 0.0, queue: { position: 'end', scope: 'quote', limit: 4 } });
		Effect.Appear(oNew, {queue: { position: 'start', scope: 'quote', limit: 4 } });
		iCurrentQuote=newID;

		clearInterval(quoteTimer);
		quoteTimer = setInterval('changeQuote(iCurrentQuote, getNextQuoteID())', iQuoteSeconds*1000);
	}
}

function getNextQuoteID() {
	iCurrentQuote==iMaxQuote ? iCurrentQuote=1 : iCurrentQuote++;
	return iCurrentQuote;
}

Event.observe(window, 'load', function() {
	// Initialize values on page load
	iCurrentQuote = 1; //Start with first quote
	iMaxQuote = $('GRQuotes').getElementsByTagName('div').length; //Get max number of quotes based on number of divs in GRQuotes element
	iQuoteSeconds = 10; //Number of seconds between rotations

	quoteTimer = setInterval('changeQuote(iCurrentQuote, getNextQuoteID())', iQuoteSeconds*1000); //Timer to rotate quotes
});