/*
 * jquery.tools 1.1.2 - The missing UI library for the Web
 * 
 * [tools.scrollable-1.1.2, tools.scrollable.mousewheel-1.0.1]
 * 
 * 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 Oct 07 16:09:20 GMT+00:00 2009
*/
(function(b){
	b.tools=b.tools||{};
	b.tools.scrollable={
		version:"1.1.2",
		conf:{
			vertical:false,
			speed:1000,
			keyboard:true,
			keyboardSteps:null,
			disabledClass:"flecheOff",
			hoverClass:null,
			clickable:false,
			activeClass:"active",
			easing:"swing",
			loop:false,
			items:".items",
			item:null,
			prev:".prev",
			next:".next",
			page_precedente:".page_precedente",
			page_suivante:".page_suivante",
			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.page_precedente),
		n=l(m.page_suivante);
		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)
			},
			page_precedente:function(t,s){return this.movePage(-1,t,s)},
			page_suivante: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.page_suivante()});
		if(r.getSize()<m.size){h.add(n).addClass(m.disabledClass)}
		g.addClass(m.disabledClass).click(function(){r.page_precedente()});
		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.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){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);


// Défilement circulaire
(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);
