$(function() {
    $('#callback-form').css({borderBottom: 'none'});

    $('#callback-form .collapse').live('click', function() {
        $(this)
               .parent().css({borderBottom: 'none'})
               .children('form').slideUp('fast');
        $(this).removeClass('collapse').addClass('expand');
    });
    $('#callback-form .expand').live('click', function() {
        $(this).removeClass('expand').addClass('collapse');
        $(this)
               .parent().css({borderBottom: '5px solid #D4DADC'})
               .children('form').slideDown('fast');
    });
    $('#callback-form h4 a').click(function() {
        $(this).parent().click();
        return false;
    });

    $('#callback-form').submit(function() {
        var valid = true;
        $('#callback-form input, #callback-form textarea').each(function() {
            if (valid && ($(this).val() == 'Это поле обязательно для заполнения')) {
                alert('Вы не заполнили форму!');
                valid = false;
            }
        });
        if (valid) {
            $.post('/feedback/submit', $(this).find('form').serialize(), function(result) {
                if ($(result).hasClass('callback-thanks')) {
                    $('#callback-form form').replaceWith($(result));
                }
                else {
                    $(result).find('.error_list').each(function() {
                        var field_id = $(this).parent().find('input, textarea').attr('id');
                        var message = $(this).find('li').text();

                        $('#'+field_id).addClass('error').val(message);
                    });
                }
            });
        }

        return false;
    });

    $('#callback-form #close').live('click', function() {
        $('#callback-form .callback-thanks').slideUp('fast', function() {
            $('#callback-form .collapse').removeClass('collapse').addClass('expand');
        }).parent().css({borderBottom: 'none'});

       return false;
    });

    $('#callback-form .error').live('focus', function() {
        $(this).removeClass('error').val('');
    });
});  
