//MooTools More, <http://mootools.net/more>. Copyright (c) 2006-2009 Aaron Newton <http://clientcide.com/>, Valerio Proietti <http://mad4milk.net> & the MooTools team <http://mootools.net/developers>, MIT Style License.
MooTools.More = {
    version: "1.2.4.2",
    build: "bd5a93c0913cce25917c48cbdacde568e15e02ef"
};
var Asset = {
    javascript: function (f, d) {
        d = $extend({
            onload: $empty,
            document: document,
            check: $lambda(true)
        }, d);
        var b = new Element("script", {
            src: f,
            type: "text/javascript"
        });
        var e = d.onload.bind(b),
            a = d.check,
            g = d.document;
        delete d.onload;
        delete d.check;
        delete d.document;
        b.addEvents({
            load: e,
            readystatechange: function () {
                if (["loaded", "complete"].contains(this.readyState)) {
                    e();
                }
            }
        }).set(d);
        if (Browser.Engine.webkit419) {
            var c = (function () {
                if (!$try(a)) {
                    return;
                }
                $clear(c);
                e();
            }).periodical(50);
        }
        return b.inject(g.head);
    },
    css: function (b, a) {
        return new Element("link", $merge({
            rel: "stylesheet",
            media: "screen",
            type: "text/css",
            href: b
        }, a)).inject(document.head);
    },
    image: function (c, b) {
        b = $merge({
            onload: $empty,
            onabort: $empty,
            onerror: $empty
        }, b);
        var d = new Image();
        var a = document.id(d) || new Element("img");
        ["load", "abort", "error"].each(function (e) {
            var f = "on" + e;
            var g = b[f];
            delete b[f];
            d[f] = function () {
                if (!d) {
                    return;
                }
                if (!a.parentNode) {
                    a.width = d.width;
                    a.height = d.height;
                }
                d = d.onload = d.onabort = d.onerror = null;
                g.delay(1, a, a);
                a.fireEvent(e, a, 1);
            };
        });
        d.src = a.src = c;
        if (d && d.complete) {
            d.onload.delay(1);
        }
        return a.set(b);
    },
    images: function (d, c) {
        c = $merge({
            onComplete: $empty,
            onProgress: $empty,
            onError: $empty,
            properties: {}
        }, c);
        d = $splat(d);
        var a = [];
        var b = 0;
        return new Elements(d.map(function (e) {
            return Asset.image(e, $extend(c.properties, {
                onload: function () {
                    c.onProgress.call(this, b, d.indexOf(e));
                    b++;
                    if (b == d.length) {
                        c.onComplete();
                    }
                },
                onerror: function () {
                    c.onError.call(this, b, d.indexOf(e));
                    b++;
                    if (b == d.length) {
                        c.onComplete();
                    }
                }
            }));
        }));
    }
};
