View file Mememaker 2.0/ragecomic/scripts/jquery.getimagedata.min.js

File size: 5.34Kb
/*
 *
 *  jQuery $.getImageData Plugin 0.3
 *  http://www.maxnov.com/getimagedata
 *  
 *  Written by Max Novakovic (http://www.maxnov.com/)
 *  Date: Thu Jan 13 2011
 *
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 *  
 *  Includes jQuery JSONP Core Plugin 2.1.4
 *  http://code.google.com/p/jquery-jsonp/
 *  Copyright 2010, Julian Aubourg
 *  Released under the MIT License.
 * 
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 *  
 *  Copyright 2011, Max Novakovic
 *  Dual licensed under the MIT or GPL Version 2 licenses.
 *  http://www.maxnov.com/getimagedata/#license
 * 
 */ (function (c, g) {
    function n() {}
    function o(a) {
        s = [a]
    }
    function e(a, j, k) {
        return a && a.apply(j.context || j, k)
    }
    function h(a) {
        function j(b) {
            !l++ && g(function () {
                p();
                q && (t[d] = {
                    s: [b]
                });
                z && (b = z.apply(a, [b]));
                e(a.success, a, [b, A]);
                e(B, a, [a, A])
            }, 0)
        }
        function k(b) {
            !l++ && g(function () {
                p();
                q && b != C && (t[d] = b);
                e(a.error, a, [a, b]);
                e(B, a, [a, b])
            }, 0)
        }
        a = c.extend({}, D, a);
        var B = a.complete,
            z = a.dataFilter,
            E = a.callbackParameter,
            F = a.callback,
            R = a.cache,
            q = a.pageCache,
            G = a.charset,
            d = a.url,
            f = a.data,
            H = a.timeout,
            r, l = 0,
            p = n;
        a.abort = function () {
            !l++ && p()
        };
        if (e(a.beforeSend, a, [a]) === false || l) return a;
        d = d || u;
        f = f ? typeof f == "string" ? f : c.param(f, a.traditional) : u;
        d += f ? (/\?/.test(d) ? "&" : "?") + f : u;
        E && (d += (/\?/.test(d) ? "&" : "?") + encodeURIComponent(E) + "=?");
        !R && !q && (d += (/\?/.test(d) ? "&" : "?") + "_" + (new Date).getTime() + "=");
        d = d.replace(/=\?(&|$)/, "=" + F + "$1");
        q && (r = t[d]) ? r.s ? j(r.s[0]) : k(r) : g(function (b, m, v) {
            if (!l) {
                v = H > 0 && g(function () {
                    k(C)
                }, H);
                p = function () {
                    v && clearTimeout(v);
                    b[I] = b[w] = b[J] = b[x] = null;
                    i[K](b);
                    m && i[K](m)
                };
                window[F] = o;
                b = c(L)[0];
                b.id = M + S++;
                if (G) b[T] = G;
                var O = function (y) {
                        (b[w] || n)();
                        y = s;
                        s = undefined;
                        y ? j(y[0]) : k(N)
                    };
                if (P.msie) {
                    b.event = w;
                    b.htmlFor = b.id;
                    b[I] = function () {
                        /loaded|complete/.test(b.readyState) && O()
                    }
                } else {
                    b[x] = b[J] = O;
                    P.opera ? (m = c(L)[0]).text = "jQuery('#" + b.id + "')[0]." + x + "()" : b[Q] = Q
                }
                b.src = d;
                i.insertBefore(b, i.firstChild);
                m && i.insertBefore(m, i.firstChild)
            }
        }, 0);
        return a
    }
    var Q = "async",
        T = "charset",
        u = "",
        N = "error",
        M = "_jqjsp",
        w = "onclick",
        x = "on" + N,
        J = "onload",
        I = "onreadystatechange",
        K = "removeChild",
        L = "<script/>",
        A = "success",
        C = "timeout",
        P = c.browser,
        i = c("head")[0] || document.documentElement,
        t = {},
        S = 0,
        s, D = {
            callback: M,
            url: location.href
        };
    h.setup = function (a) {
        c.extend(D, a)
    };
    c.jsonp = h
})(jQuery, setTimeout);
(function (c) {
    c.getImageData = function (a) {
        var f = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/;
        if (a.url) {
            var g = location.protocol === "https:",
                e = "";
            e = a.server && f.test(a.server) && a.server.indexOf("https:") && (g || a.url.indexOf("https:")) ? a.server : "//img-to-json.appspot.com/?callback=?";
            c.jsonp({
                url: e,
                data: {
                    url: escape(a.url)
                },
                dataType: "jsonp",
                timeout: 1E4,
                success: function (b) {
                    var d = new Image;
                    c(d).load(function () {
                        this.width = b.width;
                        this.height = b.height;
                        typeof a.success == typeof Function && a.success(this)
                    }).attr("src", b.data)
                },
                error: function (b, d) {
                    typeof a.error == typeof Function && a.error(b, d)
                }
            })
        } else typeof a.error == typeof Function && a.error(null, "no_url")
    }
})(jQuery);