/*! motio 2.2.2 - 7th Aug 2014 | https://github.com/darsain/motio */ (function(h,C){function l(a,D){function k(c){d.reversed=c;s||(b.isPaused=!1,x("play"),s=u(l))}function l(){s=u(l);var c=E();60>e.fps&&d.lastFrame&&d.lastFrame+1E3/e.fps+1>c||(d.lastFrame=c,v?(g.x+=e.speedX/e.fps,g.y+=e.speedY/e.fps,e.bgWidth&&Math.abs(g.x)>e.bgWidth&&(g.x%=e.bgWidth),e.bgHeight&&Math.abs(g.y)>e.bgHeight&&(g.y%=e.bgHeight)):(d.finite?m=d.immediate?d.to:m+(m>d.to?-1:1):d.reversed?0>=--m&&(m=q.length-1):++m>=q.length&&(m=0),b.frame=m),y=v?Math.round(g.x)+"px "+Math.round(g.y)+"px":q[m], y!==A&&(a.style.backgroundPosition=A=y),x("frame"),d.finite&&d.to===m&&(b.pause(),"function"===p(d.callback)&&d.callback.call(b)))}function B(c,b){r=0;for(w=n[c].length;rc||c>=q.length)return b;"function"===p(a)&&(f=a,a=!1);if(c===m)if(0===c)m=q.length;else if(c===q.length- 1)m=-1;else return"function"===p(f)&&f.call(b),b.pause(),b;d.finite=!0;d.to=c;d.immediate=!!a;d.callback=f;k();return b};b.set=function(c,a){e[c]=a;return b};b.on=function(c,a){if("object"===p(c))for(var f in c){if(c.hasOwnProperty(f))b.on(f,c[f])}else if("function"===p(a)){f=c.split(" ");for(var d=0,e=f.length;d