var intTest = /^\d{1,2}$/;
var rankColWidth = 0;
var titleColWidth = 0;
var artistColWidth = 0;
var actionColWidth = 0;
$(document).ready(function() {
    $('#title').autocomplete(window.location + "/title", {
        minChars: 1,
        selectFirst: false,
        matchContains: true,
        max: 30
    });
    $('#title').result(function(event, data, formatted) {
        if (data)
            $('input[name="song_id"]').val(data[1]);
    });

    rankColWidth = $('.rankcol:first').width();
    titleColWidth = $('.titlecol:first').width();
    artistColWidth = $('.artistcol:first').width();
    actionColWidth = $('.actioncol:first').width();
    setColWidths();
});

function removeSong(id) {
    $('#song'+id).remove();
    $.post(window.location + "/remove", { rank: id });
    $('#voteadd').show();
    
    updateSongList();

    return false;
}

function updateSongList() {
    if($('#sortable tr').length <= 0 && $('#locked tr').length <= 0) {
        $('#preview').remove();
        return;
    }

    $('.rankcol').each(function(index) {
        if(intTest.test(this.innerHTML)) {
            this.innerHTML = index;
        }
    });

    $('#sortable tr').each(function(index) {
        $(this).removeClass('odd even');
        var rank = Number(this.childNodes[0].innerHTML) - 1;
        if(rank == undefined || isNaN(rank))
        {
            rank = $('#locked tr').length + index - 1;
        }
        if(rank % 2) {
            $(this).addClass('even');
        } else {
            $(this).addClass('odd');
        }
    });

    setColWidths();
}

function setColWidths() {
    $('.rankcol').each(function(index) {
        $(this).width(rankColWidth);
    });
    $('.titlecol').each(function(index) {
        $(this).width(titleColWidth);
    });
    $('.artistcol').each(function(index) {
        $(this).width(artistColWidth);
    });
    $('.actioncol').each(function(index) {
        $(this).width(actionColWidth);
    });
}

