/* Copyright (c) 2008 Kean Loong Tan http://www.gimiti.com/kltan
 * Licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
 * jFlow
 * Version: 1.0 (May 13, 2008)
 * Requires: jQuery 1.2+
 */
(function (A) {
    A.fn.jFlow = function (D) {
        var E = A.extend({}, A.fn.jFlow.defaults, D);
        var F = 0;
        var B = A(".jFlowControl").length;
        A(this).find(".jFlowControl").each(function (G) {
            A(this).click(function () {
                A(".jFlowControl").removeClass("jFlowSelected");
                A(this).addClass("jFlowSelected");
                var H = Math.abs(F - G + 1);
                A(E.slides).animate({
                    marginLeft: "-" + (G * A(E.slides).find(":first-child").width() + "px")
                }, E.duration * (H));
                F = G
            })
        });
        A(E.slides).before('<div id="jFlowSlide"></div>').appendTo("#jFlowSlide");
        A(E.slides).find("div").each(function () {
            A(this).before('<div class="jFlowSlideContainer"></div>').appendTo(A(this).prev())
        });
        A(".jFlowControl").eq(F).addClass("jFlowSelected");
        var C = function (G) {
            A("#jFlowSlide").css({
                position: "relative",
                width: E.width,
                height: E.height,
                overflow: "hidden"
            });
            A(E.slides).css({
                position: "relative",
                width: A("#jFlowSlide").width() * A(".jFlowControl").length + "px",
                height: A("#jFlowSlide").height() + "px",
                overflow: "hidden"
            });
            A(E.slides).children().css({
                position: "relative",
                width: A("#jFlowSlide").width() + "px",
                height: A("#jFlowSlide").height() + "px",
                "float": "left"
            });
            A(E.slides).css({
                marginLeft: "-" + (F * A(E.slides).find(":first-child").width() + "px")
            })
        };
        C();
        A(window).resize(function () {
            C()
        });
        A(".jFlowPrev").click(function () {
            if (F > 0) {
                F--
            } else {
                F = B - 1
            }
            A(".jFlowControl").removeClass("jFlowSelected");
            A(E.slides).animate({
                marginLeft: "-" + (F * A(E.slides).find(":first-child").width() + "px")
            }, E.duration);
            A(".jFlowControl").eq(F).addClass("jFlowSelected")
        });
        A(".jFlowNext").click(function () {
            if (F < B - 1) {
                F++
            } else {
                F = 0
            }
            A(".jFlowControl").removeClass("jFlowSelected");
            A(E.slides).animate({
                marginLeft: "-" + (F * A(E.slides).find(":first-child").width() + "px")
            }, E.duration);
          A(".jFlowControl").eq(F).addClass("jFlowSelected")
        })
    };
    A.fn.jFlow.defaults = {
        easing: "swing",
        duration: 400,
        width: "100%"
    }
})(jQuery);
