I'm trying to make a small script where the screen will randomly change it's background color every 100ms, and you can toggle this on and off by pressing a single button. I can get it to start, but I can't get it to stop.
Here is the main code for toggling:
var on = -1;
function change() {
    on = on*-1;
    if (on == true) {
        var light = window.setInterval(disco,100);
    }
    else {
        window.clearInterval(light);
    }
}
disco is the function that changes the background color. 
I've tried many different variations of this, but I think this is the closest I've gotten. Clicking the button now only set's another interval, despite the on variable correctly switching between 1 and -1. Am I not using clearInterval properly?
The full JSFiddle is here: http://jsfiddle.net/VZdk9/
I'm trying to practice JavaScript, so no jQuery please :)
 
     
     
    