diff --git a/changelog.txt b/changelog.txt new file mode 100644 index 0000000..c1269c7 --- /dev/null +++ b/changelog.txt @@ -0,0 +1,16 @@ +turn.js +------------------------------------------------------ +To see more details of bugs, go to this URL: +https://github.com/blasten/turn.js/issue + +www.turnjs.com + +------------------------------------------------------ +0.11 - 2012/02/15 +------------------------------------------------------ + +- Method and property 'size' added. + +- Bug in Chrome 17-18 Beta about losing background-image was fixed. + This is a temporal change until Chromium developer team solves the real problem. + http://code.google.com/p/chromium/issues/detail?id=114617 \ No newline at end of file diff --git a/readme.md b/readme.md index 567f990..ddafc83 100755 --- a/readme.md +++ b/readme.md @@ -36,7 +36,8 @@ $('#magazine').turn({width:800, height: 400, page: 1, shadows: true, acceleratio jQuery 1.7 or later -[Full documentation on turnjs.com/#reference](http://www.turnjs.com/#reference) + +[Full documentation](https://github.com/blasten/turn.js/wiki/Reference) * * * diff --git a/turn.js b/turn.js index aa5cf7f..8889a3f 100644 --- a/turn.js +++ b/turn.js @@ -194,7 +194,7 @@ turnMethods = { } - turnMethods.page.apply(this, [opt.page]); + turnMethods.page.call(this, opt.page); d.done = true; @@ -251,14 +251,14 @@ turnMethods = { _addMv: function(page) { var d = this.data(); - turnMethods._removeMv.apply(this, [page]); + turnMethods._removeMv.call(this, page); d.pageMv.push(page); }, view: function(page) { - var d = this.data(), v = turnMethods._visiblePages.apply(this, [page]); + var d = this.data(), v = turnMethods._visiblePages.call(this, page); return [(d.pages[v[0]]) ? v[0] : 0, (d.pages[v[1]]) ? v[1] : 0]; }, @@ -279,7 +279,7 @@ turnMethods = { for (p=1; p<=d.totalPages; p++) { var dd = d.pages[p].data(), o = dd.pageFlip.opt; d.pages[p].flip('hideThumbIndex'); - flipMethods._moveBackPage.apply(d.pages[p], [null]); + flipMethods._moveBackPage.call(d.pages[p], null); d.pagePlace[o.next] = o.next; if (o.force) { @@ -329,7 +329,7 @@ turnMethods = { o.next = next; d.pagePlace[o.next] = o.page; o.force = true; - flipMethods._moveBackPage.apply(d.pages[current], [false]); + flipMethods._moveBackPage.call(d.pages[current], false); d.pages[current].flip('setBackPage', d.pageObjs[next]); } @@ -346,7 +346,7 @@ turnMethods = { next: function() { - turnMethods._moveTo.apply(this, [1]); + turnMethods._moveTo.call(this, 1); return this; @@ -354,7 +354,7 @@ turnMethods = { previous: function() { - turnMethods._moveTo.apply(this, [-1]); + turnMethods._moveTo.call(this, -1); return this; @@ -364,7 +364,7 @@ turnMethods = { var i, d = this.data(), - page = turnMethods._visiblePages.apply(this, [d.tpage || d.page])[(direction==1) ? 1 : 0], + page = turnMethods._visiblePages.call(this, d.tpage || d.page)[(direction==1) ? 1 : 0], prev = page + direction, data = function(p) { return d.pages[p].data().pageFlip; }; @@ -381,11 +381,12 @@ turnMethods = { var o = data(prev).opt; - turnMethods._removeMv.apply(this, [o.pageMv]); - turnMethods._addMv.apply(this, [page]); + turnMethods._removeMv.call(this, o.pageMv); + turnMethods._addMv.call(this, page); d.tpage = prev; o.pageMv = page; + d.pages[prev].flip('hideThumbIndex', true); d.pages[page].trigger('flip'); @@ -397,8 +398,8 @@ turnMethods = { if (data(page).fwrapper.is(":visible")) { var o = data(page).opt; - turnMethods._removeMv.apply(this, [o.pageMv]); - turnMethods._addPage.apply(d.pages[page]); + turnMethods._removeMv.call(this, o.pageMv); + turnMethods._addPage.call(d.pages[page]); } d.pages[page].flip('turnPage'); @@ -415,7 +416,7 @@ turnMethods = { o.pageMv = o.page; - turnMethods._addMv.apply(turn, [o.pageMv]); + turnMethods._addMv.call(turn, o.pageMv); dd.pagePlace[o.next] = o.page; turn.turn('update'); @@ -426,7 +427,7 @@ turnMethods = { var o = $(this).data().pageFlip.opt; e.stopPropagation(); - turnMethods._addPage.apply(this); + turnMethods._addPage.call(this); o.turn.trigger('start', [o.page]); @@ -439,34 +440,33 @@ turnMethods = { var that = $(this), o = that.data().pageFlip.opt, turn = o.turn, - dd = turn.data(); + dd = turn.data(); - if (turned || dd.tpage) { + if (turned || dd.tpage) { - if (dd.tpage==o.next || dd.pageMv.length==0) { + if (dd.tpage==o.next || dd.pageMv.length==0) { - dd.page = dd.tpage || o.next; - delete dd['tpage']; - turn.turn('page', dd.page); + dd.page = dd.tpage || o.next; + delete dd['tpage']; + turn.turn('page', dd.page); } - if (o.force) { + if (o.force) { - o.next = (o.page%2==0) ? o.page-1 : o.page+1; - that.flip('setBackPage', turn.data().pageObjs[o.next]); - delete o['force']; + o.next = (o.page%2==0) ? o.page-1 : o.page+1; + that.flip('setBackPage', turn.data().pageObjs[o.next]); + delete o['force']; - } + } - } else { - - turnMethods._removeMv.apply(turn, [o.pageMv]); - turn.turn('update'); - - } + } else { + turnMethods._removeMv.call(turn, o.pageMv); + turn.turn('update'); + } + // console.trace(); turn.trigger('end', [o.page, this]); }, @@ -655,9 +655,9 @@ flipMethods = { opt.backShadow = true; } - flipMethods.setData.apply(this, [{'opt': $.extend({}, flipOptions, opt) }]); - flipMethods._addEvents.apply(this); - flipMethods._addPageWrapper.apply(this); + flipMethods.setData.call(this, {opt: $.extend({}, flipOptions, opt) }); + flipMethods._addEvents.call(this); + flipMethods._addPageWrapper.call(this); return this; }, @@ -689,7 +689,7 @@ flipMethods = { x = Math.max(0, e[0].pageX-pos.left), y = Math.max(0, e[0].pageY-pos.top), csz = d.opt.cornerSize, - cAllowed = flipMethods._cAllowed.apply(this); + cAllowed = flipMethods._cAllowed.call(this); if (!d.opt.back || x<=0 || y<=0 || x>=width || y>=height) corner = false; else if (x<=csz && y<=csz) corner = 'tl'; @@ -1007,10 +1007,22 @@ flipMethods = { var d = this.data().pageFlip; - if (d.opt.back) + if (d.opt.back) { + + // Chrome 17-18 beta bug + // http://code.google.com/p/chromium/issues/detail?id=114617 + + var user = navigator.userAgent; + + if (user.indexOf('Chrome/17.')!=-1 || user.indexOf('Chrome/18.')!=-1) { + var bg = d.opt.back.css('background-image'); + d.opt.back.css({'background-image': ''}).css({'background-image': bg}); + } + // end + if (bool) { if (!( (d.ashadow? '1' : '0') in d.fpage.children())) { - flipMethods.setData.call(this, {'backParent': d.opt.back.parent() }); + flipMethods.setData.call(this, {backParent: d.opt.back.parent() }); d.fpage.prepend(d.opt.back); } } else { @@ -1018,6 +1030,7 @@ flipMethods = { d.backParent.prepend(d.opt.back); } + } }, @@ -1073,7 +1086,7 @@ flipMethods = { d.fwrapper.hide(); if (d.opt.backShadow) - d.bshadow.hide(); + d.bshadow.hide(); d.opt.back.transform('', '0% 0%'); @@ -1187,7 +1200,7 @@ flipMethods = { var d = this.data().pageFlip; if (!d.disabled && !this.flip('isTurning')) { - d.cornerActivated = flipMethods._cornerActivated.apply(this, [e]); + d.cornerActivated = flipMethods._cornerActivated.call(this, e); if (d.cornerActivated) { flipMethods._moveBackPage.call(this, true); this.trigger('pressed', [d.p]); @@ -1235,7 +1248,7 @@ flipMethods = { disable: function(disable) { - flipMethods.setData.apply(this, [{'disabled': disable}]); + flipMethods.setData.call(this, {'disabled': disable}); } }, diff --git a/turn.min.js b/turn.min.js index 2237429..f1125d5 100644 --- a/turn.min.js +++ b/turn.min.js @@ -2,18 +2,18 @@ (function(h){var D=Math.PI,B=D/2,G="WebKitCSSMatrix"in window&&"m11"in new WebKitCSSMatrix,u="Touch"in window,K={backward:["bl","tl"],forward:["br","tr"],all:["tl","bl","tr","br"]},L={page:1,shadows:!0,duration:600,acceleration:!0},M={back:null,corners:"forward",cornerSize:100,shadows:!0,duration:600,acceleration:!0},v=function(a,b,c,d){return{css:{position:"absolute",top:a,left:b,overflow:d||"hidden","z-index":c||"auto"}}},I=function(a,b,c,d,e){var i=1-e,g=i*i*i;mu3=e*e*e;return f(Math.round(g*a.x+ 3*e*i*i*b.x+3*e*e*i*c.x+mu3*d.x),Math.round(g*a.y+3*e*i*i*b.y+3*e*e*i*c.y+mu3*d.y))},f=function(a,b){return{x:a,y:b}},o=function(a,b,c){return G&&c?" translate3d("+a+"px,"+b+"px, 0px) ":" translate("+a+"px, "+b+"px) "},q=function(a){return" rotate("+a+"deg) "},j={init:function(a){var b,c,d=this.data();c=this.children();var e=c.length,a=h.extend({width:this.width(),height:this.height()},L,a);d.opt=a;d.pageObjs={};d.pages={};d.pageWrap={};d.pagePlace={};d.pageMv=[];d.totalPages=e;this.css({position:"relative"}); G&&!u&&a.acceleration&&this.transform(o(0,0,!0));for(b=1;b<=e;b++)d.pagePlace[b]=b,d.pageObjs[b]=h(c[b-1]).addClass("turn-page p"+b),d.pageWrap[b]=h("
",{"class":"turn-page-wrapper",css:{position:"absolute"}}).attr("page",b).appendTo(this).prepend(d.pageObjs[b]);for(b=1;b<=e;b++)c=b%2==0,d.pages[b]=d.pageWrap[b].css(c?{top:0,left:0}:{top:0,right:0}).children(":first").flip({next:c?b-1:b+1,page:b,turn:this,duration:a.duration,acceleration:a.acceleration,corners:c?"backward":"forward",back:c?d.pageObjs[b- -1]:d.pageObjs[b+1],backShadow:a.shadows&&b!=2&&b!=e-1,frontShadow:a.shadows}).bind("pressed",j._pressed).bind("released",j._released).bind("start",j._start).bind("end",j._end).bind("flip",j._flip);j.page.apply(this,[a.page]);d.done=!0;this.turn("size",a.width,a.height);return this},size:function(a,b){if(a&&b){var c=this.data(),d=a/2,e;this.css({width:a,height:b});for(e=1;e<=c.totalPages;e++)c.pageWrap[e].css({width:d,height:b}),c.pages[e]&&c.pages[e].css({width:d,height:b});this.turn("resize");return this}else return{width:this.width(), -height:this.height()}},_visiblePages:function(a){a=a||this.data().page;return a%2==0?[a,a+1]:[a-1,a]},_removeMv:function(a){var b,c=this.data();for(b=0;b=c[0])&&(!c[1]||a<=c[1]))b.tpage=a,this.turn("stop"),this.trigger("turned",[a,pg]);else{b.tpage= -a;this.turn("stop");var d,e,i=this.turn("view",a);c[1]&&a>c[1]?(d=c[1],e=i[0]):c[0]&&a=c[0])&&(!c[1]||a<=c[1]))b.tpage=a,this.turn("stop"),this.trigger("turned",[a,pg]);else{b.tpage= +a;this.turn("stop");var d,e,i=this.turn("view",a);c[1]&&a>c[1]?(d=c[1],e=i[0]):c[0]&&ah(this).width())a.stopPropagation(),e.opt.turn.data().tpage=e.opt.next,e.opt.turn.turn("update"), -h(c).flip("turnPage")},_flip:function(){var a=h(this).data().pageFlip.opt;a.turn.trigger("turning",[a.next])},disable:function(a){var b=this.data(),a=typeof a=="undefined"?!0:a===!0;for(p=1;p<=b.totalPages;p++)b.pages[p].flip("disable",a)}},g={init:function(a){if(a.shadows)a.frontShadow=!0,a.backShadow=!0;g.setData.apply(this,[{opt:h.extend({},M,a)}]);g._addEvents.apply(this);g._addPageWrapper.apply(this);return this},setData:function(a){var b=this.data();b.pageFlip=h.extend(b.pageFlip||{},a)},_cAllowed:function(){return K[this.data().pageFlip.opt.corners]|| -this.data().pageFlip.opt.corners},_cornerActivated:function(a){var a=u?a.originalEvent.touches:[a],b;b=this.data().pageFlip;var c=b.parent.offset(),d=this.width(),e=this.height(),i=Math.max(0,a[0].pageX-c.left),a=Math.max(0,a[0].pageY-c.top),f=b.opt.cornerSize,c=g._cAllowed.apply(this);if(!b.opt.back||i<=0||a<=0||i>=d||a>=e)b=!1;else if(i<=f&&a<=f)b="tl";else if(i>=d-f&&a<=f)b="tr";else if(i<=f&&a>=e-f)b="bl";else if(i>=d-f&&a>=e-f)b="br";else return!1;return jQuery.inArray(b,c)!=-1?{corner:b,x:i, +h(c).flip("turnPage")},_flip:function(){var a=h(this).data().pageFlip.opt;a.turn.trigger("turning",[a.next])},disable:function(a){var b=this.data(),a=typeof a=="undefined"?!0:a===!0;for(p=1;p<=b.totalPages;p++)b.pages[p].flip("disable",a)}},g={init:function(a){if(a.shadows)a.frontShadow=!0,a.backShadow=!0;g.setData.call(this,{opt:h.extend({},M,a)});g._addEvents.call(this);g._addPageWrapper.call(this);return this},setData:function(a){var b=this.data();b.pageFlip=h.extend(b.pageFlip||{},a)},_cAllowed:function(){return K[this.data().pageFlip.opt.corners]|| +this.data().pageFlip.opt.corners},_cornerActivated:function(a){var a=u?a.originalEvent.touches:[a],b;b=this.data().pageFlip;var c=b.parent.offset(),d=this.width(),e=this.height(),i=Math.max(0,a[0].pageX-c.left),a=Math.max(0,a[0].pageY-c.top),f=b.opt.cornerSize,c=g._cAllowed.call(this);if(!b.opt.back||i<=0||a<=0||i>=d||a>=e)b=!1;else if(i<=f&&a<=f)b="tl";else if(i>=d-f&&a<=f)b="tr";else if(i<=f&&a>=e-f)b="bl";else if(i>=d-f&&a>=e-f)b="br";else return!1;return jQuery.inArray(b,c)!=-1?{corner:b,x:i, y:a}:!1},_c:function(a,b){b=b||0;return{tl:f(b,b),tr:f(this.width()-b,b),bl:f(b,this.height()-b),br:f(this.width()-b,this.height()-b)}[a]},_c2:function(a){return{tl:f(this.width()*2,0),tr:f(-this.width(),0),bl:f(this.width()*2,this.height()),br:f(-this.width(),this.height())}[a]},z:function(a){var b=this.data().pageFlip;b.opt["z-index"]=a;b.fwrapper.css({"z-index":a||parseInt(b.parent.css("z-index"))||0})},resize:function(a){var b=this.data().pageFlip,c=this.width(),d=this.height(),e=Math.round(Math.sqrt(Math.pow(c, 2)+Math.pow(d,2)));a&&(b.wrapper.css({width:e,height:e}),b.fwrapper.css({width:e,height:e}).children(":first-child").css({width:c,height:d}),b.fpage.css({width:d,height:c}),b.opt.frontShadow&&b.ashadow.css({width:d,height:c}),b.opt.backShadow&&b.bshadow.css({width:c,height:d}));b.parent.is(":visible")&&(b.fwrapper.css({top:b.parent.offset().top,left:b.parent.offset().left}),b.opt.turn&&b.fparent.css({top:-b.opt.turn.offset().top,left:-b.opt.turn.offset().left}));this.flip("z",b.opt["z-index"])},_addPageWrapper:function(){var a= this.data().pageFlip,b=this.parent();if(!a.wrapper){this.css("left");this.css("top");this.width();this.height();a.parent=b;a.fparent=a.opt.turn?a.opt.turn.data().fparent:h("#turn-fwrappers");if(!a.fparent){var c=h("
").hide();c.data().flips=0;a.opt.turn?(c.css(v(-a.opt.turn.offset().top,-a.opt.turn.offset().left,"auto","visible").css).appendTo(a.opt.turn),a.opt.turn.data().fparent=c):c.css(v(0,0,"auto","visible").css).attr("id","turn-fwrappers").appendTo(h("body"));a.fparent=c}this.css({position:"absolute", @@ -23,13 +23,14 @@ z*Math.cos(d));if(d>B&&(k.x+=Math.abs(k.y*Math.tan(y)),k.y=0,Math.round(k.x*Math -s.x;if(A)s.y=-s.y}if(l.opt.frontShadow){j=n>100?(n-100)/n:0;i=f(n*Math.sin(B-d)/r*100,n*Math.cos(B-d)/m*100);if(A)i.y=100-i.y;if(x)i.x=100-i.x}if(l.opt.backShadow){h=f(n*Math.sin(d)/m*100,n*Math.cos(d)/r*100);if(!x)h.x=100-h.x;if(!A)h.y=100-h.y}k.x=Math.round(k.x);k.y=Math.round(k.y);return!0},F=function(a,c,d,e){var f=["0","auto"],g=(m-v)*d[0]/100,k=(r-v)*d[1]/100,d=d[0]+"% "+d[1]+"%",c={left:f[c[0]],top:f[c[1]],right:f[c[2]],bottom:f[c[3]]};b.css(c).transform(q(e)+o(a.x,a.y,w),d);l.fpage.parent().css(c); l.wrapper.transform(o(-a.x+g,-a.y+k,w)+q(-e),d);l.fwrapper.transform(o(-a.x+s.x+g,-a.y+s.y+k,w)+q(-e),d);l.fpage.parent().transform(q(e)+o(a.x+H.x-s.x,a.y+H.y-s.y,w),d);l.opt.frontShadow&&l.ashadow.css({"background-image":"-webkit-gradient(linear, "+(x?100:0)+"% "+(A?100:0)+"%, "+i.x+"% "+i.y+"%, color-stop("+j+",rgba(0,0,0,0)), color-stop("+((1-j)*0.8+j)+",rgba(0,0,0,"+0.2*E+")), to(rgba(255,255,255,"+0.2*E+")) )"});l.opt.backShadow&&l.bshadow.css({"background-image":"-webkit-gradient(linear, "+ (x?0:100)+"% "+(A?0:100)+"%, "+h.x+"% "+h.y+"%, color-stop(0.8,rgba(0,0,0,0)), color-stop(1, rgba(0,0,0,"+0.2*E+")), to(rgba(0,0,0,0)) )"})};switch(a.corner){case "tl":a.x=Math.max(a.x,1);C();F(k,[1,0,0,1],[100,0],c);l.fpage.transform(o(-r,-m,w)+q(90-c*2),"100% 100%");l.opt.back.transform(q(90)+o(0,-r,w),"0% 0%");break;case "tr":a.x=Math.min(a.x,m-1);C();F(f(-k.x,k.y),[0,0,0,1],[0,0],-c);l.fpage.transform(o(0,-m,w)+q(-90+c*2),"0% 100%");l.opt.back.transform(q(270)+o(-m,0,w),"0% 0%");break;case "bl":a.x= -Math.max(a.x,1);C();F(f(k.x,-k.y),[1,1,0,0],[100,100],-c);l.fpage.transform(o(-r,0,w)+q(-90+c*2),"100% 0%");l.opt.back.transform(q(270)+o(-m,0,w),"0% 0%");break;case "br":a.x=Math.min(a.x,m-1),C(),F(f(-k.x,-k.y),[0,1,1,0],[0,100],c),l.fpage.transform(q(90-c*2),"0% 0%"),l.opt.back.transform(q(90)+o(0,-r,w),"0% 0%")}l.p=a},setBackPage:function(a){var b=this.data().pageFlip;b.opt.back=a;b.backParent=a.parent()},_moveBackPage:function(a){var b=this.data().pageFlip;if(b.opt.back)if(a){if(!((b.ashadow? -"1":"0")in b.fpage.children()))g.setData.call(this,{backParent:b.opt.back.parent()}),b.fpage.prepend(b.opt.back)}else b.backParent&&b.backParent.prepend(b.opt.back)},_showThumbIndex:function(a,b){var c=this.data(),d=c.pageFlip;if(d.opt.back){if(b){var e=this,c=d.p||g._c.call(this,a.corner,1);this.animatef({from:[c.x,c.y],to:[a.x,a.y],duration:500,frame:function(b){g._displayCorner.call(e,{corner:a.corner,x:b[0],y:b[1]})}})}else g._displayCorner.call(this,a),c.effect&&!c.effect.turning&&this.animatef(!1); -d.fwrapper.is(":visible")||(d.fparent.show().data().flips++,g._moveBackPage.call(this,!0),d.fwrapper.show(),d.opt.backShadow&&d.bshadow.show(),this.trigger("start"))}},hide:function(){var a=this.data().pageFlip;--a.fparent.data().flips==0&&a.fparent.hide();this.css({left:0,top:0,right:"auto",bottom:"auto"}).transform("","0% 100%");a.wrapper.transform("","0% 100%");a.fwrapper.hide();a.opt.backShadow&&a.bshadow.hide();a.opt.back.transform("","0% 0%")},hideThumbIndex:function(a){var b=this.data().pageFlip; -if(b.p){var c=this,d=b.p,e=function(){b.p=null;c.flip("hide");c.trigger("end",[!1])};if(a){var i,h,j=g._c.call(this,d.corner),a=d.corner.substr(0,1)=="t",o=Math.abs((d.y-j.y)/2);i=f(d.x,d.y+o);h=f(j.x,a?j.y+o:j.y-o);this.animatef({from:0,to:1,frame:function(a){a=I(d,i,h,j,a);a.corner=d.corner;g._displayCorner.call(c,a)},complete:e,duration:800,hiding:!0})}else this.animatef(!1),e()}},turnPage:function(){var a=this,b=this.data().pageFlip,c=b.cornerActivated?b.cornerActivated.corner:g._cAllowed.call(this)[0], -d=b.p||g._c.call(this,c),e=g._c2.call(this,c);this.trigger("flip");this.animatef({from:0,to:1,frame:function(b){b=I(d,d,e,e,b);b.corner=c;g._showThumbIndex.call(a,b)},complete:function(){a.trigger("end",[!0])},duration:b.opt.duration,turning:!0});b.cornerActivated=null},moving:function(){return"effect"in this.data()},isTurning:function(){return this.flip("moving")&&this.data().effect.turning},_addEvents:function(){var a=this,b=u?{start:"touchstart",move:"touchmove",end:"touchend"}:{start:"mousedown", -move:"mousemove",end:"mouseup"};h(document).bind(b.start,function(){return g._eventStart.apply(a,arguments)}).bind(b.move,function(){g._eventMove.apply(a,arguments)}).bind(b.end,function(){g._eventEnd.apply(a,arguments)})},_eventStart:function(a){var b=this.data().pageFlip;if(!b.disabled&&!this.flip("isTurning")&&(b.cornerActivated=g._cornerActivated.apply(this,[a]),b.cornerActivated))return g._moveBackPage.call(this,!0),this.trigger("pressed",[b.p]),!1},_eventMove:function(a){var b=this.data(),c= -b.pageFlip,a=u?a.originalEvent.touches:[a];c.disabled||(c.cornerActivated?(b=c.parent.offset(),g._showThumbIndex.call(this,{corner:c.cornerActivated.corner,x:a[0].pageX-b.left,y:a[0].pageY-b.top})):!b.effect&&!u&&((corner=g._cornerActivated.call(this,a[0]))?(a=g._c.call(this,corner.corner,c.opt.cornerSize/2),g._showThumbIndex.call(this,{corner:corner.corner,x:a.x,y:a.y},!0)):g.hideThumbIndex.call(this,!0)))},_eventEnd:function(){var a=this.data().pageFlip;if(!a.disabled&&a.cornerActivated){var b= -jQuery.Event("released");this.trigger(b,[a.p]);b.isPropagationStopped()||g.hideThumbIndex.call(this,!0)}a.cornerActivated=null},disable:function(a){g.setData.apply(this,[{disabled:a}])}},J=function(a,b,c){if(!c[0]||typeof c[0]=="object")return b.init.apply(a,c);else if(b[c[0]]&&c[0].toString().substr(0,1)!="_")return b[c[0]].apply(a,Array.prototype.slice.call(c,1));else throw c[0]+" is an invalid value";};h.extend(h.fn,{flip:function(a,b){return J(this,g,arguments)},turn:function(a){return J(this, -j,arguments)},transform:function(a,b){b&&this.css({"transform-origin":b,"-moz-transform-origin":b,"-o-transform-origin":b,"-webkit-transform-origin":b,"-ms-transform-origin":b});return this.css({transform:a,"-moz-transform":a,"-o-transform":a,"-webkit-transform":a,"-ms-transform":a})},animatef:function(a){var b=this.data();b.effect&&clearInterval(b.effect.handle);if(a){if(!a.to.length)a.to=[a.to];if(!a.from.length)a.from=[a.from];if(!a.easing)a.easing=function(a,b,c,d,e){return d*Math.sqrt(1-(b=b/ -e-1)*b)+c};var c,d=[],e=a.to.length,f=this,g=a.fps||30,h=-g,j=function(){var c,j=[];h=Math.min(a.duration,h+g);for(c=0;c