/*
 * jQuery Tools 1.2.5 - The missing UI library for the Web
 * 
 * [scrollable, scrollable.autoscroll, scrollable.navigator]
 * 
 * NO COPYRIGHTS OR LICENSES. DO WHAT YOU LIKE.
 * 
 * http://flowplayer.org/tools/
 * 
 * File generated: Thu Jan 13 12:44:12 GMT 2011
 */
(function(e){
    function p(f,c){
        var b=e(c);
        return b.length<2?b:f.parent().find(c)
        }
        function u(f,c){
        var b=this,n=f.add(b),g=f.children(),l=0,j=c.vertical;
        k||(k=b);
        if(g.length>1)g=e(c.items,f);
        e.extend(b,{
            getConf:function(){
                return c
                },
            getIndex:function(){
                return l
                },
            getSize:function(){
                return b.getItems().size()
                },
            getNaviButtons:function(){
                return o.add(q)
                },
            getRoot:function(){
                return f
                },
            getItemWrap:function(){
                return g
                },
            getItems:function(){
                return g.children(c.item).not("."+c.clonedClass)
                },
            move:function(a,d){
                return b.seekTo(l+
                    a,d)
                },
            next:function(a){
                return b.move(1,a)
                },
            prev:function(a){
                return b.move(-1,a)
                },
            begin:function(a){
                return b.seekTo(0,a)
                },
            end:function(a){
                return b.seekTo(b.getSize()-1,a)
                },
            focus:function(){
                return k=b
                },
            addItem:function(a){
                a=e(a);
                if(c.circular){
                    g.children("."+c.clonedClass+":last").before(a);
                    g.children("."+c.clonedClass+":first").replaceWith(a.clone().addClass(c.clonedClass))
                    }else g.append(a);
                n.trigger("onAddItem",[a]);
                return b
                },
            seekTo:function(a,d,h){
                a.jquery||(a*=1);
                if(c.circular&&a===0&&l==-1&&d!==
                    0)return b;
                if(!c.circular&&a<0||a>b.getSize()||a<-1)return b;
                var i=a;
                if(a.jquery)a=b.getItems().index(a);else i=b.getItems().eq(a);
                var r=e.Event("onBeforeSeek");
                if(!h){
                    n.trigger(r,[a,d]);
                    if(r.isDefaultPrevented()||!i.length)return b
                        }
                        i=j?{
                    top:-i.position().top
                    }:{
                    left:-i.position().left
                    };

                l=a;
                k=b;
                if(d===undefined)d=c.speed;
                g.animate(i,d,c.easing,h||function(){
                    n.trigger("onSeek",[a])
                    });
                return b
                }
            });
    e.each(["onBeforeSeek","onSeek","onAddItem"],function(a,d){
        e.isFunction(c[d])&&e(b).bind(d,c[d]);
        b[d]=function(h){
            h&&
            e(b).bind(d,h);
            return b
            }
        });
if(c.circular){
    var s=b.getItems().slice(-1).clone().prependTo(g),t=b.getItems().eq(1).clone().appendTo(g);
    s.add(t).addClass(c.clonedClass);
    b.onBeforeSeek(function(a,d,h){
        if(!a.isDefaultPrevented())if(d==-1){
            b.seekTo(s,h,function(){
                b.end(0)
                });
            return a.preventDefault()
            }else d==b.getSize()&&b.seekTo(t,h,function(){
            b.begin(0)
            })
        });
    b.seekTo(0,0,function(){})
    }
    var o=p(f,c.prev).click(function(){
    b.prev()
    }),q=p(f,c.next).click(function(){
    b.next()
    });
if(!c.circular&&b.getSize()>1){
    b.onBeforeSeek(function(a,
        d){
        setTimeout(function(){
            if(!a.isDefaultPrevented()){
                o.toggleClass(c.disabledClass,d<=0);
                q.toggleClass(c.disabledClass,d>=b.getSize()-1)
                }
            },1)
    });
c.initialIndex||o.addClass(c.disabledClass)
    }
    c.mousewheel&&e.fn.mousewheel&&f.mousewheel(function(a,d){
    if(c.mousewheel){
        b.move(d<0?1:-1,c.wheelSpeed||50);
        return false
        }
    });
if(c.touch){
    var m={};

    g[0].ontouchstart=function(a){
        a=a.touches[0];
        m.x=a.clientX;
        m.y=a.clientY
        };

    g[0].ontouchmove=function(a){
        if(a.touches.length==1&&!g.is(":animated")){
            var d=a.touches[0],h=
            m.x-d.clientX;
            d=m.y-d.clientY;
            b[j&&d>0||!j&&h>0?"next":"prev"]();
            a.preventDefault()
            }
        }
}
c.keyboard&&e(document).bind("keydown.scrollable",function(a){
    if(!(!c.keyboard||a.altKey||a.ctrlKey||e(a.target).is(":input")))if(!(c.keyboard!="static"&&k!=b)){
        var d=a.keyCode;
        if(j&&(d==38||d==40)){
            b.move(d==38?-1:1);
            return a.preventDefault()
            }
            if(!j&&(d==37||d==39)){
            b.move(d==37?-1:1);
            return a.preventDefault()
            }
        }
    });
c.initialIndex&&b.seekTo(c.initialIndex,0,function(){})
}
e.tools=e.tools||{
    version:"1.2.5"
};

e.tools.scrollable=
{
    conf:{
        activeClass:"active",
        circular:false,
        clonedClass:"cloned",
        disabledClass:"disabled",
        easing:"swing",
        initialIndex:0,
        item:null,
        items:".items",
        keyboard:true,
        mousewheel:false,
        next:".next",
        prev:".prev",
        speed:400,
        vertical:false,
        touch:true,
        wheelSpeed:0
    }
};

var k;
e.fn.scrollable=function(f){
    var c=this.data("scrollable");
    if(c)return c;
    f=e.extend({},e.tools.scrollable.conf,f);
    this.each(function(){
        c=new u(e(this),f);
        e(this).data("scrollable",c)
        });
    return f.api?c:this
    }
})(jQuery);
(function(b){
    var f=b.tools.scrollable;
    f.autoscroll={
        conf:{
            autoplay:true,
            interval:3E3,
            autopause:true
        }
    };

b.fn.autoscroll=function(c){
    if(typeof c=="number")c={
        interval:c
    };

    var d=b.extend({},f.autoscroll.conf,c),g;
    this.each(function(){
        var a=b(this).data("scrollable");
        if(a)g=a;
        var e,h=true;
        a.play=function(){
            if(!e){
                h=false;
                e=setInterval(function(){
                    a.next()
                    },d.interval)
                }
            };

    a.pause=function(){
        e=clearInterval(e)
        };

    a.stop=function(){
        a.pause();
        h=true
        };

    d.autopause&&a.getRoot().add(a.getNaviButtons()).hover(a.pause,
        a.play);
    d.autoplay&&a.play()
        });
return d.api?g:this
}
})(jQuery);
(function(d){
    function p(b,g){
        var h=d(g);
        return h.length<2?h:b.parent().find(g)
        }
        var m=d.tools.scrollable;
    m.navigator={
        conf:{
            navi:".navi",
            naviItem:null,
            activeClass:"active",
            indexed:false,
            idPrefix:null,
            history:false
        }
    };

d.fn.navigator=function(b){
    if(typeof b=="string")b={
        navi:b
    };

    b=d.extend({},m.navigator.conf,b);
    var g;
    this.each(function(){
        function h(a,c,i){
            e.seekTo(c);
            if(j){
                if(location.hash)location.hash=a.attr("href").replace("#","")
                    }else return i.preventDefault()
                }
                function f(){
            return k.find(b.naviItem||
                "> *")
            }
            function n(a){
            var c=d("<"+(b.naviItem||"a")+"/>").click(function(i){
                h(d(this),a,i)
                }).attr("href","#"+a);
            a===0&&c.addClass(l);
            b.indexed&&c.text(a+1);
            b.idPrefix&&c.attr("id",b.idPrefix+a);
            return c.appendTo(k)
            }
            function o(a,c){
            a=f().eq(c.replace("#",""));
            a.length||(a=f().filter("[href="+c+"]"));
            a.click()
            }
            var e=d(this).data("scrollable"),k=b.navi.jquery?b.navi:p(e.getRoot(),b.navi),q=e.getNaviButtons(),l=b.activeClass,j=b.history&&d.fn.history;
        if(e)g=e;
        e.getNaviButtons=function(){
            return q.add(k)
            };
        f().length?f().each(function(a){
            d(this).click(function(c){
                h(d(this),a,c)
                })
            }):d.each(e.getItems(),function(a){
            n(a)
            });
        e.onBeforeSeek(function(a,c){
            setTimeout(function(){
                if(!a.isDefaultPrevented()){
                    var i=f().eq(c);
                    !a.isDefaultPrevented()&&i.length&&f().removeClass(l).eq(c).addClass(l)
                    }
                },1)
        });
    e.onAddItem(function(a,c){
        c=n(e.getItems().index(c));
        j&&c.history(o)
        });
    j&&f().history(o)
        });
return b.api?g:this
}
})(jQuery);
