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.