function setCookie(c_name,value,expiredays) {
    var exdate=new Date();
    exdate.setDate(exdate.getDate()+expiredays);
    document.cookie=c_name+ "=" +value+
      ((expiredays==null) ? "" : ";path=/;expires="+exdate.toGMTString());
}

function getCookie(c_name) {
    if (document.cookie.length>0) {
        c_start=document.cookie.indexOf(c_name + "=");
        if (c_start!=-1) { 
            c_start=c_start + c_name.length+1; 
            c_end=document.cookie.indexOf(";",c_start);
            if (c_end==-1) c_end=document.cookie.length;
            return unescape(document.cookie.substring(c_start,c_end));
        } 
    }
    return "";
}

function showSongs(obj) {
    var ul = $(obj).blur().next();
    if(ul.is(':visible')) {
        ul.slideUp('medium');
        return;
    }
  
    if($('.songsUL:visible').length){
        $('.songsUL:visible').eq(0).slideUp('medium',function(){ul.slideToggle('slow');});
    } else {
        ul.slideDown('slow');
    } 
}

function UpdateEmbedCode() {
    $.get("/getEmbed", function(code){
        $("#updateLink").css("font-weight", "");
        $("#pEmbed").val(""+code);
    });
}

function UpdatePlaylist() {
    var pSongs = Array();
    var ptype = $("#pType").val();
    var autoplay = $("#autoplay").is(':checked') ? '1' : '0';
    var shuffle = $("#shuffle").is(':checked') ? '1' : '0';
    var repeat = $("#repeat").is(':checked') ? '1' : '0';
    
    var id = 0;
    $.each($("tr","#songsTable"), function(){
        if(!$(':input', this).length || $(this).hasClass("ui-sortable-helper"))
            return;
        id = $(':input', this).val();
        pSongs.push(id);
    });
    
    setCookie("plsettings", ptype + "|" + autoplay + "|" + shuffle + "|" + repeat, 365);
    if(id != 0) {
        var songs = pSongs.join("|");
        setCookie("plsongs", songs, 365);
    } else {
        setCookie("plsongs", "", 365);
    }
    $("#updateLink").css("font-weight", "bold");
}

function AddSong(id) {
    $("#songsTable").append(
        $("<tr id='songRow_"+id+"'><td nowrap='nowrap'>" + 
        "&nbsp;<span>" + ($('tr',$("#songsTable")).length) + "</span>. <input type='hidden' value='" + id + "' />" + 
        "<span title=\"" + songs[id].album + "\" onmouseover=\"style.cursor='help';\">" + songs[id].shortTitle + "</span>&nbsp;&nbsp;" + 
        "</td><td nowrap='nowrap' style='text-align:right;'>" + 
        "<a href='javascript:;' onclick='RemoveSong(" + id + ")'>Remove</a>&nbsp;" + 
        "</td></tr>"));
    $("b", "#AddRemoveSongSpan_"+id).toggle();
    $("tbody", "#songsTable").sortable("refresh");
    UpdatePlaylist();
}

function RemoveSong(id) {
    $("#songRow_"+id, "#songsTable").remove();
    UpdatePlaylist();

    try {
        $("b", "#AddRemoveSongSpan_"+id).toggle();
    } catch(ex) {}
}

function ClearPlaylist() {
    if($("tr:gt(0)", "#songsTable").length == 0)
        return;
    if(!confirm("Are you SURE you want to clear your Playlist?"))
        return;
    var id = 0;
    $.each($("tr","#songsTable"), function(){
        if($(this)[0].rowIndex == 0)
            return;
        id = $(':input', this).val();
        $("#songRow_"+id, "#songsTable").remove();
        try {
            $("b", "#AddRemoveSongSpan_"+id).toggle();
        } catch(ex) {}
    });
    UpdatePlaylist();
}

function HideShowPlaylist() {
    if($('#PlayListSpan').is(':hidden')) {
        $('#PlayListSpan').show();
        var pLeft = $('#PlayListSpan').offset().left;
        var pTop = $('#PlayListSpan').offset().top;
        var data = "show|" + pLeft + "|" + pTop;
    } else {
        var pLeft = $('#PlayListSpan').offset().left;
        var pTop = $('#PlayListSpan').offset().top;
        var data = "hide|" + pLeft + "|" + pTop;
        $('#PlayListSpan').hide();
    }
    
    setCookie('pldom', data, 365);
    $('span', '#ShowHidePlaylistSpan').toggle();
}

function InitiatePlaylist() {
    //Make it draggable
    $("#PlayListSpan").draggable({
        handle:'#PlayListHeader',
        containment: 'document',
        delay: 200,
        stop: function(){
            var pLeft = $('#PlayListSpan').offset().left;
            var pTop = $('#PlayListSpan').offset().top;
            var data = "show|" + pLeft + "|" + pTop;
            setCookie('pldom', data, 365);
        },
        cursorAt: Array($("#PlayListHeader").width() / 2, $("#PlayListHeader").height() / 2)
    });
    //Make it sortable
    $("tbody", "#songsTable").sortable({
        items: '> tr:gt(0)',
        axis: 'y',
        containment: 'parent',
        handle: 'td:first, td:first *',
        start: function(e, ui) {
            $("tr:gt(0) > td:last-child", $("#songsTable")).hide();
        },
        stop: function(e, ui) {
            $("tr:gt(0) > td:last-child", "#songsTable").show();
        },
        change: function(e,ui) {
            var i = 1;
            var tmp = 0;
            $.each($("tr", "#songsTable"), function() {
                if($(this)[0].rowIndex == 0)
                    return;
                if($(this).is(':hidden')) {
                    tmp = i;
                }
                $('span:first', this).text("" + i);
                i = i + 1;
            });
            $('span:first', ui.helper).text(""+tmp);
        },
        update: function(e, ui){
            UpdatePlaylist();
        }
    });
}

function ReturnJS(response) {eval(response);}