﻿/*! * jQuery imagesLoaded plugin v1.0.4 * http://github.com/desandro/imagesloaded * * MIT License. by Paul Irish et al. */
(function ($, undefined)
{
    // $('#my-container').imagesLoaded(myFunction)  
    // or  
    // $('img').imagesLoaded(myFunction)  
    // execute a callback when all images have loaded.  
    // needed because .load() doesn't work on cached images  
    // callback function gets image collection as argument  
    //  `this` is the container  
    $.fn.imagesLoaded = function (callback)
    {
        var $this = this,
        $images = $this.find('img').add($this.filter('img')),
        len = $images.length,
        blank = 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==';
        function triggerCallback()
        {
            callback.call($this, $images);
        }
        function imgLoaded(event)
        {
            if (--len <= 0 && event.target.src !== blank)
            {
                setTimeout(triggerCallback);
                $images.unbind('load error', imgLoaded);
            }
        }
        if (!len)
        {
            triggerCallback();
        }
        $images.bind('load error', imgLoaded).each(function ()
        {
            // cached images don't fire load sometimes, so we reset src.      
            if (this.complete || this.complete === undefined)
            {
                var src = this.src;
                // 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;
    };
})(jQuery);

$(function ()
{
    $(document).ready(function ()
    {
        $.initCycle();
    });

    $.initCycle = function ()
    {
        $('.imageCycle:not(.isCycle)').each(function ()
        {
            var self = $(this), prev = self.parent().find('.prev'), next = self.parent().find('.next');

            self.addClass('isCycle');
            self.find('img').imagesLoaded(function (e)
            {
                self.cycle({
                    timeout: 4000,
                    height: self.children(':first').height(),
                    width: self.children(':first').width(),
                    next: next,
                    prev: prev
                });
            });
        });
    }

});

