I am calling this function
function drawLayers() {
//setTimeout(drawBlueSky,500);
//setTimeout(drawCircle1,1250);
setTimeout(drawMoon,800);
You can define a var corresponding to your setTimeout
and then clear it if you want to cancel the timeout.
For instance:
// set a timeout
timer = setTimeout("testtimeout()",3000);
// clear the timeout
clearTimeout(timer);
You can wrap all your timeouts within an array and loop over the array to cancel every timeout
[EDIT] seems like Exelian's answer is quite cleaner and more adapted to your code