/* jquery.nicescroll -- version 3.5.0 BETA5 -- copyright 2011-12-13 InuYaksa*2013 -- licensed under the MIT -- -- http://areaaperta.com/nicescroll -- https://github.com/inuyaksa/jquery.nicescroll -- */ (function(jQuery){ // globals var domfocus = false; var mousefocus = false; var zoomactive = false; var tabindexcounter = 5000; var ascrailcounter = 2000; var globalmaxzindex = 0; var $ = jQuery; // sandbox // http://stackoverflow.com/questions/2161159/get-script-path function getScriptPath() { var scripts=document.getElementsByTagName('script'); var path=scripts[scripts.length-1].src.split('?')[0]; return (path.split('/').length>0) ? path.split('/').slice(0,-1).join('/')+'/' : ''; } var scriptpath = getScriptPath(); var vendors = ['ms','moz','webkit','o']; var setAnimationFrame = window.requestAnimationFrame||false; var clearAnimationFrame = window.cancelAnimationFrame||false; if (!setAnimationFrame) { for(var vx in vendors) { var v = vendors[vx]; if (!setAnimationFrame) setAnimationFrame = window[v+'RequestAnimationFrame']; if (!clearAnimationFrame) clearAnimationFrame = window[v+'CancelAnimationFrame']||window[v+'CancelRequestAnimationFrame']; } } var clsMutationObserver = window.MutationObserver || window.WebKitMutationObserver || false; var _globaloptions = { cursoropacitymin:0, cursoropacitymax:1, cursorcolor:" ", //#424242 cursorwidth:"5px", cursorborder:"1px solid #fff", cursorborderradius:"5px", scrollspeed:60, mousescrollstep:8*3, touchbehavior:false, hwacceleration:true, usetransition:true, boxzoom:false, dblclickzoom:true, gesturezoom:true, grabcursorenabled:true, autohidemode:false, //background:"#fff", iframeautoresize:true, cursorminheight:32, preservenativescrolling:true, railoffset:false, bouncescroll:true, spacebarenabled:true, railpadding:{top:0,right:0,left:0,bottom:0}, disableoutline:true, horizrailenabled:true, railalign:"right", railvalign:"bottom", enabletranslate3d:true, enablemousewheel:true, enablekeyboard:true, smoothscroll:true, sensitiverail:true, enablemouselockapi:true, cursormaxheight:false, cursorfixedheight:false, directionlockdeadzone:6, hidecursordelay:400, nativeparentscrolling:true, enablescrollonselection:true, overflowx:true, overflowy:true, cursordragspeed:0.3, rtlmode:false, cursordragontouch:false, oneaxismousemode:"auto" } var browserdetected = false; var getBrowserDetection = function() { if (browserdetected) return browserdetected; var domtest = document.createElement('DIV'); var d = {}; d.haspointerlock = "pointerLockElement" in document || "mozPointerLockElement" in document || "webkitPointerLockElement" in document; d.isopera = ("opera" in window); d.isopera12 = (d.isopera&&("getUserMedia" in navigator)); d.isoperamini = (Object.prototype.toString.call(window.operamini) === "[object OperaMini]"); d.isie = (("all" in document) && ("attachEvent" in domtest) && !d.isopera); d.isieold = (d.isie && !("msInterpolationMode" in domtest.style)); // IE6 and older d.isie7 = d.isie&&!d.isieold&&(!("documentMode" in document)||(document.documentMode==7)); d.isie8 = d.isie&&("documentMode" in document)&&(document.documentMode==8); d.isie9 = d.isie&&("performance" in window)&&(document.documentMode>=9); d.isie10 = d.isie&&("performance" in window)&&(document.documentMode>=10); d.isie9mobile = /iemobile.9/i.test(navigator.userAgent); //wp 7.1 mango if (d.isie9mobile) d.isie9 = false; d.isie7mobile = (!d.isie9mobile&&d.isie7) && /iemobile/i.test(navigator.userAgent); //wp 7.0 d.ismozilla = ("MozAppearance" in domtest.style); d.iswebkit = ("WebkitAppearance" in domtest.style); d.ischrome = ("chrome" in window); d.ischrome22 = (d.ischrome&&d.haspointerlock); d.ischrome26 = (d.ischrome&&("transition" in domtest.style)); // issue with transform detection (maintain prefix) d.cantouch = ("ontouchstart" in document.documentElement)||("ontouchstart" in window); // detection for Chrome Touch Emulation d.hasmstouch = (window.navigator.msPointerEnabled||false); // IE10+ pointer events d.ismac = /^mac$/i.test(navigator.platform); d.isios = (d.cantouch && /iphone|ipad|ipod/i.test(navigator.platform)); d.isios4 = ((d.isios)&&!("seal" in Object)); d.isandroid = (/android/i.test(navigator.userAgent)); d.trstyle = false; d.hastransform = false; d.hastranslate3d = false; d.transitionstyle = false; d.hastransition = false; d.transitionend = false; var check = ['transform','msTransform','webkitTransform','MozTransform','OTransform']; for(var a=0;a