"use strict";!function(o,s){var e,t,l,a,i,r,n,d,c,v,h=function(){n=e.scrollTop(),d=e.height(),e.width(),l.each(function(){a=o(this),c=parseInt(a.data("scrollcontrol-threshold")||0,10),i=Math.round(a.offset().top),r=Math.round(a.height()),v=(n+d-i)/(d+r),v=Math.min(Math.max(v,0),1),n-c<=i+r&&i<=n+d+c?(a.removeClass("is-notViewed"),a.hasClass("is-viewed")||(a.addClass("is-viewed"),a.triggerHandler("scrollcontrol/isViewed")),a.removeClass("is-notInView"),a.hasClass("is-inView")||(a.addClass("is-inView"),a.triggerHandler("scrollcontrol/isInView"))):(a.hasClass("is-viewed")||a.hasClass("is-notViewed")||(a.addClass("is-notViewed"),a.triggerHandler("scrollcontrol/isNotViewed")),a.removeClass("is-inView"),a.hasClass("is-notInView")||(a.addClass("is-notInView"),a.triggerHandler("scrollcontrol/isNotInView"))),i<=n?(a.removeClass("is-notAboveTop"),a.hasClass("is-aboveTop")||(a.addClass("is-aboveTop"),a.triggerHandler("scrollcontrol/isAboveTop"))):(a.removeClass("is-aboveTop"),a.hasClass("is-notAboveTop")||(a.addClass("is-notAboveTop"),a.triggerHandler("scrollcontrol/isNotAboveTop"))),i+r<n+d?(a.removeClass("is-notAboveBottom"),a.hasClass("is-aboveBottom")||(a.addClass("is-aboveBottom"),a.triggerHandler("scrollcontrol/isAboveBottom"))):(a.removeClass("is-aboveBottom"),a.hasClass("is-notAboveBottom")||(a.addClass("is-notAboveBottom"),a.triggerHandler("scrollcontrol/isNotAboveBottom"))),v!==a.data("scrollcontrol-y")&&(a.triggerHandler("scrollcontrol/onScrollUpdate",v),a.data("scrollcontrol-y",v))})};e=o(s),o(document).ready(function(){(l=o(".js-scrollcontrol")).length&&e.on("orientationchange resize scroll load",function(){t&&cancelAnimationFrame(t),t=requestAnimationFrame(h)})})}(jQuery,window);