author | hurons@caf4f556-3d62-0410-8435-a86758001935 |
Tue, 02 Feb 2010 15:44:16 +0000 | |
branch | wordpress |
changeset 132 | 4d4862461b8d |
parent 109 | 03b0d1493584 |
permissions | -rw-r--r-- |
132
4d4862461b8d
Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
109
diff
changeset
|
1 |
|
4d4862461b8d
Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
109
diff
changeset
|
2 |
(function($){$.scheduler=function(){this.bucket={};return;};$.scheduler.prototype={schedule:function(){var ctx={"id":null,"time":1000,"repeat":false,"protect":false,"obj":null,"func":function(){},"args":[]};function _isfn(fn){return(!!fn&&typeof fn!="string"&&typeof fn[0]=="undefined"&&RegExp("function","i").test(fn+""));};var i=0;var override=false;if(typeof arguments[i]=="object"&&arguments.length>1){override=true;i++;} |
4d4862461b8d
Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
109
diff
changeset
|
3 |
if(typeof arguments[i]=="object"){for(var option in arguments[i]) |
4d4862461b8d
Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
109
diff
changeset
|
4 |
if(typeof ctx[option]!="undefined") |
4d4862461b8d
Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
109
diff
changeset
|
5 |
ctx[option]=arguments[i][option];i++;} |
4d4862461b8d
Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
109
diff
changeset
|
6 |
if(typeof arguments[i]=="number"||(typeof arguments[i]=="string"&&arguments[i].match(RegExp("^[0-9]+[smhdw]$")))) |
4d4862461b8d
Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
109
diff
changeset
|
7 |
ctx["time"]=arguments[i++];if(typeof arguments[i]=="boolean") |
4d4862461b8d
Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
109
diff
changeset
|
8 |
ctx["repeat"]=arguments[i++];if(typeof arguments[i]=="boolean") |
4d4862461b8d
Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
109
diff
changeset
|
9 |
ctx["protect"]=arguments[i++];if(typeof arguments[i]=="object"&&typeof arguments[i+1]=="string"&&_isfn(arguments[i][arguments[i+1]])){ctx["obj"]=arguments[i++];ctx["func"]=arguments[i++];} |
4d4862461b8d
Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
109
diff
changeset
|
10 |
else if(typeof arguments[i]!="undefined"&&(_isfn(arguments[i])||typeof arguments[i]=="string")) |
4d4862461b8d
Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
109
diff
changeset
|
11 |
ctx["func"]=arguments[i++];while(typeof arguments[i]!="undefined") |
4d4862461b8d
Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
109
diff
changeset
|
12 |
ctx["args"].push(arguments[i++]);if(override){if(typeof arguments[1]=="object"){for(var option in arguments[0]) |
4d4862461b8d
Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
109
diff
changeset
|
13 |
if(typeof ctx[option]!="undefined"&&typeof arguments[1][option]=="undefined") |
4d4862461b8d
Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
109
diff
changeset
|
14 |
ctx[option]=arguments[0][option];} |
4d4862461b8d
Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
109
diff
changeset
|
15 |
else{for(var option in arguments[0]) |
4d4862461b8d
Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
109
diff
changeset
|
16 |
if(typeof ctx[option]!="undefined") |
4d4862461b8d
Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
109
diff
changeset
|
17 |
ctx[option]=arguments[0][option];} |
4d4862461b8d
Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
109
diff
changeset
|
18 |
i++;} |
4d4862461b8d
Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
109
diff
changeset
|
19 |
ctx["_scheduler"]=this;ctx["_handle"]=null;var match=String(ctx["time"]).match(RegExp("^([0-9]+)([smhdw])$"));if(match&&match[0]!="undefined"&&match[1]!="undefined") |
4d4862461b8d
Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
109
diff
changeset
|
20 |
ctx["time"]=String(parseInt(match[1])*{s:1000,m:1000*60,h:1000*60*60,d:1000*60*60*24,w:1000*60*60*24*7}[match[2]]);if(ctx["id"]==null) |
4d4862461b8d
Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
109
diff
changeset
|
21 |
ctx["id"]=(String(ctx["repeat"])+":" |
4d4862461b8d
Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
109
diff
changeset
|
22 |
+String(ctx["protect"])+":" |
4d4862461b8d
Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
109
diff
changeset
|
23 |
+String(ctx["time"])+":" |
4d4862461b8d
Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
109
diff
changeset
|
24 |
+String(ctx["obj"])+":" |
4d4862461b8d
Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
109
diff
changeset
|
25 |
+String(ctx["func"])+":" |
4d4862461b8d
Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
109
diff
changeset
|
26 |
+String(ctx["args"]));if(ctx["protect"]) |
4d4862461b8d
Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
109
diff
changeset
|
27 |
if(typeof this.bucket[ctx["id"]]!="undefined") |
4d4862461b8d
Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
109
diff
changeset
|
28 |
return this.bucket[ctx["id"]];if(!_isfn(ctx["func"])){if(ctx["obj"]!=null&&typeof ctx["obj"]=="object"&&typeof ctx["func"]=="string"&&_isfn(ctx["obj"][ctx["func"]])) |
4d4862461b8d
Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
109
diff
changeset
|
29 |
ctx["func"]=ctx["obj"][ctx["func"]];else |
4d4862461b8d
Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
109
diff
changeset
|
30 |
ctx["func"]=eval("function () { "+ctx["func"]+" }");} |
4d4862461b8d
Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
109
diff
changeset
|
31 |
ctx["_handle"]=this._schedule(ctx);this.bucket[ctx["id"]]=ctx;return ctx;},reschedule:function(ctx){if(typeof ctx=="string") |
4d4862461b8d
Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
109
diff
changeset
|
32 |
ctx=this.bucket[ctx];ctx["_handle"]=this._schedule(ctx);return ctx;},_schedule:function(ctx){var trampoline=function(){var obj=(ctx["obj"]!=null?ctx["obj"]:ctx);(ctx["func"]).apply(obj,ctx["args"]);if(typeof(ctx["_scheduler"]).bucket[ctx["id"]]!="undefined"&&ctx["repeat"]) |
4d4862461b8d
Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
109
diff
changeset
|
33 |
(ctx["_scheduler"])._schedule(ctx);else |
4d4862461b8d
Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
109
diff
changeset
|
34 |
delete(ctx["_scheduler"]).bucket[ctx["id"]];};return setTimeout(trampoline,ctx["time"]);},cancel:function(ctx){if(typeof ctx=="string") |
4d4862461b8d
Update Wordpress 2.9.1
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
109
diff
changeset
|
35 |
ctx=this.bucket[ctx];if(typeof ctx=="object"){clearTimeout(ctx["_handle"]);delete this.bucket[ctx["id"]];}}};$.extend({scheduler$:new $.scheduler(),schedule:function(){return $.scheduler$.schedule.apply($.scheduler$,arguments)},reschedule:function(){return $.scheduler$.reschedule.apply($.scheduler$,arguments)},cancel:function(){return $.scheduler$.cancel.apply($.scheduler$,arguments)}});$.fn.extend({schedule:function(){var a=[{}];for(var i=0;i<arguments.length;i++) |
109 | 36 |
a.push(arguments[i]);return this.each(function(){a[0]={"id":this,"obj":this};return $.schedule.apply($,a);});}});})(jQuery); |