function cookie_or_empty(cookie) {
    if (cookie == null) {
        return new Array();
    } else {
        return cookie.split(',');
    }
}


function voteSetup(form_id, cookie_name, vote_view, result_view) {
    form_id = '#' + form_id;
    var form = $(form_id);
    var action = form.attr('action');
    if (action != undefined)
    {
        form.find('[type=submit]').bind("click", function(e){
            $(this).attr("value", "VOTING...");
        });

        var context_url = action.substr(0, action.indexOf('/' + vote_view));
        var context_name = context_url.substr(context_url.lastIndexOf('/')+1);
        form.attr('context_url', context_url);
        form.attr('context_name', context_name);
        var cookie = $.cookie(cookie_name);
        var names = cookie_or_empty(cookie);

        if ($.inArray(context_name, names) >= 0) {
            form.parent().load(context_url + '/' + result_view);
        } else {
            $(form_id).ajaxForm({
                success: function(responseText) {
                    var form = $(form_id);
                    form.parent().load(form.attr('context_url') + '/' + result_view);
                    var names = cookie_or_empty();
                    names = names.concat(form.attr('context_name'));
                    $.cookie(cookie_name, names.join(','));
                }
            });
        }
    }
}
