﻿function getMusicPlayer(playerList) {
    var htmlPlayer = $(".html_player");
    var btnPlay = $(".play", htmlPlayer);
    var btnStop = $(".stop", htmlPlayer);
    var btnPrev = $(".prev", htmlPlayer);
    var btnNext = $(".next", htmlPlayer);
    var btnMute = $(".mute", htmlPlayer);
    var volumeBar = $(".volume", htmlPlayer);
    var progressBar = $(".progress", htmlPlayer)
    var lblSongName = $(".songName", htmlPlayer);
    var lblStatus = $(".status", htmlPlayer);
    var isLoad = false;
    var progress = 0;
    var songTime = 0;
    var startVolume = 50;
    var index = 0;
    var playing = true;
    var paused = true;
    var playlist = playerList;

    if ($.cookie('volume') != null) startVolume = $.cookie('volume');
    if ($.cookie('progress') != null) progress = $.cookie('progress');
    if ($.cookie('index') != null) index = $.cookie('index');
    if ($.cookie('playing') != 'true' && $.cookie('playing') != null) playing = false;
    if ($.cookie('paused') != 'true') paused = false;

    progressBar.slider({
        range: "min",
        min: 0,
        max: 100,
        start: function (event, ui) {
            if (jwplayer().getState() != "IDLE")
                jwplayer().play(false);
            else
                return false;
        },
        stop: function (event, ui) {
            jwplayer().seek((songTime * ui.value) / 100);
        }
    });

    volumeBar.slider({
        range: "min",
        value: startVolume,
        min: 0,
        max: 100,
        slide: function (event, ui) {
            jwplayer().setVolume(ui.value);
        },
        stop: function (event, ui) {
            $.cookie('volume', ui.value, { expires: 999999 });
        }
    });

    lblStatus.text("carregando...");

    jwplayer("mediaplayer").setup({
        flashplayer: "/Content/Files/Plugins/player.swf"
    }).onPlay(function () {
        btnPlay.val("Pause");
        btnPlay.removeClass("play");
        btnPlay.addClass("pause");
        lblSongName.text(jwplayer().getPlaylistItem().title);
        //lblStatus.text(jwplayer().getState());
        lblStatus.text("");
        if (isLoad == false) {
            jwplayer().seek(progress);
            isLoad = true;
        }
        $.cookie("playing", true, { expires: 999999 });
        $.cookie("paused", false, { expires: 999999 });
    }).onPause(function () {
        btnPlay.val("Play");
        btnPlay.removeClass("pause");
        btnPlay.addClass("play");
        lblSongName.text(jwplayer().getPlaylistItem().title);
        //lblStatus.text(jwplayer().getState());
        lblStatus.text("");
        $.cookie("paused", true, { expires: 999999 });
    }).onIdle(function () {
        lblSongName.text(jwplayer().getPlaylistItem().title);
        //lblStatus.text(jwplayer().getState());
        lblStatus.text("");
        btnPlay.val("Play");
        btnPlay.removeClass("pause");
        btnPlay.addClass("play");
        progressBar.slider("value", 0);
        $.cookie('progress', 0, { expires: 999999 });
        $.cookie("playing", false, { expires: 999999 });
    }).onTime(function (event) {
        songTime = event.duration;
        progressBar.slider("value", (event.position * 100) / event.duration);
        $.cookie('progress', event.position, { expires: 999999 });
    }).onComplete(function () {
        progressBar.slider("value", 100);
        jwplayer().playlistNext();
    }).onPlaylistItem(function (event) {
        $.cookie('index', event.index, { expires: 999999 });
    }).load(playlist).setVolume(startVolume).play().playlistItem(index);

    if (!playing && !paused)
        jwplayer().stop();

    if (paused)
        jwplayer().play();

    btnPlay.click(function () { jwplayer().play(); });
    btnStop.click(function () { jwplayer().stop(); });
    btnPrev.click(function () { jwplayer().playlistPrev(); });
    btnNext.click(function () { jwplayer().playlistNext(); });
    btnMute.click(function () { jwplayer().setMute(); });

    for (var i = 0; i < playlist.length; i++) {
        $('.musicplayer .playlist').append('<div class="playlistitem"><span>' + (i + 1) + '</span> - ' + playlist[i].title + '</div>');
    }

    $('.musicplayer .playlistitem').click(function () {
        var index = parseInt($('span', $(this)).text()) - 1;
        jwplayer("mediaplayer").play().playlistItem(index);
    });
}
