summaryrefslogtreecommitdiff
path: root/js/images.js
diff options
context:
space:
mode:
authorjules <jules@okfoc.us>2013-12-16 17:14:36 -0500
committerjules <jules@okfoc.us>2013-12-16 17:14:36 -0500
commit7757dbbde59050b9c6e0630c1e9d49a3967ec115 (patch)
treea9e913bcf3a53896c6c844304bb3c00221693384 /js/images.js
parent448f24787e7fefa01c4689cb1b163933e483f789 (diff)
split out image ajax utility
Diffstat (limited to 'js/images.js')
-rw-r--r--js/images.js47
1 files changed, 47 insertions, 0 deletions
diff --git a/js/images.js b/js/images.js
new file mode 100644
index 0000000..ffb7dad
--- /dev/null
+++ b/js/images.js
@@ -0,0 +1,47 @@
+function loadImage(imageURL, callback) {
+ var imageURL = proxify( imageURL );
+
+ window.gif = window.img = null
+
+ if (imageURL.substr(-3) === "gif") {
+ window.gif = GIF(imageURL);
+ // gif.on("error", tryToLoadNextImage);
+ // gif.on("rendered", trackLoadTime);
+ gif.on("rendered", callback);
+ return gif.render();
+ } else {
+ window.img = new Image();
+ // img.addEventListener("error", tryToLoadNextImage);
+ img.addEventListener("load", callback);
+ img.crossOrigin = "anonymous";
+ return img.src = imageURL;
+ }
+}
+
+function giveImage(t) {
+ if (window.gif) {
+ return gif.frames[gif.currentFrame(t)];
+ } else {
+ return img;
+ }
+}
+
+function proxify (url) {
+ if (url.indexOf("http") == 0)
+ return "/cgi-bin/proxy?" + url // .replace(/^https?:\/\//, "");
+ else
+ return url
+}
+
+function filesize(n) {
+ if (n < 1e3) return n + " bytes"
+ if (n < 1e6) return decimalString(n/1e3) + " kb"
+ if (n < 1e9) return decimalString(n/1e6) + " mb"
+ return "WAY TOO BIG DUDE"
+}
+function decimalString(n){
+ var m = Math.floor(n);
+ return m + "." + Math.round((n-m)*10)
+}
+
+