/**
 * @author Denis Barushev <barushev@gmail.com>
 * @since 08.10.2008
 */

function clearErrors() {
    $('form div.error').hide();
    $('form tr.error').removeClass('error');
}

function addError(el) {
    $(el).parents('tr:first').addClass('error');
}

function feedbackFormSubmit(frm) {

    clearErrors();
    var hasErrors = false;

    $('textarea[name=body]', frm).each( function() {
        if ( this.value.match(/^\s*$/) ) {
            addError(this);
            hasErrors = true;
        }
    } );

    $('input[name=sender]', frm).each( function () {
        if ( this.value.match(/^\s*$/) ) {
            addError(this);
            hasErrors = true;
        }
    } );

    $('input[name=phone]', frm).each( function () {
        if ( this.value.match(/^\s*$/) ) {
            addError(this);
            hasErrors = true;
        }
    } );

    $('input[name=email]', frm).each( function () {
        if ( !this.value.match(/^[a-z0-9_\-\.]+@([a-z0-9_\-]+\.)+[a-z]{2,5}$/i) ) {
            addError(this);
            hasErrors = true;
        }
    } );

    $('input[name=captcha]', frm).each( function () {
        if ( this.value.match(/^\s*$/) ) {
            addError(this);
            hasErrors = true;
        }
    } );

    if ( hasErrors ) {
        $('form div.error').show();
    }

    return !hasErrors;
}

$(function () {

    $('#send_message').submit(
        function () {
            return feedbackFormSubmit(this);
        }
    );

});
