?? GreyFile — Mystic File Browser

Current path: home/webdevt/www/wdp/wp-content/themes/kerge/js/



?? Go up: /home/webdevt/www/wdp/wp-content/themes/kerge

?? Viewing: page-animations.js

/*
* Theme Name: Kerge - Responsive vCard
* Author: lmpixels
* Author URL: http://themeforest.net/user/lmpixels
* Version: 3.2.0
*/

var PageTransitions = (function ($, options) {
"use strict";
    var sectionsContainer = $(".subpages"),
        CurrentAnimating = false,
        NextAnimating = false,
        animEndEventNames = {
            'WebkitAnimation'   : 'webkitAnimationEnd',
            'OAnimation'        : 'oAnimationEnd',
            'msAnimation'       : 'MSAnimationEnd',
            'animation'         : 'animationend'
        },

        // animation end event name
        animEndEventName = animEndEventNames[Modernizr.prefixed('animation')],

        // support css animations
        support = Modernizr.cssanimations;

    function getActiveSection() {
        if(location.hash === "") {
            return location.hash = $('section.pt-page').first().attr('data-id');
        } else {
            return location.hash.split('/')[0];
        }
    }

    function activeMenuItem(item) {
        if ( !item ) {
            return false;
        }

        var navLink = $(item);
        navLink = navLink['0'];
        navLink = $(navLink.parentNode);
            
        if(navLink) {
            $('ul.site-auto-menu li').removeClass('active');
            navLink.addClass('active');
        }
    }

    function Animate($pageTrigger, gotoPage) {
        // Checking for 'data-animation' attribute.
        var autoMenu = $('.site-auto-menu');
        if (!(autoMenu.attr('data-animation'))) {
            var animation = parseInt(Math.floor(Math.random() * 67) + 1).toString();
        } else {
            var animation = autoMenu.data('animation').toString();
        }

        // Checking a for 'data-animation' attribute.
        var autoMenuA = $('.site-auto-menu a');
        if (!(autoMenuA.attr('data-animation'))) {
            var animation = parseInt(Math.floor(Math.random() * 67) + 1).toString();
        } else {
            var animation = autoMenuA.data('animation').toString();
        }

        var gotoPage, inClass, outClass, selectedAnimNumber;

         // Check if the delimiter '-' is present then create an animation array list.
        if(animation.indexOf('-') != -1) {
            var randomAnimList = animation.split('-');
            selectedAnimNumber = parseInt(randomAnimList[(Math.floor(Math.random() * randomAnimList.length))]);
        }
        else {
            selectedAnimNumber = parseInt(animation);
        }

        // Checking if the animation number is out of bound, max allowed value is 1 to 67.
        if (selectedAnimNumber > 67) {
            alert("Transition.js : Invalid 'data-animation' attribute configuration. Animation number should not be greater than 67");
            return false;
        }

        switch(selectedAnimNumber) {
            case 1:
                inClass = 'pt-page-moveFromRight';
                outClass = 'pt-page-moveToLeft';
                break;
            case 2:
                inClass = 'pt-page-moveFromLeft';
                outClass = 'pt-page-moveToRight';
                break;
            case 3:
                inClass = 'pt-page-moveFromBottom';
                outClass = 'pt-page-moveToTop';
                break;
            case 4:
                inClass = 'pt-page-moveFromTop';
                outClass = 'pt-page-moveToBottom';
                break;
            case 5:
                inClass = 'pt-page-moveFromRight pt-page-ontop';
                outClass = 'pt-page-fade';
                break;
            case 6:
                inClass = 'pt-page-moveFromLeft pt-page-ontop';
                outClass = 'pt-page-fade';
                break;
            case 7:
                inClass = 'pt-page-moveFromBottom pt-page-ontop';
                outClass = 'pt-page-fade';
                break;
            case 8:
                inClass = 'pt-page-moveFromTop pt-page-ontop';
                outClass = 'pt-page-fade';
                break;
            case 9:
                inClass = 'pt-page-moveFromRightFade';
                outClass = 'pt-page-moveToLeftFade';
                break;
            case 10:
                inClass = 'pt-page-moveFromLeftFade';
                outClass = 'pt-page-moveToRightFade';
                break;
            case 11:
                inClass = 'pt-page-moveFromBottomFade';
                outClass = 'pt-page-moveToTopFade';
                break;
            case 12:
                inClass = 'pt-page-moveFromTopFade';
                outClass = 'pt-page-moveToBottomFade';
                break;
            case 13:
                inClass = 'pt-page-moveFromRight';
                outClass = 'pt-page-moveToLeftEasing pt-page-ontop';
                break;
            case 14:
                inClass = 'pt-page-moveFromLeft';
                outClass = 'pt-page-moveToRightEasing pt-page-ontop';
                break;
            case 15:
                inClass = 'pt-page-moveFromBottom';
                outClass = 'pt-page-moveToTopEasing pt-page-ontop';
                break;
            case 16:
                inClass = 'pt-page-moveFromTop';
                outClass = 'pt-page-moveToBottomEasing pt-page-ontop';
                break;
            case 17:
                inClass = 'pt-page-moveFromRight pt-page-ontop';
                outClass = 'pt-page-scaleDown';
                break;
            case 18:
                inClass = 'pt-page-moveFromLeft pt-page-ontop';
                outClass = 'pt-page-scaleDown';
                break;
            case 19:
                inClass = 'pt-page-moveFromBottom pt-page-ontop';
                outClass = 'pt-page-scaleDown';
                break;
            case 20:
                inClass = 'pt-page-moveFromTop pt-page-ontop';
                outClass = 'pt-page-scaleDown';
                break;
            case 21:
                inClass = 'pt-page-scaleUpDown pt-page-delay300';
                outClass = 'pt-page-scaleDown';
                break;
            case 22:
                inClass = 'pt-page-scaleUp pt-page-delay300';
                outClass = 'pt-page-scaleDownUp';
                break;
            case 23:
                inClass = 'pt-page-scaleUp';
                outClass = 'pt-page-moveToLeft pt-page-ontop';
                break;
            case 24:
                inClass = 'pt-page-scaleUp';
                outClass = 'pt-page-moveToRight pt-page-ontop';
                break;
            case 25:
                inClass = 'pt-page-scaleUp';
                outClass = 'pt-page-moveToTop pt-page-ontop';
                break;
            case 26:
                inClass = 'pt-page-scaleUp';
                outClass = 'pt-page-moveToBottom pt-page-ontop';
                break;
            case 27:
                inClass = 'pt-page-scaleUpCenter pt-page-delay400';
                outClass = 'pt-page-scaleDownCenter';
                break;
            case 28:
                inClass = 'pt-page-moveFromRight pt-page-delay200 pt-page-ontop';
                outClass = 'pt-page-rotateRightSideFirst';
                break;
            case 29:
                inClass = 'pt-page-moveFromLeft pt-page-delay200 pt-page-ontop';
                outClass = 'pt-page-rotateLeftSideFirst';
                break;
            case 30:
                inClass = 'pt-page-moveFromTop pt-page-delay200 pt-page-ontop';
                outClass = 'pt-page-rotateTopSideFirst';
                break;
            case 31:
                inClass = 'pt-page-moveFromBottom pt-page-delay200 pt-page-ontop';
                outClass = 'pt-page-rotateBottomSideFirst';
                break;
            case 32:
                inClass = 'pt-page-flipInLeft pt-page-delay500';
                outClass = 'pt-page-flipOutRight';
                break;
            case 33:
                inClass = 'pt-page-flipInRight pt-page-delay500';
                outClass = 'pt-page-flipOutLeft';
                break;
            case 34:
                inClass = 'pt-page-flipInBottom pt-page-delay500';
                outClass = 'pt-page-flipOutTop';
                break;
            case 35:
                inClass = 'pt-page-flipInTop pt-page-delay500';
                outClass = 'pt-page-flipOutBottom';
                break;
            case 36:
                inClass = 'pt-page-scaleUp';
                outClass = 'pt-page-rotateFall pt-page-ontop';
                break;
            case 37:
                inClass = 'pt-page-rotateInNewspaper pt-page-delay500';
                outClass = 'pt-page-rotateOutNewspaper';
                break;
            case 38:
                inClass = 'pt-page-moveFromRight';
                outClass = 'pt-page-rotatePushLeft';
                break;
            case 39:
                inClass = 'pt-page-moveFromLeft';
                outClass = 'pt-page-rotatePushRight';
                break;
            case 40:
                inClass = 'pt-page-moveFromBottom';
                outClass = 'pt-page-rotatePushTop';
                break;
            case 41:
                inClass = 'pt-page-moveFromTop';
                outClass = 'pt-page-rotatePushBottom';
                break;
            case 42:
                inClass = 'pt-page-rotatePullRight pt-page-delay180';
                outClass = 'pt-page-rotatePushLeft';
                break;
            case 43:
                inClass = 'pt-page-rotatePullLeft pt-page-delay180';
                outClass = 'pt-page-rotatePushRight';
                break;
            case 44:
                inClass = 'pt-page-rotatePullBottom pt-page-delay180';
                outClass = 'pt-page-rotatePushTop';
                break;
            case 45:
                inClass = 'pt-page-rotatePullTop pt-page-delay180';
                outClass = 'pt-page-rotatePushBottom';
                break;
            case 46:
                inClass = 'pt-page-moveFromRightFade';
                outClass = 'pt-page-rotateFoldLeft';
                break;
            case 47:
                inClass = 'pt-page-moveFromLeftFade';
                outClass = 'pt-page-rotateFoldRight';
                break;
            case 48:
                inClass = 'pt-page-moveFromBottomFade';
                outClass = 'pt-page-rotateFoldTop';
                break;
            case 49:
                inClass = 'pt-page-moveFromTopFade';
                outClass = 'pt-page-rotateFoldBottom';
                break;
            case 50:
                inClass = 'pt-page-rotateUnfoldLeft';
                outClass = 'pt-page-moveToRightFade';
                break;
            case 51:
                inClass = 'pt-page-rotateUnfoldRight';
                outClass = 'pt-page-moveToLeftFade';
                break;
            case 52:
                inClass = 'pt-page-rotateUnfoldTop';
                outClass = 'pt-page-moveToBottomFade';
                break;
            case 53:
                inClass = 'pt-page-rotateUnfoldBottom';
                outClass = 'pt-page-moveToTopFade';
                break;
            case 54:
                inClass = 'pt-page-rotateRoomLeftIn';
                outClass = 'pt-page-rotateRoomLeftOut pt-page-ontop';
                break;
            case 55:
                inClass = 'pt-page-rotateRoomRightIn';
                outClass = 'pt-page-rotateRoomRightOut pt-page-ontop';
                break;
            case 56:
                inClass = 'pt-page-rotateRoomTopIn';
                outClass = 'pt-page-rotateRoomTopOut pt-page-ontop';
                break;
            case 57:
                inClass = 'pt-page-rotateRoomBottomIn';
                outClass = 'pt-page-rotateRoomBottomOut pt-page-ontop';
                break;
            case 58:
                inClass = 'pt-page-rotateCubeLeftIn';
                outClass = 'pt-page-rotateCubeLeftOut pt-page-ontop';
                break;
            case 59:
                inClass = 'pt-page-rotateCubeRightIn';
                outClass = 'pt-page-rotateCubeRightOut pt-page-ontop';
                break;
            case 60:
                inClass = 'pt-page-rotateCubeTopIn';
                outClass = 'pt-page-rotateCubeTopOut pt-page-ontop';
                break;
            case 61:
                inClass = 'pt-page-rotateCubeBottomIn';
                outClass = 'pt-page-rotateCubeBottomOut pt-page-ontop';
                break;
            case 62:
                inClass = 'pt-page-rotateCarouselLeftIn';
                outClass = 'pt-page-rotateCarouselLeftOut pt-page-ontop';
                break;
            case 63:
                inClass = 'pt-page-rotateCarouselRightIn';
                outClass = 'pt-page-rotateCarouselRightOut pt-page-ontop';
                break;
            case 64:
                inClass = 'pt-page-rotateCarouselTopIn';
                outClass = 'pt-page-rotateCarouselTopOut pt-page-ontop';
                break;
            case 65:
                inClass = 'pt-page-rotateCarouselBottomIn';
                outClass = 'pt-page-rotateCarouselBottomOut pt-page-ontop';
                break;
            case 66:
                inClass = 'pt-page-rotateSidesIn pt-page-delay200';
                outClass = 'pt-page-rotateSidesOut';
                break;
            case 67:
                inClass = 'pt-page-rotateSlideIn';
                outClass = 'pt-page-rotateSlideOut';
                break;
        }

        // This will get the current subpage
        var currentPageId = $('section.pt-page-current').attr('data-id'),
            linkhref = $pageTrigger.attr('href').split("#"),
            gotoPage = linkhref[1];

        // Check if the current page is same as the next page then do not start the animation
        if (currentPageId != gotoPage) {
            var $currentPage = $('section[data-id="' + currentPageId + '"]');
            if( $currentPage.length ) {
                CurrentAnimating = true;
            }
            NextAnimating = true;

            // Next page to be animated.
            $currentPage.removeClass('pt-page-relative');
            var $nextPage = $('section[data-id='+gotoPage+']').addClass('pt-page-current');

            $nextPage.scrollTop(0);
            $('.site-main').scrollTop(0);

            $currentPage.addClass(outClass).on(animEndEventName, function() {
                CurrentAnimating = false;
                $currentPage.attr('class', $currentPage.data('originalClassList'));
                $currentPage.off(animEndEventName);
            });

            $nextPage.addClass(inClass).on(animEndEventName, function() {
                NextAnimating = false;
                $nextPage.attr('class', $nextPage.data('originalClassList') + ' pt-page-current pt-page-relative');
                $nextPage.off(animEndEventName);
            });
        }
        // else reset the 'isAnimating' flag
        else {
            CurrentAnimating = false;
            NextAnimating = false;
        }


        // Check if the animation is supported by browser and reset the pages.
        if(!support) {
            onEndAnimation($currentPage, $nextPage);
        }

    }

    function init(options) {
        // Get all the .pt-page sections.
        $('.pt-page').each( function() {
            var $page = $(this);
            $page.data('originalClassList', $page.attr('class'));
        });

        // Adding click event to main menu link
        if (sectionsContainer.hasClass('animated-sections')) {
            // Get all the .pt-wrapper div which is the parent for all pt-div
            sectionsContainer.each( function() {
                if (location.hash === "") {
                    $('section[data-id='+ pageStart +']').addClass('section-active');
                }
            });

            $('.nav-anim:not(.nav-custom)').on("click", function (e) {
                e.preventDefault();
                if( NextAnimating || CurrentAnimating ) {
                    return false;
                }
                var pageTrigger = $(this);

                activeMenuItem( pageTrigger );

                Animate( pageTrigger );

                location.hash = $(this).attr('href');

            });
        } else {
            // Auto Menu creating
            var menu_html = "";
                                
            $('.pt-wrapper').find('section.pt-page').each(function()
            {
                var slug = $(this).attr('data-id');
                var page_title = $(this).attr('data-title');
                if(slug.length) {
                    var menu_item = '<li><a href="#' + slug + '" class="pt-trigger">' + page_title + '</a></li>';
                } else {
                    var menu_item = '';
                }
                menu_html += menu_item;
                $('.site-auto-menu').html(menu_html);
            });

            $('.pt-trigger').click(function() {
                if( NextAnimating || CurrentAnimating ) {
                    return false;
                }
                var pageTrigger = $(this),
                    menuLink = $(this);

                activeMenuItem( menuLink );
                Animate(pageTrigger);
                history.pushState('', 'New URL: '+$(this).attr('href'), $(this).attr('href'));
            });
        }

        window.onpopstate = function (event) {
            if(location.hash) {
                if ( NextAnimating == true || CurrentAnimating == true ) {
                    return false;
                }
                var menuLink = $(menu+' a[href*="'+location.hash.split('/')[0]+'"]');
                activeMenuItem( menuLink );
                Animate(menuLink);
            }
        };

        var menu = options.menu,
        pageStart = getActiveSection();

        location.hash = pageStart;
        var menuLink = $(menu+' a[href*="'+location.hash.split('/')[0]+'"]');

        activeMenuItem(menuLink);

        Animate(menuLink);

        $(".lmpixels-arrow-right").click(function() {
            if (sectionsContainer.hasClass('animated-sections')) {
                var activeItem = $('.main-menu li.active').closest(".menu-item-object-page"),
                    menuItem = $('.site-main-menu > .menu-item-object-page:not(.menu-item-has-children)');
                activeItem.nextAll(".site-main-menu > .menu-item-object-page:not(.menu-item-has-children)").children("a").click();
                menuItem.last().addClass( "last-anim" );
                menuItem.first().addClass( "first-anim" );
                if ( activeItem.hasClass('last-anim') ) {
                    $('.main-menu .first-anim').children("a").click();
                }
            } else {
                var activeItem = $('.site-main-menu li.active');
                activeItem.next("li").children("a").click();
                if ( activeItem.is(':last-child') ) {
                    $('.site-main-menu li:first-child').children("a").click();
                }
            }
        });

        $(".lmpixels-arrow-left").click(function() {
            if (sectionsContainer.hasClass('animated-sections')) {
                var activeItem = $('.main-menu li.active').closest(".menu-item-object-page"),
                    menuItem = $('.site-main-menu > .menu-item-object-page:not(.menu-item-has-children)');
                activeItem.prevAll(".site-main-menu > .menu-item-object-page:not(.menu-item-has-children)").children("a").click();
                menuItem.last().addClass( "last-anim" );
                menuItem.first().addClass( "first-anim" );
                if ( activeItem.hasClass('first-anim') ) {
                    $('.main-menu .last-anim').children("a").click();
                }
            } else {
                var activeItem = $('.site-main-menu li.active');
                activeItem.prev("li").children("a").click();
                if ( activeItem.is(':first-child') ) {
                    $('.site-main-menu li:last-child').children("a").click();
                }
            }
        });
    }

    return {
        init : init,
    };

})(jQuery);


??

??