
var ajaxSessionQueryString = '';

/*--- AJAX - user search ---*/

var us_search_pole_id = '';
var us_search_option0_text = '';

function us_search_install()
{
    var buttons = getTags('button');
    for (var i = 0; i < buttons.length; i++)
        if (buttons[i].id.substring(0, 10) == 'button_us_')
        {
            buttons[i].onclick_pole_id = buttons[i].id.substring(10);
            buttons[i].onclick = us_search;

            pole_user = new getObj('us_user_' + buttons[i].id.substring(10)).obj;
            pole_user.onkeydown = us_catchenter;
        }
}

function us_search(e)
{
    if (!e)
        var e = window.event;
    var tg;
    if (e && e.target) tg = e.target;
    else if (e && e.srcElement) tg = e.srcElement;

    var pole_id = tg.onclick_pole_id;

    if (us_search_pole_id != '')
    {
        alert("Proszę czekać na zakończenie aktualnego wyszukiwania.");
        return;
    }
    us_search_pole_id = pole_id;

    //----------------------------------------------------------------

    advAJAX.get(
        {
            url: "us_search.php",

            parameters:
                {
                    "type": "users",
                    "filtr": new getObj(pole_id + '_fx').obj.value,
                    "user": new getObj('us_user_' + pole_id).obj.value
                },

            queryString: ajaxSessionQueryString,

            onSuccess: function(obj)
                       {
                           process_us_xml(obj.responseXML);
                       },

            onError: function(obj)
                     {
                         alert("Błąd HTTP: #" + obj.status);
                     },

            onInitialization: init_us_search,

            onFinalization: done_us_search
        }
               );
}

function init_us_search()
{
    var pole_select = new getObj(us_search_pole_id).obj;

    pole_select.disabled = true;
    new getObj('button_us_' + us_search_pole_id).obj.disabled = true;

    us_search_option0_text = pole_select.options[0].text;
    pole_select.options[0].text = '--- TRWA WYSZUKIWANIE... ---';

    while (pole_select.hasChildNodes())
        pole_select.removeChild(pole_select.lastChild);

    pole_select.options[0] = new Option('--- TRWA WYSZUKIWANIE... ---', '0');
}

function done_us_search()
{
    var pole_select = new getObj(us_search_pole_id).obj;
    pole_select.disabled = false;
    pole_select.options[0].text = us_search_option0_text;
    new getObj('button_us_' + us_search_pole_id).obj.disabled = false;
    us_search_pole_id = '';
}

function process_us_xml(xmlDoc)
{
    var pole_select = new getObj(us_search_pole_id).obj;

    //----------------------------------------------------------------

    var x = xmlDoc.getElementsByTagName('user');
    for (i = 0; i < x.length; i++)
    {
        id = x[i].getAttribute("id");
        if (x[i].childNodes[0].childNodes.length > 0)
            nazwa = x[i].childNodes[0].firstChild.nodeValue;
        else
            nazwa = x[i].childNodes[1].firstChild.nodeValue;

        oOption = document.createElement('OPTION');
        pole_select.appendChild(oOption);
        oOption.text = nazwa;
        oOption.value = id;
    }
}

function us_catchenter(e)
{
    if (!e) e=window.event;
    if (e.target) var tg = e.target;
    else if (e.srcElement) var tg = e.srcElement;

    if (e.keyCode != 13)
        return true;

    var sim_event = new Object();
    sim_event.target = new getObj('button_us_' + tg.id.substring(8)).obj;
    us_search(sim_event);

    return false;
}

/*--- AJAX - docfd search ---*/

var docfd_search_galaz_id = -1;

function docfd_search(galaz_id)
{
    if (docfd_search_galaz_id == galaz_id)
        return true;

    if (docfd_search_galaz_id != -1)
    {
        alert("Proszę czekać na zakończenie wczytywania poprzedniej listy.");
        return false;
    }
    docfd_search_galaz_id = galaz_id;

    //----------------------------------------------------------------

    advAJAX.get(
        {
            url: "us_search.php",

            parameters:
                {
                    "type": "docfd",
                    "id_galaz": galaz_id
                },

            queryString: ajaxSessionQueryString,

            onSuccess: function(obj)
                       {
                           var doclist = new getObj('userlist' + docfd_search_galaz_id).obj;
                           doclist.innerHTML = obj.responseText;
                           doclist.loaded = 1;
                       },

            onError: function(obj)
                     {
                         var doclist = new getObj('userlist' + docfd_search_galaz_id).obj;
                         doclist.innerHTML = "<a class=\"ajax_info\">Błąd HTTP: #" + obj.status + "</a>";
                     },

            onFinalization: function()
                            {
                                docfd_search_galaz_id = -1;
                            }
        }
               );

    return true;
}

function docfd_bip_search(galaz_id)
{
    if (docfd_search_galaz_id == galaz_id)
        return true;

    if (docfd_search_galaz_id != -1)
    {
        alert("Proszę czekać na zakończenie wczytywania poprzedniej listy.");
        return false;
    }
    docfd_search_galaz_id = galaz_id;

    //----------------------------------------------------------------

    advAJAX.get(
        {
            url: "us_search.php",

            parameters:
                {
                    "type": "docfd_bip",
                    "id_galaz": galaz_id
                },

            queryString: ajaxSessionQueryString,

            onSuccess: function(obj)
                       {
                           var doclist = new getObj('userlist' + docfd_search_galaz_id).obj;
                           doclist.innerHTML = obj.responseText;
                           doclist.loaded = 1;
                       },

            onError: function(obj)
                     {
                         var doclist = new getObj('userlist' + docfd_search_galaz_id).obj;
                         doclist.innerHTML = "<a class=\"ajax_info\">Błąd HTTP: #" + obj.status + "</a>";
                     },

            onFinalization: function()
                            {
                                docfd_search_galaz_id = -1;
                            }
        }
               );

    return true;
}

/*--- AJAX - ksiazka adresowa search ---*/

var ksiazka_search_wydzial_id = -2;

function ksiazka_search(wydzial_id)
{
    if (ksiazka_search_wydzial_id == wydzial_id)
        return true;

    if (ksiazka_search_wydzial_id != -2)
    {
        alert("Proszę czekać na zakończenie wczytywania poprzedniej listy.");
        return false;
    }
    ksiazka_search_wydzial_id = wydzial_id;

    //----------------------------------------------------------------

    advAJAX.get(
        {
            url: "us_search.php",

            parameters:
                {
                    "type": "ksiazka",
                    "id_wydzial": wydzial_id
                },

            queryString: ajaxSessionQueryString,

            onSuccess: function(obj)
                       {
                           var userlist = new getObj('userlist' + ksiazka_search_wydzial_id).obj;
                           userlist.innerHTML = obj.responseText;
                           userlist.loaded = 1;
                       },

            onError: function(obj)
                     {
                         var userlist = new getObj('userlist' + ksiazka_search_wydzial_id).obj;
                         userlist.innerHTML = "<a class=\"ajax_info\">Błąd HTTP: #" + obj.status + "</a>";
                     },

            onFinalization: function()
                            {
                                ksiazka_search_wydzial_id = -2;
                            }
        }
               );

    return true;
}

