/***********************************************
 * George's Expandable Ticker-  Dynamic Drive (www.dynamicdrive.com)
 * This notice must stay intact for use
 * Visit http://www.dynamicdrive.com/ for full source code
 * Modified by M. N.
 ***********************************************/

//configure tickercontents[] to set the messges you wish be displayed (HTML codes accepted)

//specify how many characters of a message (for each msg) to show in expanded menu:
var charslimit = 40;

//Below specifies the "expand text". Do not remove onClick=".." portion.
var expandtext = '<a href="#" onClick="dropdownit(event);return false">List <img src="/sites/default/themes/holy_trinity_v2/images/tridown.gif"></a>';

//configure the below variable to determine the delay between ticking of messages (in miliseconds)
var tickdelay=8000;

//// Do not edit past this line ////////////////

var currentmessage = 0;
var tickercontentstotal = '';

function rotatecontent(){
    tickerobj.innerHTML = unescape(tickercontents[currentmessage]).replace(/&amp\;\#8217\;/g, '\'').replace(/&amp;quot;/g,'"');
    previousmessage = (currentmessage == 0) ? tickercontents.length-1 : currentmessage - 1;
    tickerexpand_item = document.getElementById("expand"+currentmessage);
    tickerexpand_previousitem = document.getElementById("expand"+previousmessage);
    tickerexpand_previousitem.className = "";
    tickerexpand_item.className = "expandmenu_highlight";

    currentmessage = (currentmessage==tickercontents.length-1) ? 0 : currentmessage + 1;
    rotatemsgtimer = setTimeout(rotatecontent, tickdelay);
}

function dropdownit(e){
    if (e.stopPropagation)
	e.stopPropagation();
    else if ('cancelBubble' in e)
        e.cancelBubble = true;
    var ticker = jQuery('#rss_scroll');
    tickerexpandobj.style.top = ticker.height() + "px";
    tickerexpandobj.style.visibility = (tickerexpandobj.style.visibility=="hidden" ? "visible" : "hidden");
}

function jumptomsg(whichmsg){
    clearTimeout(rotatemsgtimer);
    tickerexpand_item.className="";
    currentmessage = whichmsg;
    rotatecontent();
}

function initialize_ticker(){
    tickerexpandobj = document.getElementById("tickerexpand");
    // return if already initialized
    if (tickerexpandobj.innerHTML != "")
	return;
    tickerobj = document.getElementById("tickerlist");
    expandbuttonobj = document.getElementById("expandbutton");
    tickercontentstotal = "";
    for (var i = 0; i < tickercontents.length; i++){ //get total scroller contents
	tempstringcontainer = unescape(tickercontents[i]).replace(/\<[^\>]+\>/g, ''); //remove HTML tags
	tempstringcontainer = tempstringcontainer.replace(/quot/g, '"');
	tempstringcontainer = tempstringcontainer.replace(/8217/, '\'');
	if (tempstringcontainer.length > charslimit)
	    tempstringcontainer = tempstringcontainer.substring(0, charslimit) + '&hellip;';
	tickercontentstotal += '<div id="expand'+i+'">- <a href="javascript:jumptomsg('+i+')">'+tempstringcontainer+'</a></div>';
    }

    tickerexpandobj.innerHTML = tickercontentstotal;
    expandbuttonobj.innerHTML = expandtext + " | <a href='javascript:clearTimeout(rotatemsgtimer);rotatecontent();' title='Advance to the next announcement'>Next</a> | <a href='javascript:clearTimeout(rotatemsgtimer);' title='Pause on this announcement.  To resume, click Next'>Pause</a> | <a href='javascript:toggle_ticker()'>Close</a>";
    document.onclick = function(){
	tickerexpandobj.style.visibility = "hidden";
    };
    if (typeof rotatemsgtimer != 'undefined') {
	clearTimeout(rotatemsgtimer);
    }
    rotatecontent();
}

function toggle_ticker() {
    jQuery('#rss_scroll').slideToggle();
}

function auto_start(){
    initialize_ticker();
    jQuery('#rss_scroll').slideDown(2000);
}

jQuery(document).ready(function(){
			   jQuery('#rss_scroll').append('<div id="tickerexpand" class="expandmenu" style="visibility:hidden"></div>');
			   jQuery('#rss_scroll').append('<table id="tickerarea"><tr><td id="tickerlist"></td></tr><tr><td><div id="expandbutton"></div></td></tr></table>');
			   // TODO: update feed with ajax on idle
			   setTimeout(auto_start, 15*60*1000); // 15m
		  });
;

