/*!
* jScrollPane - v2.0.14 - 2013-05-01
* http://jscrollpane.kelvinluck.com/
*
* Copyright (c) 2010 Kelvin Luck
* Dual licensed under the MIT or GPL licenses.
*/
(function(b,a,c){b.fn.jScrollPane=function(e){function d(D,O){var ay,Q=this,Y,aj,v,al,T,Z,y,q,az,aE,au,i,I,h,j,aa,U,ap,X,t,A,aq,af,am,G,l,at,ax,x,av,aH,f,L,ai=true,P=true,aG=false,k=false,ao=D.clone(false,false).empty(),ac=b.fn.mwheelIntent?"mwheelIntent.jsp":"mousewheel.jsp";aH=D.css("paddingTop")+" "+D.css("paddingRight")+" "+D.css("paddingBottom")+" "+D.css("paddingLeft");f=(parseInt(D.css("paddingLeft"),10)||0)+(parseInt(D.css("paddingRight"),10)||0);function ar(aQ){var aL,aN,aM,aJ,aI,aP,aO=false,aK=false;ay=aQ;if(Y===c){aI=D.scrollTop();aP=D.scrollLeft();D.css({overflow:"hidden",padding:0});aj=D.innerWidth()+f;v=D.innerHeight();D.width(aj);Y=b('<div class="jspPane" />').css("padding",aH).append(D.children());al=b('<div class="jspContainer" />').css({width:aj+"px",height:v+"px"}).append(Y).appendTo(D)}else{D.css("width","");aO=ay.stickToBottom&&K();aK=ay.stickToRight&&B();aJ=D.innerWidth()+f!=aj||D.outerHeight()!=v;if(aJ){aj=D.innerWidth()+f;v=D.innerHeight();al.css({width:aj+"px",height:v+"px"})}if(!aJ&&L==T&&Y.outerHeight()==Z){D.width(aj);return}L=T;Y.css("width","");D.width(aj);al.find(">.jspVerticalBar,>.jspHorizontalBar").remove().end()}Y.css("overflow","auto");if(aQ.contentWidth){T=aQ.contentWidth}else{T=Y[0].scrollWidth}Z=Y[0].scrollHeight;Y.css("overflow","");y=T/aj;q=Z/v;az=q>1;aE=y>1;if(!(aE||az)){D.removeClass("jspScrollable");Y.css({top:0,width:al.width()-f});n();E();R();w()}else{D.addClass("jspScrollable");aL=ay.maintainPosition&&(I||aa);if(aL){aN=aC();aM=aA()}aF();z();F();if(aL){N(aK?(T-aj):aN,false);M(aO?(Z-v):aM,false)}J();ag();an();if(ay.enableKeyboardNavigation){S()}if(ay.clickOnTrack){p()}C();if(ay.hijackInternalLinks){m()}}if(ay.autoReinitialise&&!av){av=setInterval(function(){ar(ay)},ay.autoReinitialiseDelay)}else{if(!ay.autoReinitialise&&av){clearInterval(av)}}aI&&D.scrollTop(0)&&M(aI,false);aP&&D.scrollLeft(0)&&N(aP,false);D.trigger("jsp-initialised",[aE||az])}function aF(){if(az){al.append(b('<div class="jspVerticalBar" />').append(b('<div class="jspCap jspCapTop" />'),b('<div class="jspTrack" />').append(b('<div class="jspDrag" />').append(b('<div class="jspDragTop" />'),b('<div class="jspDragBottom" />'))),b('<div class="jspCap jspCapBottom" />')));U=al.find(">.jspVerticalBar");ap=U.find(">.jspTrack");au=ap.find(">.jspDrag");if(ay.showArrows){aq=b('<a class="jspArrow jspArrowUp" />').bind("mousedown.jsp",aD(0,-1)).bind("click.jsp",aB);af=b('<a class="jspArrow jspArrowDown" />').bind("mousedown.jsp",aD(0,1)).bind("click.jsp",aB);if(ay.arrowScrollOnHover){aq.bind("mouseover.jsp",aD(0,-1,aq));af.bind("mouseover.jsp",aD(0,1,af))}ak(ap,ay.verticalArrowPositions,aq,af)}t=v;al.find(">.jspVerticalBar>.jspCap:visible,>.jspVerticalBar>.jspArrow").each(function(){t-=b(this).outerHeight()});au.hover(function(){au.addClass("jspHover")},function(){au.removeClass("jspHover")}).bind("mousedown.jsp",function(aI){b("html").bind("dragstart.jsp selectstart.jsp",aB);au.addClass("jspActive");var s=aI.pageY-au.position().top;b("html").bind("mousemove.jsp",function(aJ){V(aJ.pageY-s,false)}).bind("mouseup.jsp mouseleave.jsp",aw);return false});o()}}function o(){ap.height(t+"px");I=0;X=ay.verticalGutter+ap.outerWidth();Y.width(aj-X-f);try{if(U.position().left===0){Y.css("margin-left",X+"px")}}catch(s){}}function z(){if(aE){al.append(b('<div class="jspHorizontalBar" />').append(b('<div class="jspCap jspCapLeft" />'),b('<div class="jspTrack" />').append(b('<div class="jspDrag" />').append(b('<div class="jspDragLeft" />'),b('<div class="jspDragRight" />'))),b('<div class="jspCap jspCapRight" />')));am=al.find(">.jspHorizontalBar");G=am.find(">.jspTrack");h=G.find(">.jspDrag");if(ay.showArrows){ax=b('<a class="jspArrow jspArrowLeft" />').bind("mousedown.jsp",aD(-1,0)).bind("click.jsp",aB);x=b('<a class="jspArrow jspArrowRight" />').bind("mousedown.jsp",aD(1,0)).bind("click.jsp",aB);
if(ay.arrowScrollOnHover){ax.bind("mouseover.jsp",aD(-1,0,ax));x.bind("mouseover.jsp",aD(1,0,x))}ak(G,ay.horizontalArrowPositions,ax,x)}h.hover(function(){h.addClass("jspHover")},function(){h.removeClass("jspHover")}).bind("mousedown.jsp",function(aI){b("html").bind("dragstart.jsp selectstart.jsp",aB);h.addClass("jspActive");var s=aI.pageX-h.position().left;b("html").bind("mousemove.jsp",function(aJ){W(aJ.pageX-s,false)}).bind("mouseup.jsp mouseleave.jsp",aw);return false});l=al.innerWidth();ah()}}function ah(){al.find(">.jspHorizontalBar>.jspCap:visible,>.jspHorizontalBar>.jspArrow").each(function(){l-=b(this).outerWidth()});G.width(l+"px");aa=0}function F(){if(aE&&az){var aI=G.outerHeight(),s=ap.outerWidth();t-=aI;b(am).find(">.jspCap:visible,>.jspArrow").each(function(){l+=b(this).outerWidth()});l-=s;v-=s;aj-=aI;G.parent().append(b('<div class="jspCorner" />').css("width",aI+"px"));o();ah()}if(aE){Y.width((al.outerWidth()-f)+"px")}Z=Y.outerHeight();q=Z/v;if(aE){at=Math.ceil(1/y*l);if(at>ay.horizontalDragMaxWidth){at=ay.horizontalDragMaxWidth}else{if(at<ay.horizontalDragMinWidth){at=ay.horizontalDragMinWidth}}h.width(at+"px");j=l-at;ae(aa)}if(az){A=Math.ceil(1/q*t);if(A>ay.verticalDragMaxHeight){A=ay.verticalDragMaxHeight}else{if(A<ay.verticalDragMinHeight){A=ay.verticalDragMinHeight}}au.height(A+"px");i=t-A;ad(I)}}function ak(aJ,aL,aI,s){var aN="before",aK="after",aM;if(aL=="os"){aL=/Mac/.test(navigator.platform)?"after":"split"}if(aL==aN){aK=aL}else{if(aL==aK){aN=aL;aM=aI;aI=s;s=aM}}aJ[aN](aI)[aK](s)}function aD(aI,s,aJ){return function(){H(aI,s,this,aJ);this.blur();return false}}function H(aL,aK,aO,aN){aO=b(aO).addClass("jspActive");var aM,aJ,aI=true,s=function(){if(aL!==0){Q.scrollByX(aL*ay.arrowButtonSpeed)}if(aK!==0){Q.scrollByY(aK*ay.arrowButtonSpeed)}aJ=setTimeout(s,aI?ay.initialDelay:ay.arrowRepeatFreq);aI=false};s();aM=aN?"mouseout.jsp":"mouseup.jsp";aN=aN||b("html");aN.bind(aM,function(){aO.removeClass("jspActive");aJ&&clearTimeout(aJ);aJ=null;aN.unbind(aM)})}function p(){w();if(az){ap.bind("mousedown.jsp",function(aN){if(aN.originalTarget===c||aN.originalTarget==aN.currentTarget){var aL=b(this),aO=aL.offset(),aM=aN.pageY-aO.top-I,aJ,aI=true,s=function(){var aR=aL.offset(),aS=aN.pageY-aR.top-A/2,aP=v*ay.scrollPagePercent,aQ=i*aP/(Z-v);if(aM<0){if(I-aQ>aS){Q.scrollByY(-aP)}else{V(aS)}}else{if(aM>0){if(I+aQ<aS){Q.scrollByY(aP)}else{V(aS)}}else{aK();return}}aJ=setTimeout(s,aI?ay.initialDelay:ay.trackClickRepeatFreq);aI=false},aK=function(){aJ&&clearTimeout(aJ);aJ=null;b(document).unbind("mouseup.jsp",aK)};s();b(document).bind("mouseup.jsp",aK);return false}})}if(aE){G.bind("mousedown.jsp",function(aN){if(aN.originalTarget===c||aN.originalTarget==aN.currentTarget){var aL=b(this),aO=aL.offset(),aM=aN.pageX-aO.left-aa,aJ,aI=true,s=function(){var aR=aL.offset(),aS=aN.pageX-aR.left-at/2,aP=aj*ay.scrollPagePercent,aQ=j*aP/(T-aj);if(aM<0){if(aa-aQ>aS){Q.scrollByX(-aP)}else{W(aS)}}else{if(aM>0){if(aa+aQ<aS){Q.scrollByX(aP)}else{W(aS)}}else{aK();return}}aJ=setTimeout(s,aI?ay.initialDelay:ay.trackClickRepeatFreq);aI=false},aK=function(){aJ&&clearTimeout(aJ);aJ=null;b(document).unbind("mouseup.jsp",aK)};s();b(document).bind("mouseup.jsp",aK);return false}})}}function w(){if(G){G.unbind("mousedown.jsp")}if(ap){ap.unbind("mousedown.jsp")}}function aw(){b("html").unbind("dragstart.jsp selectstart.jsp mousemove.jsp mouseup.jsp mouseleave.jsp");if(au){au.removeClass("jspActive")}if(h){h.removeClass("jspActive")}}function V(s,aI){if(!az){return}if(s<0){s=0}else{if(s>i){s=i}}if(aI===c){aI=ay.animateScroll}if(aI){Q.animate(au,"top",s,ad)}else{au.css("top",s);ad(s)}}function ad(aI){if(aI===c){aI=au.position().top}al.scrollTop(0);I=aI;var aL=I===0,aJ=I==i,aK=aI/i,s=-aK*(Z-v);if(ai!=aL||aG!=aJ){ai=aL;aG=aJ;D.trigger("jsp-arrow-change",[ai,aG,P,k])}u(aL,aJ);Y.css("top",s);D.trigger("jsp-scroll-y",[-s,aL,aJ]).trigger("scroll")}function W(aI,s){if(!aE){return}if(aI<0){aI=0}else{if(aI>j){aI=j}}if(s===c){s=ay.animateScroll}if(s){Q.animate(h,"left",aI,ae)
}else{h.css("left",aI);ae(aI)}}function ae(aI){if(aI===c){aI=h.position().left}al.scrollTop(0);aa=aI;var aL=aa===0,aK=aa==j,aJ=aI/j,s=-aJ*(T-aj);if(P!=aL||k!=aK){P=aL;k=aK;D.trigger("jsp-arrow-change",[ai,aG,P,k])}r(aL,aK);Y.css("left",s);D.trigger("jsp-scroll-x",[-s,aL,aK]).trigger("scroll")}function u(aI,s){if(ay.showArrows){aq[aI?"addClass":"removeClass"]("jspDisabled");af[s?"addClass":"removeClass"]("jspDisabled")}}function r(aI,s){if(ay.showArrows){ax[aI?"addClass":"removeClass"]("jspDisabled");x[s?"addClass":"removeClass"]("jspDisabled")}}function M(s,aI){var aJ=s/(Z-v);V(aJ*i,aI)}function N(aI,s){var aJ=aI/(T-aj);W(aJ*j,s)}function ab(aV,aQ,aJ){var aN,aK,aL,s=0,aU=0,aI,aP,aO,aS,aR,aT;try{aN=b(aV)}catch(aM){return}aK=aN.outerHeight();aL=aN.outerWidth();al.scrollTop(0);al.scrollLeft(0);while(!aN.is(".jspPane")){s+=aN.position().top;aU+=aN.position().left;aN=aN.offsetParent();if(/^body|html$/i.test(aN[0].nodeName)){return}}aI=aA();aO=aI+v;if(s<aI||aQ){aR=s-ay.verticalGutter}else{if(s+aK>aO){aR=s-v+aK+ay.verticalGutter}}if(aR){M(aR,aJ)}aP=aC();aS=aP+aj;if(aU<aP||aQ){aT=aU-ay.horizontalGutter}else{if(aU+aL>aS){aT=aU-aj+aL+ay.horizontalGutter}}if(aT){N(aT,aJ)}}function aC(){return -Y.position().left}function aA(){return -Y.position().top}function K(){var s=Z-v;return(s>20)&&(s-aA()<10)}function B(){var s=T-aj;return(s>20)&&(s-aC()<10)}function ag(){al.unbind(ac).bind(ac,function(aL,aM,aK,aI){var aJ=aa,s=I;Q.scrollBy(aK*ay.mouseWheelSpeed,-aI*ay.mouseWheelSpeed,false);return aJ==aa&&s==I})}function n(){al.unbind(ac)}function aB(){return false}function J(){Y.find(":input,a").unbind("focus.jsp").bind("focus.jsp",function(s){ab(s.target,false)})}function E(){Y.find(":input,a").unbind("focus.jsp")}function S(){var s,aI,aK=[];aE&&aK.push(am[0]);az&&aK.push(U[0]);Y.focus(function(){D.focus()});D.attr("tabindex",0).unbind("keydown.jsp keypress.jsp").bind("keydown.jsp",function(aN){if(aN.target!==this&&!(aK.length&&b(aN.target).closest(aK).length)){return}var aM=aa,aL=I;switch(aN.keyCode){case 40:case 38:case 34:case 32:case 33:case 39:case 37:s=aN.keyCode;aJ();break;case 35:M(Z-v);s=null;break;case 36:M(0);s=null;break}aI=aN.keyCode==s&&aM!=aa||aL!=I;return !aI}).bind("keypress.jsp",function(aL){if(aL.keyCode==s){aJ()}return !aI});if(ay.hideFocus){D.css("outline","none");if("hideFocus" in al[0]){D.attr("hideFocus",true)}}else{D.css("outline","");if("hideFocus" in al[0]){D.attr("hideFocus",false)}}function aJ(){var aM=aa,aL=I;switch(s){case 40:Q.scrollByY(ay.keyboardSpeed,false);break;case 38:Q.scrollByY(-ay.keyboardSpeed,false);break;case 34:case 32:Q.scrollByY(v*ay.scrollPagePercent,false);break;case 33:Q.scrollByY(-v*ay.scrollPagePercent,false);break;case 39:Q.scrollByX(ay.keyboardSpeed,false);break;case 37:Q.scrollByX(-ay.keyboardSpeed,false);break}aI=aM!=aa||aL!=I;return aI}}function R(){D.attr("tabindex","-1").removeAttr("tabindex").unbind("keydown.jsp keypress.jsp")}function C(){if(location.hash&&location.hash.length>1){var aK,aI,aJ=escape(location.hash.substr(1));try{aK=b("#"+aJ+', a[name="'+aJ+'"]')}catch(s){return}if(aK.length&&Y.find(aJ)){if(al.scrollTop()===0){aI=setInterval(function(){if(al.scrollTop()>0){ab(aK,true);b(document).scrollTop(al.position().top);clearInterval(aI)}},50)}else{ab(aK,true);b(document).scrollTop(al.position().top)}}}}function m(){if(b(document.body).data("jspHijack")){return}b(document.body).data("jspHijack",true);b(document.body).delegate("a[href*=#]","click",function(s){var aI=this.href.substr(0,this.href.indexOf("#")),aK=location.href,aO,aP,aJ,aM,aL,aN;if(location.href.indexOf("#")!==-1){aK=location.href.substr(0,location.href.indexOf("#"))}if(aI!==aK){return}aO=escape(this.href.substr(this.href.indexOf("#")+1));aP;try{aP=b("#"+aO+', a[name="'+aO+'"]')}catch(aQ){return}if(!aP.length){return}aJ=aP.closest(".jspScrollable");aM=aJ.data("jsp");aM.scrollToElement(aP,true);if(aJ[0].scrollIntoView){aL=b(a).scrollTop();aN=aP.offset().top;if(aN<aL||aN>aL+b(a).height()){aJ[0].scrollIntoView()}}s.preventDefault()
})}function an(){var aJ,aI,aL,aK,aM,s=false;al.unbind("touchstart.jsp touchmove.jsp touchend.jsp click.jsp-touchclick").bind("touchstart.jsp",function(aN){var aO=aN.originalEvent.touches[0];aJ=aC();aI=aA();aL=aO.pageX;aK=aO.pageY;aM=false;s=true}).bind("touchmove.jsp",function(aQ){if(!s){return}var aP=aQ.originalEvent.touches[0],aO=aa,aN=I;Q.scrollTo(aJ+aL-aP.pageX,aI+aK-aP.pageY);aM=aM||Math.abs(aL-aP.pageX)>5||Math.abs(aK-aP.pageY)>5;return aO==aa&&aN==I}).bind("touchend.jsp",function(aN){s=false}).bind("click.jsp-touchclick",function(aN){if(aM){aM=false;return false}})}function g(){var s=aA(),aI=aC();D.removeClass("jspScrollable").unbind(".jsp");D.replaceWith(ao.append(Y.children()));ao.scrollTop(s);ao.scrollLeft(aI);if(av){clearInterval(av)}}b.extend(Q,{reinitialise:function(aI){aI=b.extend({},ay,aI);ar(aI)},scrollToElement:function(aJ,aI,s){ab(aJ,aI,s)},scrollTo:function(aJ,s,aI){N(aJ,aI);M(s,aI)},scrollToX:function(aI,s){N(aI,s)},scrollToY:function(s,aI){M(s,aI)},scrollToPercentX:function(aI,s){N(aI*(T-aj),s)},scrollToPercentY:function(aI,s){M(aI*(Z-v),s)},scrollBy:function(aI,s,aJ){Q.scrollByX(aI,aJ);Q.scrollByY(s,aJ)},scrollByX:function(s,aJ){var aI=aC()+Math[s<0?"floor":"ceil"](s),aK=aI/(T-aj);W(aK*j,aJ)},scrollByY:function(s,aJ){var aI=aA()+Math[s<0?"floor":"ceil"](s),aK=aI/(Z-v);V(aK*i,aJ)},positionDragX:function(s,aI){W(s,aI)},positionDragY:function(aI,s){V(aI,s)},animate:function(aI,aL,s,aK){var aJ={};aJ[aL]=s;aI.animate(aJ,{duration:ay.animateDuration,easing:ay.animateEase,queue:false,step:aK})},getContentPositionX:function(){return aC()},getContentPositionY:function(){return aA()},getContentWidth:function(){return T},getContentHeight:function(){return Z},getPercentScrolledX:function(){return aC()/(T-aj)},getPercentScrolledY:function(){return aA()/(Z-v)},getIsScrollableH:function(){return aE},getIsScrollableV:function(){return az},getContentPane:function(){return Y},scrollToBottom:function(s){V(i,s)},hijackInternalLinks:b.noop,destroy:function(){g()}});ar(O)}e=b.extend({},b.fn.jScrollPane.defaults,e);b.each(["arrowButtonSpeed","trackClickSpeed","keyboardSpeed"],function(){e[this]=e[this]||e.speed});return this.each(function(){var f=b(this),g=f.data("jsp");if(g){g.reinitialise(e)}else{b("script",f).filter('[type="text/javascript"],:not([type])').remove();g=new d(f,e);f.data("jsp",g)}})};b.fn.jScrollPane.defaults={showArrows:false,maintainPosition:true,stickToBottom:false,stickToRight:false,clickOnTrack:true,autoReinitialise:false,autoReinitialiseDelay:500,verticalDragMinHeight:0,verticalDragMaxHeight:99999,horizontalDragMinWidth:0,horizontalDragMaxWidth:99999,contentWidth:c,animateScroll:false,animateDuration:300,animateEase:"linear",hijackInternalLinks:false,verticalGutter:4,horizontalGutter:4,mouseWheelSpeed:3,arrowButtonSpeed:0,arrowRepeatFreq:50,arrowScrollOnHover:false,trackClickSpeed:0,trackClickRepeatFreq:70,verticalArrowPositions:"split",horizontalArrowPositions:"split",enableKeyboardNavigation:true,hideFocus:false,keyboardSpeed:0,initialDelay:300,speed:30,scrollPagePercent:0.8}})(jQuery,this);
/*! Copyright (c) 2013 Brandon Aaron (http://brandonaaron.net)
* Licensed under the MIT License (LICENSE.txt).
*
* Thanks to: http://adomas.org/javascript-mouse-wheel/ for some pointers.
* Thanks to: Mathias Bank(http://www.mathias-bank.de) for a scope bug fix.
* Thanks to: Seamus Leahy for adding deltaX and deltaY
*
* Version: 3.1.3
*
* Requires: 1.2.2+
*/
(function (factory) {
if ( typeof define === 'function' && define.amd ) {
// AMD. Register as an anonymous module.
define(['jquery'], factory);
} else if (typeof exports === 'object') {
// Node/CommonJS style for Browserify
module.exports = factory;
} else {
// Browser globals
factory(jQuery);
}
}(function ($) {
var toFix = ['wheel', 'mousewheel', 'DOMMouseScroll', 'MozMousePixelScroll'];
var toBind = 'onwheel' in document || document.documentMode >= 9 ? ['wheel'] : ['mousewheel', 'DomMouseScroll', 'MozMousePixelScroll'];
var lowestDelta, lowestDeltaXY;
if ( $.event.fixHooks ) {
for ( var i = toFix.length; i; ) {
$.event.fixHooks[ toFix[--i] ] = $.event.mouseHooks;
}
}
$.event.special.mousewheel = {
setup: function() {
if ( this.addEventListener ) {
for ( var i = toBind.length; i; ) {
this.addEventListener( toBind[--i], handler, false );
}
} else {
this.onmousewheel = handler;
}
},
teardown: function() {
if ( this.removeEventListener ) {
for ( var i = toBind.length; i; ) {
this.removeEventListener( toBind[--i], handler, false );
}
} else {
this.onmousewheel = null;
}
}
};
$.fn.extend({
mousewheel: function(fn) {
return fn ? this.bind("mousewheel", fn) : this.trigger("mousewheel");
},
unmousewheel: function(fn) {
return this.unbind("mousewheel", fn);
}
});
function handler(event) {
var orgEvent = event || window.event,
args = [].slice.call(arguments, 1),
delta = 0,
deltaX = 0,
deltaY = 0,
absDelta = 0,
absDeltaXY = 0,
fn;
event = $.event.fix(orgEvent);
event.type = "mousewheel";
// Old school scrollwheel delta
if ( orgEvent.wheelDelta ) { delta = orgEvent.wheelDelta; }
if ( orgEvent.detail ) { delta = orgEvent.detail * -1; }
// New school wheel delta (wheel event)
if ( orgEvent.deltaY ) {
deltaY = orgEvent.deltaY * -1;
delta = deltaY;
}
if ( orgEvent.deltaX ) {
deltaX = orgEvent.deltaX;
delta = deltaX * -1;
}
// Webkit
if ( orgEvent.wheelDeltaY !== undefined ) { deltaY = orgEvent.wheelDeltaY; }
if ( orgEvent.wheelDeltaX !== undefined ) { deltaX = orgEvent.wheelDeltaX * -1; }
// Look for lowest delta to normalize the delta values
absDelta = Math.abs(delta);
if ( !lowestDelta || absDelta < lowestDelta ) { lowestDelta = absDelta; }
absDeltaXY = Math.max(Math.abs(deltaY), Math.abs(deltaX));
if ( !lowestDeltaXY || absDeltaXY < lowestDeltaXY ) { lowestDeltaXY = absDeltaXY; }
// Get a whole value for the deltas
fn = delta > 0 ? 'floor' : 'ceil';
delta = Math[fn](delta / lowestDelta);
deltaX = Math[fn](deltaX / lowestDeltaXY);
deltaY = Math[fn](deltaY / lowestDeltaXY);
// Add event and delta to the front of the arguments
args.unshift(event, delta, deltaX, deltaY);
return ($.event.dispatch || $.event.handle).apply(this, args);
}
}));
/******************************
- THE PREVIEW JS FUNCTIONS -
********************************/
jQuery(document).ready(function() {
/******************************
- SUB MENU SCROLLER -
********************************/
jQuery('a.menubutton').each(function() {
var but = jQuery(this);
but.click(function() {
var but = jQuery(this);
var sto = but.data('where');
if (sto && sto!=undefined && jQuery(sto)) {
var pos = jQuery(sto).offset().top - 40;
jQuery('body, html').animate({scrollTop:pos},{queue:false,duration:400});
return false;
}
});
})
// HIDE JS IF WE ARE ON MOBILE
if (!is_mobile()) {
jQuery('.transition-selectbox').jScrollPane({});
var naviapi = jQuery('.transition-selectbox').data('jsp');
} else {
jQuery('.transition-selectbox').css({'overflow':'scroll'});
}
// THE TRANSITION SELECTOR
jQuery('#transitselector').click(function() {
var ts = jQuery('.transition-selectbox-holder');
if (!ts.hasClass("opened")) {
TweenLite.fromTo(ts,0.2,{opacity:0,transformOrigin:"center bottom", transformPerspective:400, y:-50,rotationX:0,z:0},{opacity:1,y:0,rotationX:0,ease:Power3.easeOut})
ts.css({display:'block'});
setTimeout(function() {
naviapi.reinitialise();
},100)
ts.addClass("opened");
}
})
jQuery('body').on('mouseleave','.transition-selectbox-holder.opened',function() {
var ts = jQuery('.transition-selectbox-holder');
TweenLite.to(ts,0.2,{opacity:0,transformOrigin:"center bottom", transformPerspective:400, y:-50,rotationX:0,z:0,ease:Power3.easeOut});
ts.removeClass("opened");
});
jQuery('.transition-selectbox li').each(function() {
var li = jQuery(this);
li.click(function() {
var li = jQuery(this);
var anim = li.data('anim');
jQuery('#mranim').text(li.text());
jQuery('#mranim').data('val',anim);
callChanger();
})
})
/******************************
- TIMER CHANGER -
********************************/
jQuery('#dectime').click(function() {
var mrtime = jQuery('#mrtime');
var curtime = mrtime.data('val');
curtime=curtime-100;
if (curtime<300) curtime=300;
mrtime.data('val',curtime);
mrtime.text('Time: '+curtime/1000+"s");
callChanger();
})
jQuery('#inctime').click(function() {
var mrtime = jQuery('#mrtime');
var curtime = mrtime.data('val');
curtime=curtime+100;
mrtime.data('val',curtime);
mrtime.text('Time: '+curtime/1000+"s");
callChanger();
})
/******************************
- SLOT CHANGER -
********************************/
jQuery('#decslot').click(function() {
var mrslot = jQuery('#mrslot');
var slot = mrslot.data('val');
slot=slot-1;
if (slot<1) slot=1;
mrslot.data('val',slot);
mrslot.text('Slots: '+slot);
callChanger();
})
jQuery('#incslot').click(function() {
var mrslot = jQuery('#mrslot');
var slot = mrslot.data('val');
slot=slot+1;
if (slot>20) slot=20;
mrslot.data('val',slot);
mrslot.text('Slots: '+slot);
callChanger();
})
var timeoutv;
function callChanger() {
clearTimeout(timeoutv);
timeoutv = setTimeout(function() {
var anim = jQuery('#mranim').data('val');
var timer = jQuery('#mrtime').data('val');
var slot = jQuery('#mrslot').data('val');
jQuery('.spectaculus ul li').each(function() {
jQuery(this).data("transition",anim);
jQuery(this).data("slotamount",slot);
jQuery(this).data("masterspeed",timer);
})
jQuery('#resultanim').text(anim);
jQuery('#resultslot').text(slot);
jQuery('#resultspeed').text(timer);
revapi.revnext();
},300);
}
/***************************************
- START THE ANIMATION CREATOR -
***************************************/
prepareAnimateCreator();
jQuery('#set-random-animation').click(function(){
jQuery('input[name="movex"]').val((Math.floor(Math.random() * 101) - 50) * 10);
jQuery('input[name="movey"]').val((Math.floor(Math.random() * 101) - 50) * 10);
jQuery('input[name="movez"]').val((Math.floor(Math.random() * 11) - 5) * 10);
jQuery('input[name="rotationx"]').val((Math.floor(Math.random() * 101) - 50) * 10);
jQuery('input[name="rotationy"]').val((Math.floor(Math.random() * 101) - 50) * 10);
jQuery('input[name="rotationz"]').val((Math.floor(Math.random() * 101) - 50) * 10);
jQuery('input[name="scalex"]').val((Math.floor(Math.random() * 31)) * 10);
jQuery('input[name="scaley"]').val((Math.floor(Math.random() * 31)) * 10);
jQuery('input[name="skewx"]').val(Math.floor(Math.random() * 61));
jQuery('input[name="skewy"]').val(Math.floor(Math.random() * 61));
jQuery('input[name="captionopacity"]').val(0);
jQuery('input[name="captionperspective"]').val(600);
jQuery('input[name="originx"]').val((Math.floor(Math.random() * 41) - 20) * 10);
jQuery('input[name="originy"]').val((Math.floor(Math.random() * 41) - 20) * 10);
jQuery('input[name="captionspeed"]').val((Math.floor(Math.random() * 11) + 5) * 100);
transition = jQuery('#caption-easing-demo option');
var random = Math.floor(transition.length * (Math.random() % 1));
transition.attr('selected',false).eq(random).attr('selected',true);
jQuery('input[name="movexout"]').val((Math.floor(Math.random() * 101) - 50) * 10);
jQuery('input[name="moveyout"]').val((Math.floor(Math.random() * 101) - 50) * 10);
jQuery('input[name="movezout"]').val((Math.floor(Math.random() * 11) - 5) * 10);
jQuery('input[name="rotationxout"]').val((Math.floor(Math.random() * 101) - 50) * 10);
jQuery('input[name="rotationyout"]').val((Math.floor(Math.random() * 101) - 50) * 10);
jQuery('input[name="rotationzout"]').val((Math.floor(Math.random() * 101) - 50) * 10);
jQuery('input[name="scalexout"]').val((Math.floor(Math.random() * 31)) * 10);
jQuery('input[name="scaleyout"]').val((Math.floor(Math.random() * 31)) * 10);
jQuery('input[name="skewxout"]').val(Math.floor(Math.random() * 61));
jQuery('input[name="skewyout"]').val(Math.floor(Math.random() * 61));
jQuery('input[name="captionopacityout"]').val(0);
jQuery('input[name="captionperspectiveout"]').val(600);
jQuery('input[name="originxout"]').val((Math.floor(Math.random() * 41) - 20) * 10);
jQuery('input[name="originyout"]').val((Math.floor(Math.random() * 41) - 20) * 10);
jQuery('input[name="captionspeedout"]').val((Math.floor(Math.random() * 11) + 5) * 100);
transition = jQuery('#caption-easing-demoout option');
var random = Math.floor(transition.length * (Math.random() % 1));
transition.attr('selected',false).eq(random).attr('selected',true);
});
});
//////////////////
// IS MOBILE ?? //
//////////////////
function is_mobile() {
var agents = ['android', 'webos', 'iphone', 'ipad', 'blackberry','Android', 'webos', ,'iPod', 'iPhone', 'iPad', 'Blackberry', 'BlackBerry'];
var ismobile=false;
for(i in agents) {
if (navigator.userAgent.split(agents[i]).length>1) {
ismobile = true;
}
}
return ismobile;
}
/******************************
- ANIMATION CREATOR -
********************************/
function prepareAnimateCreator() {
var cic = jQuery('#caption-inout-controll');
cic.data('direction',0);
var osw = jQuery('#outanimation .settings_wrapper');
osw.slideUp(200).addClass("collapsed");
var isw = jQuery('#inanimation .settings_wrapper');
jQuery('#outanimation .caption-demo-controll').click(function() {
if (osw.hasClass("collapsed")) {
osw.removeClass("collapsed").slideDown(200);
isw.slideUp(200).addClass("collapsed");
} else {
osw.slideUp(200).addClass("collapsed");
isw.removeClass("collapsed").slideDown(200);
}
});
jQuery('#inanimation .caption-demo-controll').click(function() {
if (isw.hasClass("collapsed")) {
isw.removeClass("collapsed").slideDown(200);
osw.slideUp(200).addClass("collapsed");
} else {
isw.slideUp(200).addClass("collapsed");
osw.removeClass("collapsed").slideDown(200);
}
});
jQuery('#caption-inout-controll').click(function() {
if (cic.data('direction')==0) {
cic.data('direction',1);
jQuery('#revshowmetheinanim').removeClass("reviconinaction");
jQuery('#revshowmetheoutanim').addClass("reviconinaction");
} else
if (cic.data('direction')==1) {
cic.data('direction',2);
jQuery('#revshowmetheinanim').addClass("reviconinaction");
jQuery('#revshowmetheoutanim').addClass("reviconinaction");
} else
if (cic.data('direction')==2) {
cic.data('direction',0);
jQuery('#revshowmetheinanim').addClass("reviconinaction");
jQuery('#revshowmetheoutanim').removeClass("reviconinaction");
}
});
startAnimationInCreator();
}
function startAnimationInCreator() {
stopAnimationInPreview();
animateCreatorIn();
}
function killAnimationInCreator() {
var nextcaption = jQuery('#caption_custon_anim_preview');
TweenLite.killTweensOf(nextcaption,false);
}
function animateCreatorIn() {
var nextcaption = jQuery('#caption_custon_anim_preview');
var cic = jQuery('#caption-inout-controll');
var transx = jQuery('input[name="movex"]').val();
var transy = jQuery('input[name="movey"]').val();
var transz = jQuery('input[name="movez"]').val();
var rotatex = jQuery('input[name="rotationx"]').val();
var rotatey = jQuery('input[name="rotationy"]').val();
var rotatez = jQuery('input[name="rotationz"]').val();
var scalex = jQuery('input[name="scalex"]').val()/100;
var scaley = jQuery('input[name="scaley"]').val()/100;
var skewx = jQuery('input[name="skewx"]').val();
var skewy = jQuery('input[name="skewy"]').val();
var opac = jQuery('input[name="captionopacity"]').val()/100;
var tper = jQuery('input[name="captionperspective"]').val();
//var tper = 600;
var originx = jQuery('input[name="originx"]').val()+"%";
var originy = jQuery('input[name="originy"]').val()+"%";
var origin = originx+" "+originy;
var speed = parseInt(jQuery('input[name="captionspeed"]').val(),0);
if (speed<100) speed=100;
var easedata = jQuery('#caption-easing-demo').val();
jQuery('#custominresult').text("x:"+transx+";y:"+transy+";z:"+transz+";"+
"rotationX:"+rotatex+";rotationY:"+rotatey+";rotationZ:"+rotatez+";"+
"scaleX:"+scalex+";scaleY:"+scaley+";"+
"skewX:"+skewx+";skewY:"+skewy+";"+
"opacity:"+opac+";"+
"transformPerspective:"+tper+";transformOrigin:"+origin+";");
jQuery('#custominspeed').text(speed);
jQuery('#custominease').text(easedata);
speed=speed/1000;
var xx = jQuery('.tp-present-wrapper').width()/2 - 72;
var yy=jQuery('.tp-present-wrapper').height()/2 - 17;
TweenLite.killTweensOf(nextcaption,false);
TweenLite.fromTo(nextcaption,speed,
{ scaleX:scalex,
scaleY:scaley,
rotationX:rotatex,
rotationY:rotatey,
rotationZ:rotatez,
x:transx,
y:transy,
z:transz+1,
skewX:skewx,
skewY:skewy,
left:xx,
top:yy,
opacity:opac,
transformPerspective:tper,
transformOrigin:origin,
visibility:'hidden'},
{
left:xx,
top:yy,
x:0,
y:0,
scaleX:1,
scaleY:1,
rotationX:0,
rotationY:0,
rotationZ:0,
skewX:0,
skewY:0,
z:1,
visibility:'visible',
opacity:1,
ease:easedata,
overwrite:"all",
onComplete:function() {
setTimeout(function() {animateCreatorOut()},700);
}
});
}
function animateCreatorOut() {
var nextcaption = jQuery('#caption_custon_anim_preview');
var cic = jQuery('#caption-inout-controll');
var transx = jQuery('input[name="movexout"]').val();
var transy = jQuery('input[name="moveyout"]').val();
var transz = jQuery('input[name="movezout"]').val();
var rotatex = jQuery('input[name="rotationxout"]').val();
var rotatey = jQuery('input[name="rotationyout"]').val();
var rotatez = jQuery('input[name="rotationzout"]').val();
var scalex = jQuery('input[name="scalexout"]').val()/100;
var scaley = jQuery('input[name="scaleyout"]').val()/100;
var skewx = jQuery('input[name="skewxout"]').val();
var skewy = jQuery('input[name="skewyout"]').val();
var opac = jQuery('input[name="captionopacityout"]').val()/100;
var tper = jQuery('input[name="captionperspectiveout"]').val();
//var tper = 600;
var originx = jQuery('input[name="originxout"]').val()+"%";
var originy = jQuery('input[name="originyout"]').val()+"%";
var origin = originx+" "+originy;
var speed = parseInt(jQuery('input[name="captionspeedout"]').val(),0);
if (speed<100) speed=100;
var easedata = jQuery('#caption-easing-demoout').val();
jQuery('#customoutresult').text("x:"+transx+";y:"+transy+";z:"+transz+";"+
"rotationX:"+rotatex+";rotationY:"+rotatey+";rotationZ:"+rotatez+";"+
"scaleX:"+scalex+";scaleY:"+scaley+";"+
"skewX:"+skewx+";skewY:"+skewy+";"+
"opacity:"+opac+";"+
"transformPerspective:"+tper+";transformOrigin:"+origin+";");
jQuery('#customoutspeed').text(speed);
jQuery('#customoutease').text(easedata);
speed=speed/1000;
var xx = jQuery('.tp-present-wrapper').width()/2 - 72;
var yy=jQuery('.tp-present-wrapper').height()/2 - 17;
TweenLite.killTweensOf(nextcaption,false);
TweenLite.fromTo(nextcaption,speed,
{ left:xx,
top:yy,
x:0,
y:0,
scaleX:1,
scaleY:1,
rotationX:0,
rotationY:0,
rotationZ:0,
skewX:0,
skewY:0,
z:1,
visibility:'visible',
opacity:1
},
{
scaleX:scalex,
scaleY:scaley,
rotationX:rotatex,
rotationY:rotatey,
rotationZ:rotatez,
x:transx,
y:transy,
z:transz+1,
skewX:skewx,
skewY:skewy,
left:xx,
top:yy,
opacity:opac,
transformPerspective:tper,
transformOrigin:origin,
ease:easedata,
overwrite:"all",
delay:0.3,
onComplete:function() {
setTimeout(function() {animateCreatorIn()},500);
}
});
}
/******************************
- PLAY IN ANIMATION -
********************************/
function stopAnimationInPreview() {
var nextcaption = jQuery('#preview_caption_animateme');
TweenLite.killTweensOf(nextcaption,false);
if (nextcaption.data("timer")) clearTimeout(nextcaption.data('timer'));
if (nextcaption.data("timera")) clearTimeout(nextcaption.data('timera'));
}
|