new object pluginset
[unfold.git] / engine / static / js / onavail.js
diff --git a/engine/static/js/onavail.js b/engine/static/js/onavail.js
new file mode 100644 (file)
index 0000000..57ef552
--- /dev/null
@@ -0,0 +1,18 @@
+onavail_debug=true;
+
+function onFunctionAvailable(sMethod, oCallback, oObject, bScope) {
+    if (eval('typeof ' + sMethod) == 'function') {
+       if (onavail_debug) console.log("onFunctionAvailable, running");
+        bScope ? oCallback.call(oObject) : oCallback(oObject);
+    } else { 
+       if (onavail_debug) console.log("onFunctionAvailable, delaying for 50 ms");
+        setTimeout(function () {onFunctionAvailable(sMethod, oCallback, oObject, bScope);}, 50);
+    }
+}       
+function onObjectAvailable(sMethod, oCallback, oObject, bScope) {
+    if (eval('typeof ' + sMethod) == 'object') {
+        bScope ? oCallback.call(oObject) : oCallback(oObject);
+    } else {
+        setTimeout(function () {onObjectAvailable(sMethod, oCallback, oObject, bScope);}, 50);
+    }
+}