/* jquery.nicescroll -- version 3.0.0 -- copyright 2011-12 InuYaksa*2012 -- 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 $ = 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(); // derived by http://blog.joelambert.co.uk/2011/06/01/a-better-settimeoutsetinterval/ var setAnimationFrame = (function(){ return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || false; })(); var clearAnimationFrame = (function(){ return window.cancelRequestAnimationFrame || window.webkitCancelRequestAnimationFrame || window.mozCancelRequestAnimationFrame || window.oCancelRequestAnimationFrame || window.msCancelRequestAnimationFrame || false; })(); 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.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.cantouch = ("ontouchstart" in document.documentElement); 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