/**
 * Tworzy instancję klasy FormSender
 * Zaleca się aby formularz opakowany był w jakiś element np. div
 * zwłaszcza w przypadku, kiedy nieznany jest element docelowy.
 *
 * @version 1.00
 */

formDestSender = {

    formularz : null,
    formInner : null,

    send:
    function(formId, sendButton, dest) {

        //        alert('Wykonywanie konstruktora.');
        
        /* zmienne obiektowe */
//        var instance = this;
        var form = el(formId);

        this.formularz = form;
        this.formInner = form.innerHTML;
//        alert("Wysłaniem: " + this.formInner);

        var target = dest ? dest : form.parentElement;
        var action = form.action;
        var method = form.method;

        if (form.onsubmit) if (!form.onsubmit()) return;

        var params = "";
        for (var n = 0; n < form.elements.length; n++) {
            var input = form[n];
            
//            input.disabled = true;
            if ( input.name && ( input.type != 'button'
                              && input.type != 'reset'
                              || input == sendButton)) {
                
                if (params.length) params += "&";
                params += input.name + "=" + input.value;
            }
            
        }
        

        var sender = new DestSender(target, method);
        sender.listener = this.listener;
        form.innerHTML =
            '<h3>Trwa wysyłanie danych</h3>';
        sender.send(action, null, params);

    },

    listener:
    function(txt, xml, sender) {
        if (!xml) {
            formDestSender.formularz.innerHTML = formDestSender.formInner;
            return false;
        }
        else {
            return true;
        }
    }

}
