(function($) {
    function enableAlphaImages(){
        if ($.browser.msie && (parseInt(jQuery.browser.version) < 7)) {
            var rslt = navigator.appVersion.match(/MSIE (\d+\.\d+)/, '');
            var itsAllGood = (rslt != null && Number(rslt[1]) < 7);
            if (itsAllGood) {
                for (var i=0; i<document.all.length; i++){
                    var obj = document.all[i];
                    var bg = obj.currentStyle.backgroundImage;
                    var img = document.images[i];
                    if (bg && bg.match(/\.png/i) != null) {
                        var img = bg.substring(5,bg.length-2);
                        var offset = obj.style["background-position"];
                        obj.style.filter =
                        "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+img+"', sizingMethod='crop')";
                        obj.rel = img;
                        obj.style.backgroundImage = "url('/common/images/spacer.gif')";
                        obj.style["background-position"] = offset; // reapply
                    } else if (img && (img.src.match(/\.png$/i) != null || img.src.match(/fmt=png-alpha/i) != null)) {
                        var src = img.src;
                        img.style.width = img.width + "px";
                        img.style.height = img.height + "px";
                        img.style.filter =
                        "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+src+"', sizingMethod='crop')"
                        img.src = "images/spacer.gif";
                    }
                }
            }
        }
    }

    $.extend( $.easing, {
        slideshowEasing: function (x, t, b, c, d) {
            if ((t/=d/2) < 1) return c/2*t*t*t + b;
            return c/2*((t-=2)*t*t + 2) + b;
        }
    });   

    var whichActiveHomeImage = 1;
    var movementMultiplier = 0;
    var alreadyShown = false;
    var nextInterval = null;
    var stopAutoSlide = false;

    function previousImage() {
        if (whichActiveHomeImage - 1 < 1) {
            return
        }
        whichActiveHomeImage = whichActiveHomeImage-1;
        if (whichActiveHomeImage==1) {
            $("#bakerHome-imgSlider #imgSlider-previous").fadeOut(300);
        }
        if ($("#bakerHome-imgSlider #imgSlider-next").css("display")=="none") {
            $("#bakerHome-imgSlider #imgSlider-next").fadeIn(300);
        }
        movementMultiplier = (whichActiveHomeImage-1) * 918;
        $('#bakerHome-imgSlider-strip').animate({"left": "-" + movementMultiplier  + "px"}, 1000, "slideshowEasing");
    }

    function nextImage() {
        clearTimeout(nextInterval);

        if (whichActiveHomeImage + 1 > totalHomeImages) {
            return
        }
        whichActiveHomeImage = whichActiveHomeImage+1;
        if (whichActiveHomeImage==2) {
            if (alreadyShown == false) {
                $("#bakerHome-imgSlider #imgSlider-previous").hide();
                $("#bakerHome-imgSlider #imgSlider-previous").css("top","235px");
            }
            $("#bakerHome-imgSlider #imgSlider-previous").fadeIn(300);
            alreadyShown = true;
        }
        if (whichActiveHomeImage==totalHomeImages) {
            $("#bakerHome-imgSlider #imgSlider-next").fadeOut(300);
            stopAutoSlide=true;
        }
        movementMultiplier = (whichActiveHomeImage-1) * 918;
        $('#bakerHome-imgSlider-strip').animate({"left": "-" + movementMultiplier  + "px"}, 1000, "slideshowEasing");
        if(!stopAutoSlide) {
            try {
                nextInterval = setTimeout(nextImage,5000);
            }catch(e){}
        }
        return false;
    }

    $(function() {
        try {
            if(!nextInterval) {
                nextInterval = setTimeout(nextImage,5000);
            }
        }catch(e){};
        
        enableAlphaImages();
        
        $("#bakerHome-imgSlider #imgSlider-previous").click(function() { 
            previousImage();
            if(nextInterval) {
                clearTimeout(nextInterval);
                stopAutoSlide = true;
            }
        });
        
        $("#bakerHome-imgSlider #imgSlider-next").click(function() { 
            nextImage() 
            if(nextInterval) {
                clearTimeout(nextInterval);
                stopAutoSlide = true;
            }
        });
        
        
        var spiffTimer;
        $('.bakerHome-spiff').hover(function() {
            var animatedArea = $(this).children('.bakerHome-spiff-animatedArea');
            spiffTimer = setTimeout(function() {
                animatedArea.stop();
                animatedArea.animate({"top": "109px"}, 300);
                animatedArea.queue(function() {
                    $(this).siblings('.bakerHome-spiff-content-over').css("display","none");
                    $(this).siblings('.bakerHome-spiff-content-over').css("left","0")
                    $(this).siblings('.bakerHome-spiff-content-over').fadeIn(200);
                    $(this).dequeue();
                });
            }, 150);
        }, function() {
            clearTimeout(spiffTimer);
            var animatedArea = $(this).children('.bakerHome-spiff-animatedArea');
            animatedArea.stop();
            animatedArea.animate({"top": 0}, 100);
            $(this).children('.bakerHome-spiff-content-over').hide();
        });

        // Vertically center the spiff text images
        $('.bakerHome-spiff-content img').load(function() {
            var offset = Math.floor((128 - $(this).height()) / 2);
            $(this).parent().css('margin-top', offset + "px");
        });
        // To get ie6 to fire to load event...
        function windowOnLoad(fn1, fn2) {
            return function() {
                if (fn1) fn1();
                if (fn2) fn2();
            }
        }
        window.onload = windowOnLoad(window.onload, function() {
            $('.bakerHome-spiff-content img').each(function() {
                this.src = this.src;
            });
            setTimeout(function() {
                $('.bakerHome-spiff-content img').each(function() {
                    this.src = this.src;
                });
            }, 500);
        });


    });

})(jQuery);

