﻿var OnAirTopSourc = [];
var schedrecordarr = [];
var currentlyOnAir = {};
var onAirTwitterUsername = "";
var currentDateTime = {};

function setCurrentTime(sTime) {
    //"Tuesday, July 26, 2011 1:44 PM"
    sTime = sTime.split(",").join("");
    //"Tuesday July 26 2011 1:44 PM"
    var aCurrentDateTime = sTime.split(" ");
    currentDateTime.dayname = aCurrentDateTime[0];
    currentDateTime.currentMins = convertToMin(aCurrentDateTime[4], aCurrentDateTime[5]);
}

function GetStartEndSch(datestr) {
    schedrecordarr = [];
    DateStr = datestr;
    var SchArray = DateStr.split("|");
    startArr = SchArray[0].split(" ");
    endArr = SchArray[1].split(" ");
    schedrecordarr.push({
        "dayname": startArr[0],
        "stime": startArr[1] + " " + startArr[2],
        "tftime": convertToMin(startArr[1], startArr[2]),
        "tftimeend": convertToMin(endArr[1], endArr[2]),
        "etimes": endArr[1] + " " + endArr[2]
    });
}
function convertToMin(hrm, ampm) {
    hrm = hrm.split(":");
    totalmin = 0;
    hrs = parseInt(hrm[0]);
    min = parseInt(hrm[1]);
    daynight = ampm;
    if (daynight == "PM" || daynight == "p.m.") {
        if (hrs != 12) {
            hrs += 12;
        }
    } else {    // it's 12:XX AM, which is really 0:XX AM
        if (hrs == 12) {
            hrs -= 12;
        }
    }
    totalmin = (hrs * 60) + min;
    return totalmin;
}
function OnAirChek(showstart, showend, dayname) {
    if (dayname.toLowerCase() == currentDateTime.dayname.toLowerCase()) {
        if ((currentDateTime.currentMins >= showstart) && (currentDateTime.currentMins < showend)) {
            return true;
        }
    }
    return false;
}

function checkOnAirTop(sTime) {
    setCurrentTime(sTime)
    for (var j = 0; j < OnAirTopSourc.length; j++) {
        for (var k = 0; k < OnAirTopSourc[j].Schedule.length; k++) {
            GetStartEndSch(OnAirTopSourc[j].Schedule[k]);
            if (OnAirChek(schedrecordarr[0].tftime, schedrecordarr[0].tftimeend, schedrecordarr[0].dayname)) {
                currentlyOnAir = OnAirTopSourc[j];
                j = OnAirTopSourc.length;
                setOnAirInfo();
                break;
            }
        }
    }
    if (!currentlyOnAir.TwittuserName) {
        setOnAirTwitter();
    }
}
function setOnAirInfo() {
    var mosOnAirContentText = $("#mos-onair .mos-onairContent");

    var sTitle = (currentlyOnAir.includeinlist == "1") ? '<h3><a href="/shows/' + currentlyOnAir.slugline + '">' + currentlyOnAir.title + '</a></h3>' : '<h3>' + currentlyOnAir.title + '</h3>';
    
    
    if (currentlyOnAir.byline) {
        sTitle += ('<p class="mos-onairTime">' + currentlyOnAir.byline + '</p>');
    }
    if (currentlyOnAir.imagelink != currentlyOnAir.mainimagelink) {
        $("#mos-onair img.mos-onairPhoto").attr('src', currentlyOnAir.imagelink);
    }

    mosOnAirContentText.html(sTitle);
}

function setOnAirTwitter() {
    if (onAirTwitterUsername) {
        $.getJSON(
            'http://api.twitter.com/1/statuses/user_timeline.json?screen_name=' + onAirTwitterUsername + '&count=1&callback=?',
            {},
            setOnAirTwitterCallback,
            'jsonp'
        );
    }
}
function setOnAirTwitterCallback(tweets) {
    $('.onair-twitter-feed').html(tweets[0].text);
    $('#mos-onair .mos-twitter-link').prepend("Follow @" + onAirTwitterUsername);
    $('#mos-onair .mos-twitter-link').show();
}
