Hola:
java es diferente a javscript... procura no confundirnos.
Veo que loading es a la vez el id de algún tag, y explorer reconoce como elemento un elemento que con ese id (es complejo y difícil de explicar...=
Donde pones:
Código:
var loading = document.getElementById("loading");
... cambia el nombre a la variable o al tag que puedes confundir al navegador.
El métod split en javascript, se aplica a las variables y las convierte en cadenas (supongo que es lo que piensas)...
Algo que pienso que puede estar mal es declarar variables dentro de un método, ya que se restringe su "visibilidad"
Saludos