/*
 * jquery.tools 1.1.2 - The missing UI library for the Web
 * 
 * [tools.scrollable-1.1.2, tools.scrollable.circular-0.5.1, tools.scrollable.autoscroll-1.0.1, tools.overlay-1.1.2]
 * 
 * Copyright (c) 2009 Tero Piirainen
 * http://flowplayer.org/tools/
 *
 * Dual licensed under MIT and GPL 2+ licenses
 * http://www.opensource.org/licenses
 * 
 * -----
 * 
 * File generated: Fri Mar 05 12:44:27 GMT 2010
 */
(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(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);
