Debspain:
Bueno, el problema es que estás usando la sintaxis incorrecta.
Aunque a primera vista, parece que "document.body.background=bg" debiera funcionar, tienes tres errores.
Me parece que estás cambiando los estilos para IE, deberías acceder al objeto así
Código:
document.body.style.background
Y aquí el segundo error: la variable "bg" tiene un string que representa la imagen. Pero en tu declaración de estilo no pones esta string así nada más, sino que la pones dentro de "url()". Debes conservar esa sintaxis.
Código:
//El parametro de background es una string, así que
//concatenamos la variable para obtener el parámetro correcto
document.body.style.background = "url(" + bg + ")";
Y aunque lo anterior es sintacticamente correcto, te producirá un comportamiento no deseado, ya que background espera cambiar 5 propiedades. Al mandarle sólo uno, reseteará las demás.
Por lo tanto, debería quedar así, para mantener el estilo que definiste:
Código:
document.body.style.background: "black url('" + bg +"') no-repeat fixed left bottom";
O mejor aún sólo cambia la imagen con "backgrundImage"
Código:
document.body.style.backgroundImage = "url(" + bg + ")";
Espero que te sirva esta explicación. Saludos.