﻿var min = 25; //latest track within the past n minutes
var sec = 5; //seconds per rotation

$(document).ready(function () 
{
    initWhatsOn();
});

function initWhatsOn()
{
    var endpoint = '/whatson.asmx/RadioLatest';
    $.get(endpoint, {'minutes':min}, function (data) 
    {
        var channels = $(data).find('channel');
        
        rotateChannelDetails(channels);
        displayChannelDetails($('#channelData'), channels.eq(0)); //Default to first channel
    });
}

function rotateChannelDetails(channels)
{
	$('#channelData').everyTime(1000 * sec, 'whatsOn', function(i)
    {
        if (i == channels.length - 1)
        {
            $(this).stopTime('whatsOn');
            initWhatsOn();
        }
        
        var channel = channels.eq(i);
        displayChannelDetails(this, channel);
    }, 0);
}

function displayChannelDetails(target, channel)
{
    var number = channel.attr('number');
    var longDesc = channel.attr('longDesc');
    var shortDesc = channel.attr('shortDesc');
    var program = channel.attr('program');
    var artist = channel.attr('artist');
    var track = channel.attr('track');
    var time = channel.attr('time');
    
    var desc = (longDesc != "") ? longDesc : shortDesc;
    var chan = 'Channel ' + number;
    var html = '';

    if (artist == "")
        html += program;
    else
        html += artist + "<br />";
        html += track;

    if (channel == "undefined")
        chan = ""
        
    if (desc == "undefined")
        desc = "Sirius Radio";
        
    if (track == "undefined")
        track = "Regularly Scheduled Programming";
        
    $(target).hide();
    $(target).find('.desc').html(desc);
    $(target).find('.channel').html(chan);
    $(target).find('.details').html(html);
    //$(target).fadeIn('slow');
    $(target).show();
}