/*  *  *  jQuery Timer plugin v0.1  *      Matt Schmidt [http://www.mattptr.net]  *  *  Licensed under the BSD License:  *      http://mattptr.net/license/license.txt  *  */    jQuery.timer = function (interval, callback)  {  /**   *   * timer() provides a cleaner way to handle intervals     *   * @usage   * $.timer(interval, callback);   *   *   * @example   * $.timer(1000, function (timer) {   *     alert("hello");   *     timer.stop();   * });   * @desc Show an alert box after 1 second and stop   *    * @example   * var second = false;   * $.timer(1000, function (timer) {   *     if (!second) {   *         alert('First time!');   *         second = true;   *         timer.reset(3000);   *     }   *     else {   *         alert('Second time');   *         timer.stop();   *     }   * });   * @desc Show an alert box after 1 second and show another after 3 seconds   *   *    */      var interval = interval || 100;      if (!callback)         return false;          _timer = function (interval, callback) {         this.stop = function () {             clearInterval(self.id);         };                  this.internalCallback = function () {             callback(self);         };                  this.reset = function (val) {             if (self.id)                 clearInterval(self.id);                          var val = val || 100;             this.id = setInterval(this.internalCallback, val);         };                  this.interval = interval;         this.id = setInterval(this.internalCallback, this.interval);                  var self = this;     };          return new _timer(interval, callback);  }; 