Ma tu non devi usare il setTimeout("toglicaricamento()",3000);

io l'ho usato solo perche senno vedevi subito la pagina senza il div rosso.... perche in locale e senza caricare niente il pc è troppo veloce tu prova a usare

<script>toglicaricamento();</script>

Posto proprio prima della chiusura del body.

Quello che fa è quello di nascondere il div di caricamento alla fine,dovrebbe bastare cosi.