jQuery.timer = function (interval, callback)
{
       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);
};
