/*
     $Revision$
     $Id$

     File:          fac_report.js
*/

function toggleInputSelect()
{
    var inp = $(this).prevAll("input,select")[0];
    if (inp.tagName == 'INPUT')
    {   // 1e keer drukken maakt er een listbox van
        $.getJSON("fac_report_worker.asp", $("[name=u2]").serialize() + "&distinct=" + inp.name, process_worker_info);
        $(inp).show().val(L("lcl_rap_please_wait"));
        $(inp).prop('disabled', true);
    }
    else // het is al een select
    {
        if ($(this).hasClass("_multi_select_toggle")) // 3e keer drukken weer gewoon input box
        {
            $(inp).replaceWith('<input class="fld" id="' + inp.name +'" name="' + inp.name +'">');
            $(this).removeClass('_multi_select_toggle');
        }
        else // 2e keer drukken maakt er een listbox van
        {   // scaffolding_search.inc heeft een live handler op deze class die een toggle naar multi-select doet
            $(this).addClass('_multi_select_toggle');
        }
    }
}

function process_worker_info(data)
{
    var inp = $("#" + data.distinct); // we krijgen de naam terug in data.distinct
    inp.replaceWith('<select id="{0}" name="{0}"></select>'.format(data.distinct));
    var sel = $("#" + data.distinct);
    var l = data.values.length;
    if (l > 0 && data.values[l-1][data.colname] === null)
        data.values.pop();
    if(data.values.length > 1)
        sel.append($('<option></option>').val("").text(L("lcl_shared_alle") + " " + data.values.length));
    for (var i = 0; i < data.values.length; i++)
    {
        var v = data.values[i][data.colname];
        sel.append($('<option></option>').val(v).text(v));
    }
}

// Voeg overal de autoselect toggles toe
$(function ()
{
    $("input.fld").after($("<img class='autoreport' src='../Pictures/comment.png'>")
                                .attr('title', L("lcl_usrrap_beware"))
                                .click(toggleInputSelect)
                        );
});
