setTimeout's function / expression argument is treated as a string which is evaluated when the timeout expires. This has 2 consequences:<br>* you can't directly pass an object as an argument to a function which is called by setTimeout.<br>* getting the punctuation right is a pain, especially if part(s) of the argument(s) to the called function are quoted string(s). This is why you can wind up with mixtures of single quotes and double quotes (usually double quotes for the strings which define the function / expression argument and single quotes for the strings you actually want to pass to the called function).<br><br>I often do the following to check that I've got the punctuation right:<br>* build the function / expression argument in a local variable.<br>* use alert to display the local variable. This allows me to see whether the call I'm generating is the call I want.<br>* pass setTimeout the variable as its function / expression argument.<br>* comment out the alert when it's working.<br><br>For example:<br> var X = "function_name(...........)";<br> alert(X);<br> setTimeout(X, interval);<br>