﻿//Search Page Player
var rssLink, playListID;

function playThisSearch(sender) {
    var newFlash, songURL, songTitle;
    songURL = jQuery(sender).attr("rel");
    songURL = decodeURIComponent(songURL);
    jQuery(".searchPlayer").remove();
    jQuery(".playNow").show();
    jQuery(sender).hide();
    newFlash = "<span class='searchPlayer'>"
    newFlash += "<object type='application/x-shockwave-flash' data='services/mp3_player_maxi.swf' width='75' height='12'>"
    newFlash += "<param name='movie' value='services/mp3_player_maxi.swf' />"
    newFlash += "<param name='bgcolor' value='#CC3433' />"
    newFlash += "<param name='FlashVars' value='mp3=" + songURL + "&amp;width=75&amp;height=12&amp;autoplay=1&amp;buttonwidth=20&amp;sliderwidth=10&amp;loadingcolor=ffffff&amp;bgcolor1=CC3433&amp;bgcolor2=CC3433&amp;slidercolor1=ffffff&amp;slidercolor2=ffffff' />"
    newFlash += "</object></span>"
    jQuery(sender).parent().prepend(newFlash);
}

//Delete link operations
function deletePlayListEntry(object) {
    //Get link ID
    var songID = getMyElementID(jQuery(object).parent().get(0), "id");

    jQuery.get("services/managePlayList.ashx", { mode: "delete", songid: songID }, function(data) {
        if (data == 0) {
            jQuery("li#song_" + songID).slideUp();
            reloadPlayer();
        }
        else {

        }
    });
}
function addPlayListEntry(object) {
    //Get link ID
    var songURL = jQuery(object).attr("rel");
    var songID = getMyElementID(object, "id");
    
    jQuery(object).html(" <span class='imgPlayListInsert'>" + langPack.playListInserting + "</span>");

    jQuery.get("services/managePlayList.ashx", { mode: "add", songurl: songURL, songurlid: songID }, function(data) {
        if (data > 0) {
            jQuery(object).after(" <span class='imgPlayListInsert'>" + langPack.playListInsertOk + "</span>");
            jQuery(object).remove();
        }
        else {
            jQuery(object).html(" <span class='imgPlayListInsert'>" + langPack.playListInsertError + "</span>");
        }
    });
}

function reloadPlayer() {
    var flashPlyer;
    flashPlyer = "<object type='application/x-shockwave-flash' data='services/mp3_player.swf' width='300' height='250'>"
    flashPlyer += "<param name='movie' value='services/mp3_player.swf' />"
    flashPlyer += "<param name='wmode' value='transparent' />"
    flashPlyer += "<param name='FlashVars' value='playlistrss=" + rssLink + "&amp;width=300&amp;height=250&amp;loadingcolor=ffffff&amp;bgcolor1=52BA64&amp;bgcolor2=52BA64&amp;slidercolor1=ffffff&amp;slidercolor2=ffffff&amp;playlistcolor=ffffff&amp;playlistalpha=80&amp;textcolor=5C5D5D&amp;currentmp3color=000000&amp;showvolume=1&amp;volumewidth=50&amp;currentmp3color=345815&amp;textcolor=52BA64"

    var autoSetting = readCookie("playerSettingsAuto");
    if (autoSetting == 1) {
        flashPlyer += "&amp;autoplay=1"
        jQuery('#playerControlAuto').removeClass("Off");
        jQuery('#playerControlAuto').addClass("On");
    }
    else {
        flashPlyer += "&amp;autoplay=0"
        jQuery('#playerControlAuto').removeClass("On");
        jQuery('#playerControlAuto').addClass("Off");
    }

    var shuffleSetting = readCookie("playerControlShuffle");
    if (shuffleSetting == 1) {
        flashPlyer += "&amp;shuffle=1"
        jQuery('#playerControlShuffle').removeClass("Off");
        jQuery('#playerControlShuffle').addClass("On");
    }
    else {
        flashPlyer += "&amp;shuffle=0"
        jQuery('#playerControlShuffle').removeClass("On");
        jQuery('#playerControlShuffle').addClass("Off");

    }

    var repeatSetting = readCookie("playerControlRepeat");
    if (repeatSetting == 1) {
        flashPlyer += "&amp;loop=1"
        jQuery('#playerControlRepeat').removeClass("Off");
        jQuery('#playerControlRepeat').addClass("On");

    }
    else {
        flashPlyer += "&amp;loop=0"
        jQuery('#playerControlRepeat').removeClass("On");
        jQuery('#playerControlRepeat').addClass("Off");
    }
    
    flashPlyer += "' />"
    flashPlyer += "</object>"

    jQuery("#flashPlayer").empty();
    jQuery("#flashPlayer").html(flashPlyer);
}

function loadPlayList(rssURL, pListID) {
    rssLink = encodeURIComponent(rssURL);
    playListID = pListID;
    
    reloadPlayer();
}

function loadPlayerFunctionality() {

    jQuery("#embedLink").toggle(
    function() {
        jQuery("#embedWrapper").slideDown();
        jQuery("#embedWrapper textarea").select();
    },
    function() {
        jQuery("#embedWrapper").slideUp();
   
    });
    jQuery('#playerControlHelp').toggle(
      function() {
          jQuery("#helpHolder").slideDown();
      },
      function() {
          jQuery("#helpHolder").slideUp();
      }
    );
    
    jQuery('#playerControlAuto').click(function() {
        var autoSetting = readCookie("playerSettingsAuto");
        if (autoSetting == 1) {
            writeCookie("playerSettingsAuto", 0, 720);
            jQuery('#playerControlAuto').removeClass("On");
            jQuery('#playerControlAuto').addClass("Off");
        }
        else {
            writeCookie("playerSettingsAuto", 1, 720);
            jQuery('#playerControlAuto').removeClass("Off");
            jQuery('#playerControlAuto').addClass("On");
        }
        reloadPlayer();
        return false
    });

    jQuery('#playerControlShuffle').click(function() {
    var shuffleSetting = readCookie("playerControlShuffle");
    if (shuffleSetting == 1) {
            writeCookie("playerControlShuffle", 0, 720);
            jQuery('#playerControlShuffle').removeClass("On");
            jQuery('#playerControlShuffle').addClass("Off");
        }
        else {
            writeCookie("playerControlShuffle", 1, 720);
            jQuery('#playerControlShuffle').removeClass("Off");
            jQuery('#playerControlShuffle').addClass("On");
        }
        reloadPlayer();
        return false
    });

    jQuery('#playerControlRepeat').click(function() {
    var repeatSetting = readCookie("playerControlRepeat");
    if (repeatSetting == 1) {
            writeCookie("playerControlRepeat", 0, 720);
            jQuery('#playerControlRepeat').removeClass("On");
            jQuery('#playerControlRepeat').addClass("Off");
        }
        else {
            writeCookie("playerControlRepeat", 1, 720);
            jQuery('#playerControlRepeat').removeClass("Off");
            jQuery('#playerControlRepeat').addClass("On");
        }
        reloadPlayer();
        return false
    });
}

function loadPlayListFunctionality(rssURL) {

    jQuery('li.playListSong span.playListSongTitle').after("<a title='Изтрий' class='delete'>x</a>");
    jQuery('li.playListSong a.delete').click(function(){deletePlayListEntry(this); return false});

    jQuery("#mainPlayList").sortable({
        opacity: 0.7,
        scroll: true,
        containment: "document",
        start: function(element, ui) {
        jQuery("#myPlayList li").css("border", "dotted 2px #fff");

        },
        stop: function(element, ui) {
        jQuery("#myPlayList li").css("border", "2px solid #52BA64");
        },
        update: function(element, ui) {
            updateSongOrder(jQuery(this).sortable("serialize"));
        }
    });

    jQuery(".myPlayListTitle").droppable({
        accept: ".playListSong",
        hoverClass: 'droppable-hover',
        drop: function(ev, ui) {

            var newPlayListID = getMyElementID(this, "id");
            var songID = getMyElementID(jQuery(ui.draggable), "id");

            if (newPlayListID != playListID) {
            jQuery.get("services/managePlayList.ashx", { mode: "update", songid: songID, playlistid: newPlayListID }, function(data) {
                if (data > 0) {
                    jQuery(ui.draggable).hide();
                    reloadPlayer();
                }
                else {
                    //Error
                }
            });
            }
        }

    });
    
}

function updateSongOrder(songArray) {
    var songList = songArray.split("&");

    for (x = 0; x < songList.length; x++) {
        songList[x] = (songList[x]).split("=")[1];
   }

   songArray = songList.join("|");
    jQuery.get("services/managePlayList.ashx", { mode: "order", order: songArray }, function(data) {
        if (data == 0) {
            reloadPlayer();
        }
        else {
   
        }
    });
}

function savePlayList() {
    jQuery('span.mainPlayListTitle').after("<a class='save' title='Запази/Редактирай плейлиста'>s</a>");

    jQuery("#mainPlayListHeader .save").toggle(
    function() { jQuery("#divSavePlayList").slideDown() },
    function() { jQuery("#divSavePlayList").slideUp() });

    jQuery("#savePlaylist").click(function() {
        var genre = jQuery(".ddlPlayListGenres").val();
        var title = jQuery("input.txtPlayListTitle").val();

        //If nothing is selected select My Mix ID  = 4
        if (genre == 0) { genre = 4 };

        if (title == "") { alert("Моля въведете заглавие!") }
        else {
            jQuery.get("services/managePlayList.ashx", { mode: "save", playlistid: playListID, title: title, genre: genre }, function(data) {
                if (data > 0) {
                    jQuery(".mainPlayListTitle").html(title);
                    var topPlayListID = getMyElementID(jQuery("#myPlayList li:first"), "id");

                    if (playListID == topPlayListID) { 
                    jQuery("#myPlayList").prepend("<li id='myPlayList_' class='playListTitle'><a href='/Player?playlistid=0'>Основен плейлист</a></li>");
                    }
                    
                    jQuery("li#myPlayList_" + playListID).hide().slideDown();
                    jQuery("#myPlayList_" + playListID + " a").html(title);
                    jQuery("#divSavePlayList").slideUp();
                }
                else {
                    //error
                }
            });
        }
    });
}

function deletePlayList() {
    jQuery('span.mainPlayListTitle').after("<a class='delete' title='Изтрий'>x</a>");

    jQuery("#mainPlayListHeader .delete").click(function() {

        var confirmThis = confirm("Това ще изтрие този плейлист и неговото съдържание!");

        if (confirmThis) {
            jQuery.get("services/managePlayList.ashx", { mode: "deleteplaylist", playlistid: playListID }, function(data) {
                if (data > 0) {
                    window.location = "/Player?playerid=0"
                }
                else {
                    //error
                }
            });
        }
    });
}

function saveToFavourites() {
    jQuery('span.mainPlayListTitle').after("<a class='favourite' title='Добави в любими'>f</a>");


    jQuery("#mainPlayListHeader  a.favourite").click(function() {
        var favPlayListTitle = jQuery("#mainPlayListHeader .mainPlayListTitle").html();

        jQuery.get("services/managePlayList.ashx", { mode: "favourite", playlistid: playListID }, function(data) {
            if (data > 0) {
                jQuery(".noFavourite").remove();

                //jQuery("#myFavouritesList").prepend("oaoaoa");
                jQuery("#myFavouritesList").prepend("<li id='playListFav_" + playListID + "'><a href='/Player?playlistid=" + playListID + "' class='playListFavouriteTitle'>" + favPlayListTitle + "</a></li>")
                //jQuery("#playListFav_" + playListID).slideDown();
                deleteFromFavourites();
            }
            else {
                //error
            }
        });
    });
}

function deleteFromFavourites() {
    jQuery('#myFavouritesList .delete').remove();
    jQuery('a.playListFavouriteTitle').after("<a class='delete' title='Изтрий'>x</a>");

    jQuery("#myFavouritesList .delete").click(function() {
        var sender = this
        var favPlayListID = getMyElementID(jQuery(sender).parent(0), "id");

        jQuery.get("services/managePlayList.ashx", { mode: "deletefavourite", playlistid: favPlayListID }, function(data) {
            if (data > 0) {
                jQuery(sender).parent(0).slideUp();
            }
            else {
                //error
            }
        });
    });
}


function genreFunctionalities() {

    jQuery("#genreRepeaterHeader .expandPlayList").click(function() {
        ToggleGenres()
    });

    jQuery("#genreRepeaterHeader .genreTitle").click(function() {
        ToggleGenres()
    });

function ToggleGenres() {
    if (jQuery("#byGenre .genreList.hidden").css("display") == "none") {


        jQuery("#byGenre .genreList.hidden").slideDown();

    }
    else {
        jQuery("#byGenre .genreList.hidden").slideUp();

    }

}

   

}