/*
     $Revision$
     $Id$

     File:          fac_report.js
*/

function toggleInputSelect()
{
    var $inp = $(this).prev("INPUT");
    if ($inp.length == 1)
    {   // 1e keer drukken maakt er een listbox van
        var inp = $inp[0];
        if ($(inp).hasClass("pinned"))
        {
            $(inp).val(""); // De gepinde waarde verwijderen zodat de hele lijst met waarden weer wordt opgehaald.
        }
        $.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 een DIV die er door de multiSelectToggle omheen is gezet
    {
        var inp = $(this).prev().find("select")[0];
        $(this).prev().replaceWith('<input class="fld" id="' + inp.name +'" name="' + inp.name +'">');
    }
}

function process_worker_info(data)
{
    var inp = $("#" + data.distinct); // we krijgen de naam terug in data.distinct
    inp.replaceWith('<select id="{0}" class="reportmulti" 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));
    }
    sel.multiSelectToggle();

}

// Voeg overal de autoselect toggles toe
$(function ()
{
    $("input.fld").after($("<i class='autoreport fa fa-comment fa-lg'>&nbsp;</i>")
                                .attr('title', L("lcl_usrrap_beware"))
                                .click(toggleInputSelect)
                        );
    $("select.pinned").after($("<i class='autoreport fa fa-comment fa-lg'>&nbsp;</i>")
                                .attr('title', L("lcl_usrrap_beware"))
                                .click(toggleInputSelect)
                        );

});
