﻿
//--------- create fast playlist
function FastPlayList(authorId) {
    MusicPortal.Web.Services.PlaylistService.CreateQuickList(authorId, OnSuccessFastPlaylist, OnErrorFastPlaylist);
}


function OnSuccessFastPlaylist(result) {
    if (result > 0) {
        var contentdiv = document.getElementById('fastPlaylist');
        var htmlResult = String.format("~/mediacenter.aspx?Channel={0}", result);
        contentdiv.innerHTML = '<a href=' + urlPlayList + result + ' target=\"_blank\" >Перейти на плейлист</a>';
        window.open(urlPlayList + result);
        //alert('Быстрый плейлист создан');
    }
    else {
        if (result == 0)
            alert("Невозможно создать плейлист.Удалите один из существующих");
        else
            alert('Ошибка создания быстрого плейлиста.');
    }

}

function OnErrorFastPlaylist(error) {
    alert('Ошибка создания быстрого плейлиста. Код ошибки: ' + error);
}


/////////////////// JQuery dialog ///////////////////////////
function showPlayList(trackId) {
    $("#dialog").dialog('open');
    $("#dialog").dialog('option', 'trackid', trackId);
    $("#dialog").dialog('option', 'width', 540);
    $("#dialog").dialog('option', 'height', 240);
    var titlePlayList = document.getElementById('newPlayList');
    if (titlePlayList != null)
        titlePlayList.value = '';
}
function hidePlayList() {
    $("#dialog").dialog('close');
}

////////////////////////// Add track to PlayList
function addTrackToPlayList(playListId, titlePlayList) {
    var trackId = $("#dialog").dialog('option', 'trackid');
    if (trackId != null || trackId != 'undefined') {
        addPlayList(playListId, trackId, titlePlayList);
    }
}

////////////////////////// Play list
function addNewPlayList(trackId) {
    if (trackId == null || trackId == 'undefined') {
        trackId = $("#dialog").dialog('option', 'trackid');
    }
    var titlePlayList = document.getElementById('newPlayList');
    if (titlePlayList != null) {
        if (titlePlayList.value == '') {
            alert('Вы должны ввести название листа');
            return;
        }
    
        addPlayList('0', trackId, titlePlayList.value); 
    }
}

function addPlayList(playListId, trackId, titlePlayList) {
    MusicPortal.Web.Services.PlaylistService.AddPlaylistItem(playListId, titlePlayList, trackId, OnSuccessPlayListItem, OnErrorPlayListItem);
    hidePlayList();
}

function OnSuccessPlayListItem(result){
    /// 0 = more than 8 playlists, - 1 = playlist already has this trackid, >0 = OK

    if (result > 0) {
        alert('Успешно добавлен в плейлист.');
        RetrievePlaylist();
        //window.location.reload(); 
    }
    else
        if (result == -1)
        alert('Плейлист уже содержит этот трек/клип');
    else if (result == 0)
        alert('Невозможно создать новый плейлист.Удалите один из существующих');
    else
        alert('Ошибка добавления в плейлист.');
}
function OnErrorPlayListItem(error) {
    alert('Ошибка добавления в плейлист. Код ошибки: ' + error);
}

function RetrievePlaylist() {
    MusicPortal.Web.Services.PlaylistService.GetPlayLists(OnSuccessGetPlayList, OnErrorGetPlayList);
}

function OnSuccessGetPlayList(result, eventArgs) {
    
    var contentDiv = document.getElementById('dialog');

    if (result != null) {
        var resultList = result;

        if (resultList !== null) {

            var playLists = "<ul>";
            for (var i = 0; i < resultList.length; i++) {
                var Id = (resultList[i].Id == null) ? "" : resultList[i].Id;
                var DisplayName = (resultList[i].DisplayName == null) ? "" : resultList[i].DisplayName;
                var playlist = "<li>";
                playlist += String.format("Добавить в <a style=\"cursor: pointer\" class=\"playListLink\" onclick=\"addPlayList('{0}','{1}','')\">{2}</a>", Id, trackId, DisplayName);
                playlist += "</li>";
                playLists += playlist;
                if (i > 7)
                    break;
            }
            playLists += "</ul>";
            
            if(resultList.length < 8){
                playLists += "<br/><br/><input id=\"newPlayList\" type=\"text\" maxlength=\"50\" /><a style=\"cursor: pointer\" class=\"playListLink\" onclick=\"addNewPlayList('"+trackId +"')\">В новый плейлист</a>";
            }
            else {
                playLists += "<br /><br />Для добавления трека в новый плейлист, удалите один из существующих";
            }            
            contentDiv.innerHTML = playLists;
        } 
    }
}

function OnErrorGetPlayList(error) {
    alert("ErrorGetPlayList. Error: " + error.get_message());
}

//////////////////////////////////


