/**
 * Ajax-Validating with Zend Framework and JQuery
 *
 * Code extended to support multiple forms in one page.
 *
 * based on http://kristofdreier.de/268/live-validierung-mit-dem-zend-framework-und-jquery
 * @author Kristof Dreier
 * @author Benjamin Steininger
 */

/* Used on form.zend_form input/select/textarea for real-time validation */
$(document).ready(function() {
    $.each($('form.zend_form input,' +
             'form.zend_form textarea,' +
             'form.zend_form select'), function (key, element) {
        $(element).keydown(function (event) {
            timeoutFunction('validateForm', element.name, 100);
        });
    });
});

function validateForm(name) {
    formName = "#"+name;
    if (!(data = $(formName).val())) {
        data = '';
    }
    zendFormName = $('form:has(' + formName + ')').attr('id');
    $.post(
        "/ajax/validate/"+zendFormName,
        name+"="+data,
        function (json) {
            if (json != true) {
                $(formName).next('ul.errors').remove();
                $(formName).after(json[name]);
            } else {
                $(formName).next('ul.errors').remove();
            }
        },
        "json"
    );
}

var timeout = null;

function timeoutFunction(functionName, name, time) {
    clearTimeout(timeout);
    eval('timeout = setTimeout("'+functionName+'(\''+name+'\')", '+time+')');
}

