Обработчик onsubmit требует ответа немедленно, он не будет ждать, когда отработает ваша функция анимации. Первое, что пришло в голову:
var forcedSubmit = false;
$('form').submit(function() {
//* пора отправить форму
if(forcedSubmit) {
return true;
}
if(условие1) {
//* условие для отправки формы не выполняется
//* что-то делаем
}
...
//* тут целая куча ваших условий
...
else {
//* условие для отправки формы выполняется
$('div').fadeIn(5000, function() {
forcedSubmit = true;
$('form').submit();
});
}
return false;
});