--- /dev/null
+\feff/*
+ *
+ * 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);
+ };
\ No newline at end of file