Еще можно добавить, что для передачи параметров в функцию, выполняющуюся по тайм-ауту, или интервалу, обычно используют такую конструкцию:
function a(s1, s2) {
alert([s1, s2]);
}
function b() {
var b = "somestring2";
setTimeout(function() { a("somestring", b) }, 1000);
}
b();
Главное следить за областью видимости, т.е чтобы переменные, перадаваемые как параметры, находились в локальной области видимости при вызове setTimeout/setInterval. (Поэтому я положил вызов тайм-аута в функцию b(), конечно вызов может быть и в общей программе, но тогда переменная получится глобальной).