jQuery.fn.extend({"everyTime":function(n,t,i,r){return this.each(function(){jQuery.timer.add(this,n,t,i,r)})},"oneTime":function(n,t,i){return this.each(function(){jQuery.timer.add(this,n,t,i,1)})},"stopTime":function(n,t){return this.each(function(){jQuery.timer.remove(this,n,t)})}});jQuery.extend({"timer":{"global":[],"guid":1,"dataKey":"jQuery.timer","regex":/^([0-9]+(?:\.[0-9]*)?)\s*(.*s)?$/,"powers":{"ms":1,"cs":10,"ds":100,"s":1e3,"das":1e4,"hs":1e5,"ks":1e6},"timeParse":function(n){var t,i,r;if(n==undefined||n==null)return null;t=this.regex.exec(jQuery.trim(n.toString()));if(t[2]){i=parseFloat(t[1]);r=this.powers[t[2]]||1;return i*r}return n},"add":function(n,t,i,r,u){var o=0,f,e;if(jQuery.isFunction(i)){u||(u=r);r=i;i=t}t=jQuery.timer.timeParse(t);if(typeof t=="number"&&!isNaN(t)&&!(t<0)){(typeof u!="number"||isNaN(u)||u<0)&&(u=0);u=u||0;f=jQuery.data(n,this.dataKey)||jQuery.data(n,this.dataKey,{});f[i]||(f[i]={});r.timerID=r.timerID||this.guid++;e=function(){(++o>u&&u!==0||r.call(n,o)===false)&&jQuery.timer.remove(n,i,r)};e.timerID=r.timerID;f[i][r.timerID]||(f[i][r.timerID]=window.setInterval(e,t));this.global.push(n)}},"remove":function(n,t,i){var r=jQuery.data(n,this.dataKey),u,i;if(r){if(t){if(r[t]){if(i){if(i.timerID){window.clearInterval(r[t][i.timerID]);delete r[t][i.timerID]}}else for(i in r[t]){window.clearInterval(r[t][i]);delete r[t][i]}for(u in r[t])break;if(!u){u=null;delete r[t]}}}else for(t in r)this.remove(n,t,i);for(u in r)break;u||jQuery.removeData(n,this.dataKey)}}}});jQuery(window).bind("unload",function(){jQuery.each(jQuery.timer.global,function(n,t){jQuery.timer.remove(t)})})