$(function () {
    var form = $('#feedbackForm');
    form.find('input[type=submit]').click(function () {
        // Remove error class
        form.find('input, textarea').removeClass('error');

        var valid = true;

        var name = form.find('input[name=name]');
        if (!validatorIsName(name.val())) {
            name.addClass('error');
            valid = false;
        }

        var email = form.find('input[name=email]');
        var phone = form.find('input[name=phone]');
        if (!validatorIsEmail(email.val()) && !validatorIsPhone(phone.val())) {
            email.addClass('error');
            valid = false;
        }
        if (!validatorIsPhone(phone.val()) && !validatorIsEmail(email.val())) {
            phone.addClass('error');
            valid = false;
        }

        var text = form.find('textarea[name=text]');
        if (!validatorMinLength(text.val(), 5)) {
            text.addClass('error');
            valid = false;
        }

        if (valid) {
            $.post(form.attr('action'), form.serialize(), function (obj) {
                if (obj.success == '1') {
                    form.each(function () {
                        this.reset();
                    });
                    $('#message').show();
                    $('#captcha_error').html('');
                    $('#img_captcha').remove();
                    $('.captcha_img').prepend(obj.image);
                } else {
                    if (obj.type === 'captcha') {
                        $('#img_captcha').remove();
                        $('.captcha_img').prepend(obj.image);
                        $('#captcha_error').html('<p class="error">' + obj.message + '</p>');
                    }
                }
                if (obj.hash) {
                    form.find('input[name="hash"]').remove();
                    form.append(obj.hash);
                }
            });
        }

        return false;
    });
});