﻿var liveFeedText = new Array(">>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;", "&nbsp;&nbsp;>>&nbsp;&nbsp;&nbsp;&nbsp;", "&nbsp;&nbsp;&nbsp;&nbsp;>>&nbsp;&nbsp;", "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;>>");
var liveFeedRoll = 0;
var prevState = 0;
var monitorTimerId = 0;
var tVolume=0;
var tMute = false;
var bar0 = new Image();
var bar1 = new Image();
var bar2 = new Image();
var bar3 = new Image();
var bar4 = new Image();
var bar5 = new Image();
var bar6 = new Image();

function _getBar()
{
    bar0.src = "./images/bar0.png";
    bar1.src = "./images/bar1.png";
    bar2.src = "./images/bar2.png";
    bar3.src = "./images/bar3.png";
    bar4.src = "./images/bar4.png";
    bar5.src = "./images/bar5.png";
    bar6.src = "./images/bar6.png";
}

function monitor()
{
    var mp = _getMP("mp");
    var infoDiv2 = $("mpInfoDiv2");
    infoDiv2.innerHTML = mp.status;
    if (mp.PlayState == 3) {
        onPlaying();
    }

    if (!monitorTimerId) {
        monitorTimerId = setInterval("monitor()", 1000);
    }
}


function _MPlayer(lURL,lRadioID)
{
    var mplayer = $('player');
    var mplayerHtml = "";
    mplayer.style.display="block";
        
    if(lURL+lRadioID!="")
    {
        writeSessionCookie("RadioURL",lURL);
        writeSessionCookie("RadioID",lRadioID);
    }
    else
    {
        lURL = getCookieValue("RadioURL");
        lRadioID = getCookieValue("RadioID");
    }
    
    if (lURL+lRadioID!="" && (lURL!=null || lRadioID!=null))
    {  
          if (navigator.appName.indexOf("Microsoft Internet")==-1)
          {
                 mplayerHtml = "<div class=\"embed\"><embed name=\"mp\" type=\"application/x-mplayer2\" pluginspage=\"http://www.microsoft.com/Windows/MediaPlayer/\"" +
                                "defaultframe=\"rightFrame\" showstatusbar=\"true\"></embed>" +
                            "</div>";
          }
          mplayerHtml += "<object id=\"mp\" width=\"50px\" height=\"50px\" style=\"position: absolute; left: 0px; top: -500px;\"" +
                                "classid=\"CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6\" type=\"application/x-oleobject\">" +
                                "<param name=\"SendPlayStateChangeEvents\" value=\"True\" />"+
                                "<param name=\"AutoStart\" value=\"True\" />"+
                                "<param name=\"uiMode\" value=\"none\" />"+
                                "<param name=\"PlayCount\" value=\"9999\" />"+
                                "<param name=\"Volume\" value=\"50\" />"+
                                "<param name=\"AudioStream\" value=\"False\" />"+
                                "<param name=\"BufferingTime\" value=\"5\" />"+
                            "</object>" +
                            "<div>" + 
                                "<img id=\"play_pause\" src=\"./images/noatunpause.png\" alt=\"pause\" onclick=\"_MPlayerFunc('pause');\"/>" + 
                                "<img src=\"./images/noatunstop.png\" alt=\"stop\" onclick=\"_MPlayerFunc('stop');\"/>" + 
                                "<img id=\"mpInfo\" src=\"./images/noatunplaylist.png\" alt=\"info\" onclick=\"_MPlayerFunc('info');\" />" +
                                "&nbsp;&nbsp;&nbsp;" +
                                "<img id=\"mpMute\" src=\"./images/amarok.png\" alt=\"mute\" onclick=\"_MPlayerFunc('mute');\" />" +
                                "<img src=\"./images/zoom-out.png\" alt=\"volume down\" onclick=\"_MPlayerFunc('vol-');\" />" +
                                "<img id=\"volBar\" src=\"./images/bar3.png\" alt=\"volume 50%\"  />" +
                                "<img src=\"./images/zoom-in.png\" alt=\"volume up\" onclick=\"_MPlayerFunc('vol+');\" />" +
                            "</div>" + 
                            "<div id=\"mpInfoDiv\"></div>" + 
                            "<div id=\"mpInfoDiv2\"></div>";
        mplayer.innerHTML = mplayerHtml;
        _getBar();
        _playRadio(lURL);
    }
    else
    {
        mplayer.innerHTML = "";
    }
}

function _MPlayerFunc(lFunc)
{
    var play_pause=$('play_pause');
    var infoDiv = $("mpInfoDiv");
    var mp=_getMP('mp');
    
    if( mp.PlayState==3 && lFunc=="pause")
    {
        play_pause.src = "./images/noatunplay.png";
        play_pause.alt = "play";
        mp.controls.pause();
    }
    else if( mp.PlayState!=3 && lFunc=="pause")
    {
        play_pause.src = "./images/noatunpause.png";
        play_pause.alt = "pause";
        infoDiv.innerHTML = "";
        mp.controls.play();
    }
    else if( lFunc=="stop")
    {
        play_pause.src = "./images/noatunplay.png";
        play_pause.alt = "play";
        infoDiv.innerHTML = "";
        mp.controls.stop();
    }
    else if( lFunc=="mute" && mp.settings.volume>0)
    {
        tMute = true;
        tVolume = mp.settings.volume;
        mp.settings.volume = 0;
        $("mpMute").src= "./images/kmixdocked_error.png";
        _setBar(0);
    }
    else if( lFunc=="mute" && mp.settings.volume==0)
    {
        tMute = false;
        mp.settings.volume = tVolume;
        $("mpMute").src= "./images/amarok.png";
        _setBar(tVolume);
    }
    else if( lFunc=="vol+" && mp.settings.volume<100 && tMute==false)
    {
        mp.settings.volume = mp.settings.volume +10;
        _setBar(mp.settings.volume);
    }
    else if( lFunc=="vol-" && mp.settings.volume>0 && tMute==false)
    {
        mp.settings.volume = mp.settings.volume -10;
        _setBar(mp.settings.volume);
    }
}

function _setBar(vol)
{
    var lBar = $("volBar");
    if (vol < 10) {
        lBar.src = bar0.src;
    }
    if (vol > 0 && vol < 30) {
        lBar.src = bar1.src;
    }
    if (vol > 20 && vol < 50) {
        lBar.src = bar2.src;
    }
    if (vol == 50) {
        lBar.src = bar3.src;
    }
    if (vol > 50 && vol < 70) {
        lBar.src = bar4.src;
    }
    if (vol > 60 && vol < 90) {
        lBar.src = bar5.src;
    }
    if (vol > 80) {
        lBar.src = bar6.src;
    }
    lBar.alt= "volume " + vol + "%";
}

function onPlaying()
{
        liveFeedRoll = liveFeedRoll & 3;
        $("mpInfoDiv").innerHTML = liveFeedText[liveFeedRoll++];
}

function _playRadio(lRadio)
{
    var mp = _getMP("mp");
    if (lRadio.toLowerCase().indexOf(".pls") > -1) {
        _getPlayList(lRadio);
    }
    else {
        mp.URL = lRadio;
    }
    monitor();
}

function _getPlayList(tRadio)
{
    var infoDiv2 = $("mpInfoDiv2");
    infoDiv2.innerHTML = "Download playlist...";
    Sys.Net.ServiceMethod.invoke("services/s_s_content.asmx", "GetPlayList", "",{tPls: tRadio},_onGetPlayListMethodComplete, null, null, null,[ this, null ]);
}
function _onGetPlayListMethodComplete(result, response, context)
{
    var infoDiv2 = $("mpInfoDiv2");
    infoDiv2.innerHTML = "Add playlist to player...";
    var mp = _getMP("mp");
    var playlist = result.split("|");
    
    if (playlist[0]!="" || playlist[0]!=null)
    {
        mp.URL=playlist[0];
    }
}

function _getMP(name)
{
    if (navigator.appName.indexOf("Microsoft Internet")!=-1)
    {
            return $(name).object;
    }
    if (window.document[name]) 
    {
        return window.document[name];
    }
    if (navigator.appName.indexOf("Microsoft Internet")==-1)
    {
        if (document.embeds && document.embeds[name])
            return document.embeds[name]; 
    }
    else
    {
        return $(name);
    }
}

