/*
 Copyright (c) 2009-2010 Petr Vostrel (http://petr.vostrel.cz/)
 Dual licensed under the MIT (MIT-LICENSE.txt)
 and GPL (GPL-LICENSE.txt) licenses.

 jQuery Reel
 http://jquery.vostrel.cz/reel
 Version: 1.1.1
 Updated: 2011-03-20

 Requires jQuery 1.4.2 or higher
*/
jQuery.reel||function(j,Cb,bb,p){function cb(l){return"<"+l+"/>"}function ha(l){return"."+l}function ia(l){return"url("+l+")"}function F(l){return+l.toFixed(4)}function S(l,a,u){return T(l,Ga(a,u))}function db(l){function a(){j.fn[this]||(j.fn[this]=function(){return this})}j.each(l,a)}function ja(l,a){return v(l)*(a?-1:1)}function U(l){return l.originalEvent.touches[0]}j.reel={version:"1.1.1",def:{footage:6,frame:1,frames:36,hint:"",horizontal:true,hotspot:p,indicator:0,klass:"",loops:true,reversed:p,
spacing:0,stitched:p,suffix:"-reel",tooltip:"",area:p,brake:0.5,clickfree:false,cw:false,delay:-1,directional:false,draggable:true,entry:p,graph:p,image:p,images:[],inversed:false,laziness:8,monitor:p,opening:0,orbital:0,path:"",preloader:4,rebound:0.5,revolution:p,row:1,rows:0,speed:0,step:p,steps:p,tempo:36,timeout:2,throwable:true,vertical:false,wheelable:true}};j.fn.reel=function(l){var a=j.extend({},j.reel.def,l);l=function(g){var d=[];g.filter(eb).each(function(){var c=j(this),r=a.images.length&&
a.images||a.image||c.attr(Ha),m=V(c.css(Ia)),w=V(c.css(Ja));!r||r==Ka||!m||!w||d.push(c)});g.filter(La+ha(x)).each(function(){d.push(j(this))});return j(d)}(this);var u=[],s=a.tempo/(j.reel.lazy?a.laziness:1),C=1E3/s,G=C;a.reversed&&(a.cw=true);a.tooltip&&(a.hint=a.tooltip);a.hotspot&&(a.area=a.hotspot);W=W||function g(){X={before:X.now,now:new Date};G+=C-ka(X.now-X.before);y.trigger(D);return W=setTimeout(g,G)}();l.each(function(){var g=j(this),d=function(f,b){g.data(f,b);g.trigger("store",[f,b]);
return b},c=function(f){var b=g.data(f);g.trigger("recall",[f,b]);return b},r={setup:function(f){if(g.hasClass(x))return m.call(f);var b=g.attr(Ha),e=g.attr(fb),h=g.attr("style"),i=a.images,k=a.stitched,o=a.loops,t={x:V(g.css(Ia)),y:V(g.css(Ja))},H=d(Ma,a.orbital&&a.footage||a.rows<=1&&i.length||a.frames),gb=k?1:ka(H/a.footage),la={display:"block",width:t.x,height:t.y};e="#"+e+a.suffix;var Na=g.attr("className"),ma={position:"relative",width:t.x,height:t.y};ma=j(M,{id:e.substr(1),className:Na+Y+hb,
css:ma});la=g.wrap(ma).attr({className:x}).css(la).bind(r);u.push(la[0]);d(na,i.length&&i.length||a.image||b.replace(/^(.*)\.(jpg|jpeg|png|gif)$/,"$1"+a.suffix+".$2"));d(Oa,Na);d(z,a.frame);d(Pa,a.spacing);d(B,t);d(n,0);d(oa,a.steps||a.frames);d(Z,a.revolution||k/2||t.x*2);d(pa,gb);d($,1/(H-(o&&!k?0:1)));d(ib,1/T(H,c(oa)));d(qa,k);d(Qa,k-(o?0:t.x));d(aa,e);d(E,d(ra,a.speed)<0);d(I,0);d(J,a.vertical);d(A,(a.row-1)/(a.rows-1));d(ba,ja(1,!a.cw&&!k));d(N,false);d(Ra,{src:b,style:h||Ka});W&&y.bind(D,r.tick);
m.call(f);g.trigger("start")},teardown:function(f){g.unbind(q).unbind(r);var b=g.data("events"),e=g.clone().attr(g.data(Ra)).removeClass(x).addClass(c(Oa));for(var h in b)j.each(b[h],function(i,k){e.bind(h+"."+k.namespace,k.handler,k.data)});j("img:hidden",g.parent()).remove();j(c(aa)).before(e).detach();ca();y.unbind(sa).unbind(ta).unbind(D,r.tick).unbind(D,r.opening_tick);m.call(f)},start:function(){var f=c(B),b=c(Ma),e=T(b,c(oa));e=d(n,1/e*((a.step||a.frame)-1));d(z,e*b+1);g.attr("id");b=g.parent();
e=j(M,{className:jb,css:{position:da,left:0,top:0,width:f.x,height:f.y,background:ua,opacity:0}}).appendTo(b);e=d(Sa,j(a.area||e));if(j.reel.touchy){g.css({WebkitUserSelect:"none",WebkitBackgroundSize:a.images.length?"auto":c(qa)&&c(qa)+"px "+f.y+"px"||f.x*a.footage+"px "+f.y*c(pa)*(a.rows||1)*(a.directional?2:1)+"px"});e.bind(kb,function(h){g.trigger("down",[U(h).clientX,U(h).clientY,true])}).bind(lb,function(h){g.trigger("slide",[U(h).clientX,U(h).clientY,true]);return!(a.rows>1||a.orbital||c(N))}).bind(mb,
function(){g.trigger("up",[true]);return false}).bind(nb,function(){g.trigger("up",[true]);return false})}else e.css({cursor:"url("+Ta+"), "+va}).bind(ob,function(h,i){g.trigger("wheel",[i]);return false}).bind(pb,function(){g.trigger("play")}).bind(a.clickfree?qb:rb,function(h){g.trigger("down",[h.clientX,h.clientY]);return false}).bind(a.clickfree?sb:"",function(){g.trigger("up");return false}).disableTextSelect();a.hint&&e.attr(tb,a.hint);a.monitor&&b.append(wa=j(M,{className:ub,css:{position:da,
left:0,top:0}}))||(wa=j());a.indicator&&b.append(Ua("x"));a.rows>1&&a.indicator&&b.append(Ua("y"));g.trigger("preload")},preload:function(f){var b=c(B),e=g.parent(),h=c(na),i=a.images;h=!i.length?[h]:[].concat(i);var k=g[0];k.frames=h.length;k.preloaded=0;g.trigger("stop");for(e.append(xa=j(M,{className:vb,css:{position:da,left:0,top:b.y-a.preloader,height:a.preloader,backgroundColor:ua}}));h.length;){i=a.path+h.shift();var o=j(new Image).bind("load"+q,function(){k.preloaded++;j(this).unbind(q);xa.css({width:1/
k.frames*k.preloaded*b.x});if(k.frames==k.preloaded){xa.remove();g.trigger(a.rows>1&&!a.stitched?"rowChange":"frameChange");g.attr({src:wb}).trigger("loaded");g.trigger("opening");m.call(f)}});e.append(o.hide().attr({src:i}))}},tick:function(f){var b=c(I);if(O){var e=F(b-xb*O);b=!(b*e<=0||b<v(e))&&d(I,b>v(c(ra))?e:(O=w=0))}wa.text(c(a.monitor));b&&O++;w&&w++;Va(0);slidable=true;if(w&&!b)return m.call(f);if(c(ea))return m.call(f,K());e=c(ba)*ja(1,c(E));var h=(c(ya)?b:v(c(ra))+b)/s;b=c(n);e=d(n,b-h*
e);m.call(f);e!=b&&g.trigger("fractionChange")},opening:function(){var f=a.entry||a.speed,b=c(n),e=a.opening;d(n,b-f*a.opening);d(za,e*s);y.bind(D,r.opening_tick)},opening_tick:function(f){var b=(a.entry||a.speed)/s*(a.cw?-1:1),e=c(n);d(n,F(e+b));b=d(za,c(za)-1);g.trigger("fractionChange");m.call(f);if(!(b>1)){y.unbind(D,r.opening_tick);yb()}},play:function(f){var b=d(Aa,true);d(ya,!b);Wa();m.call(f)},pause:function(f){d(Aa,false);K();m.call(f)},stop:function(f){var b=d(ya,true);d(Aa,!b);m.call(f)},
down:function(f,b,e,h){if(a.draggable){d(ea,c(z));d(I,0);fa=ga(b,e,c(n),c(Z),c(A));K();ca();if(!h){y.css({cursor:ia(zb)+", "+va}).bind(ta,function(i){g.trigger("slide",[i.clientX,i.clientY]);m.call(i);return false});a.clickfree||y.bind(sa,function(i){g.trigger("up");m.call(i)})}}m.call(f)},up:function(f,b){if(!a.draggable)return m.call(f);d(ea,false);d(N,false);var e=d(I,!a.throwable?0:v(P[0]+P[1])/60);O=e?1:0;e?Wa():K();ca();!b&&y.unbind(sa).unbind(ta)&&c(Sa).css({cursor:ia(Ta)+", "+va});m.call(f)},
slide:function(f,b,e){if(a.draggable&&slidable){slidable=false;K();var h={x:b-fa.x,y:e-fa.y};if(v(h.x)>0||v(h.y)>0){fa={x:b,y:e};var i=c(Z),k=c(Xa),o=c(J),t=d(n,Ya(o?e-k.y:b-k.x,c(Ba),i,c(Ca),c(Da),c(ba)));d(N,c(N)||c(z)!=c(ea));(h=Va(o?h.y:h.x||0))&&d(E,h<0);if(a.orbital&&c(Za)){d(J,v(e-k.y)>v(b-k.x));k=ga(b,e,t,i,c(A))}if(a.rows>1){h=c(B).y;o=c($a);var H=-o*h;d(A,F(j.reel.math.envelope(e-k.y,o,h,H,H+h,-1)))}!(t%1)&&!a.loops&&ga(b,e,t,i,c(A));g.trigger("fractionChange")}}m.call(f)},wheel:function(f,
b){if(!a.wheelable)return m.call(f);var e=ka(Ab(v(b))/2);e=ja(e,b>0);b=0.2*c(Z);ga(p,p,c(n),b,c(A));d(n,Ya(e,c(Ba),b,c(Ca),c(Da),c(ba)));e&&d(E,e<0);d(I,0);K();m.call(f);g.trigger("fractionChange");return false},fractionChange:function(f,b){b=!b?c(n):d(n,b);b=a.loops?b-Q(b):S(0,1,b);b=d(n,F(b));var e=c(z),h=d(z,1+Q(b/c($))),i=a.orbital;d(Za,i&&(h<=i||h>=a.footage-i+2));if(!a.loops&&a.rebound){!w&&!(b%1)?Ea++:(Ea=0);Ea>=a.rebound*1E3/s&&d(E,!c(E))}i=c(B);var k=(c(J)?i.y:i.x)-a.indicator;b=S(0,k,R(j.reel.math.interpolate(b,
-1,k+2)));b=!a.cw||a.stitched?b:k-b;j(ha(Fa+".x"),c(aa)).css(c(J)?{left:0,top:b}:{left:b,top:i.y-a.indicator});if(a.rows>1){b=c(B).y-a.indicator;b=S(0,b,R(j.reel.math.interpolate(c(A),-1,b+2)));j(ha(Fa+".y"),c(aa)).css({top:b})}if(h==e&&h!=1)return m.call(f);g.trigger(a.rows>1?"rowChange":"frameChange");m.call(f)},rowChange:function(f,b){var e=Q(c(n)/c($))+1;b=d(A,S(0,1,F(b!=p?(b-1)/(a.rows-1):c(A))));d(z,e+(a.rows<=1?0:R(b*(a.rows-1))*a.frames));m.call(f);g.trigger("frameChange")},frameChange:function(f,
b){var e=!b?c(n):d(n,F(c($)*(b-1)));b=d(z,R(b?b:c(z)));var h=a.images,i=a.footage,k=c(B),o=a.horizontal;if(c(J)){b=a.inversed?i+1-b:b;b+=i}if(h.length){h=h[b-1];g.attr({src:a.path+h})}else{if(a.stitched)o=[-R(e*c(Qa))+L,0+L];else{e=b%i-1;e=e<0?i-1:e;i=Q((b-0.1)/i);i+=a.rows>1?0:c(E)?0:c(pa);b=c(Pa);i=i*((o?k.y:k.x)+b);k=e*((o?k.x:k.y)+b);o=h.length?[0,0]:o?[-k+L,-i+L]:[-i+L,-k+L]}h=c(na);g.css({background:ia(a.path+h)+Y+o.join(Y)})}m.call(f)}},m=function(f){Bb||delete this;return f},w,O=0,Wa=function(){return w=
0},K=function(){clearTimeout(ab);y.unbind(D,r.opening_tick);g.trigger("play");return w=-a.timeout*s},ab,yb=function(){ab=setTimeout(function(){g.trigger("play")},a.delay*1E3||0)},wa,xa,Ua=function(f){return j(M,{className:[Fa,f].join(Y),css:{width:a.indicator,height:a.indicator,top:c(B).y-a.indicator,left:0,position:da,backgroundColor:ua}})},Ea=0,fa={x:0,y:0},Va=function(f){return P.push(f)&&P.shift()&&f},ca=function(){return P=[0,0]},P=ca(),xb=a.brake/s,Ya=a.graph||j.reel.math[a.loops?"hatch":"envelope"],
ga=function(f,b,e,h,i){d(Ba,e);d($a,i);d(Ca,a.loops?0:-e*h);d(Da,a.loops?h:h-e*h);return f&&d(Xa,{x:f,y:b})||p};r.setup()});return j(u)};j.reel.math={envelope:function(l,a,u,s,C,G){return a+T(s,Ga(C,-l*G))/u},hatch:function(l,a,u,s,C,G){l=(l<s?C:0)+l%C;l=a+-l*G/u;return l-Q(l)},interpolate:function(l,a,u){return a+l*(u-a)}};j.reel.touchy=/iphone|ipod|ipad|android/i.test(navigator.userAgent);j.reel.lazy=/iphone|ipod|android/i.test(navigator.userAgent);db("mousewheel disableTextSelect enableTextSelect".split(/ /));
var y=j(bb),Bb=j.browser.msie,va="ew-resize",W,X={before:0,now:new Date},x="jquery-reel",hb=x+"-overlay",Fa=x+"-indicator",vb=x+"-preloader",ub=x+"-monitor",jb=x+"-interface",wb="data:image/gif;base64,R0lGODlhCAAIAIAAAAAAAAAAACH5BAEAAAAALAAAAAAIAAgAAAIHhI+py+1dAAA7",Ta="data:image/gif;base64,R0lGODlhEAAQAJECAAAAAP///////wAAACH5BAEAAAIALAAAAAAQABAAQAI3lC8AeBDvgosQxQtne7yvLWGStVBelXBKqDJpNzLKq3xWBlU2nUs4C/O8cCvU0EfZGUwt19FYAAA7",zb="data:image/gif;base64,R0lGODlhEAAQAJECAAAAAP///////wAAACH5BAEAAAIALAAAAAAQABAAQAIslI95EB3MHECxNjBVdE/5b2zcRV1QBabqhwltq41St4hj5konmVioZ6OtEgUAOw==",
R=Math.round,Q=Math.floor,ka=Math.ceil,Ga=Math.min,T=Math.max,v=Math.abs,Ab=Math.sqrt,V=parseInt,Sa="area",Ra="backup",E="backwards",$="bit",Za="center",Oa="classes",ea="clicked",Xa="clicked_location",Ba="clicked_on",$a="clicked_row",ba="cwish",B="dimensions",n="fraction",z="frame",Ma="frames",Da="hi",na="image",za="opening_ticks",Ca="lo",Aa="playing",N="reeling",Z="revolution",A="row",pa="rows",Pa="spacing",ra="speed",aa="stage",oa="steps",qa="stitched",Qa="stitched_travel",ya="stopped",I="velocity",
J="vertical",ib="wheel_step",q=".reel",pb="dblclick"+q,rb="mousedown"+q,qb="mouseenter"+q,sb="mouseleave"+q,ta="mousemove"+q,sa="mouseup"+q,ob="mousewheel"+q,D="tick"+q,nb="touchcancel"+q,mb="touchend"+q,kb="touchstart"+q,lb="touchmove"+q,Ka="",Y=" ",da="absolute",La="div",M=cb(La),Ja="height",ua="#000",fb="id",eb="img",L="px",Ha="src",tb="title",Ia="width"}(jQuery,window,document);

