function sendForm(htOptions){
        var sKey = "";
        var aFields = [];
        var aFormAttr = [];

        // create form with attributes (htOptForm)
        var htOptForm = htOptions.htOptForm || {"method":"post"};
        for(sKey in htOptForm){
            aFormAttr.push(sKey + '="' + htOptForm[sKey] + '"');
        }
        var sFormAttr = aFormAttr.join(" ");
        var welForm = $('<form action="' + htOptions.sURL + '" ' + sFormAttr + '>');

        // form fields
        var htData = htOptions.htData || {};
        for(sKey in htData){
            aFields.push($('<input type="hidden" name="' + sKey + '" value="' + htData[sKey] + '">'));
        }
        welForm.append(aFields);
        welForm.appendTo(document.body);

        // send form
        welForm.ajaxForm({
            "success" : function(){
                if(typeof htOptions.fOnLoad === "function"){
                    htOptions.fOnLoad.apply(this, arguments);
                }
                welForm.remove();
            },
            "error"   : function(){
                if(typeof htOptions.fOnError === "function"){
                    htOptions.fOnError.apply(this, arguments);
                }
                welForm.remove();
            },
            "dataType": htOptions.sDataType || null
        });

        welForm.submit();

        aFields = aFormAttr = sFormAttr = null;
    }
Send a request using $.ajaxForm
@param {Hash Table} htOptions
@param {String}        htOptions.sURL <form> action
@param {Hash Table} htOptions.htOptForm <form> attributes
@param {Hash Table} htOptions.htData data to send
@param {Function}   htOptions.fOnLoad callback function on load
@param {Function}   htOptions.fOnError callback function on error
@param {String}       htOptions.sDataType