/* * jquery.tools 1.1.2 - The missing UI library for the Web *  * [tools.tabs-1.0.4, tools.tabs.slideshow-1.0.2, tools.tabs.history-1.0.2, tools.tooltip-1.1.3, tools.tooltip.slide-1.0.0, tools.tooltip.dynamic-1.0.1, tools.scrollable-1.1.2, tools.scrollable.circular-0.5.1, tools.scrollable.autoscroll-1.0.1, tools.scrollable.navigator-1.0.2, tools.scrollable.mousewheel-1.0.1, tools.overlay-1.1.2, tools.overlay.gallery-1.0.0, tools.overlay.apple-1.0.1, tools.expose-1.0.5] *  * Copyright (c) 2009 Tero Piirainen * http://flowplayer.org/tools/ * * Dual licensed under MIT and GPL 2+ licenses * http://www.opensource.org/licenses *  * ----- *  * jquery.event.wheel.js - rev 1  * Copyright (c) 2008, Three Dub Media (http://threedubmedia.com) * Liscensed under the MIT License (MIT-LICENSE.txt) * http://www.opensource.org/licenses/mit-license.php * Created: 2008-07-01 | Updated: 2008-07-14 *  * ----- *  * File generated: Wed Dec 23 15:25:14 GMT 2009 */(function(d){    d.tools=d.tools||{};    d.tools.tabs={        version:"1.0.4",        conf:{            tabs:"a",            current:"current",            onBeforeClick:null,            onClick:null,            effect:"default",            initialIndex:0,            event:"click",            api:false,            rotate:false        },        addEffect:function(e,f){            c[e]=f            }        };var c={    "default":function(f,e){        this.getPanes().hide().eq(f).show();        e.call()        },    fade:function(g,e){        var f=this.getConf(),j=f.fadeOutSpeed,h=this.getPanes();        if(j){            h.fadeOut(j)            }else{            h.hide()            }            h.eq(g).fadeIn(f.fadeInSpeed,e)        },    slide:function(f,e){        this.getPanes().slideUp(200);        this.getPanes().eq(f).slideDown(400,e)        },    ajax:function(f,e){        this.getPanes().eq(0).load(this.getTabs().eq(f).attr("href"),e)        }    };var b;d.tools.tabs.addEffect("horizontal",function(f,e){    if(!b){        b=this.getPanes().eq(0).width()        }        this.getCurrentPane().animate({        width:0    },function(){        d(this).hide()        });    this.getPanes().eq(f).animate({        width:b    },function(){        d(this).show();        e.call()        })    });function a(g,h,f){    var e=this,j=d(this),i;    d.each(f,function(k,l){        if(d.isFunction(l)){            j.bind(k,l)            }        });d.extend(this,{    click:function(k,n){        var o=e.getCurrentPane();        var l=g.eq(k);        if(typeof k=="string"&&k.replace("#","")){            l=g.filter("[href*="+k.replace("#","")+"]");            k=Math.max(g.index(l),0)            }            if(f.rotate){            var m=g.length-1;            if(k<0){                return e.click(m,n)                }                if(k>m){                return e.click(0,n)                }            }        if(!l.length){        if(i>=0){            return e            }            k=f.initialIndex;        l=g.eq(k)        }        if(k===i){        return e        }        n=n||d.Event();    n.type="onBeforeClick";    j.trigger(n,[k]);    if(n.isDefaultPrevented()){        return    }    c[f.effect].call(e,k,function(){        n.type="onClick";        j.trigger(n,[k])        });    n.type="onStart";    j.trigger(n,[k]);    if(n.isDefaultPrevented()){        return    }    i=k;    g.removeClass(f.current);    l.addClass(f.current);    return e    },getConf:function(){    return f    },getTabs:function(){    return g    },getPanes:function(){    return h    },getCurrentPane:function(){    return h.eq(i)    },getCurrentTab:function(){    return g.eq(i)    },getIndex:function(){    return i    },next:function(){    return e.click(i+1)    },prev:function(){    return e.click(i-1)    },bind:function(k,l){    j.bind(k,l);    return e    },onBeforeClick:function(k){    return this.bind("onBeforeClick",k)    },onClick:function(k){    return this.bind("onClick",k)    },unbind:function(k){    j.unbind(k);    return e    }});g.each(function(k){    d(this).bind(f.event,function(l){        e.click(k,l);        return false        })    });if(location.hash){    e.click(location.hash)    }else{    if(f.initialIndex===0||f.initialIndex>0){        e.click(f.initialIndex)        }    }h.find("a[href^=#]").click(function(k){    e.click(d(this).attr("href"),k)    })}d.fn.tabs=function(i,f){    var g=this.eq(typeof f=="number"?f:0).data("tabs");    if(g){        return g        }        if(d.isFunction(f)){        f={            onBeforeClick:f        }    }    var h=d.extend({},d.tools.tabs.conf),e=this.length;f=d.extend(h,f);this.each(function(l){    var j=d(this);    var k=j.find(f.tabs);    if(!k.length){        k=j.children()        }        var m=i.jquery?i:j.children(i);    if(!m.length){        m=e==1?d(i):j.parent().find(i)        }        g=new a(k,m,f);    j.data("tabs",g)    });return f.api?g:this}})(jQuery);(function(b){    var a=b.tools.tabs;    a.plugins=a.plugins||{};    a.plugins.slideshow={        version:"1.0.2",        conf:{            next:".forward",            prev:".backward",            disabledClass:"disabled",            autoplay:false,            autopause:true,            interval:3000,            clickable:true,            api:false        }    };b.prototype.slideshow=function(e){    var f=b.extend({},a.plugins.slideshow.conf),c=this.length,d;    e=b.extend(f,e);    this.each(function(){        var p=b(this),m=p.tabs(),i=b(m),o=m;        b.each(e,function(t,u){            if(b.isFunction(u)){                m.bind(t,u)                }            });    function n(t){        return c==1?b(t):p.parent().find(t)        }        var s=n(e.next).click(function(){        m.next()        });    var q=n(e.prev).click(function(){        m.prev()        });    var h,j,l,g=false;    b.extend(m,{        play:function(){            if(h){                return            }            var t=b.Event("onBeforePlay");            i.trigger(t);            if(t.isDefaultPrevented()){                return m                }                g=false;            h=setInterval(m.next,e.interval);            i.trigger("onPlay");            m.next()            },        pause:function(){            if(!h){                return m                }                var t=b.Event("onBeforePause");            i.trigger(t);            if(t.isDefaultPrevented()){                return m                }                h=clearInterval(h);            l=clearInterval(l);            i.trigger("onPause")            },        stop:function(){            m.pause();            g=true            },        onBeforePlay:function(t){            return m.bind("onBeforePlay",t)            },        onPlay:function(t){            return m.bind("onPlay",t)            },        onBeforePause:function(t){            return m.bind("onBeforePause",t)            },        onPause:function(t){            return m.bind("onPause",t)            }        });    if(e.autopause){        var k=m.getTabs().add(s).add(q).add(m.getPanes());        k.hover(function(){            m.pause();            j=clearInterval(j)            },function(){            if(!g){                j=setTimeout(m.play,e.interval)                }            })    }    if(e.autoplay){    l=setTimeout(m.play,e.interval)    }else{    m.stop()    }    if(e.clickable){    m.getPanes().click(function(){        m.next()        })    }    if(!m.getConf().rotate){    var r=e.disabledClass;    if(!m.getIndex()){        q.addClass(r)        }        m.onBeforeClick(function(u,t){        if(!t){            q.addClass(r)            }else{            q.removeClass(r);            if(t==m.getTabs().length-1){                s.addClass(r)                }else{                s.removeClass(r)                }            }    })}});return e.api?d:this}})(jQuery);(function(d){    var a=d.tools.tabs;    a.plugins=a.plugins||{};    a.plugins.history={        version:"1.0.2",        conf:{            api:false        }    };var e,b;function c(f){    if(f){        var g=b.contentWindow.document;        g.open().close();        g.location.hash=f        }    }d.fn.onHash=function(g){    var f=this;    if(d.browser.msie&&d.browser.version<"8"){        if(!b){            b=d("<iframe/>").attr("src","javascript:false;").hide().get(0);            d("body").append(b);            setInterval(function(){                var i=b.contentWindow.document,j=i.location.hash;                if(e!==j){                    d.event.trigger("hash",j);                    e=j                    }                },100);        c(location.hash||"#")        }        f.bind("click.hash",function(h){        c(d(this).attr("href"))        })    }else{    setInterval(function(){        var j=location.hash;        var i=f.filter("[href$="+j+"]");        if(!i.length){            j=j.replace("#","");            i=f.filter("[href$="+j+"]")            }            if(i.length&&j!==e){            e=j;            d.event.trigger("hash",j)            }        },100)}d(window).bind("hash",g);return this};d.fn.history=function(g){    var h=d.extend({},a.plugins.history.conf),f;    g=d.extend(h,g);    this.each(function(){        var j=d(this).tabs(),i=j.getTabs();        if(j){            f=j            }            i.onHash(function(k,l){            if(!l||l=="#"){                l=j.getConf().initialIndex                }                j.click(l)            });        i.click(function(k){            location.hash=d(this).attr("href").replace("#","")            })        });    return g.api?f:this    }})(jQuery);(function(c){    var d=[];    c.tools=c.tools||{};    c.tools.tooltip={        version:"1.1.3",        conf:{            effect:"toggle",            fadeOutSpeed:"fast",            tip:null,            predelay:0,            delay:30,            opacity:1,            lazy:undefined,            position:["top","center"],            offset:[0,0],            cancelDefault:true,            relative:false,            oneInstance:true,            events:{                def:"mouseover,mouseout",                input:"focus,blur",                widget:"focus mouseover,blur mouseout",                tooltip:"mouseover,mouseout"            },            api:false        },        addEffect:function(e,g,f){            b[e]=[g,f]            }        };var b={    toggle:[function(e){        var f=this.getConf(),g=this.getTip(),h=f.opacity;        if(h<1){            g.css({                opacity:h            })            }            g.show();        e.call()        },function(e){        this.getTip().hide();        e.call()        }],    fade:[function(e){        this.getTip().fadeIn(this.getConf().fadeInSpeed,e)        },function(e){        this.getTip().fadeOut(this.getConf().fadeOutSpeed,e)        }]    };function a(f,g){    var p=this,k=c(this);    f.data("tooltip",p);    var l=f.next();    if(g.tip){        l=c(g.tip);        if(l.length>1){            l=f.nextAll(g.tip).eq(0);            if(!l.length){                l=f.parent().nextAll(g.tip).eq(0)                }            }    }function o(u){    var t=g.relative?f.position().top:f.offset().top,s=g.relative?f.position().left:f.offset().left,v=g.position[0];    t-=l.outerHeight()-g.offset[0];    s+=f.outerWidth()+g.offset[1];    var q=l.outerHeight()+f.outerHeight();    if(v=="center"){        t+=q/2        }        if(v=="bottom"){        t+=q        }        v=g.position[1];    var r=l.outerWidth()+f.outerWidth();    if(v=="center"){        s-=r/2        }        if(v=="left"){        s-=r        }        return{        top:t,        left:s    }}var i=f.is(":input"),e=i&&f.is(":checkbox, :radio, select, :button"),h=f.attr("type"),n=g.events[h]||g.events[i?(e?"widget":"input"):"def"];n=n.split(/,\s*/);if(n.length!=2){    throw"Tooltip: bad events configuration for "+h    }    f.bind(n[0],function(r){    if(g.oneInstance){        c.each(d,function(){            this.hide()            })        }        var q=l.data("trigger");    if(q&&q[0]!=this){        l.hide().stop(true,true)        }        r.target=this;    p.show(r);    n=g.events.tooltip.split(/,\s*/);    l.bind(n[0],function(){        p.show(r)        });    if(n[1]){        l.bind(n[1],function(){            p.hide(r)            })        }    });f.bind(n[1],function(q){    p.hide(q)    });if(!c.browser.msie&&!i&&!g.predelay){    f.mousemove(function(){        if(!p.isShown()){            f.triggerHandler("mouseover")            }        })}if(g.opacity<1){    l.css("opacity",g.opacity)    }    var m=0,j=f.attr("title");if(j&&g.cancelDefault){    f.removeAttr("title");    f.data("title",j)    }    c.extend(p,{    show:function(r){        if(r){            f=c(r.target)            }            clearTimeout(l.data("timer"));        if(l.is(":animated")||l.is(":visible")){            return p            }            function q(){            l.data("trigger",f);            var t=o(r);            if(g.tip&&j){                l.html(f.data("title"))                }                r=r||c.Event();            r.type="onBeforeShow";            k.trigger(r,[t]);            if(r.isDefaultPrevented()){                return p                }                t=o(r);            l.css({                position:"absolute",                top:t.top,                left:t.left                });            var s=b[g.effect];            if(!s){                throw'Nonexistent effect "'+g.effect+'"'                }                s[0].call(p,function(){                r.type="onShow";                k.trigger(r)                })            }            if(g.predelay){            clearTimeout(m);            m=setTimeout(q,g.predelay)            }else{            q()            }            return p        },    hide:function(r){        clearTimeout(l.data("timer"));        clearTimeout(m);        if(!l.is(":visible")){            return        }        function q(){            r=r||c.Event();            r.type="onBeforeHide";            k.trigger(r);            if(r.isDefaultPrevented()){                return            }            b[g.effect][1].call(p,function(){                r.type="onHide";                k.trigger(r)                })            }            if(g.delay&&r){            l.data("timer",setTimeout(q,g.delay))            }else{            q()            }            return p        },    isShown:function(){        return l.is(":visible, :animated")        },    getConf:function(){        return g        },    getTip:function(){        return l        },    getTrigger:function(){        return f        },    bind:function(q,r){        k.bind(q,r);        return p        },    onHide:function(q){        return this.bind("onHide",q)        },    onBeforeShow:function(q){        return this.bind("onBeforeShow",q)        },    onShow:function(q){        return this.bind("onShow",q)        },    onBeforeHide:function(q){        return this.bind("onBeforeHide",q)        },    unbind:function(q){        k.unbind(q);        return p        }    });c.each(g,function(q,r){    if(c.isFunction(r)){        p.bind(q,r)        }    })}c.prototype.tooltip=function(e){    var f=this.eq(typeof e=="number"?e:0).data("tooltip");    if(f){        return f        }        var g=c.extend(true,{},c.tools.tooltip.conf);    if(c.isFunction(e)){        e={            onBeforeShow:e        }    }else{    if(typeof e=="string"){        e={            tip:e        }    }}e=c.extend(true,g,e);if(typeof e.position=="string"){    e.position=e.position.split(/,?\s/)    }    if(e.lazy!==false&&(e.lazy===true||this.length>20)){    this.one("mouseover",function(h){        f=new a(c(this),e);        f.show(h);        d.push(f)        })    }else{    this.each(function(){        f=new a(c(this),e);        d.push(f)        })    }    return e.api?f:this}})(jQuery);(function(b){    var a=b.tools.tooltip;    a.effects=a.effects||{};    a.effects.slide={        version:"1.0.0"    };    b.extend(a.conf,{        direction:"up",        bounce:false,        slideOffset:10,        slideInSpeed:200,        slideOutSpeed:200,        slideFade:!b.browser.msie        });    var c={        up:["-","top"],        down:["+","top"],        left:["-","left"],        right:["+","left"]        };    b.tools.tooltip.addEffect("slide",function(d){        var f=this.getConf(),g=this.getTip(),h=f.slideFade?{            opacity:f.opacity            }:{},e=c[f.direction]||c.up;        h[e[1]]=e[0]+"="+f.slideOffset;        if(f.slideFade){            g.css({                opacity:0            })            }            g.show().animate(h,f.slideInSpeed,d)        },function(e){        var g=this.getConf(),i=g.slideOffset,h=g.slideFade?{            opacity:0        }:{},f=c[g.direction]||c.up;        var d=""+f[0];        if(g.bounce){            d=d=="+"?"-":"+"            }            h[f[1]]=d+"="+i;        this.getTip().animate(h,g.slideOutSpeed,function(){            b(this).hide();            e.call()            })        })    })(jQuery);(function(d){    var c=d.tools.tooltip;    c.plugins=c.plugins||{};    c.plugins.dynamic={        version:"1.0.1",        conf:{            api:false,            classNames:"top right bottom left"        }    };function b(h){    var e=d(window);    var g=e.width()+e.scrollLeft();    var f=e.height()+e.scrollTop();    return[h.offset().top<=e.scrollTop(),g<=h.offset().left+h.width(),f<=h.offset().top+h.height(),e.scrollLeft()>=h.offset().left]    }    function a(f){    var e=f.length;    while(e--){        if(f[e]){            return false            }        }    return true}d.fn.dynamic=function(g){    var h=d.extend({},c.plugins.dynamic.conf),f;    if(typeof g=="number"){        g={            speed:g        }    }    g=d.extend(h,g);    var e=g.classNames.split(/\s/),i;    this.each(function(){    if(d(this).tooltip().jquery){        throw"Lazy feature not supported by dynamic plugin. set lazy: false for tooltip"        }        var j=d(this).tooltip().onBeforeShow(function(n,o){        var m=this.getTip(),l=this.getConf();        if(!i){            i=[l.position[0],l.position[1],l.offset[0],l.offset[1],d.extend({},l)]            }            d.extend(l,i[4]);        l.position=[i[0],i[1]];        l.offset=[i[2],i[3]];        m.css({            visibility:"hidden",            position:"absolute",            top:o.top,            left:o.left            }).show();        var k=b(m);        if(!a(k)){            if(k[2]){                d.extend(l,g.top);                l.position[0]="top";                m.addClass(e[0])                }                if(k[3]){                d.extend(l,g.right);                l.position[1]="right";                m.addClass(e[1])                }                if(k[0]){                d.extend(l,g.bottom);                l.position[0]="bottom";                m.addClass(e[2])                }                if(k[1]){                d.extend(l,g.left);                l.position[1]="left";                m.addClass(e[3])                }                if(k[0]||k[2]){                l.offset[0]*=-1                }                if(k[1]||k[3]){                l.offset[1]*=-1                }            }        m.css({        visibility:"visible"    }).hide()        });j.onShow(function(){    var l=this.getConf(),k=this.getTip();    l.position=[i[0],i[1]];    l.offset=[i[2],i[3]]    });j.onHide(function(){    var k=this.getTip();    k.removeClass(g.classNames)    });f=j});return g.api?f:this}})(jQuery);(function(b){    b.tools=b.tools||{};    b.tools.scrollable={        version:"1.1.2",        conf:{            size:5,            vertical:false,            speed:400,            keyboard:true,            keyboardSteps:null,            disabledClass:"disabled",            hoverClass:null,            clickable:true,            activeClass:"active",            easing:"swing",            loop:false,            items:".items",            item:null,            prev:".prev",            next:".next",            prevPage:".prevPage",            nextPage:".nextPage",            api:false        }    };var c;function a(o,m){    var r=this,p=b(this),d=!m.vertical,e=o.children(),k=0,i;    if(!c){        c=r        }        b.each(m,function(s,t){        if(b.isFunction(t)){            p.bind(s,t)            }        });if(e.length>1){    e=b(m.items,o)    }    function l(t){    var s=b(t);    return m.globalNav?s:o.parent().find(t)    }    o.data("finder",l);    var f=l(m.prev),h=l(m.next),g=l(m.prevPage),n=l(m.nextPage);    b.extend(r,{    getIndex:function(){        return k        },    getClickIndex:function(){        var s=r.getItems();        return s.index(s.filter("."+m.activeClass))        },    getConf:function(){        return m        },    getSize:function(){        return r.getItems().size()        },    getPageAmount:function(){        return Math.ceil(this.getSize()/m.size)        },    getPageIndex:function(){        return Math.ceil(k/m.size)        },    getNaviButtons:function(){        return f.add(h).add(g).add(n)        },    getRoot:function(){        return o        },    getItemWrap:function(){        return e        },    getItems:function(){        return e.children(m.item)        },    getVisibleItems:function(){        return r.getItems().slice(k,k+m.size)        },    seekTo:function(s,w,t){        if(s<0){            s=0            }            if(k===s){            return r            }            if(b.isFunction(w)){            t=w            }            if(s>r.getSize()-m.size){            return m.loop?r.begin():this.end()            }            var u=r.getItems().eq(s);        if(!u.length){            return r            }            var v=b.Event("onBeforeSeek");        p.trigger(v,[s]);        if(v.isDefaultPrevented()){            return r            }            if(w===undefined||b.isFunction(w)){            w=m.speed            }            function x(){            if(t){                t.call(r,s)                }                p.trigger("onSeek",[s])            }            if(d){            e.animate({                left:-u.position().left                },w,m.easing,x)            }else{            e.animate({                top:-u.position().top                },w,m.easing,x)            }            c=r;        k=s;        v=b.Event("onStart");        p.trigger(v,[s]);        if(v.isDefaultPrevented()){            return r            }            f.add(g).toggleClass(m.disabledClass,s===0);        h.add(n).toggleClass(m.disabledClass,s>=r.getSize()-m.size);        return r        },    move:function(u,t,s){        i=u>0;        return this.seekTo(k+u,t,s)        },    next:function(t,s){        return this.move(1,t,s)        },    prev:function(t,s){        return this.move(-1,t,s)        },    movePage:function(w,v,u){        i=w>0;        var s=m.size*w;        var t=k%m.size;        if(t>0){            s+=(w>0?-t:m.size-t)            }            return this.move(s,v,u)        },    prevPage:function(t,s){        return this.movePage(-1,t,s)        },    nextPage:function(t,s){        return this.movePage(1,t,s)        },    setPage:function(t,u,s){        return this.seekTo(t*m.size,u,s)        },    begin:function(t,s){        i=false;        return this.seekTo(0,t,s)        },    end:function(t,s){        i=true;        var u=this.getSize()-m.size;        return u>0?this.seekTo(u,t,s):r        },    reload:function(){        p.trigger("onReload");        return r        },    focus:function(){        c=r;        return r        },    click:function(u){        var v=r.getItems().eq(u),s=m.activeClass,t=m.size;        if(u<0||u>=r.getSize()){            return r            }            if(t==1){            if(m.loop){                return r.next()                }                if(u===0||u==r.getSize()-1){                i=(i===undefined)?true:!i                }                return i===false?r.prev():r.next()            }            if(t==2){            if(u==k){                u--            }            r.getItems().removeClass(s);            v.addClass(s);            return r.seekTo(u,time,fn)            }            if(!v.hasClass(s)){            r.getItems().removeClass(s);            v.addClass(s);            var x=Math.floor(t/2);            var w=u-x;            if(w>r.getSize()-t){                w=r.getSize()-t                }                if(w!==u){                return r.seekTo(w)                }            }        return r    },bind:function(s,t){    p.bind(s,t);    return r    },unbind:function(s){    p.unbind(s);    return r    }});b.each("onBeforeSeek,onStart,onSeek,onReload".split(","),function(s,t){    r[t]=function(u){        return r.bind(t,u)        }    });f.addClass(m.disabledClass).click(function(){    r.prev()    });h.click(function(){    r.next()    });n.click(function(){    r.nextPage()    });if(r.getSize()<m.size){    h.add(n).addClass(m.disabledClass)    }    g.addClass(m.disabledClass).click(function(){    r.prevPage()    });var j=m.hoverClass,q="keydown."+Math.random().toString().substring(10);r.onReload(function(){    if(j){        r.getItems().hover(function(){            b(this).addClass(j)            },function(){            b(this).removeClass(j)            })        }        if(m.clickable){        r.getItems().each(function(s){            b(this).unbind("click.scrollable").bind("click.scrollable",function(t){                if(b(t.target).is("a")){                    return                }                return r.click(s)                })            })        }        if(m.keyboard){        b(document).unbind(q).bind(q,function(t){            if(t.altKey||t.ctrlKey){                return            }            if(m.keyboard!="static"&&c!=r){                return            }            var u=m.keyboardSteps;            if(d&&(t.keyCode==37||t.keyCode==39)){                r.move(t.keyCode==37?-u:u);                return t.preventDefault()                }                if(!d&&(t.keyCode==38||t.keyCode==40)){                r.move(t.keyCode==38?-u:u);                return t.preventDefault()                }                return true            })        }else{        b(document).unbind(q)        }    });r.reload()}b.fn.scrollable=function(d){    var e=this.eq(typeof d=="number"?d:0).data("scrollable");    if(e){        return e        }        var f=b.extend({},b.tools.scrollable.conf);    d=b.extend(f,d);    d.keyboardSteps=d.keyboardSteps||d.size;    this.each(function(){        e=new a(b(this),d);        b(this).data("scrollable",e)        });    return d.api?e:this    }})(jQuery);(function(b){    var a=b.tools.scrollable;    a.plugins=a.plugins||{};    a.plugins.circular={        version:"0.5.1",        conf:{            api:false,            clonedClass:"cloned"        }    };b.fn.circular=function(e){    var d=b.extend({},a.plugins.circular.conf),c;    b.extend(d,e);    this.each(function(){        var i=b(this).scrollable(),n=i.getItems(),k=i.getConf(),f=i.getItemWrap(),j=0;        if(i){            c=i            }            if(n.length<k.size){            return false            }            n.slice(0,k.size).each(function(o){            b(this).clone().appendTo(f).click(function(){                i.click(n.length+o)                }).addClass(d.clonedClass)            });        var l=b.makeArray(n.slice(-k.size)).reverse();        b(l).each(function(o){            b(this).clone().prependTo(f).click(function(){                i.click(-o-1)                }).addClass(d.clonedClass)            });        var m=f.children(k.item);        var h=k.hoverClass;        if(h){            m.hover(function(){                b(this).addClass(h)                },function(){                b(this).removeClass(h)                })            }            function g(o){            var p=m.eq(o);            if(k.vertical){                f.css({                    top:-p.position().top                    })                }else{                f.css({                    left:-p.position().left                    })                }            }        g(k.size);        b.extend(i,{        move:function(s,r,p,q){            var u=j+s+k.size;            var t=u>i.getSize()-k.size;            if(u<=0||t){                var o=j+k.size+(t?-n.length:n.length);                g(o);                u=o+s                }                if(q){                m.removeClass(k.activeClass).eq(u+Math.floor(k.size/2)).addClass(k.activeClass)                }                if(u===j+k.size){                return self                }                return i.seekTo(u,r,p)            },        begin:function(p,o){            return this.seekTo(k.size,p,o)            },        end:function(p,o){            return this.seekTo(n.length,p,o)            },        click:function(p,r,q){            if(!k.clickable){                return self                }                if(k.size==1){                return this.next()                }                var s=p-j,o=k.activeClass;            s-=Math.floor(k.size/2);            return this.move(s,r,q,true)            },        getIndex:function(){            return j            },        setPage:function(p,q,o){            return this.seekTo(p*k.size+k.size,q,o)            },        getPageAmount:function(){            return Math.ceil(n.length/k.size)            },        getPageIndex:function(){            if(j<0){                return this.getPageAmount()-1                }                if(j>=n.length){                return 0                }                var o=(j+k.size)/k.size-1;            return o            },        getVisibleItems:function(){            var o=j+k.size;            return m.slice(o,o+k.size)            }        });    i.onStart(function(p,o){        j=o-k.size;        return false        });    i.getNaviButtons().removeClass(k.disabledClass)    });return d.api?c:this}})(jQuery);(function(b){    var a=b.tools.scrollable;    a.plugins=a.plugins||{};    a.plugins.autoscroll={        version:"1.0.1",        conf:{            autoplay:true,            interval:3000,            autopause:true,            steps:1,            api:false        }    };b.fn.autoscroll=function(d){    if(typeof d=="number"){        d={            interval:d        }    }    var e=b.extend({},a.plugins.autoscroll.conf),c;    b.extend(e,d);    this.each(function(){    var g=b(this).scrollable();    if(g){        c=g        }        var i,f,h=true;    g.play=function(){        if(i){            return        }        h=false;        i=setInterval(function(){            g.move(e.steps)            },e.interval);        g.move(e.steps)        };    g.pause=function(){        i=clearInterval(i)        };    g.stop=function(){        g.pause();        h=true        };    if(e.autopause){        g.getRoot().add(g.getNaviButtons()).hover(function(){            g.pause();            clearInterval(f)            },function(){            if(!h){                f=setTimeout(g.play,e.interval)                }            })    }    if(e.autoplay){    setTimeout(g.play,e.interval)    }});return e.api?c:this}})(jQuery);(function(b){    var a=b.tools.scrollable;    a.plugins=a.plugins||{};    a.plugins.navigator={        version:"1.0.2",        conf:{            navi:".navi",            naviItem:null,            activeClass:"active",            indexed:false,            api:false,            idPrefix:null        }    };b.fn.navigator=function(d){    var e=b.extend({},a.plugins.navigator.conf),c;    if(typeof d=="string"){        d={            navi:d        }    }    d=b.extend(e,d);    this.each(function(){    var i=b(this).scrollable(),f=i.getRoot(),l=f.data("finder").call(null,d.navi),g=null,k=i.getNaviButtons();    if(i){        c=i        }        i.getNaviButtons=function(){        return k.add(l)        };    function j(){        if(!l.children().length||l.data("navi")==i){            l.empty();            l.data("navi",i);            for(var m=0;m<i.getPageAmount();m++){                l.append(b("<"+(d.naviItem||"a")+"/>"))                }                g=l.children().each(function(n){                var o=b(this);                o.click(function(p){                    i.setPage(n);                    return p.preventDefault()                    });                if(d.indexed){                    o.text(n)                    }                    if(d.idPrefix){                    o.attr("id",d.idPrefix+n)                    }                })        }else{        g=d.naviItem?l.find(d.naviItem):l.children();        g.each(function(n){            var o=b(this);            o.click(function(p){                i.setPage(n);                return p.preventDefault()                })            })        }        g.eq(0).addClass(d.activeClass)    }    i.onStart(function(o,n){    var m=d.activeClass;    g.removeClass(m).eq(i.getPageIndex()).addClass(m)    });i.onReload(function(){    j()    });j();    var h=g.filter("[href="+location.hash+"]");    if(h.length){    i.move(g.index(h))    }});return d.api?c:this}})(jQuery);(function(b){    b.fn.wheel=function(e){        return this[e?"bind":"trigger"]("wheel",e)        };    b.event.special.wheel={        setup:function(){            b.event.add(this,d,c,{})            },        teardown:function(){            b.event.remove(this,d,c)            }        };var d=!b.browser.mozilla?"mousewheel":"DOMMouseScroll"+(b.browser.version<"1.9"?" mousemove":"");    function c(e){    switch(e.type){        case"mousemove":            return b.extend(e.data,{            clientX:e.clientX,            clientY:e.clientY,            pageX:e.pageX,            pageY:e.pageY            });        case"DOMMouseScroll":            b.extend(e,e.data);            e.delta=-e.detail/3;            break;        case"mousewheel":            e.delta=e.wheelDelta/120;            break            }            e.type="wheel";    return b.event.handle.call(this,e,e.delta)    }    var a=b.tools.scrollable;a.plugins=a.plugins||{};a.plugins.mousewheel={    version:"1.0.1",    conf:{        api:false,        speed:50    }};b.fn.mousewheel=function(f){    var g=b.extend({},a.plugins.mousewheel.conf),e;    if(typeof f=="number"){        f={            speed:f        }    }    f=b.extend(g,f);    this.each(function(){    var h=b(this).scrollable();    if(h){        e=h        }        h.getRoot().wheel(function(i,j){        h.move(j<0?1:-1,f.speed||50);        return false        })    });return f.api?e:this}})(jQuery);(function(c){    c.tools=c.tools||{};    c.tools.overlay={        version:"1.1.2",        addEffect:function(e,f,g){            b[e]=[f,g]            },        conf:{            top:"10%",            left:"center",            absolute:false,            speed:"normal",            closeSpeed:"fast",            effect:"default",            close:null,            oneInstance:true,            closeOnClick:true,            closeOnEsc:true,            api:false,            expose:null,            target:null        }    };var b={};c.tools.overlay.addEffect("default",function(e){    this.getOverlay().fadeIn(this.getConf().speed,e)    },function(e){    this.getOverlay().fadeOut(this.getConf().closeSpeed,e)    });var d=[];function a(g,k){    var o=this,m=c(this),n=c(window),j,i,h,e=k.expose&&c.tools.expose.version;    var f=k.target||g.attr("rel");    i=f?c(f):null||g;    if(!i.length){        throw"Could not find Overlay: "+f        }        if(g&&g.index(i)==-1){        g.click(function(p){            o.load(p);            return p.preventDefault()            })        }        c.each(k,function(p,q){        if(c.isFunction(q)){            m.bind(p,q)            }        });c.extend(o,{    load:function(u){        if(o.isOpened()){            return o            }            var r=b[k.effect];        if(!r){            throw'Overlay: cannot find effect : "'+k.effect+'"'            }            if(k.oneInstance){            c.each(d,function(){                this.close(u)                })            }            u=u||c.Event();        u.type="onBeforeLoad";        m.trigger(u);        if(u.isDefaultPrevented()){            return o            }            h=true;        if(e){            i.expose().load(u)            }            var t=k.top;        var s=k.left;        var p=i.outerWidth({            margin:true        });        var q=i.outerHeight({            margin:true        });        if(typeof t=="string"){            t=t=="center"?Math.max((n.height()-q)/2,0):parseInt(t,10)/100*n.height()            }            if(s=="center"){            s=Math.max((n.width()-p)/2,0)            }            if(!k.absolute){            t+=n.scrollTop();            s+=n.scrollLeft()            }            i.css({            top:t,            left:s,            position:"absolute"        });        u.type="onStart";        m.trigger(u);        r[0].call(o,function(){            if(h){                u.type="onLoad";                m.trigger(u)                }            });    if(k.closeOnClick){        c(document).bind("click.overlay",function(w){            if(!o.isOpened()){                return            }            var v=c(w.target);            if(v.parents(i).length>1){                return            }            c.each(d,function(){                this.close(w)                })            })        }        if(k.closeOnEsc){        c(document).unbind("keydown.overlay").bind("keydown.overlay",function(v){            if(v.keyCode==27){                c.each(d,function(){                    this.close(v)                    })                }            })    }    return o},close:function(q){    if(!o.isOpened()){        return o        }        q=q||c.Event();    q.type="onBeforeClose";    m.trigger(q);    if(q.isDefaultPrevented()){        return    }    h=false;    b[k.effect][1].call(o,function(){        q.type="onClose";        m.trigger(q)        });    var p=true;    c.each(d,function(){        if(this.isOpened()){            p=false            }        });if(p){    c(document).unbind("click.overlay").unbind("keydown.overlay")    }    return o},getContent:function(){    return i    },getOverlay:function(){    return i    },getTrigger:function(){    return g    },getClosers:function(){    return j    },isOpened:function(){    return h    },getConf:function(){    return k    },bind:function(p,q){    m.bind(p,q);    return o    },unbind:function(p){    m.unbind(p);    return o    }});c.each("onBeforeLoad,onStart,onLoad,onBeforeClose,onClose".split(","),function(p,q){    o[q]=function(r){        return o.bind(q,r)        }    });if(e){    if(typeof k.expose=="string"){        k.expose={            color:k.expose            }        }    c.extend(k.expose,{    api:true,    closeOnClick:k.closeOnClick,    closeOnEsc:false});var l=i.expose(k.expose);l.onBeforeClose(function(p){    o.close(p)    });o.onClose(function(p){    l.close(p)    })}j=i.find(k.close||".close");if(!j.length&&!k.close){    j=c('<div class="close"></div>');    i.prepend(j)    }    j.click(function(p){    o.close(p)    })}c.fn.overlay=function(e){    var f=this.eq(typeof e=="number"?e:0).data("overlay");    if(f){        return f        }        if(c.isFunction(e)){        e={            onBeforeLoad:e        }    }    var g=c.extend({},c.tools.overlay.conf);e=c.extend(true,g,e);this.each(function(){    f=new a(c(this),e);    d.push(f);    c(this).data("overlay",f)    });return e.api?f:this}})(jQuery);(function(b){    var a=b.tools.overlay;    a.plugins=a.plugins||{};    a.plugins.gallery={        version:"1.0.0",        conf:{            imgId:"img",            next:".next",            prev:".prev",            info:".info",            progress:".progress",            disabledClass:"disabled",            activeClass:"active",            opacity:0.8,            speed:"slow",            template:"<strong>${title}</strong> <span>Image ${index} of ${total}</span>",            autohide:true,            preload:true,            api:false        }    };b.fn.gallery=function(d){    var o=b.extend({},a.plugins.gallery.conf),m;    b.extend(o,d);    m=this.overlay();    var r=this,j=m.getOverlay(),k=j.find(o.next),g=j.find(o.prev),e=j.find(o.info),c=j.find(o.progress),h=g.add(k).add(e).css({        opacity:o.opacity        }),s=m.getClosers(),l;    function p(u){        c.fadeIn();        h.hide();        s.hide();        var t=u.attr("href");        var v=new Image();        v.onload=function(){            c.fadeOut();            var y=b("#"+o.imgId,j);            if(!y.length){                y=b("<img/>").attr("id",o.imgId).css("visibility","hidden");                j.prepend(y)                }                y.attr("src",t).css("visibility","hidden");            var z=v.width;            var A=(b(window).width()-z)/2;            l=r.index(r.filter("[href="+t+"]"));            r.removeClass(o.activeClass).eq(l).addClass(o.activeClass);            var w=o.disabledClass;            h.removeClass(w);            if(l===0){                g.addClass(w)                }                if(l==r.length-1){                k.addClass(w)                }                var B=o.template.replace("${title}",u.attr("title")||u.data("title")).replace("${index}",l+1).replace("${total}",r.length);            var x=parseInt(e.css("paddingLeft"),10)+parseInt(e.css("paddingRight"),10);            e.html(B).css({                width:z-x                });            j.animate({                width:z,                height:v.height,                left:A            },o.speed,function(){                y.hide().css("visibility","visible").fadeIn(function(){                    if(!o.autohide){                        h.fadeIn();                        s.show()                        }                    })            })        };    v.onerror=function(){        j.fadeIn().html("Cannot find image "+t)        };    v.src=t;    if(o.preload){        r.filter(":eq("+(l-1)+"), :eq("+(l+1)+")").each(function(){            var w=new Image();            w.src=b(this).attr("href")            })        }    }function f(t,u){    t.click(function(){        if(t.hasClass(o.disabledClass)){            return        }        var v=r.eq(i=l+(u?1:-1));        if(v.length){            p(v)            }        })}f(k,true);f(g);b(document).keydown(function(t){    if(!j.is(":visible")||t.altKey||t.ctrlKey){        return    }    if(t.keyCode==37||t.keyCode==39){        var u=t.keyCode==37?g:k;        u.click();        return t.preventDefault()        }        return true    });function q(){    if(!j.is(":animated")){        h.show();        s.show()        }    }if(o.autohide){    j.hover(q,function(){        h.fadeOut();        s.hide()        }).mousemove(q)    }    var n;this.each(function(){    var v=b(this),u=b(this).overlay(),t=u;    u.onBeforeLoad(function(){        p(v)        });    u.onClose(function(){        r.removeClass(o.activeClass)        })    });return o.api?n:this}})(jQuery);(function(d){    var b=d.tools.overlay;    b.effects=b.effects||{};    b.effects.apple={        version:"1.0.1"    };    d.extend(b.conf,{        start:{            absolute:true,            top:null,            left:null        },        fadeInSpeed:"fast",        zIndex:9999    });    function c(f){        var g=f.offset();        return[g.top+f.height()/2,g.left+f.width()/2]        }        var e=function(n){        var k=this.getOverlay(),f=this.getConf(),i=this.getTrigger(),q=this,r=k.outerWidth({            margin:true        }),m=k.data("img");        if(!m){            var l=k.css("backgroundImage");            if(!l){                throw"background-image CSS property not set for overlay"                }                l=l.substring(l.indexOf("(")+1,l.indexOf(")")).replace(/\"/g,"");            k.css("backgroundImage","none");            m=d('<img src="../include/js/'+l+'"/>');            m.css({                border:0,                position:"absolute",                display:"none"            }).width(r);            d("body").append(m);            k.data("img",m)            }            var o=d(window),j=f.start.top||Math.round(o.height()/2),h=f.start.left||Math.round(o.width()/2);        if(i){            var g=c(i);            j=g[0];            h=g[1]            }            if(!f.start.absolute){            j+=o.scrollTop();            h+=o.scrollLeft()            }            m.css({            top:j,            left:h,            width:0,            zIndex:f.zIndex            }).show();        m.animate({            top:k.css("top"),            left:k.css("left"),            width:r        },f.speed,function(){            k.css("zIndex",f.zIndex+1).fadeIn(f.fadeInSpeed,function(){                if(q.isOpened()&&!d(this).index(k)){                    n.call()                    }else{                    k.hide()                    }                })        })    };var a=function(f){    var h=this.getOverlay(),i=this.getConf(),g=this.getTrigger(),l=i.start.top,k=i.start.left;    h.hide();    if(g){        var j=c(g);        l=j[0];        k=j[1]        }        h.data("img").animate({        top:l,        left:k,        width:0    },i.closeSpeed,f)    };b.addEffect("apple",e,a)    })(jQuery);(function(b){    b.tools=b.tools||{};    b.tools.expose={        version:"1.0.5",        conf:{            maskId:null,            loadSpeed:"slow",            closeSpeed:"fast",            closeOnClick:true,            closeOnEsc:true,            zIndex:9998,            opacity:0.8,            color:"#456",            api:false        }    };function a(){    if(b.browser.msie){        var f=b(document).height(),e=b(window).height();        return[window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth,f-e<20?e:f]        }        return[b(window).width(),b(document).height()]    }    function c(h,g){    var e=this,j=b(this),d=null,f=false,i=0;    b.each(g,function(k,l){        if(b.isFunction(l)){            j.bind(k,l)            }        });b(window).resize(function(){    e.fit()    });b.extend(this,{    getMask:function(){        return d        },    getExposed:function(){        return h        },    getConf:function(){        return g        },    isLoaded:function(){        return f        },    load:function(n){        if(f){            return e            }            i=h.eq(0).css("zIndex");        if(g.maskId){            d=b("#"+g.maskId)            }            if(!d||!d.length){            var l=a();            d=b("<div/>").css({                position:"absolute",                top:0,                left:0,                width:l[0],                height:l[1],                display:"none",                opacity:0,                zIndex:g.zIndex                });            if(g.maskId){                d.attr("id",g.maskId)                }                b("body").append(d);            var k=d.css("backgroundColor");            if(!k||k=="transparent"||k=="rgba(0, 0, 0, 0)"){                d.css("backgroundColor",g.color)                }                if(g.closeOnEsc){                b(document).bind("keydown.unexpose",function(o){                    if(o.keyCode==27){                        e.close()                        }                    })            }            if(g.closeOnClick){            d.bind("click.unexpose",function(o){                e.close(o)                })            }        }    n=n||b.Event();    n.type="onBeforeLoad";    j.trigger(n);    if(n.isDefaultPrevented()){    return e    }    b.each(h,function(){    var o=b(this);    if(!/relative|absolute|fixed/i.test(o.css("position"))){        o.css("position","relative")        }    });h.css({    zIndex:Math.max(g.zIndex+1,i=="auto"?0:i)    });var m=d.height();    if(!this.isLoaded()){    d.css({        opacity:0,        display:"block"    }).fadeTo(g.loadSpeed,g.opacity,function(){        if(d.height()!=m){            d.css("height",m)            }            n.type="onLoad";        j.trigger(n)        })    }    f=true;return e},close:function(k){    if(!f){        return e        }        k=k||b.Event();    k.type="onBeforeClose";    j.trigger(k);    if(k.isDefaultPrevented()){        return e        }        d.fadeOut(g.closeSpeed,function(){        k.type="onClose";        j.trigger(k);        h.css({            zIndex:b.browser.msie?i:null            })        });    f=false;    return e    },fit:function(){    if(d){        var k=a();        d.css({            width:k[0],            height:k[1]            })        }    },bind:function(k,l){    j.bind(k,l);    return e    },unbind:function(k){    j.unbind(k);    return e    }});b.each("onBeforeLoad,onLoad,onBeforeClose,onClose".split(","),function(k,l){    e[l]=function(m){        return e.bind(l,m)        }    })}b.fn.expose=function(d){    var e=this.eq(typeof d=="number"?d:0).data("expose");    if(e){        return e        }        if(typeof d=="string"){        d={            color:d        }    }    var f=b.extend({},b.tools.expose.conf);d=b.extend(f,d);this.each(function(){    e=new c(b(this),d);    b(this).data("expose",e)    });return d.api?e:this}})(jQuery);
