Hola:
Vayamos por partes... ¿el chequeo del login se hace en el propio index.php... o lo haces con otra página...?
Si es a otra página, tienes que no solo volver al index, sino pasarle información para saber si se ha producido un error, y para eso una buena técnica sería usar variables de sesiones, y el retorno hacerlo siempre con el header php...
session_start();
//.... chequeo del login devuelto en $errorLogin
$_SESSION["error"] = $errorLogin;
header("Location: index.php");
Luego en el index se pone la alerta si se ha producido ese error de login.
Si no hay página de chequeo (o sea que se chequea en el mismo index.php) ya no sería necesario el header, y simplemente mostrar esa alerta, tal como la tienes...
En ambos casos la página index.php, debería tener en el head algo así:
<?
if ($errorLogin) echo <<< mostrarErrorLogin
window.onload = function() {alert("Error en usuario o contraseña...")}
mostrarErrorLogin;
?>
Si al final parece que la solución depende más de php que de javascript.
Saludos