/* 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.1 (May 22, 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);
                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({
                width:E.width,
                overflow:"hidden"
            });
            A(E.slides).css({
                width:A("#jFlowSlide").width()*A(".jFlowControl").length+"px",
                overflow:"hidden"
            });
            A(E.slides).children().css({
                width:A("#jFlowSlide").width()+"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);
