﻿// JScript File
    var timerId = 0;
    var last_result;
    
    var topStations = ["","","","","","","","","","","","","","","","","","","",""];    
    var havetop = false;
    
    var LastSongDetails = "";
    var LastStatDetails = "";    
    var LastTopListenedDetails = "";
    var LastTopStreamedDetails = "";

    var OKtoStationAndSong = true;

    var active_mode = "songs";

    function DefaultPageLoad() {
        mouseTabsEvent('out', 'songs');
        mouseTabsEvent('out', 'stations');
        timerClick();
    }

    function mouseTabsEvent(action, name) {
        var linkcont = document.getElementById("top-" + name);
        if (action == 'over') {
            if ((linkcont != null) && (name != active_mode)) {
                linkcont.style.background = "url(SiteImages/top" + name + "Hoover2.png)";
            }
        } else if (action == 'out') {
            if (linkcont != null) {
                if (name == active_mode) {
                    linkcont.style.background = "url(SiteImages/top" + name + "2.png)";
                } else {
                    linkcont.style.background = "url(SiteImages/top" + name + "Black2.png)";
                }
            }
        }
    }
        
    function active_change(changed_to) 
    {
        active_mode = changed_to;
        if (active_mode == "songs") {
            document.getElementById("active-region").innerHTML = LastSongDetails;
        } else {
            document.getElementById("active-region").innerHTML = LastStatDetails;
        }
        mouseTabsEvent('out', 'songs');
        mouseTabsEvent('out', 'stations');
    }

    function timerClick() {
        if (OKtoStationAndSong) 
        {
            OKtoStationAndSong = false;
            PageMethods.GetLatestStationAndSongActivity("test", OnStationAndSongActivityCompleted, OnActivityFailed);
        }
    }
    
    function OnActivityFailed(err, context, methodname)
    {
        //alert("Update failed. (" + err.get_message() + ")" );
        OKtoStationAndSong = true;
        setTimeout("timerClick()", 10000);        
    }
    
    function OnStationAndSongActivityCompleted(result, context, methodname)
    {
        var arraymarkers = result.split("|");

        var nfull = arraymarkers[0] - 0;
        var out = "<table cellspacing='2px' >";
        var mcols = 1;
        var ncol = 0;
        for (i = nfull - 1; i >= 0; i--) {
            var fullfillmentdetails = arraymarkers[1 + i].split(";");
            if (fullfillmentdetails.length == 7) {
                if (ncol == 0) {
                    out += "<tr valign='middle'>";
                }
                out += "<td><img style='height:50px; width:50px;' src='" + fullfillmentdetails[4] + "' /></td>";
                out += "<td>";
                out += "<b>" + fullfillmentdetails[2] + "</b><br>" +
                    fullfillmentdetails[3] + "<br>" +
                    "Played on " + fullfillmentdetails[1] + " " + fullfillmentdetails[0];
                out += "</td>";
                ncol++;
                if (ncol == mcols) {
                    ncol = 0;
                    out += "</tr><tr><td colspan='2'><hr /></td></tr>";
                }
            }
        }
        out += "</table>";
        
        if (LastSongDetails != out) {
            LastSongDetails = out;
            if (active_mode == "songs") {
                document.getElementById("active-region").innerHTML = out;
            }
        }
        
        var p = 1 + nfull;
        var nstat = arraymarkers[p] - 0;
        var outstat = "<table cellspacing='4px' >";
        var ncol = 0;        
        for (j = 0; j < nstat; j++) 
        {
            var statdetails = arraymarkers[p + 1 + j].split(";");
            if (statdetails.length == 5) {
                var direction = "same";
                if (havetop) {
                    //finding the previous location
                    direction = "up";
                    for (k = 0; k <= j && k < 20; k++) 
                    {
                        if (topStations[k] == statdetails[0]) 
                        {
                            if (k < j) {
                                direction = "down";
                            } else 
                            {
                                direction = "same";
                            }
                            k = 20;
                        }
                    }
                }
                if (ncol == 0) {
                    outstat += "<tr>";
                }
                 
                var place = j + 1;        
                outstat += "<td ><img style='width:50px;height:50x;border:0px' src='" + statdetails[4] + "' /></td>";
                outstat += "<td>#" + place + "<br /><b>" + statdetails[1] + " " + statdetails[0] + "</b><br />" +
                    statdetails[2] + "</td>";
                ncol++;
                if (ncol == mcols) {
                    ncol = 0;
                    outstat += "</tr><tr><td colspan='2'><hr /></td></tr>";
                }
            }
        }
        outstat += "</table>";    
       
        if (LastStatDetails != outstat) {
            LastStatDetails = outstat;
            if (active_mode == "stations") {
                document.getElementById("active-region").innerHTML = outstat;
            }
        }
        //keeping the current ratings
        for (j = 0; j < nstat && j < 20; j++) 
        {
            var statdetails = arraymarkers[p + 1 + j].split(";");
            if (statdetails.length == 5) {
                topStations[j] = statdetails[0];
            }
        }
        havetop = true;
        OKtoStationAndSong = true;
        setTimeout("timerClick()", 10000);        
    }
