Vamos a ver, voy a copiar tu código y lo analizamos:
Código Javascript
:
Ver original<script type="text/javascript">
function rand(min, max){
var argc = arguments.length;
if(argc == 1){
min = 1;
max = 2147483647;
}else if(argc == 1){
return "Warning: rand() expects exactly 2 parameters, 1 given";
}
return Math.floor((Math.random() * (max - min + 1)) + min);
}
function change(){
aleatorio = rand(1, 29);
document.getElementById("back_change").rel = '../../css/backgrounds/' + aleatorio + '.css';
}
</script>
#2: A las funciones en las que el número de argumentos es variable no se les pasa ninguno (function rand()).
#6: ¿ max = 2147483647; ? Entonces no hace falta pasarle argumento, tendrías que llamarla como rand(), pero entonces habría 0 argumentos y no entraría en el if
#7: Si hay 1 argumento [...], si no y hay ¿1? . No tiene sentido.
#14: Si por defecto cuando sólo le pasas un argumento min es 1, ¿para qué le pasas 2?
#15: El rel de un elemento (aquí igual meto la pata xD) se usa para declarar qué relación tiene lo que va a traer ese elemento con el mismo. Ej: <link rel='stylesheet' ... />, porque lo que va a traer el link es una hoja de estilos. Por tanto no tiene sentido usar el rel para modificar la url, usa href porque me imagino que será un link.
Saludos (: