/*
Reports now playing data from the station.
This is achieved by a flash file that connects to the now/next server via an xmlsocket.
The data is passed to the function setPlayingData as a pipe-separated string.
Data is written to the HTML document into a DIV id="nowplaying" (which is created if it doesn't exist)

Dependencies
------------
* jQuery
* SWFObject
* the path to the flash file existing as the value of a variable named flashUrl
* the station variable being defined in the 'region' object and available as region.mediamanager_station

*/
function checkStr(varName) {
    if(typeof(varName) == "string")
    {
        return varName;
    } else {
        return "";
    };
};

function startTicker(){
    /* currently playing ticker
       manipulates the TOP css property of <li>s
    */
	var news_ticker = $('#nowplaying ul');
	$('#nowplaying ul li').css('position','absolute')
	var current_show = 0;
	var old_show = 0;
	var headline_count = news_ticker.find('li').size();
	var headline_interval;
	var interval_time = 5000;
	headline_interval = setInterval(move_ticker, interval_time);
	function move_ticker() {
		current_show = (old_show + 1) %	headline_count;
		news_ticker.find('li:eq(' + old_show + ')').animate({'top': '-2.5em'}, "slow", function(){
			$(this).css('top','2em');
		});
		news_ticker.find('li:eq(' + current_show + ')').animate({'top': '0px'}, "slow");
		old_show = current_show;
	};
	news_ticker.hover(
		function() {
			clearInterval(headline_interval);
		},
		function(){
			headline_interval = setInterval(move_ticker, interval_time);
			move_ticker();
		}
	);
}

function setPlayingData(cNameandArgs) 
{
    var cDetails = cNameandArgs.split('|');
    /*
    cDetails[0]  = Current Artist
    cDetails[1]  = Current Track
    cDetails[10] = Current Show
    cDetails[11] = Current Presenter
    */
    var baseUrl = 'http://www.xfm.co.uk/onair';
    var nowplayingHtml = '<ul>';
    if ((checkStr(cDetails[11]) != "") && (checkStr(cDetails[11]) != checkStr(cDetails[10])))
    {
        nowplayingHtml += '<li><strong>On air</strong>: <a href="'+baseUrl+'">' + checkStr(cDetails[10]) + '</a></li>';
        nowplayingHtml += '<li><strong><abbr>DJ</abbr></strong>: <a href="'+baseUrl+'">' + checkStr(cDetails[11]) + '</a></li>';
    }else{
        nowplayingHtml += '<li><strong><abbr>DJ</abbr></strong>: <a href="'+baseUrl+'">' + checkStr(cDetails[10]) + '</a></li>';
    };
    if(checkStr(cDetails[0]) != '')
    {
        currentTrack = checkStr(cDetails[0]) + ' - ' + checkStr(cDetails[1]);
        currentTrack = currentTrack.replace(RegExp(/_/g)," ");
        if (currentTrack.length > 25) { currentTrack = currentTrack.slice(0,25) + "..."; }
        nowplayingHtml += '<li><strong>Now playing</strong>: <a href="http://www.xfm.co.uk/onair/playlist/recent">' + currentTrack + '</a></li>';
    };
    nowplayingHtml += '</ul>';
    // test to see if the div already exists, if not, create it
    if ($('#nowplaying').length < 1) { $('<div id="nowplaying"></div>').prependTo("body"); }
    $('#nowplaying').html(nowplayingHtml);
    document.getElementById('nowplaying').innerHTML = nowplayingHtml;
    startTicker();
};
$('<div id="flashnowplaying"></div>').prependTo("body")
var fo = new SWFObject(flashUrl, "nownext", "1", "1", "8", "#ff0000", true);
fo.addParam("allowScriptAccess", "always");
fo.addParam("FlashVars", "stationid=" + region.mediamanager_station + "&countDown=410000");
fo.write("flashnowplaying");


