var PopupForm = window.__PForm = function(id) {
    var $form = $(document.getElementById(id));
    if ($form.length) {
        this.__formHTML = $form.html();
        $form.remove();
    }
}
PopupForm.prototype = {
    showForm: function() {
        if (this.__formHTML != '') {
            window.__page.showPopupMessage(this.__formHTML,true);
            this.setupForm();
        }
        return false;
    },
    setupForm: function() {
        var self = this;
        this.form = $('.popup-form form').submit(function() { return false; });
        $('.submit span',this.form).click(function() {
            self.submitForm();
            return false;
        });

    },
    submitForm: function() {
        var self = this;
        var params = this.form.serializeArray();
        params.push({name: '_action', value: 'form'});
        $.post('/ajax/',params,function(xml) {self.parseFormResponse(xml)},'xml');
    },
    parseFormResponse: function(xml) {
        var successXML = xml.getElementsByTagName('success')[0];
        if (successXML) {
            var content = _getTextContent(successXML.getElementsByTagName('html')[0]);
            this.form.parent().empty().append($el('div').addClass('text').html(content));
            window.setTimeout(window.closePopup, 3000);
        } else {
            var errorsXML = xml.getElementsByTagName('errors')[0];
            if (errorsXML) {
                $(".error", this.form).removeClass("error");
                var attrs = errorsXML.getElementsByTagName('attr');
                for (var i = 0; i < attrs.length; i ++) {
                    $("."+attrs[i].getAttribute('name'),this.form).addClass('error');
                }
            }
        }
    }
}
