//mousewheel
(function($) {

$.event.special.mousewheel = {
	setup: function() {
		var handler = $.event.special.mousewheel.handler;
		
		// Fix pageX, pageY, clientX and clientY for mozilla
		if ( $.browser.mozilla )
			$(this).bind('mousemove.mousewheel', function(event) {
				$.data(this, 'mwcursorposdata', {
					pageX: event.pageX,
					pageY: event.pageY,
					clientX: event.clientX,
					clientY: event.clientY
				});
			});
	
		if ( this.addEventListener )
			this.addEventListener( ($.browser.mozilla ? 'DOMMouseScroll' : 'mousewheel'), handler, false);
		else
			this.onmousewheel = handler;
	},
	
	teardown: function() {
		var handler = $.event.special.mousewheel.handler;
		
		$(this).unbind('mousemove.mousewheel');
		
		if ( this.removeEventListener )
			this.removeEventListener( ($.browser.mozilla ? 'DOMMouseScroll' : 'mousewheel'), handler, false);
		else
			this.onmousewheel = function(){};
		
		$.removeData(this, 'mwcursorposdata');
	},
	
	handler: function(event) {
		var args = Array.prototype.slice.call( arguments, 1 );
		
		event = $.event.fix(event || window.event);
		// Get correct pageX, pageY, clientX and clientY for mozilla
		$.extend( event, $.data(this, 'mwcursorposdata') || {} );
		var delta = 0, returnValue = true;
		
		if ( event.wheelDelta ) delta = event.wheelDelta/120;
		if ( event.detail     ) delta = -event.detail/3;
//		if ( $.browser.opera  ) delta = -event.wheelDelta;
		
		event.data  = event.data || {};
		event.type  = "mousewheel";
		
		// Add delta to the front of the arguments
		args.unshift(delta);
		// Add event to the front of the arguments
		args.unshift(event);

		return $.event.handle.apply(this, args);
	}
};

$.fn.extend({
	mousewheel: function(fn) {
		return fn ? this.bind("mousewheel", fn) : this.trigger("mousewheel");
	},
	
	unmousewheel: function(fn) {
		return this.unbind("mousewheel", fn);
	}
});

})(jQuery);
//scrollable
(function($){function Scrollable(el,config){var self=this;if(!Scrollable.current){Scrollable.current=this;}var opts={size:5,vertical:false,activeClass:'active',speed:300,onSeek:null,clickable:true,items:'.items',prev:'.prev',next:'.next',navi:'.navi',naviItem:'span',loop:false};this.opts=$.extend(opts,config);this.opts.horizontal=!opts.vertical;this.root=$(el);var root=this.root;var itemRoot=$(opts.items,root);if(!itemRoot.length){itemRoot=root;}itemRoot.css({position:'relative',overflow:'hidden',visibility:'visible'});itemRoot.children().wrapAll('<div class="__scrollable" style="position:absolute"/>');this.wrap=itemRoot.find(":first");this.wrap.css(opts.horizontal?"width":"height","200000em").after('<br clear="all" />');this.items=this.wrap.children();this.index=0;if(opts.horizontal){itemRoot.width(opts.size*(this.items.eq(1).offset().left-this.items.eq(0).offset().left)-2);}else{itemRoot.height(opts.size*(this.items.eq(1).offset().top-this.items.eq(0).offset().top)-2);}if($.isFunction($.fn.mousewheel)){root.bind("mousewheel.scrollable",function(e,delta){self.move(-delta,50);return false;});}if(opts.clickable){this.items.each(function(index,arg){$(this).bind("click.scrollable",function(){self.click(index);});});}this.activeIndex=0;$(opts.prev,root).click(function(){self.prev();});$(opts.next,root).click(function(){self.next();});$(opts.navi,root).each(function(){var navi=$(this);var status=self.getStatus();if(navi.is(":empty")){for(var i=0;i<status.pages;i++){var item=$("<"+opts.naviItem+"/>").attr("page",i).click(function(e){var el=$(this);el.parent().children().removeClass(opts.activeClass);el.addClass(opts.activeClass);self.setPage(el.attr("page"));e.preventDefault();});if(i===0){item.addClass(opts.activeClass);}navi.append(item);}}else{var els=navi.find("a");if(!els.length){els=navi.children();}els.each(function(i){var item=$(this);item.attr("page",i);if(i===0){item.addClass(opts.activeClass);}item.click(function(){navi.find("."+opts.activeClass).removeClass(opts.activeClass);item.addClass(opts.activeClass);self.setPage(item.attr("page"));});});}});}$.extend(Scrollable.prototype,{getVersion:function(){return'@VERSION';},click:function(index){var item=this.items.eq(index);var klass=this.opts.activeClass;if(!item.hasClass(klass)&&(index>=0||index<this.items.size())){this.items.removeClass(klass);item.addClass(klass);var delta=Math.floor(this.opts.size/2);var to=index-delta;if(to!==this.activeIndex){this.seekTo(to);}}},getStatus:function(){var len=this.items.size();return{size:this.opts.size,total:len,index:this.index,pages:Math.ceil(len/this.opts.size),page:Math.ceil(this.index/this.opts.size)};},seekTo:function(index,time){if(index<0){index=0;}var max=Math.min(index,this.items.length-this.opts.size);if(index<=max){var item=this.items.eq(index);this.index=index;if(this.opts.horizontal){var left=this.wrap.offset().left-item.offset().left;this.wrap.animate({left:left},time||this.opts.speed);}else{var top=this.wrap.offset().top-item.offset().top;this.wrap.animate({top:top},time||this.opts.speed);}Scrollable.current=this;}if($.isFunction(this.opts.onSeek)){this.opts.onSeek.call(this);}var navi=$(this.opts.navi,this.root);if(navi.length){var klass=this.opts.activeClass;var page=Math.ceil(index/this.opts.size);page=Math.min(page,navi.children().length-1);navi.children().removeClass(klass).eq(page).addClass(klass);}this.activeIndex=index;return true;},move:function(offset,time){var to=this.index+offset;if(this.opts.loop&&to>(this.items.length-this.opts.size)){to=0;}this.seekTo(to,time);},next:function(time){this.move(1,time);},prev:function(time){this.move(-1,time);},movePage:function(offset,time){this.move(this.opts.size*offset,time);},setPage:function(page,time){var size=this.opts.size;var index=size*page;var lastPage=index+size>=this.items.size();if(lastPage){index=this.items.size()-this.opts.size;}this.seekTo(index,time);},prevPage:function(time){this.setPage(this.getStatus().page-1,time);},nextPage:function(time){this.setPage(this.getStatus().page+1,time);},begin:function(time){this.seekTo(0,time);},end:function(time){this.seekTo(this.items.size()-this.opts.size,time);}});$(window).bind("keypress.scrollable",function(evt){var el=Scrollable.current;if(!el){return;}if(el.opts.horizontal&&(evt.keyCode==37||evt.keyCode==39)){el.move(evt.keyCode==37?-1:1);return evt.preventDefault();}if(!el.opts.horizontal&&(evt.keyCode==38||evt.keyCode==40)){el.move(evt.keyCode==38?-1:1);return evt.preventDefault();}return true;});jQuery.prototype.scrollable=function(opts,arg0,arg1){if(!opts||typeof opts=='number'){var index=opts||0;var el=$.data(this.get()[index],"scrollable");if(el){return el;}}this.each(function(){if(typeof opts=="string"){var el=$.data(this,"scrollable");el[opts].apply(el,[arg0,arg1]);}else{var instance=new Scrollable(this,opts);$.data(this,"scrollable",instance);}});return this;};})(jQuery);
/**
 * jquery.scrollable 1.0.1. Put your HTML scroll.
 * 
 * Copyright (c) 2009 Tero Piirainen
 * http://flowplayer.org/tools/scrollable.html
 *
 * Dual licensed under MIT and GPL 2+ licenses
 * http://www.opensource.org/licenses
 *
 * Launch  : March 2008
 * Version : 1.0.1 - Mon Jan 26 2009 12:49:16 GMT-0000 (GMT+00:00)
 */
//eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(3($){3 1d(a,c,d,e){6 b=a[c];7($.16(b)){1X{4 b.10(d,e)}1G(14){7(a.1e){1e("2c 25 A."+c+": "+14)}R{20 14;}4 P}}4 B}6 u=C;3 1o(l,r){6 o=8;7(!u){u=o}6 j=!r.1z;6 q=$(r.1a,l);6 s=0;6 h=l.S(r.17).z(0);6 n=l.S(r.Q).z(0);6 m=l.S(r.H).z(0);6 t=l.S(r.O).z(0);6 k=l.S(r.N).z(0);$.1r(o,{1P:3(){4[1,0,1]},1L:3(){4 s},1J:3(){4 r},x:3(){4 o.D().9()},1l:3(){4 L.15(8.x()/r.9)},Z:3(){4 L.15(s/r.9)},1C:3(){4 l},1A:3(){4 q},D:3(){4 q.T()},K:3(i,a,f){a=a||r.1c;7($.16(a)){f=a;a=r.1c}7(i<0){i=0}7(i>o.x()-r.9){4 o}6 e=o.D().z(i);7(!e.1b){4 o}7(1d(r,"1w",o,i)===P){4 o}7(j){6 b=-(e.28(B)*i);q.1x({24:b},a,r.19,f?3(){f.10(o)}:C)}R{6 c=-(e.23(B)*i);q.1x({22:c},a,r.19,f?3(){f.10(o)}:C)}1d(r,"1v",o,i);7(h.1b){6 g=r.w;6 d=L.15(i/r.9);d=L.21(d,h.T().1b-1);h.T().F(g).z(d).v(g)}7(i===0){n.Y(t).v(r.E)}R{n.Y(t).F(r.E)}7(i>=o.x()-r.9){m.Y(k).v(r.E)}R{m.Y(k).F(r.E)}u=o;s=i;4 o},G:3(b,c,d){6 a=s+b;7(r.1u&&a>(o.x()-r.9)){a=0}4 8.K(a,c,d)},H:3(a,b){4 8.G(1,a,b)},Q:3(a,b){4 8.G(-1,a,b)},1Z:3(a,b,c){4 8.G(r.9*a,b,c)},M:3(b,a,d){6 e=r.9;6 f=e*b;6 c=f+e>=8.x();7(c){f=8.x()-r.9}4 8.K(f,a,d)},O:3(a,b){4 8.M(8.Z()-1,a,b)},N:3(a,b){4 8.M(8.Z()+1,a,b)},1W:3(a,b){4 8.K(0,a,b)},1V:3(a,b){4 8.K(8.x()-r.9,a,b)},1U:3(){4 13()},y:3(f,c,e){6 d=o.D().z(f);6 g=r.w;7(!d.1T(g)&&(f>=0||f<8.x())){o.D().F(g);d.v(g);6 a=L.1S(r.9/2);6 b=f-a;7(b>o.x()-r.9){b--}7(b!==f){4 8.K(b,c,e)}}4 o}});7($.16($.1R.1s)){l.12("1s.A",3(e,a){6 b=$.1Q.1O?1:-1;o.G(a>0?b:-b,1N);4 P})}n.v(r.E).y(3(){o.Q()});m.y(3(){o.H()});k.y(3(){o.N()});t.v(r.E).y(3(){o.O()});7(r.1q){$(1M).1K("1n.A").12("1n.A",3(a){6 b=u;7(!b){4}7(j&&(a.J==1m||a.J==1I)){b.G(a.J==1m?-1:1);4 a.11()}7(!j&&(a.J==1p||a.J==1H)){b.G(a.J==1p?-1:1);4 a.11()}4 B})}3 13(){h.U(3(){6 b=$(8);7(b.1F(":1k")||b.I("1j")==o){b.1k();b.I("1j",o);1E(6 i=0;i<o.1l();i++){6 c=$("<"+r.1i+"/>").W("V",i).y(3(e){6 a=$(8);a.1D().T().F(r.w);a.v(r.w);o.M(a.W("V"));4 e.11()});7(i===0){c.v(r.w)}b.1B(c)}}R{6 d=b.T();d.U(3(i){6 a=$(8);a.W("V",i);7(i===0){a.v(r.w)}a.y(3(){b.1Y("."+r.w).F(r.w);a.v(r.w);o.M(a.W("V"))})})}});7(r.1h){o.D().U(3(a,b){6 c=$(8);7(!c.I("1t")){c.12("y.A",3(){o.y(a)});c.I("1t",B)}})}7(r.X){o.D().1g(3(){$(8).v(r.X)},3(){$(8).F(r.X)})}4 o}13();6 p=C;3 1f(){p=2h(3(){o.H()},r.18)}7(r.18>0){l.1g(3(){2g(p)},3(){1f()});1f()}}1y.2e.A=3(d){6 c=8.z(2d d==\'2b\'?d:0).I("A");7(c){4 c}6 b={9:5,1z:P,1h:B,1u:P,18:0,1c:2a,1q:B,w:\'29\',E:\'27\',X:C,19:\'2f\',1a:\'.1a\',Q:\'.Q\',H:\'.H\',O:\'.O\',N:\'.N\',17:\'.17\',1i:\'a\',1w:C,1v:C,1e:B};$.1r(b,d);8.U(3(){6 a=26 1o($(8),b);$(8).I("A",a)});4 8}})(1y);',62,142,'|||function|return||var|if|this|size||||||||||||||||||||||addClass|activeClass|getSize|click|eq|scrollable|true|null|getItems|disabledClass|removeClass|move|next|data|keyCode|seekTo|Math|setPage|nextPage|prevPage|false|prev|else|siblings|children|each|href|attr|hoverClass|add|getPageIndex|call|preventDefault|bind|load|error|ceil|isFunction|navi|interval|easing|items|length|speed|fireEvent|alert|setTimer|hover|clickable|naviItem|me|empty|getPageAmount|37|keypress|Scrollable|38|keyboard|extend|mousewheel|set|loop|onSeek|onBeforeSeek|animate|jQuery|vertical|getItemWrap|append|getRoot|parent|for|is|catch|40|39|getConf|unbind|getIndex|window|50|opera|getVersion|browser|fn|floor|hasClass|reload|end|begin|try|find|movePage|throw|min|top|outerHeight|left|calling|new|disabled|outerWidth|active|400|number|Error|typeof|prototype|swing|clearInterval|setInterval'.split('|'),0,{}))
//jscrollpane
(function(A){A.jScrollPane={active:[]};A.fn.jScrollPane=function(C){C=A.extend({},A.fn.jScrollPane.defaults,C);var B=function(){return false};return this.each(function(){var O=A(this);O.css("overflow","hidden");var X=this;if(A(this).parent().is(".jScrollPaneContainer")){var Ac=C.maintainPosition?O.position().top:0;var L=A(this).parent();var d=L.innerWidth();var Ad=L.outerHeight();var M=Ad;A(">.jScrollPaneTrack, >.jScrollArrowUp, >.jScrollArrowDown",L).remove();O.css({top:0})}else{var Ac=0;this.originalPadding=O.css("paddingTop")+" "+O.css("paddingRight")+" "+O.css("paddingBottom")+" "+O.css("paddingLeft");this.originalSidePaddingTotal=(parseInt(O.css("paddingLeft"))||0)+(parseInt(O.css("paddingRight"))||0);var d=O.innerWidth();var Ad=O.innerHeight();var M=Ad;O.wrap(A("<div></div>").attr({className:"jScrollPaneContainer"}).css({height:Ad+"px",width:d+"px"}));A(document).bind("emchange",function(Ae,Af,p){O.jScrollPane(C)})}if(C.reinitialiseOnImageLoad){var N=A.data(X,"jScrollPaneImagesToLoad")||A("img",O);var G=[];if(N.length){N.each(function(p,Ae){A(this).bind("load",function(){if(A.inArray(p,G)==-1){G.push(Ae);N=A.grep(N,function(Ag,Af){return Ag!=Ae});A.data(X,"jScrollPaneImagesToLoad",N);C.reinitialiseOnImageLoad=false;O.jScrollPane(C)}}).each(function(Af,Ag){if(this.complete||this.complete===undefined){this.src=this.src}})})}}var o=this.originalSidePaddingTotal;var l={height:"auto",width:d-C.scrollbarWidth-C.scrollbarMargin-o+"px"};if(C.scrollbarOnLeft){l.paddingLeft=C.scrollbarMargin+C.scrollbarWidth+"px"}else{l.paddingRight=C.scrollbarMargin+"px"}O.css(l);var m=O.outerHeight();var i=Ad/m;if(i<0.99){var H=O.parent();H.append(A("<div></div>").attr({className:"jScrollPaneTrack"}).css({width:C.scrollbarWidth+"px"}).append(A("<div></div>").attr({className:"jScrollPaneDrag"}).css({width:C.scrollbarWidth+"px"}).append(A("<div></div>").attr({className:"jScrollPaneDragTop"}).css({width:C.scrollbarWidth+"px"}),A("<div></div>").attr({className:"jScrollPaneDragBottom"}).css({width:C.scrollbarWidth+"px"}))));var z=A(">.jScrollPaneTrack",H);var P=A(">.jScrollPaneTrack .jScrollPaneDrag",H);if(C.showArrows){var g;var Ab;var S;var r;var j=function(){if(r>4||r%4==0){y(u+Ab*b)}r++};var K=function(p){A("html").unbind("mouseup",K);g.removeClass("jScrollActiveArrowButton");clearInterval(S)};var Z=function(){A("html").bind("mouseup",K);g.addClass("jScrollActiveArrowButton");r=0;j();S=setInterval(j,100)};H.append(A("<a></a>").attr({href:"javascript:;",className:"jScrollArrowUp"}).css({width:C.scrollbarWidth+"px"}).html("Scroll up").bind("mousedown",function(){g=A(this);Ab=-1;Z();this.blur();return false}).bind("click",B),A("<a></a>").attr({href:"javascript:;",className:"jScrollArrowDown"}).css({width:C.scrollbarWidth+"px"}).html("Scroll down").bind("mousedown",function(){g=A(this);Ab=1;Z();this.blur();return false}).bind("click",B));var Q=A(">.jScrollArrowUp",H);var J=A(">.jScrollArrowDown",H);if(C.arrowSize){M=Ad-C.arrowSize-C.arrowSize;z.css({height:M+"px",top:C.arrowSize+"px"})}else{var s=Q.height();C.arrowSize=s;M=Ad-s-J.height();z.css({height:M+"px",top:s+"px"})}}var w=A(this).css({position:"absolute",overflow:"visible"});var D;var Y;var b;var u=0;var V=i*Ad/2;var a=function(Ae,Ag){var Af=Ag=="X"?"Left":"Top";return Ae["page"+Ag]||(Ae["client"+Ag]+(document.documentElement["scroll"+Af]||document.body["scroll"+Af]))||0};var f=function(){return false};var v=function(){n();D=P.offset(false);D.top-=u;Y=M-P[0].offsetHeight;b=2*C.wheelSpeed*Y/m};var E=function(p){v();V=a(p,"Y")-u-D.top;A("html").bind("mouseup",T).bind("mousemove",h);if(A.browser.msie){A("html").bind("dragstart",f).bind("selectstart",f)}return false};var T=function(){A("html").unbind("mouseup",T).unbind("mousemove",h);V=i*Ad/2;if(A.browser.msie){A("html").unbind("dragstart",f).unbind("selectstart",f)}};var y=function(Ae){Ae=Ae<0?0:(Ae>Y?Y:Ae);u=Ae;P.css({top:Ae+"px"});var Af=Ae/Y;w.css({top:((Ad-m)*Af)+"px"});O.trigger("scroll");if(C.showArrows){Q[Ae==0?"addClass":"removeClass"]("disabled");J[Ae==Y?"addClass":"removeClass"]("disabled")}};var h=function(p){y(a(p,"Y")-D.top-V)};var q=Math.max(Math.min(i*(Ad-C.arrowSize*2),C.dragMaxHeight),C.dragMinHeight);P.css({height:q+"px"}).bind("mousedown",E);var k;var R;var I;var t=function(){if(R>8||R%4==0){y((u-((u-I)/2)))}R++};var Aa=function(){clearInterval(k);A("html").unbind("mouseup",Aa).unbind("mousemove",e)};var e=function(p){I=a(p,"Y")-D.top-V};var U=function(p){v();e(p);R=0;A("html").bind("mouseup",Aa).bind("mousemove",e);k=setInterval(t,100);t()};z.bind("mousedown",U);H.bind("mousewheel",function(Ae,Ag){v();n();var Af=u;y(u-Ag*b);var p=Af!=u;return !p});var F;var W;function c(){var p=(F-u)/C.animateStep;if(p>1||p<-1){y(u+p)}else{y(F);n()}}var n=function(){if(W){clearInterval(W);delete F}};var x=function(Af,p){if(typeof Af=="string"){$e=A(Af,O);if(!$e.length){return}Af=$e.offset().top-O.offset().top}H.scrollTop(0);n();var Ae=-Af/(Ad-m)*Y;if(p||!C.animateTo){y(Ae)}else{F=Ae;W=setInterval(c,C.animateInterval)}};O[0].scrollTo=x;O[0].scrollBy=function(Ae){var p=-parseInt(w.css("top"))||0;x(p+Ae)};v();x(-Ac,true);A("*",this).bind("focus",function(Ah){var Ag=A(this);var Aj=0;while(Ag[0]!=O[0]){Aj+=Ag.position().top;Ag=Ag.offsetParent()}var p=-parseInt(w.css("top"))||0;var Ai=p+Ad;var Af=Aj>p&&Aj<Ai;if(!Af){var Ae=Aj-C.scrollbarMargin;if(Aj>p){Ae+=A(this).height()+15+C.scrollbarMargin-Ad}x(Ae)}});if(location.hash){x(location.hash)}A(document).bind("click",function(Ae){$target=A(Ae.target);if($target.is("a")){var p=$target.attr("href");if(p.substr(0,1)=="#"){x(p)}}});A.jScrollPane.active.push(O[0])}else{O.css({height:Ad+"px",width:d-this.originalSidePaddingTotal+"px",padding:this.originalPadding});O.parent().unbind("mousewheel")}})};A.fn.jScrollPane.defaults={scrollbarWidth:11,scrollbarMargin:5,wheelSpeed:18,showArrows:false,arrowSize:0,animateTo:false,dragMinHeight:1,dragMaxHeight:99999,animateInterval:100,animateStep:3,maintainPosition:true,scrollbarOnLeft:false,reinitialiseOnImageLoad:false};A(window).bind("unload",function(){var C=A.jScrollPane.active;for(var B=0;B<C.length;B++){C[B].scrollTo=C[B].scrollBy=null}})})(jQuery);
