(function (window, $) {
// $('img.photo',this).imagesLoaded(myFunction)
// execute a callback when all images have loaded.
// needed because .load() doesn't work on cached images
// mit license. paul irish. 2010.
// webkit fix from Oren Solomianik. thx!
// callback function is passed the last image to load
//   as an argument, and the collection as `this`

$.fn.imagesLoaded = function(callback) {
    var elems = this,
        checklist = [],
        blank = "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==";

    elems.bind('load', function() {
        var src = this.src, i;
        if (this.src === blank) {
            return;
        }
        i = $.inArray(src, checklist);
        if (i === -1) {
            return;
        }
        checklist.splice(i, 1);
        if (checklist.length <= 0) {
            callback.call(elems, this);
        }
    }).each(function() {
        var src = this.src;
        checklist.push(src);
        // cached images don't fire load sometimes, so we reset src.
        if (this.complete || this.complete === undefined) {
            // webkit hack from http://groups.google.com/group/jquery-dev/browse_thread/thread/eee6ab7b2da50e1f
            // data uri bypasses webkit log warning (thx doug jones)
            this.src = blank;
            this.src = src;
        }
    });

    return this
}
}(window, jQuery));

// LCA
(function (window, $) {
    var setTimeout = window.setTimeout
      , clearTimeout = window.clearTimeout;

// page ready
function init() {
    $('html').addClass('loaded');
}

// DOM ready
$(function ($) {
    // Preload images.
    /*
    (function () {
        var timeout;

        $('#preload-images').imagesLoaded(function () {
            if (typeof timeout !== 'undefined') {
                clearTimeout(timeout);
            }
            init();
        });

        timeout = setTimeout(init, 0);
    }());
    */
    init()
});
}(window, jQuery));


