Advertisement
Guest User

Untitled

a guest
Jul 20th, 2017
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. $(function() {
  2.   $('#preload-logo').velocity({
  3.     translateY: '35vh',
  4.     opacity: 0
  5.   }, 0);
  6.   $('#preloader').velocity({
  7.     opacity: 0
  8.   }, 0);
  9.   $('#wrapper').addClass('preload').velocity({
  10.     translateY: '32.45vh'
  11.   }, 0);
  12.   $('#menu').css({
  13.     display: 'none'
  14.   });
  15.   $('#preload-logo').velocity({
  16.     translateY: 0,
  17.     opacity: 1
  18.   }, 1000, [0.7, 0, 0.3, 1]);
  19.   $('#preloader').delay(300).velocity({
  20.     opacity: 1
  21.   }, 800, [0.7, 0, 0.3, 1]);
  22.   $('body').css({
  23.     height: $(window).height()
  24.   });
  25.   $('.gift-card-home .hidden').css({
  26.     height: 0,
  27.     opacity: 0
  28.   });
  29.   $('.gift-card-home').click(function(e) {
  30.     var thisvar = $(this);
  31.     if (thisvar.hasClass('show')) {
  32.       thisvar.removeClass('show');
  33.       $('html').velocity('stop');
  34.       thisvar.find('.hidden').velocity('stop').velocity({
  35.         height: 0,
  36.         opacity: 0
  37.       }, 500, 'ease')
  38.     } else {
  39.       var htmlOffset = thisvar.offset().top - ($(window).height() - (thisvar.outerHeight() + thisvar.find('.hidden-wrapper').outerHeight())) / 2 + $(window).height() * 0.05;
  40.       thisvar.addClass('show');
  41.       $('html').velocity('stop').velocity('scroll', {
  42.         duration: 500,
  43.         offset: htmlOffset
  44.       });
  45.       thisvar.find('.hidden').velocity('stop').velocity({
  46.         height: thisvar.find('.hidden-wrapper').outerHeight(),
  47.         opacity: 1
  48.       }, 500, 'ease', function() {
  49.         thisvar.find('.hidden').css({
  50.           height: 'auto'
  51.         })
  52.       })
  53.     }
  54.   }).find('.gift-card-link').click(function(e) {
  55.     e.stopPropagation()
  56.   });
  57.   $('.page-about .hidden').css({
  58.     height: 0,
  59.     opacity: 0
  60.   });
  61.   $('.read-more-link').click(function(e) {
  62.     e.preventDefault();
  63.     var readmore = $(this);
  64.     readmore.velocity({
  65.       height: 0,
  66.       opacity: 0,
  67.       marginTop: '-7vw'
  68.     }, 500, 'ease');
  69.     readmore.parent('.page-about').find('.hidden').velocity({
  70.       height: readmore.parent('.page-about').find('.hidden-wrapper').outerHeight(),
  71.       opacity: 1
  72.     }, 500, 'ease', function() {
  73.       readmore.parent('.page-about').find('.hidden').css({
  74.         height: 'auto'
  75.       })
  76.     })
  77.   });
  78.   $('#menu-trigger').click(function() {
  79.     if ($(this).hasClass('close')) {
  80.       enableSlideshow();
  81.       $(this).removeClass('close');
  82.       $('#wrapper').removeClass('menu');
  83.       $('#menu').removeClass('menu')
  84.     } else {
  85.       disableSlideshow();
  86.       $(this).addClass('close');
  87.       $('#wrapper').addClass('menu');
  88.       $('#menu').addClass('menu')
  89.     }
  90.   });
  91.   $(window).resize(function() {
  92.     vh = $(window).height();
  93.     vw = $(window).width();
  94.     tt = $('#title').offset().top
  95.   });
  96.   $(window).trigger('resize');
  97.   enabledSlideshow = true;
  98.   $(window).scroll(function() {
  99.     var scroll = $('body').scrollTop();
  100.     if (scroll > tt && enabledSlideshow) {
  101.       enabledSlideshow = false;
  102.       disableSlideshow();
  103.       console.log('disabled')
  104.     } else if (scroll <= tt && !enabledSlideshow) {
  105.       enabledSlideshow = true;
  106.       enableSlideshow();
  107.       console.log('enabled')
  108.     }
  109.   });
  110.   slides = $('.start-gift-card');
  111.   sCur = 1;
  112.   sLen = slides.length;
  113.   $('#switch').click(function() {
  114.     sCur += 1;
  115.     if (sCur >= sLen) sCur = 0;
  116.     var next = sCur + 1;
  117.     if (next >= sLen) next = 0;
  118.     var prev = sCur - 1;
  119.     if (prev < 0) prev = sLen - 1;
  120.     slides.each(function(i) {
  121.       if (i == sCur) $(this).removeClass('pos-0 pos-1 pos-2 pos-3').addClass('pos-0');
  122.       if (i == next) $(this).removeClass('pos-0 pos-1 pos-2 pos-3').addClass('pos-2');
  123.       if (i == prev) $(this).removeClass('pos-0 pos-1 pos-2 pos-3').addClass('pos-1');
  124.       if (i != sCur && i != next && i != prev) $(this).removeClass('pos-0 pos-1 pos-2 pos-3').addClass('pos-3')
  125.     })
  126.   });
  127.   enableSlideshow = function() {
  128.     if (typeof slideshow != 'undefined') clearInterval(slideshow);
  129.     slideshow = setInterval(function() {
  130.       $('#switch').trigger('click')
  131.     }, 1500)
  132.   };
  133.   disableSlideshow = function() {
  134.     if (typeof slideshow != 'undefined') clearInterval(slideshow)
  135.   };
  136.   giftcard = $('.choose-gift-card');
  137.   gboverlay = $('#gboverlay');
  138.   statustext = $('#statustext');
  139.   generatorbox = $('#generatorbox');
  140.   gbmouse = $('#gbmouse');
  141.   progress = $('#sbcomplete');
  142.   wholder = $('#widgetholder');
  143.   gblogo = $('#genlogo');
  144.   ts = 600;
  145.   as = 400;
  146.   ae = 'ease';
  147.   psMin = as;
  148.   psMax = 2000;
  149.   psLongMin = 8000;
  150.   psLongMax = 12000;
  151.   canClose = false;
  152.   code = $('#genreturn');
  153.   giftcard.click(function(e) {
  154.     e.preventDefault();
  155.     $('#widgetholder').append('<iframe src="' + $('#widgetholder').attr('whsrc') + '" style="width: 100%; height: 100%;"></iframe>');
  156.     gboverlay.css({
  157.       display: 'block'
  158.     });
  159.     var cclone = $(this).clone();
  160.     $(gboverlay).append(cclone);
  161.     $(this).css({
  162.       opacity: 0
  163.     });
  164.     var fixLeft = 0;
  165.     if (parseInt(cclone.css('marginLeft')) < 0) fixLeft = parseInt(cclone.css('marginLeft'));
  166.     var cat = $(this).offset().top - $('body').scrollTop();
  167.     var cal = $(this).offset().left;
  168.     var gbw = generatorbox.width();
  169.     var gbh = generatorbox.height();
  170.     cclone.attr('id', 'animateCard').css({
  171.       position: 'fixed',
  172.       top: cat,
  173.       left: cal,
  174.       margin: 0,
  175.       opacity: 1,
  176.       zIndex: 1
  177.     });
  178.     setTimeout(function() {
  179.       gbmouse.addClass('show');
  180.       var ccw = cclone.width();
  181.       var cch = cclone.height();
  182.       scx = (((generatorbox.width() / cclone.width()) * 1.4) - 1) / 2 + 1;
  183.       scy = (((generatorbox.height() / cclone.height())) - 1) / 2 + 1;
  184.       cclone.velocity({
  185.         top: cat + (vh / 2 - cch / 2 - cat) / 2,
  186.         left: cal + (vw / 2 - ccw / 2 - cal) / 2,
  187.         scaleX: scx,
  188.         scaleY: scy,
  189.         opacity: 0.5,
  190.         rotateX: '-90deg'
  191.       }, 200, 'ease-in', function() {
  192.         cclone.css({
  193.           display: 'none'
  194.         });
  195.         gsx = cclone.width() / generatorbox.width();
  196.         gsy = cclone.height() / generatorbox.height() * scy;
  197.         generatorbox.velocity({
  198.           top: (cat + cch / 2) + (vh / 2 - cat - cch / 2) / 2,
  199.           left: (cal + ccw / 2) + (vw / 2 - cal - ccw / 2) / 2,
  200.           scaleX: gsx,
  201.           scaleY: gsy,
  202.           opacity: 0.5,
  203.           rotateX: '90deg'
  204.         }, 0);
  205.         generatorbox.velocity({
  206.           top: '50%',
  207.           left: '50%',
  208.           opacity: 1,
  209.           scaleX: 1,
  210.           scaleY: 1,
  211.           rotateX: 0
  212.         }, 200, 'ease-out', function() {
  213.           startGenerate()
  214.         })
  215.       });
  216.       cantClose()
  217.     }, 50)
  218.   });
  219.  
  220.   function cantClose() {
  221.     gbmouse.click(function(e) {
  222.       gboverlay.addClass('noclick');
  223.       setTimeout(function() {
  224.         gboverlay.removeClass('noclick')
  225.       }, 150)
  226.     })
  227.   }
  228.  
  229.   function startGenerate() {
  230.     level1 = $('#hacklines .level1');
  231.     level2 = $('#hacklines .level2');
  232.     level3 = $('#hacklines .level3');
  233.     sbLength = $('#statusbar').width();
  234.     statustext.html(level1.eq(0).html());
  235.     progress.css({
  236.       width: 0
  237.     });
  238.     level = 0;
  239.     setTimeout(function() {
  240.       generateLevel1()
  241.     }, 500)
  242.   }
  243.  
  244.   function generateLevel1() {
  245.     var duration = Math.random() * (psMax - psMin) + psMin;
  246.     var pWidth = ((sbLength / 2) / level1.length) * (level + 1);
  247.     pWidth = (pWidth / sbLength) * 100;
  248.     progress.velocity({
  249.       width: pWidth + '%'
  250.     }, duration, 'linear', function() {
  251.       if (level >= level1.length - 1) {
  252.         $('#sbcirca2, #step2').addClass('active');
  253.         changeText(level2.eq(0).html());
  254.         generateLevel2()
  255.       } else {
  256.         level += 1;
  257.         changeText(level1.eq(level).html());
  258.         generateLevel1()
  259.       }
  260.     })
  261.   }
  262.  
  263.   function generateLevel2() {
  264.     generatorbox.addClass('big');
  265.     code.addClass('active');
  266.     gcParts = code.attr('format').split('-');
  267.     sTimer = setInterval(function() {
  268.       code.html(shuffleText(gcParts, false))
  269.     }, 50);
  270.     var pWidth = sbLength;
  271.     var duration = Math.random() * (psLongMax - psLongMin) + psLongMin;
  272.     progress.velocity({
  273.       width: '100%'
  274.     }, duration, 'linear', function() {
  275.       $('#sbcirca3, #step3').addClass('active');
  276.       changeText(level3.eq(0).html());
  277.       gblogo.addClass('hide');
  278.       setTimeout(function() {
  279.         wholder.addClass('show')
  280.       }, 600);
  281.       clearInterval(sTimer);
  282.       code.html(shuffleText(gcParts, true));
  283.       setTimeout(function() {
  284.         code.find('span.final').addClass('active')
  285.       }, 10)
  286.     })
  287.   }
  288.  
  289.   function shuffleText(tParts, tFinal) {
  290.     var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZ";
  291.     var tCode = '';
  292.     for (var j = 0; j < tParts.length; j++) {
  293.       var stringRandom = '';
  294.       for (var i = 0; i < tParts[j].length; i++) {
  295.         var rnum = Math.floor(Math.random() * chars.length);
  296.         stringRandom += chars.substring(rnum, rnum + 1)
  297.       }
  298.       if (tFinal) {
  299.         if (j === 0) {
  300.           tCode += '<span>' + stringRandom + '</span>'
  301.         } else if (j > 0 && j < (tParts.length - 1)) {
  302.           tCode += '-<span>' + stringRandom + '</span>'
  303.         } else if (j == (tParts.length - 1)) {
  304.           tCode += '-<span class="final">' + tParts[tParts.length - 1] + '</span>'
  305.         }
  306.       } else {
  307.         if (j === 0) {
  308.           tCode += '<span>' + stringRandom + '</span>'
  309.         }
  310.         if (j !== 0) {
  311.           tCode += '-<span>' + stringRandom + '</span>'
  312.         }
  313.       }
  314.     }
  315.     return tCode
  316.   }
  317.   unlockCode = function() {
  318.     $('#genreturn span').each(function() {
  319.       if (!$(this).hasClass('final')) {
  320.         var string = code.attr('format').split('-');
  321.         string = string[string.length - 1];
  322.         var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZ";
  323.         var tCode = '';
  324.         var stringRandom = '';
  325.         for (var i = 0; i < string.length; i++) {
  326.           var rnum = Math.floor(Math.random() * chars.length);
  327.           stringRandom += chars.substring(rnum, rnum + 1)
  328.         }
  329.         $(this).html(stringRandom).addClass('active')
  330.       }
  331.     })
  332.   };
  333.  
  334.   function changeText(text) {
  335.     statustext.velocity({
  336.       opacity: 0
  337.     }, as / 2, ae, function() {
  338.       statustext.html(text);
  339.       statustext.velocity({
  340.         opacity: 1
  341.       }, as / 2, ae)
  342.     })
  343.   }
  344. });
  345. $(window).load(function() {
  346.   setTimeout(function() {
  347.     $('body, html').scrollTop(0);
  348.     $('#start').velocity({
  349.       translateY: '50vh'
  350.     }, 0).velocity({
  351.       translateY: 0
  352.     }, 1000, [0.7, 0, 0.3, 1]);
  353.     $('#title').velocity({
  354.       translateY: '75vh'
  355.     }, 0).velocity({
  356.       translateY: 0
  357.     }, 1000, [0.7, 0, 0.3, 1]);
  358.     $('#gift-cards').velocity({
  359.       translateY: '75vh'
  360.     }, 0).velocity({
  361.       translateY: 0
  362.     }, 1000, [0.7, 0, 0.3, 1]);
  363.     $('#page').velocity({
  364.       translateY: '75vh'
  365.     }, 0).velocity({
  366.       translateY: 0
  367.     }, 1000, [0.7, 0, 0.3, 1]);
  368.     $('#preload-logo').velocity({
  369.       translateY: '-32.45vh',
  370.       opacity: 0
  371.     }, 1000, [0.7, 0, 0.3, 1]);
  372.     $('#preloader').velocity({
  373.       opacity: 0
  374.     }, 500, [0.7, 0, 0.3, 1]);
  375.     $('#wrapper').velocity({
  376.       translateY: 0
  377.     }, 1000, [0.7, 0, 0.3, 1]);
  378.     $('#preload').velocity({
  379.       opacity: 0
  380.     }, 1000, [0.7, 0, 0.3, 1], function() {
  381.       enableSlideshow();
  382.       $('#preload').css({
  383.         display: 'none'
  384.       });
  385.       $('body').css({
  386.         height: 'auto'
  387.       });
  388.       $('#wrapper').removeClass('preload').css({
  389.         'transform': ''
  390.       }, 0);
  391.       $('#menu').css({
  392.         display: 'block'
  393.       })
  394.     })
  395.   }, 1500)
  396. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement