/* 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+
 *
 * Modified by Marcin Walewski crick@gmail.com 2011-02-17 /added suffix to enable multi-jFlow on one page
 */
(function(A){
    A.fn.jFlow=function(D){
        var E=A.extend({},A.fn.jFlow.defaults,D);
        var F=0;
        var B=A(".jFlowControl"+E.suffix).length;
        A(this).find(".jFlowControl"+E.suffix).each(function(G){
            A(this).click(function(){
                A(".jFlowControl"+E.suffix).removeClass("jFlowSelected"+E.suffix);
                A(this).addClass("jFlowSelected"+E.suffix);
                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'+E.suffix+'"></div>').appendTo("#jFlowSlide"+E.suffix);
        A(E.slides).find("div").each(function(){
            A(this).before('<div class="jFlowSlideContainer'+E.suffix+'"></div>').appendTo(A(this).prev())
            });
        A(".jFlowControl"+E.suffix).eq(F).addClass("jFlowSelected"+E.suffix);
        var C=function(G){
            A("#jFlowSlide"+E.suffix).css({
                float:"left",
                position:"relative",
                width:E.width,
                height:E.height,
                overflow:"hidden"
            });
            A(E.slides).css({
                position:"relative",
                width:A("#jFlowSlide"+E.suffix).width()*A(".jFlowControl"+E.suffix).length+"px",
                height:A("#jFlowSlide"+E.suffix).height()+"px",
                overflow:"hidden"
            });
            A(E.slides).children().css({
                position:"relative",
                width:A("#jFlowSlide"+E.suffix).width()+"px",
                height:A("#jFlowSlide"+E.suffix).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"+E.suffix).click(function(){
            if(F>0){
                F--
            }else{
                F=B-1
                }
                A(".jFlowControl"+E.suffix).removeClass("jFlowSelected"+E.suffix);
            A(E.slides).animate({
                marginLeft:"-"+(F*A(E.slides).find(":first-child").width()+"px")
                },E.duration);
            A(".jFlowControl"+E.suffix).eq(F).addClass("jFlowSelected"+E.suffix)
            });
        A(".jFlowNext"+E.suffix).click(function(){
            if(F<B-1){
                F++
            }else{
                F=0
                }
                A(".jFlowControl"+E.suffix).removeClass("jFlowSelected"+E.suffix);
            A(E.slides).animate({
                marginLeft:"-"+(F*A(E.slides).find(":first-child").width()+"px")
                },E.duration);
            A(".jFlowControl"+E.suffix).eq(F).addClass("jFlowSelected"+E.suffix)
            })
        };

    A.fn.jFlow.defaults={
        easing:"swing",
        duration:400,
        width:"100%"
    }
})(jQuery);
