Star Light - PHP Online
Form of PHP Sandbox
Enter Your PHP code here for testing/debugging in the Online PHP Sandbox. As in the usual PHP files, you can also add HTML, but do not forget to add the tag <?php
in the places where the PHP script should be executed.
Result of php executing
Full code of Star Light.php
- <?php
- <!DOCTYPE html><html lang="en" dir="ltr" prefix="content: http://purl.org/rss/1.0/modules/content/ dc: http://purl.org/dc/terms/ foaf: http://xmlns.com/foaf/0.1/ og: http://ogp.me/ns# rdfs: http://www.w3.org/2000/01/rdf-schema# schema: http://schema.org/ sioc: http://rdfs.org/sioc/ns# sioct: http://rdfs.org/sioc/types# skos: http://www.w3.org/2004/02/skos/core# xsd: http://www.w3.org/2001/XMLSchema# " rel="optimized"><head><script type="text/javascript">
- !function(r,i,t){var u,o=/^data-(.+)/,a='IntersectionObserver',c=/p/.test(i.readyState),s=[],f=s.slice,l='lazied',e='load',n='pageshow',d='forEach',h='hasAttribute',m='shift';function v(e){i.head.appendChild(e)}function p(e,n){f.call(e.attributes)[d](n)}function y(e,n,t,o){return o=(o=n?i.getElementById(n):o)||i.createElement(e),n&&(o.id=n),t&&(o.onload=t),o}function b(e,n){return f.call((n||i).querySelectorAll(e))}function I(t){b('source',t)[d](I),p(t,function(e,n){(n=o.exec(e.name))&&(t[n[1]]=e.value)}),e in t&&t[e]()}function g(e){u(function(o){o=b(e||'[type=deferjs]'),function e(n,t){(n=o[m]())&&(n.parentNode.removeChild(n),(t=y(n.nodeName)).text=n.text,p(n,function(e){'type'!=e.name&&(t[e.name]=e.value)}),t.src&&!t[h]('async')?(t.onload=t.onerror=e,v(t)):(v(t),e()))}()})}(u=function(e,n){c?t(e,n):s.push(e,n)}).all=g,u.js=function(n,t,e,o){u(function(e){(e=y('SCRIPT',t,o)).src=n,v(e)},e)},u.css=function(n,t,e,o){u(function(e){(e=y('LINK',t,o)).rel='stylesheet',e.href=n,v(e)},e)},u.dom=function(e,n,t,o,i){function c(e){o&&!1===o(e)||(I(e),t&&(e.className+=' '+t))}u(function(t){t=a in r&&new r[a](function(e){e[d](function(e,n){e.isIntersecting&&(n=e.target)&&(t.unobserve(n),c(n))})},i),b(e||'[data-src]')[d](function(e){e[h](l)||(e.setAttribute(l,''),t?t.observe(e):c(e))})},n)},u.reveal=I,r.Defer=u,r.addEventListener('on'+n in r?n:e,function(){for(g();s[0];t(s[m](),s[m]()))c=1})}(this,document,setTimeout);
- </script><link rel="preload" href="/themes/custom/coolmath/assets/fonts/icomoon/fonts/icomoon.ttf" as="font" crossorigin="anonymous" /><link rel="preconnect" href="https://cdn.intergi.com" /><link rel="dns-prefetch" href="https://cdn.intergi.com" /><link rel="preconnect" href="https://use.typekit.net" /><link rel="dns-prefetch" href="https://use.typekit.net" /><link rel="preconnect" href="z.moatads.com" /><link rel="dns-prefetch" href="z.moatads.com" /><script type="deferjs" src="/modules/custom/cmatgame_ads_analytics/js/advertisement-ads.js"></script><link rel="apple-touch-icon" href="/pwa/images/icon-152x152.png"><meta name="mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-status-bar-style" content="black"><meta name="theme-color" content="#2A445D" /><meta charset="utf-8" />
- <style>/* @see https://github.com/aFarkas/lazysizes#broken-image-symbol */.js img.lazyload:not([src]) { visibility: hidden; }/* @see https://github.com/aFarkas/lazysizes#automatically-setting-the-sizes-attribute */.js img.lazyloaded[data-sizes=auto] { display: block; width: 100%; }</style>
- <link rel="canonical" href="//www.coolmathgames.com/0-run-3" />
- <meta name="keywords" content="coolmaths, coolmath, math, maths, game, games, free, online, fun, Run 3, coolmaths, coolmath, math, maths, game, games, free, online, fun" />
- <meta property="og:title" content="Run 3 - Play it now at Coolmath Games" />
- <meta name="description" content="Run 3 at Cool Math Games: Complete the Run trilogy! Explore hundreds of new levels in a huge new galaxy. Ready... set... GO!" />
- <meta property="og:description" content="Run 3 at Cool Math Games: Complete the Run trilogy! Explore hundreds of new levels in a huge new galaxy. Ready... set... GO!" />
- <meta property="og:image" content="https://www.coolmathgames.com/sites/default/files/run-3.png" />
- <meta property="og:image:alt" content="Run 3 Game Screenshot" />
- <meta property="og:type" content="article" />
- <meta property="og:url" content="//www.coolmathgames.com/0-run-3" />
- <script type="text/javascript">
- //mobile detect
- function cmg_is_mobile_device() {
- var bEle = document.documentElement;
- if(/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)){
- bEle.classList.add("mobile-device");
- bEle.classList.remove("dtp-device");
- return true;
- } else {
- if(navigator.maxTouchPoints == 5) {
- bEle.classList.add("mobile-device");
- bEle.classList.remove("dtp-device");
- return true;
- } else {
- bEle.classList.add("dtp-device");
- bEle.classList.remove("mobile-device");
- return false;
- }
- }
- }
- cmg_is_mobile_device();
- </script>
- <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no maximum-scale=1.0, user-scalable=no, minimal-ui" />
- <meta name="apple-mobile-web-app-capable" content="yes" />
- <style>*,:after,:before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%}article,aside,header,main,nav{display:block}body{margin:0;font-family:Proxima-Soft-Regular,Helvetica,Arial,sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-size:1rem;font-weight:400;line-height:1.2;color:#fff;text-align:left;background-color:#16202c}hr{box-sizing:initial;height:0;overflow:visible}h1,h2,h3,h5{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}ul{margin-bottom:1rem}ul{margin-top:0}ul ul{margin-bottom:0}strong{font-weight:bolder}a{color:#29bffd;text-decoration:none;background-color:initial}img{border-style:none}img{vertical-align:middle}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button,input{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button{text-transform:none}[type=button],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}.h2,.h3,h1,h2,h3,h5{margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}h5{font-size:1.25rem}hr{margin-top:1rem;border:0;border-top:0 solid rgba(0,0,0,.1)}.img-fluid{max-width:100%;height:auto}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:561px){.container{max-width:560px}}@media (min-width:767px){.container{max-width:768px}}@media (min-width:961px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}.form-control{display:block;width:100%;height:40px;padding:.5rem 1.5rem;font-size:1rem;font-weight:400;line-height:1.2;color:#e9f6fe;background-color:#16202c;background-clip:padding-box;border:0 solid #ced4da;border-radius:.25rem}.form-control::-ms-expand{background-color:initial;border:0}.form-text{display:block;margin-top:0}.btn{display:inline-block;font-weight:400;color:#fff;text-align:center;vertical-align:middle;background-color:initial;border:0 solid transparent;padding:.5rem 1.5rem;line-height:1.2;border-radius:.25rem}.btn-primary{color:#212529;background-color:#29bffd;border-color:#29bffd}.btn-sm{padding:.3rem 1rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.navbar{position:relative;padding:.5rem 1rem}.navbar,.navbar>.container{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:initial;border:0 solid transparent;border-radius:.25rem}@media (max-width:960.98px){.navbar-expand-lg>.container{padding-right:0;padding-left:0}}@media (min-width:961px){.navbar-expand-lg{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-lg>.container{flex-wrap:nowrap}}.badge{display:inline-block;padding:.4em .8em;font-size:100%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:initial;border-radius:.25rem}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.progress{display:flex;height:2rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:flex;flex-direction:column;justify-content:center;color:#000;text-align:center;white-space:nowrap;background-color:#f7c649}.clearfix:after{display:block;clear:both;content:""}.d-none{display:none!important}@media (min-width:961px){.d-lg-none{display:none!important}.d-lg-block{display:block!important}}@media (min-width:1200px){.d-xl-block{display:block!important}}.justify-content-between{justify-content:space-between!important}.float-left{float:left!important}.mt-0{margin-top:0!important}.mb-1{margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.mt-3{margin-top:1rem!important}.my-4{margin-top:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.pr-0{padding-right:0!important}.pl-0{padding-left:0!important}.pb-3{padding-bottom:1rem!important}@media (min-width:961px){.my-lg-0{margin-top:0!important}.my-lg-0{margin-bottom:0!important}.mr-lg-5{margin-right:3rem!important}.pr-lg-0{padding-right:0!important}.pl-lg-0{padding-left:0!important}}.text-center{text-align:center!important}input:-internal-autofill-selected,input:-webkit-autofill{background-color:#16202c!important;border:1px solid #16202c;color:#e9f6fe;-webkit-text-fill-color:#fff}form .form-control{font-size:1rem}.mobile-menu-items .mi-title{font-size:20px;margin-bottom:5px;margin-top:20px}.mobile-menu-items .mi-title:first-child{margin-top:0}.mobile-menu-items .pane-menu-menu-desktop-header-menu .pane-content>ul.menu{display:table!important}.mobile-menu-items .welcome-box{clear:both}.mobile-menu-items .welcome-box .login-link p{text-align:right}.mobile-menu-items .pane-cmatgame-search-search-game #cmatgame-search-block-form .form-item:before{content:"\E986";font-family:icomoon!important;font-style:normal;font-weight:400;color:#775a08;z-index:999;display:flex;position:absolute;font-size:25px;height:40px;width:50px;background:#fdcd3b;align-items:center;border:4px solid #e9d93c;left:0;top:0;padding-left:8px}.mobile-menu-items .pane-cmatgame-search-search-game #cmatgame-search-block-form .form-item .form-text{border-color:#e9d93c!important;border-left:50px solid #e9d93c!important}body,html{font-family:Proxima-Soft-Regular,Helvetica,Arial,sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue!important}main{width:100%;overflow-x:hidden}.h2,.h3,h1,h2{color:#fff;text-transform:uppercase;font-family:Proxima-Soft-Bold;font-size:1rem}h1{font-size:1.125rem;line-height:1.375rem}h2{font-size:1.3rem}h3{color:#fff;font-family:Proxima-Soft-Bold;font-size:1rem}h5{font-size:1.1rem;font-family:Proxima-Soft-Bold}.cmatgame-title{margin-top:15px}h1.pane-title{position:relative;background-image:none;color:#fff;font-family:Proxima-Soft-Bold;font-size:1.25rem;line-height:1.5rem;text-transform:uppercase;margin-bottom:20px;margin-top:-4px;padding:0 0 3px;border-bottom:2px solid #f1db00}@media (min-width:961px){h1.pane-title{border:none;background-color:#2c6792;padding:3px 0 3px 14px;border-radius:10px;height:30px;font-size:1.4rem}}@media (-ms-high-contrast:none){h1.pane-title{padding-top:0}}p{margin-bottom:1rem;line-height:1.2rem}strong{font-family:Proxima-Soft-Bold}hr{border-top:1px solid #67b1e7;margin-top:0!important;margin-bottom:1rem;height:1px;clear:both}.btn{font-family:Proxima-Soft-Bold;text-transform:uppercase;border:0;min-width:190px;line-height:1.2rem;font-size:1rem;padding:.65rem 1.5rem}.btn{text-decoration:none}.btn.btn-primary{padding:.65rem 1.5rem .55rem;margin-bottom:1rem}.btn.btn-primary.btn-sm{min-width:10px;padding:.3rem 1.5rem .25rem}a.btn{color:#000;font-size:.75rem}.btn.btn.playlist-count{white-space:normal!important;word-wrap:break-word;min-width:130px}.game-container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto;margin-top:20px}@media (min-width:561px){.game-container{max-width:540px}}@media (min-width:767px){.game-container{max-width:720px}}@media (min-width:961px){.game-container{max-width:960px}}@media (min-width:1200px){.game-container{max-width:1200px}}@media (min-width:961px){.game-container{margin-top:40px}}.container-fluid{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{display:flex;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.col-12,.col-2,.col-7,.col-lg-3,.col-lg-6,.col-lg-9,.col-md-1,.col-md-12,.col-md-2,.col-md-5,.col-md-7,.col-md-8,.col-md-9,.col-sm-12,.col-sm-6,.col-xl-3,.col-xl-7{position:relative;width:100%;padding-right:15px;padding-left:15px}.col-2{flex:0 0 16.66666667%;max-width:16.66666667%}.col-7{flex:0 0 58.33333333%;max-width:58.33333333%}.col-12{flex:0 0 100%;max-width:100%}@media (min-width:561px){.col-sm-6{flex:0 0 50%;max-width:50%}.col-sm-12{flex:0 0 100%;max-width:100%}}@media (min-width:767px){.col-md-1{flex:0 0 8.33333333%;max-width:8.33333333%}.col-md-2{flex:0 0 16.66666667%;max-width:16.66666667%}.col-md-5{flex:0 0 41.66666667%;max-width:41.66666667%}.col-md-7{flex:0 0 58.33333333%;max-width:58.33333333%}.col-md-8{flex:0 0 66.66666667%;max-width:66.66666667%}.col-md-9{flex:0 0 75%;max-width:75%}.col-md-12{flex:0 0 100%;max-width:100%}}@media (min-width:961px){.col-lg-3{flex:0 0 25%;max-width:25%}.col-lg-6{flex:0 0 50%;max-width:50%}.col-lg-9{flex:0 0 75%;max-width:75%}}@media (min-width:1200px){.col-xl-3{flex:0 0 25%;max-width:25%}.col-xl-7{flex:0 0 58.33333333%;max-width:58.33333333%}.offset-xl-2{margin-left:16.66666667%}}.block-adstop-otherpage-728x90{margin:0 auto;height:142px;width:728px}@media (min-width:767px){.block-adstop-otherpage-728x90{max-width:728px}}@media (max-width:766.98px){.block-adstop-otherpage-728x90{width:360px;height:90px!important}}.pane-cmatgame-advertisement-cm-g-otherpages-160x600-left{position:absolute;width:160px;height:600px}#r-modal{display:none;text-align:center;color:#fff;position:fixed;background:#000;right:0;bottom:0;left:0;top:0;width:100%;z-index:999999}#r-timer-div{text-align:center}#r-continue-link,#r-timer-div{color:#ff0;margin-top:10px;margin-bottom:10px;font-size:22px;text-transform:uppercase;font-family:Proxima-Soft-Bold}#m-adcontainer,#r-adcontainer{display:flex;align-items:center;justify-content:center}#m-content123{position:relative;display:block}p.advertisment{text-align:center;color:#fff;font-size:14px;position:relative;top:5px}#yourCookieChoices{display:flex;justify-content:space-between;position:fixed;left:0;bottom:0;width:100%;background-color:#398ada;color:#fff;min-height:70px}#yourCookieChoices .cookie-text{font-size:1rem;font-family:Proxima-Soft-Regular;font-weight:700;height:46px;vertical-align:middle;position:relative;top:15px}#yourCookieChoices .cookie-mobile{padding-left:0!important;text-align:center}@media (max-width:960.98px){#yourCookieChoices .cookie-mobile{margin-top:30px;margin-bottom:30px}}#yourCookieChoices a.cookies-link{color:#fff;text-decoration:underline;display:block}#yourCookieChoices span.imokwiththat-close{background:url(/sites/default/files/gdpr/imokwiththat.png) no-repeat;height:30px;width:130px;display:inline-block;text-indent:-9999px;position:relative;margin:0 auto;top:-6px}@font-face{font-family:icomoon;src:url(/themes/custom/coolmath/assets/fonts/icomoon/fonts/icomoon.eot);src:url(/themes/custom/coolmath/assets/fonts/icomoon/fonts/icomoon.eot#iefix) format("embedded-opentype"),url(/themes/custom/coolmath/assets/fonts/icomoon/fonts/icomoon.ttf) format("truetype"),url(/themes/custom/coolmath/assets/fonts/icomoon/fonts/icomoon.woff) format("woff"),url(/themes/custom/coolmath/assets/fonts/icomoon/fonts/icomoon.svg#icomoon) format("svg");font-weight:400;font-style:normal;font-display:block;font-display:auto}[class^=icon-]{font-family:icomoon!important;speak:never;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-remove_sign:before{content:"\F057"}.icon-play:before{content:"\F04B"}.icon-circle:before{content:"\F111"}.icon-expand-arrows-alt:before{content:"\F31E"}@font-face{font-family:Proxima-Soft-Regular;src:url(https://use.typekit.net/af/a4e72f/00000000000000003b9b3032/27/l?fvd=n4&primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&v=3) format("woff2"),url(https://use.typekit.net/af/a4e72f/00000000000000003b9b3032/27/d?fvd=n4&primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&v=3) format("woff"),url(https://use.typekit.net/af/a4e72f/00000000000000003b9b3032/27/a?fvd=n4&primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&v=3) format("opentype");font-display:auto;font-style:normal;font-weight:400}@font-face{font-family:Proxima-Soft-Bold;src:url(https://use.typekit.net/af/2657d4/00000000000000003b9b3038/27/l?fvd=n7&primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&v=3) format("woff2"),url(https://use.typekit.net/af/2657d4/00000000000000003b9b3038/27/d?fvd=n7&primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&v=3) format("woff"),url(https://use.typekit.net/af/2657d4/00000000000000003b9b3038/27/a?fvd=n7&primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&v=3) format("opentype");font-display:auto;font-style:normal;font-weight:700}main nav.navbar{position:relative;z-index:1;padding:.5rem 0}.pane-menu-menu-desktop-header-menu .pane-content .menu{padding:0}.pane-menu-menu-desktop-header-menu .pane-content .menu li.is-expanded .nolink:before,.pane-menu-menu-desktop-header-menu .pane-content .menu li.is-expanded a:before{border-color:transparent}.pane-menu-menu-desktop-header-menu .pane-content .menu li{position:relative;display:block;vertical-align:bottom;border-bottom:0}.pane-menu-menu-desktop-header-menu .pane-content .menu li a{overflow:hidden;display:block;width:100%;color:#f5e61f;font-size:1.4rem;line-height:18px;font-family:Proxima-Soft-Bold;text-align:center;text-transform:uppercase;vertical-align:middle}.pane-menu-menu-desktop-header-menu .pane-content .menu li .menu_allgames{border-radius:11px}.pane-menu-menu-desktop-header-menu .pane-content .menu li .menu__link,.pane-menu-menu-desktop-header-menu .pane-content .menu li .nolink{border-top:.5px solid #f1b034;border-bottom:2px solid #c78f00;border-right:1px solid #c78f00;font-size:1.09rem;color:#654900;padding:10px 11px 12px}.pane-menu-menu-desktop-header-menu .pane-content .menu .menu_more.menu__link.nolink{font-size:1.08rem;padding:10px 25px 12px 12px}.pane-menu-menu-desktop-header-menu .pane-content .menu .is-expanded .menu{border:0;margin-top:0}.pane-menu-menu-desktop-header-menu .pane-content .menu .is-expanded .menu li a{padding:0;width:100px}.pane-menu-menu-desktop-header-menu .pane-content .menu .is-expanded .menu li.nested{list-style-type:none;background:#fcd792;background:linear-gradient(180deg,#f5e765 34%,#fad94d 94%,#c18500)}.pane-menu-menu-desktop-header-menu .pane-content .menu .is-expanded .menu li.nested:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.pane-menu-menu-desktop-header-menu .pane-content .menu .is-expanded .menu li.nested:last-child{border-top-right-radius:0;border-bottom-right-radius:0}.pane-menu-menu-desktop-header-menu .pane-content .menu .is-expanded .menu li.nested .menu__link{font-size:.75rem;background-color:initial;color:#654900;padding:7px;width:100px}.pane-menu-menu-desktop-header-menu .pane-content>.menu>li>.nolink,.pane-menu-menu-desktop-header-menu .pane-content>.menu>li>a{display:block;width:100%;color:#f5e61f;font-size:1.5rem;line-height:18px;font-family:Proxima-Soft-Bold;text-align:center;text-transform:uppercase}.pane-menu-menu-desktop-header-menu .pane-content>.menu{display:table;width:100%;padding:0}.pane-menu-menu-desktop-header-menu .pane-content>.menu li a.menu_strategy{border-top-left-radius:12px;border-bottom-left-radius:12px}.pane-menu-menu-desktop-header-menu .pane-content>.menu li a.menu_unlocked{border-top-right-radius:12px;border-bottom-right-radius:12px}.pane-menu-menu-desktop-header-menu .pane-content>.menu li .nolink{font-size:1rem}.pane-menu-menu-desktop-header-menu .pane-content>.menu>li{position:relative;float:left;vertical-align:bottom;list-style-type:none;background:#f5e765;background:linear-gradient(180deg,#f5e765,#fad94d 41%,#ffbe00)}.pane-menu-menu-desktop-header-menu .pane-content>.menu>li.is-expanded>.nolink{min-width:100px;color:#654900;position:relative}.pane-menu-menu-desktop-header-menu .pane-content>.menu>li.is-expanded>.nolink:after{content:"";width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-top:7px solid #654900;position:absolute;top:17px;right:9px}.pane-menu-menu-desktop-header-menu .pane-content>.menu li:first-child{border-top-left-radius:12px;border-bottom-left-radius:12px}.pane-menu-menu-desktop-header-menu .pane-content>.menu .menu_unlocked.menu__link{border-top-right-radius:12px;border-bottom-right-radius:12px}.pane-menu-menu-desktop-header-menu .pane-content>.menu li.menu_allgames.menu__link{margin-left:11px}@media (max-width:1199.98px){.pane-menu-menu-desktop-header-menu .pane-content>.menu li.menu_allgames.menu__link{margin-left:8px}}.pane-menu-menu-desktop-header-menu .pane-content>.menu>li:last-child{border-radius:11px;background:#fff950}.pane-menu-menu-desktop-header-menu .pane-content>.menu>li:last-child a.menu_allgames{padding:10px 24px 12px}@media (max-width:1199.98px){.pane-menu-menu-desktop-header-menu .pane-content>.menu>li:last-child a.menu_allgames{padding:10px 7px 12px}}.pane-menu-menu-desktop-header-menu .pane-content>.menu .menu{position:absolute;display:none;z-index:10000;margin-top:1px;border-top:none}.pane-menu-menu-desktop-header-menu .pane-content>.menu .menu li a{display:block;width:110px;padding:11px 0 10px 30px;color:#fff}.navbar-container{width:100%}@media (max-width:960.98px){.navbar-container{padding:0 10px}}.navbar-container .welcome-box{margin:0 auto;max-width:270px}.navbar-container .welcome-box .btn{white-space:normal}.navbar .navbar-toggler{position:fixed;top:30px;right:20px;z-index:1000;width:30px;height:30px}@media (max-width:560.98px){.navbar .navbar-toggler{top:15px}}.navbar .navbar-toggler .bar{top:0;left:0;position:absolute;width:30px;height:3px;box-shadow:0 2px 0 rgba(0,0,0,.6);border-radius:4px;background-color:#f1db00}.navbar .navbar-toggler .bar.second{top:9px}.navbar .navbar-toggler .bar.third{top:18px;bottom:-9px}.page__header_mobile .menu-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000;opacity:0;display:none}.page__header_mobile .navbar-container{position:fixed;right:-100%;top:0;width:100%;height:100%!important;padding-top:30px;overflow-x:hidden;background:#2a455d}.page__header_mobile .navbar-container .welcome-box{text-align:center;top:-10px;position:relative}.page__header_mobile .navbar-container a{color:#46b8fd;font-family:Proxima-Soft-Bold}.page__header_mobile .navbar-container .mobile-menu-items{max-width:300px;margin:0 auto}.page__header_mobile .navbar-container .pane-menu-menu-desktop-header-menu .pane-content ul.menu{display:block}.page__header_mobile .navbar-container .pane-menu-menu-desktop-header-menu .pane-content ul.menu li{display:block;float:left;width:50%;margin:0;background:0 0;border:none;border-radius:0!important}.page__header_mobile .navbar-container .pane-menu-menu-desktop-header-menu .pane-content ul.menu li.menu_allgames{width:50%;font-weight:700}.page__header_mobile .navbar-container .pane-menu-menu-desktop-header-menu .pane-content ul.menu li.is-expanded{width:100%}.page__header_mobile .navbar-container .pane-menu-menu-desktop-header-menu .pane-content ul.menu li a{border-radius:0!important;background:0 0;border:none;text-align:left;text-transform:none;font-family:Proxima-Soft-Bold;color:#46b8fd;font-size:1.275rem;padding:10px 10px 10px 0!important}.page__header_mobile .navbar-container .pane-menu-menu-desktop-header-menu .pane-content ul.menu li .nolink{text-align:left;border:none;background:0 0;text-transform:none;font-family:Proxima-Soft-Regular;color:#fff;padding:10px 10px 10px 0!important;font-size:1.275rem!important}.page__header_mobile .navbar-container .pane-menu-menu-desktop-header-menu .pane-content ul.menu li .nolink:after{border-top-color:#fff;left:50px}.page__header_mobile .navbar-container .pane-menu-menu-desktop-header-menu .pane-content ul.menu ul.menu{display:none;position:relative}.page__header_mobile .navbar-container .pane-menu-menu-desktop-header-menu .pane-content ul.menu ul.menu li.nested{background:0 0}.page__header_mobile .navbar-container .pane-menu-menu-desktop-header-menu .pane-content ul.menu ul.menu li.nested a.menu__link{width:100%!important;color:#46b8fd;font-size:1.275rem}.page__header_mobile .navbar-container .cmatgame-search-game{clear:both;position:relative;z-index:100000;left:0;top:0;margin:15px auto 0;height:35px;width:100%}.page__header_mobile .navbar-container .cmatgame-search-game label{display:none}.page__header_mobile .navbar-container .cmatgame-search-game #cmatgame-search-block-form input.menu-search-bar{display:block!important;text-indent:0;background-image:none;padding:10px;height:40px;border-radius:0!important;max-width:340px;margin:0;left:0;right:auto;outline:0;box-shadow:inset 0 -1px 0 #ddd;border:4px solid #e9d93c}.page__header_mobile .navbar-container .cmatgame-search-game #cmatgame-search-block-form .search-results-container{top:40px}@media (max-width:1199.98px){.pane-menu-menu-desktop-header-menu .pane-content .menu li .menu_more.menu__link.nolink{padding:10px 28px 12px 6px!important;font-size:1rem!important;min-width:85px!important}.pane-menu-menu-desktop-header-menu .pane-content .menu li a.menu__link,.pane-menu-menu-desktop-header-menu .pane-content>.menu>li:last-child a.menu_allgames{padding:10px 7px 12px;font-size:1rem}}#cmatgame-search-block-form label{position:absolute;right:0;top:11px;background-position:0;width:60px;height:43px;background:url(/themes/custom/coolmath/assets/images/header/menu-search-item.png);text-indent:-99999px}#cmatgame-search-block-form input.menu-search-bar{width:100%;height:44px;margin:9px;top:0;background-image:url(/themes/custom/coolmath/assets/images/close.png);background-position:4px 4px;background-repeat:no-repeat;border-radius:8px;text-indent:72px;font-size:16px;font-family:Proxima-Soft-Regular;border:4px solid #e9d93c;right:-9px;position:absolute;display:block;outline:0}#close-search-box{top:10px;color:#000;z-index:999999;right:410px;font-size:0;content:"X";height:42px;width:55px;position:absolute;left:0}.search-results-container{display:block;left:0;position:absolute;top:48px;max-height:565px;width:100%;overflow-x:hidden;overflow-y:auto;z-index:999;text-align:left;border:4px solid #e9d93c;border-top:0}.pane-cmatgame-search-search-game{position:absolute;top:-11px;width:380px;right:0}.pane-cmatgame-search-search-game .form-item{margin:0}input::-webkit-input-placeholder{color:#cdcdcd!important}header.page__header{background-color:#2a455d;height:142px}header.page__header .branding.container{position:relative;height:114px}header.page__header .navbar .container{position:relative}@media (min-width:961px){header.page__header .navbar .container{min-width:960px}}header.page__header div.promo-msg{color:#58c8eb;font-size:.85rem!important;letter-spacing:.5px!important;text-shadow:2px 2px 2px #000!important;font-family:Proxima-Soft-Bold}header.page__header div.promo-msg a .promo-img{float:left;padding-right:10px;margin-top:4px;filter:drop-shadow(2px 2px 2px #000)}header.page__header div.promo-msg a .promo-content{font-size:.85rem;text-transform:uppercase}.pane-bean-new-go-ad-free a{background:url(/themes/custom/coolmath/assets/images/header/go-ad-free.png) no-repeat;background-position:top;height:59px;width:152px;display:block;font-size:0;border:none}.pane-bean-new-go-ad-free{position:relative;left:-4px}.pane-bean-cm-top{position:absolute;top:65px;border-radius:.25rem;background-color:#2a455d;padding:.25rem;width:220px;height:40px}.other-sites-wrapper{position:relative;top:5px;display:inline-block}.logo-container{position:relative;top:11px;height:93px;text-align:center}.logo-container img,.logo-container img.logo.svg{width:440px;margin-top:8px;filter:drop-shadow(1px 1px 1px #000)!important;max-width:100%}header.page__header_mobile{background:#2a455d;height:80px}@media (max-width:560.98px){header.page__header_mobile{height:50px}}header.page__header_mobile .logo-container-mobile{margin-top:12px}header.page__header_mobile .logo-container-mobile img.logo.svg{max-width:300px;filter:drop-shadow(2px 2px 1px #000)}@media (max-width:560.98px){header.page__header_mobile .logo-container-mobile{margin-top:12px}header.page__header_mobile .logo-container-mobile img.logo.svg{max-width:200px;height:auto}}@media (max-width:960.98px){.menu_most{display:block!important;float:inherit!important;width:100%!important}}.menu_most{display:none!important}@media (max-width:960.98px){.menu_most{display:block!important;float:inherit!important}}.menu_strategy{border-top-left-radius:12px;border-bottom-left-radius:12px}.navbar-expand-lg>.container{padding:0}@media (min-width:961px){.game-container .col-md-7{padding-right:30px;padding-left:30px}}@media (max-width:766.98px){.game-container .main-aside{display:none}}.global-wrapper{padding-top:0}body,html{height:100%}.dialog-off-canvas-main-canvas{display:flex;flex-direction:column;height:100%}.page{flex-grow:1}.game-item{margin-bottom:20px;overflow:inherit;height:62px}@media (min-width:961px) and (max-width:1199.98px){.game-item{min-width:300px}}@media (min-width:1200px){.game-item{min-width:310px}}@media (max-width:961px){.game-item{height:auto;overflow:hidden}}.game-item .game-link-wrapper img{float:left;margin-right:10px;background-color:#006c8a;border:1px solid #32bdff;padding:5px;width:95px;height:62px;overflow:hidden}@media (max-width:960.98px){.game-item .game-link-wrapper img{padding:0;border-radius:.25rem}}.game-item .game-link-wrapper h3{font-size:1.08rem;line-height:1.2rem;text-transform:none;display:inline;color:#29bffd;font-family:Proxima-Soft-Bold,arial;font-weight:700;position:relative;top:-2px}.game-item .game-item-description{padding-right:5px}.game-item .game-item-description .cmgr-short-desc{line-height:1.1rem!important}.game-item .game-item-description .cmgr-short-desc,.game-item .game-item-description .field-body{padding-left:92px}@media (max-width:961px){.game-item .game-item-description .cmgr-short-desc,.game-item .game-item-description .field-body{padding-left:105px}}@media (min-width:961px){.game-item .game-item-description .cmgr-short-desc,.game-item .game-item-description .field-body{padding-left:105px}}.game-item .game-item-description .cmgr-short-desc p,.game-item .game-item-description .field-body p{color:#fff;font-size:1rem;font-family:Proxima-Soft-Regular;line-height:1.1rem;margin-bottom:0}@media (max-width:960.98px){.game-item .cmgr-short-desc{display:block}}@media (min-width:961px){.game-item .cmgr-short-desc{display:none}}.pane-game-details-carousel-game-detail .game-item .game-link-wrapper a .field-image{display:flex;margin-right:0}.pane-game-details-carousel-game-detail .game-item .game-link-wrapper a .field-image img{border:none!important;padding:0!important;margin-right:0}@media (max-width:960.98px){.block .view-content .views-row{margin-right:0;margin-left:0}}@media (max-width:766.98px){.block .view-content .views-row .game-item{flex:0 0 100%;max-width:100%}}.bx-wrapper .game-item{width:82px!important;max-width:82px;min-width:82px}@media (max-width:960.98px){.row.leaderboard{margin-left:-30px;margin-right:-30px}}.right-header-block{position:absolute;right:0;color:#fff}.welcome-box{text-align:right}.welcome-box .btn.free-account{position:relative;display:inline-block;background-color:#29bffd;height:50px;white-space:normal;padding:7px 7px 7px 55px;color:#2a455d;font-size:.65rem;border-radius:0 0 .25rem .25rem;box-shadow:2px 2px 2px #000;margin-top:27px;margin-bottom:15px}.welcome-box .btn.free-account .earn{text-transform:none}@media (max-width:960.98px){.welcome-box .btn.free-account{width:290px}}@media (min-width:961px) and (max-width:1199.98px){.welcome-box .btn.free-account{width:100%}.welcome-box .btn.free-account .earn{display:none}}.welcome-box .btn.free-account .avatar{border-radius:50%;border:3px solid #29bffd;background-color:#29bffd;background-image:url(/themes/custom/coolmath/assets/images/user-profile/lion_avatar.png);z-index:1;top:-8px;left:-13px;width:65px;height:65px;box-shadow:0 2px 2px #000}.welcome-box .btn.free-account .avatar,.welcome-box .btn.free-account .badge{background-repeat:no-repeat;background-position:50%;background-size:cover;position:absolute;overflow:hidden;display:block}.welcome-box .btn.free-account .badge{background-image:url(/themes/custom/coolmath/assets/images/user-profile/levels/iL7.svg);z-index:2;top:27px;left:30px;width:34px;height:34px}.welcome-box .btn.free-account .new{position:absolute;right:0;top:-12px;height:12px;overflow:hidden;color:#fff;background:red;font-size:.7rem;font-style:italic;padding:0 12px;border-radius:3px 3px 0 0;line-height:1.2}.welcome-box .btn.free-account .getuserprofile{display:block;font-size:1rem;color:#f1db00;text-shadow:1px -1px #2a455d,-1px -1px #2a455d,-1px 1px #2a455d,-1px -1px #2a455d,1px 0 #2a455d,-1px 0 #2a455d,0 1px #2a455d,0 -1px #2a455d,1px 1px #2a455d,-1px 1px #2a455d,1px 1px #2a455d,1px -1px #2a455d}.welcome-box .btn.free-account .earn{font-size:.65rem}.welcome-box .login-link{font-size:1rem;line-height:1.2rem;font-family:Proxima-Soft-Bold;color:#fff!important;right:73px;position:relative;top:-5px;text-shadow:2px 2px 2px #000}.welcome-box .login-link p{text-align:right}.welcome-box .login-link a.login{color:#29bffd}@media (max-width:960.98px){.welcome-box .login-link{right:0;font-size:1.25rem}.welcome-box .login-link p{text-align:center}}.progress{background:#000;border-radius:5px;height:24px;text-align:center;overflow:visible}.progress .progress-text{font-family:Proxima-Soft-Bold;font-size:1.2rem;line-height:1.125rem;color:#fff;text-shadow:1px 1px 4px #000;position:absolute;top:2px;width:100%}.progress .progress-text a{color:#fff;text-shadow:1px 1px 4px #000;text-decoration:none}.progress .progress-bar{background-image:linear-gradient(90deg,#f7c649 3.53%,#fff661);background-repeat:repeat-x;font-family:Proxima-Soft-Bold;font-size:.875rem;line-height:1.125rem;align-items:center;text-align:center;color:#028fca!important;border-radius:5px}.game-xp-progress .progress-text{color:#fff;-webkit-text-fill-color:#fff;-webkit-text-stroke-width:0;-webkit-text-stroke-color:#fff}.node-type-game .game-progress-status .progress-text{width:70%!important}.node .game-progress-status{width:50%;position:relative;top:0}.node .game-progress-status .progress{height:30px;width:90%}.node .game-progress-status .progress .progress-text{font-size:1.2rem}.game-progress-status{width:100%;display:flex;flex-direction:row;align-items:center;position:relative;top:5px}.game-progress-status .progress{height:20px;width:70%;margin-right:10px}.game-progress-status .progress .progress-text{margin-top:2px}.progress-bar{width:0}.other-pages-300x250{margin-bottom:44px}.pane-cmatgame-advertisement-cm-g-otherpages-300x250-top{background:0 0}.pane-cmatgame-advertisement-cm-g-otherpages-300x250-top .ad-wrapper{height:268px;width:300px}@media (max-width:766.98px){.pane-cmatgame-advertisement-cm-g-otherpages-300x250-top .ad-wrapper{height:255px;width:300px}}.pane-cmatgame-advertisement-cm-g-otherpages-300x250-top .ad-wrapper{display:block}@media (max-width:960.98px){.pane-cmatgame-advertisement-cm-g-otherpages-300x250-top .ad-wrapper{height:255px;width:300px;margin:0 auto}}.main-aside .block{margin-bottom:44px}#afg_preloader #adcontainer{margin:0 auto}.wide-game-item .main-aside{width:300px}@media (max-width:960.98px){.pane-game-details-carousel-game-detail .view-content{padding-left:30px}}.jcarousel-control-next,.jcarousel-control-prev{position:absolute;top:10px;width:30px;height:30px;text-decoration:none;font-size:0;border-radius:none;box-shadow:none;background-image:url(/themes/custom/coolmath/assets/images/carousel-arrows.png);background-repeat:no-repeat;background-color:initial;opacity:.7}.jcarousel-control-prev{width:25px;background-position:0;left:-20px}.jcarousel-control-next{width:25px;background-position:100%;right:-20px}.node-type-game .block-gamedetailcarousel,.node-type-game .block-system-main-block{position:relative}.node-type-game .block-system-main-block .btn.playlist-count{display:none;position:absolute;bottom:12px;right:0;width:130px;margin-bottom:0}.node-type-game .block-system-main-block .playlist-count{padding:10px;text-align:center}.node-type-game .game-instructions h2{font-size:1.688rem;line-height:2.813rem}.node-type-game .game-instructions h3{font-size:1.188rem;line-height:1.938rem}.node-type-game .game-instructions p{font-size:1rem;line-height:1.25rem}.game-xp-bar{color:#fff;margin-bottom:1rem}.game-xp-bar .game-progress-status{width:400px!important}.game-xp-bar .progress{width:50%;margin-top:0;border:2px solid #27465b}.game-field-wrapper #no-flash-overlay{text-align:center}#thumbsuplike_message{float:left;font-family:Proxima-Soft-Regular;font-size:.875rem;position:absolute;top:-16px;right:82px;font-style:italic;text-transform:none;margin:0;width:120px}.block-gamedetailcarousel{height:107px}.skip-ad-btn{border-radius:5px}#continue-container{height:50px;margin-top:20px}#continue-link{margin-left:35%!important;text-align:right;float:left;font-size:22px;text-transform:uppercase;font-family:Proxima-Soft-Bold}.continue-lnk-container-rsection{width:42%;float:left;text-align:right}#timer_div{float:left;font-size:22px;text-align:left}#timer_div{font-family:Proxima-Soft-Bold;text-transform:uppercase}.img-button{width:58%;float:left;text-align:left}#img-button-container,.img-button,.skip-ad-btn{padding-left:0!important}.wide-game-item .inside{width:100%}.node__content{position:relative}@media (min-width:1200px){.node-type-game .inside{margin-left:20px}}.node-type-game .inside .view-header{font-size:1.2em}.node-type-game .inside .view-header p{margin-top:15px;color:#fff}.node-type-game .inside h1.pane-title{position:relative;background:0 0;border-bottom:2px solid #47a6ff;font-size:19px!important;color:#fff;margin-left:0;margin-bottom:5px;border-radius:0;padding-left:0!important;padding-right:60px;line-height:1rem}@media (min-width:961px){.node-type-game .inside h1.pane-title{font-size:1.875rem!important;height:auto;line-height:1.6rem;padding-right:185px}}.node-type-game .bxslider-views-slideshow-main-frame-row .game-item{margin:0}.node-type-game .bxslider-views-slideshow-main-frame-row .game-item .game-link-wrapper{position:relative;display:flex;flex-direction:column}.node-type-game .bxslider-views-slideshow-main-frame-row .game-item .field-image{border:2px solid transparent}.node-type-game .bxslider-views-slideshow-main-frame-row .game-item .game-title{position:absolute;top:0;left:0;display:none;width:83px;height:100%;margin:0;overflow:hidden;text-align:center;white-space:nowrap;font-family:Proxima-Soft-Bold!important}.node-type-game .bxslider-views-slideshow-main-frame-row .game-item .game-title .overlay{display:inline-block;width:83px;height:100%;background-color:#010101;opacity:.5;vertical-align:middle}.node-type-game .bxslider-views-slideshow-main-frame-row .game-item .game-title .title-on-overlay{position:relative;display:inline-block;width:83px;margin-left:-100%;color:#fff;font-size:15px;line-height:1.1;vertical-align:middle;white-space:normal;word-wrap:break-word;font-weight:700}@media (max-width:560.98px){.node-type-game .bxslider-views-slideshow-main-frame-row .field-image{border-color:#3896c5!important}.node-type-game .bxslider-views-slideshow-main-frame-row .game-title{display:block!important}}.node-type-game .game-on-mobile .bxslider-views-slideshow-main-frame-row .field-image{border-color:#3896c5!important}.node-type-game .game-on-mobile .bxslider-views-slideshow-main-frame-row .game-title{display:block!important}.game-xp-bar .game-progress-status{width:300px!important}.immerse-button{margin:0;text-align:right}.immerse-button a.btn{margin:0;line-height:1em;background-image:url(/themes/custom/coolmath/assets/images/WATCH-AD-TO-PLAY-BIG-SCREEN-v3.png);background-repeat:no-repeat;width:312px;height:29px}.immerse-button a.btn span{font-size:0;position:relative;top:-2px;padding-left:4px;text-decoration:none}.immerse-button a.btn i{font-size:0;padding-left:10px}.close-full-screen{margin:0;text-align:right}.close-full-screen a.btn{padding:2px 3px!important;margin:0;line-height:1em}.close-full-screen a.btn span{font-size:16px;position:relative;top:-2px;padding-left:4px;text-decoration:none}.close-full-screen a.btn i{font-size:25px;padding-left:10px}.immerse-button .requestfullscreen{position:relative}.field-game{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;margin-bottom:20px}.node-type-game .close-full-screen,.node-type-game .game-xp-bar-immerse-button{display:none}#does-not-support-ie{text-align:center;padding:20px}.game-page-mobile{min-height:373px}.game-page-mobile .game-image{position:relative}.game-page-mobile .game-image .game__field-og-image{position:relative;min-height:150px;max-height:225px;overflow:hidden}.game-page-mobile .game-image img{background:#000;height:100%}.game-page-mobile .game-image img{width:100%;height:auto}.game-page-mobile .game-image #playNowButton{position:absolute;z-index:1;top:calc(50% - 25px);left:calc(50% - 25px);width:50px;height:50px;transform:scale(2)}.game-page-mobile .game-image #playNowButton i.icon-circle{color:#40af40;position:absolute;top:3px;left:2px;margin:0 auto;font-size:46px}.game-page-mobile .game-image #playNowButton i.icon-play{color:#fff;position:absolute;top:18px;left:20px;margin:0 auto;text-shadow:1px 1px 1px #000}.game-page-mobile .game-image .circle{width:52px;height:52px;font-size:48px;display:block;background:#fff;border:1px solid #fff;border-radius:50%;box-shadow:0 0 0 0 #fff;transform:scale(1);animation:playPulse 2s infinite;left:-1px;position:relative}.game-page-mobile .game-xp-bar .game-progress-status{width:90%!important}.game-page-mobile .game-xp-bar .progress{width:100%;height:30px;margin:0 10px 0 0}@keyframes playPulse{0%{transform:scale(.9);box-shadow:0 0 0 0 #fff}50%{transform:scale(1);box-shadow:0 0 0 0 hsla(0,0%,100%,0)}to{transform:scale(.9);box-shadow:0 0 0 0 hsla(0,0%,100%,0)}}.game-item-description,.game-item-description p{line-height:1.1rem}@media (min-width:961px){.cmgr-short-desc{display:none}}@media (max-width:960.98px){.node-type-game .game-container .main-aside,.node-type-game .game-container .main-aside #block-coolmath-nodepagespromomerchstore{display:none}}.no-flash-overlay-mobile{font-family:Proxima-Soft-Bold;background-color:#fff;left:0}.no-flash-overlay-mobile{position:absolute;top:60px;right:0;margin:auto;border:1px solid;border-radius:.25rem;color:#000;width:205px;height:80px;padding:.5rem;font-size:1rem;z-index:100;box-shadow:1 1 1 transparent}@media (min-width:961px){.no-flash-overlay-mobile{font-size:1rem;padding:1rem;width:280px;height:95px}}#big-screen-container{width:560px;height:608px;border:2px solid #f1f55e;position:relative;margin:0 auto;padding:0 15px;background:#2b455e}.image-bs-sample{float:left;padding-left:40px}.big-screen-head{height:52px;background-color:#111926}.mid-big-section-head{background-color:#2b455e;margin:0 auto;text-align:center;padding-top:42px;height:552px}.big-screen-container-class .img-container-big-screen{height:270px!important}.img-container-big-screen{padding-top:30px;height:220px}.bs-head-txt{float:left;text-align:center;color:#f1f55e;font-size:1.2rem;padding-top:13px;padding-left:73px}.big-screen-container-class .bs-head-txt{padding-left:50px!important}.bs-head-logo{float:left;padding-left:10px;padding-top:2px}.bs-close-button{width:35px;background-color:#4298ef;border-radius:50px;float:left;height:35px;text-align:center;padding-top:8px;color:#000!important;padding-left:50;margin-left:95px;margin-top:8px}.big-screen-container-class .bs-close-button{margin-left:auto!important;position:relative;right:10px}.big-screen-container-class .bs-close-button a{color:#000!important}.bs-close-btn{color:#000;font-weight:700}.bs-footer-link{padding-top:25px}.bs-learn-more{text-align:center;padding-top:5px;font-size:.85rem;letter-spacing:.5px;color:#d9af58}.bs-lrn-more{color:#d9af58!important;text-underline-position:under}.bs-lrn-more,.bs-no-thks{text-decoration:underline}.bs-no-thks{text-align:center;padding-top:30px;letter-spacing:.5px;text-underline-position:under}.bs-no-thks a{color:#fff}.bs-lnk-lrn-more{color:#fff!important}.adfree-marketing-campaign{background-color:#16202c;height:600px;border:2px solid #ff0;width:600px}.adfree-marketing-campaign .mid-big-section-head{height:532px!important}.adfree-marketing-campaign .bs-head-txt{padding-left:35px!important;color:#f6c555!important}.adfree-marketing-campaign .bs-head-logo{width:100px;float:left;padding-left:10px;padding-top:2px}.adfree-mid-section-marketing-campaign .sup-bold{font-size:120%;font-weight:700}.adfree-mid-section-marketing-campaign .sup-bold-2{font-size:110%;font-weight:700;color:#06ddb5}.adfree-mid-section-marketing-campaign .mkt-container1{float:left;width:171px;text-align:right;height:100px}.adfree-mid-section-marketing-campaign .ad-free-txt{color:#06ddb5;font-size:16px;float:left;height:125px;width:360px;text-align:left;font-weight:700;padding-top:42px;padding-left:10px;letter-spacing:.65px}.adfree-mid-section-marketing-campaign .image-bs-sample{float:left;padding-left:20px}.adfree-mid-section-marketing-campaign .image-better-focus{float:left;padding-left:175px}.adfree-mid-section-marketing-campaign .no-waiting-txt{color:#fff;font-size:13px;float:left;width:200px;text-align:left;padding-top:18px;padding-left:10px;letter-spacing:.65px}.adfree-mid-section-marketing-campaign .better-focus-container{width:100%;height:133px;text-align:center}.adfree-mid-section-marketing-campaign .all-excl-txt{float:left;text-align:center;color:#c2a960;font-size:1.1rem;padding-top:13px;padding-left:50px;letter-spacing:.75px;width:100%;height:50px}.img-container-big-screen{text-align:center}.marketing-cmpn-footer{background-color:#16202c}.bs-close-button a{color:#29bffc!important}.view-display-id-carousel_game_detail .game-item .game-link-wrapper img{padding:0;border:none;width:83px;height:50px}.no-select{-webkit-touch-callout:none}.flashIntroTxt{font-size:14px;font-weight:700;letter-spacing:1px;padding-top:10px;text-align:center;padding-left:12px}.flashIntroTxtImg{margin-left:-4px}#newFlashDetectHtml{width:648px}.flashContainerList{background-color:#2a455d;padding-top:13px;padding-bottom:1px;padding-left:38px;margin-top:15px;width:560px;border-radius:6px}.flashContainerList .common-title{padding-top:5px;padding-bottom:5px}.flashNotFoundImgStyle{border-radius:6px}.related-game-block{margin:0 auto}#videoplayer{min-height:1px}.load-wrap{width:100%;padding-top:20px;margin-bottom:15px}.like-container-entity-node{float:left;margin-right:14px}.like-container-entity-node>div{display:inline}.dislike-container-entity-node{float:left}.dislike-container-entity-node>div{display:inline}.block-page-title-block{position:relative;z-index:0}#thumbsup{position:absolute;right:0;z-index:0}@media (min-width:961px){#thumbsup{top:0}}@media (max-width:960.98px){#thumbsup{top:-10px}}#thumbsup a,#thumbsup img{outline:0;border:none}#thumbsup .thumbsupmessage{float:left;margin:0;font-size:1rem;font-family:Proxima-Soft-Regular;position:relative;top:4px;left:-13px;color:#fff;text-transform:none!important;font-weight:400}@media (max-width:1199.98px){#thumbsup .thumbsupmessage{font-size:.8rem;top:-25px;right:-60px;left:auto}}.game-item{overflow:hidden;margin-bottom:20px}.game-item h3{font-size:1rem;line-height:1.125rem;font-family:Proxima-Soft-Bold;text-transform:none}body{color:#fff}a.login{color:#29bffd}.viewWebLang .viewLangBtn{text-transform:uppercase;color:#29bffd;display:inline-block;font-size:14.7px;margin-top:20px;margin-left:3px;font-family:Proxima-Soft-Bold;background-color:initial;text-shadow:2px 2px 2px #000;border-radius:.25rem;padding:.25rem}</style>
- <link rel="shortcut icon" href="//www.coolmathgames.com/themes/custom/coolmath/favicon.ico" type="image/vnd.microsoft.icon" />
- <link rel="alternate" hreflang="en" href="https://www.coolmathgames.com/0-run-3" />
- <link rel="alternate" hreflang="es" href="https://www.coolmathgames.com/es/0-run-3" />
- <script type="deferjs">
- //Translation site visitor
- //Assuming all category pages starting /1- and games pages starting with /0-
- var cPath = /\/1-([a-z-0-9]+-game|playlists)|\/0-[a-z-0-9]+/gm;
- var cRegex = new RegExp(cPath);
- if(getCookie('cmg_translation') !== null && getCookie('cmg_translation') !== 'def') {
- var tr_lang = getCookie('cmg_translation');
- var tr_regex = new RegExp('\/'+tr_lang+'\/');
- if(location.pathname == '/' && !tr_regex.test(location.pathname)) {
- document.location = '/' + tr_lang;
- } else if(cRegex.test(location.pathname) && !tr_regex.test(location.pathname)) {
- document.location = '/' + tr_lang + location.pathname;
- }
- } else if(navigator.language === 'es' && (getCookie('cmg_translation') === null || getCookie('cmg_translation') !== 'def') ){
- var navigatorLang = navigator.language;
- setCookie('cmg_translation', navigatorLang);
- var tr_regex = new RegExp('\/'+navigatorLang+'\/');
- if(location.pathname == '/' && !tr_regex.test(location.pathname)) {
- document.location = '/' + navigatorLang;
- } else if(cRegex.test(location.pathname) && !tr_regex.test(location.pathname)) {
- document.location = '/' + navigatorLang + location.pathname;
- }
- }
- var valid_test_environment = false;
- function getCookie(key) {
- var keyValue = document.cookie.match("(^|;) ?" + key + "=([^;]*)(;|$)");
- return keyValue ? keyValue[2] : null;
- }
- function setCookie1(cname, cvalue, hours) {
- var d = new Date();
- d.setTime(d.getTime() + (hours*60*60*1000));
- var expires = 'expires='+ d.toUTCString();
- document.cookie = cname + '=' + cvalue + ';' + expires + ';path=/';
- }
- function setCookie(key, value, exptime) {
- var d = new Date();
- d.setTime(d.getTime() + exptime);
- var expires = 'expires=' + d.toUTCString();
- document.cookie = key + '=' + value + '; ' + expires + '; path=/; domain=.' + window.location.host;
- }
- function getParameterByName(name) {
- var regexS = '[\?&]' + name + '=([^&#]*)';
- var regex = new RegExp(regexS);
- var results = regex.exec(location.href);
- if (results === null) {
- return '';
- }
- return decodeURIComponent(results[1].replace(/\+/g, ' '));
- }
- var cmg_gdpr_check = getCookie('GDPR');
- var cmg_school_whitelisted = getCookie('cmg_schwl');
- var freeTrialUser = false;
- var date = new Date();
- var hours = date.getHours();
- var currentMonth = date.getMonth();
- var currentYear = date.getFullYear();
- var day = date.getDay();
- var month_names_short = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
- var currentMonthName = month_names_short[currentMonth];
- var schoolStartHour = 7;
- var schoolEndHour = 15;
- var cmg_no_ads_debug = false;
- //var cmg_no_ads = false;
- if(typeof subscriberLeg === 'undefined' || subscriberLeg === null || subscriberLeg === '') {
- subscriberLeg = 'Default Leg';
- }
- if(typeof freeGameLimit === 'undefined' || freeGameLimit === null) {
- freeGameLimit = 0;
- }
- if(typeof cmg_no_ads === 'undefined' && cmg_no_ads_debug && (typeof valid_test_environment !== 'undefined' && valid_test_environment)) {
- cmg_no_ads = true;
- }
- var schoolHours = false;
- var schoolHolidays = ["Jul 4","Sep 3","Nov 22","Nov 23"];
- var schoolHoliday = false;
- //TODO -- Summer vacation dates
- var summerVacationStart = new Date('07/1/'+currentYear);
- var summerVacationEnd = new Date('07/10/'+currentYear);
- var today_month_day = currentMonthName + ' ' + date.getDate();
- if(schoolHolidays.indexOf(today_month_day) !== -1 || (date >= summerVacationStart && date <= summerVacationEnd) || day === 6 || day == 0) {
- schoolHoliday = true;
- }
- var currentMonthName = month_names_short[currentMonth];
- if(!schoolHoliday && hours >= schoolStartHour && hours <= schoolEndHour) {
- schoolHours = true;
- }
- var targetStateUser = false;
- if(typeof targeted_state !== 'undefined' && targeted_state !== null && targeted_state) {
- targetStateUser = true;
- }
- if(typeof watchAdtoUnlockGame == 'undefined') {
- watchAdtoUnlockGame = false;
- }
- var cmg_active_anonymous_user = getCookie('cmg_active_anonymous_user');
- var cmatgame_editor = getCookie('cmg_editor');
- if(typeof cmg_active_anonymous_user !== 'undefined' && cmg_active_anonymous_user !== null) {
- ////console.log('We have an active school hours session');
- }
- //Display Ads to anonymous users only if the user is not from a targeted state or it is school hours.
- // Do not display ads for targeted state user during non school hours, but free game play is restricted
- if(!schoolHours && targetStateUser && cmg_active_anonymous_user === null && cmatgame_editor === null) {
- freeTrialUser = true;
- }
- </script>
- <script type="deferjs">
- function checkIfFlashIsEnabled() {
- var ie_flash;
- try { ie_flash = (window.ActiveXObject && (new ActiveXObject("ShockwaveFlash.ShockwaveFlash")) !== false) } catch(err) { ie_flash = false; }
- var _flash_installed = ((typeof navigator.plugins != "undefined" && typeof navigator.plugins["Shockwave Flash"] == "object") || ie_flash);
- if(typeof _flash_installed == "undefined" || !_flash_installed) {
- return false;
- } else {
- return true;
- }
- }
- function trackEvent(category, action, label, noninteraction) {
- if(typeof __gaTracker === 'undefined')
- return;
- noninteraction = noninteraction || 0;
- //console.log('Tracked: ' + category + ' ' + action + ' ' + label + ' noninteraction: ' + noninteraction);
- __gaTracker('send', {
- 'hitType': 'event', // Required.
- 'eventCategory': category, // Required.
- 'eventAction': action, // Required.
- 'eventLabel': label,
- 'eventValue': 0,
- 'nonInteraction': noninteraction
- });
- }
- function trackSocial(network,action,target) {
- if(typeof __gaTracker === 'undefined')
- return;
- __gaTracker('send', {
- 'hitType': 'social', // Required.
- 'socialNetwork': network,
- 'socialAction': action,
- 'socialTarget': target
- });
- }
- </script>
- <script>/*! jQuery v3.5.1 | (c) JS Foundation and other contributors | jquery.org/license */
- !function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.5.1",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}S.fn=S.prototype={jquery:f,constructor:S,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=S.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return S.each(this,e)},map:function(n){return this.pushStack(S.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(S.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(S.grep(this,function(e,t){return t%2}))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},S.extend=S.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(S.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||S.isPlainObject(n)?n:{},i=!1,a[t]=S.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},S.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e))&&(!(t=r(e))||"function"==typeof(n=v.call(t,"constructor")&&t.constructor)&&a.call(n)===l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){b(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(p(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},makeArray:function(e,t){var n=t||[];return null!=e&&(p(Object(e))?S.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(p(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g(a)},guid:1,support:y}),"function"==typeof Symbol&&(S.fn[Symbol.iterator]=t[Symbol.iterator]),S.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var d=function(n){var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,S="sizzle"+1*new Date,p=n.document,k=0,r=0,m=ue(),x=ue(),A=ue(),N=ue(),D=function(e,t){return e===t&&(l=!0),0},j={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",F=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",B=new RegExp(M+"+","g"),$=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="<a id='"+S+"'></a><select id='"+S+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!=C&&T(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!=C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&j.call(b.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:d.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),e.sort(D),l){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else while(t=e[r++])n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace(B," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,v){var y="nth"!==h.slice(0,3),m="last"!==h.slice(-4),x="of-type"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!==m?"nextSibling":"previousSibling",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(y){while(l){a=e;while(a=a[l])if(x?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){d=(s=(r=(i=(o=(a=c)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1])&&r[2],a=s&&c.childNodes[s];while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if(1===a.nodeType&&++d&&a===e){i[h]=[k,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1]),!1===d)while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if((x?a.nodeName.toLowerCase()===f:1===a.nodeType)&&++d&&(p&&((i=(o=a[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[k,d]),a===e))break;return(d-=v)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[S]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){var n,r=a(e,o),i=r.length;while(i--)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace($,"$1"));return s[S]?le(function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return V.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=de(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,p=r++;return e.first?function(e,t,n){while(e=e[u])if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[k,p];if(n){while(e=e[u])if((1===e.nodeType||f)&&s(e,t,n))return!0}else while(e=e[u])if(1===e.nodeType||f)if(i=(o=e[S]||(e[S]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===k&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(d,h,g,v,y,e){return v&&!v[S]&&(v=Ce(v)),y&&!y[S]&&(y=Ce(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?y||(e?d:l||v)?[]:t:f;if(g&&g(f,p,n,r),v){i=Te(p,u),v(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a))}if(e){if(y||d){if(y){i=[],o=p.length;while(o--)(a=p[o])&&i.push(f[o]=a);y(null,p=[],i,r)}o=p.length;while(o--)(a=p[o])&&-1<(i=y?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),y?y(null,t,p,r):H.apply(t,p)})}function Ee(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[be(we(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[S]){for(n=++s;n<r;n++)if(b.relative[e[n].type])break;return Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace($,"$1"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+" "];if(l)return t?0:l.slice(0);a=e,s=[],u=b.preFilter;while(a){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace($," ")}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,x,r,i=[],o=[],a=A[e+" "];if(!a){t||(t=h(e)),n=t.length;while(n--)(a=Ee(t[n]))[S]?i.push(a):o.push(a);(a=A(e,(v=o,m=0<(y=i).length,x=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=k+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t==C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){a=0,t||o.ownerDocument==C||(T(o),n=!E);while(s=v[a++])if(s(o,t||C,n)){r.push(o);break}i&&(k=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=y[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(k=h,w=p),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&E&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=G.needsContext.test(e)?0:o.length;while(i--){if(a=o[i],b.relative[s=a.type])break;if((u=b.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},d.sortStable=S.split("").sort(D).join("")===S,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);S.find=d,S.expr=d.selectors,S.expr[":"]=S.expr.pseudos,S.uniqueSort=S.unique=d.uniqueSort,S.text=d.getText,S.isXMLDoc=d.isXML,S.contains=d.contains,S.escapeSelector=d.escape;var h=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&S(e).is(n))break;r.push(e)}return r},T=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},k=S.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var N=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function D(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1<i.call(n,e)!==r}):S.filter(n,e,r)}S.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?S.find.matchesSelector(r,e)?[r]:[]:S.find.matches(e,S.grep(t,function(e){return 1===e.nodeType}))},S.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(S(e).filter(function(){for(t=0;t<r;t++)if(S.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)S.find(e,i[t],n);return 1<r?S.uniqueSort(n):n},filter:function(e){return this.pushStack(D(this,e||[],!1))},not:function(e){return this.pushStack(D(this,e||[],!0))},is:function(e){return!!D(this,"string"==typeof e&&k.test(e)?S(e):e||[],!1).length}});var j,q=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||j,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,j=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(S.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&S(e);if(!k.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&S.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?S.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(S(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(S.uniqueSort(S.merge(this.get(),S(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),S.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return h(e,"parentNode")},parentsUntil:function(e,t,n){return h(e,"parentNode",n)},next:function(e){return O(e,"nextSibling")},prev:function(e){return O(e,"previousSibling")},nextAll:function(e){return h(e,"nextSibling")},prevAll:function(e){return h(e,"previousSibling")},nextUntil:function(e,t,n){return h(e,"nextSibling",n)},prevUntil:function(e,t,n){return h(e,"previousSibling",n)},siblings:function(e){return T((e.parentNode||{}).firstChild,e)},children:function(e){return T(e.firstChild)},contents:function(e){return null!=e.contentDocument&&r(e.contentDocument)?e.contentDocument:(A(e,"template")&&(e=e.content||e),S.merge([],e.childNodes))}},function(r,i){S.fn[r]=function(e,t){var n=S.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=S.filter(t,n)),1<this.length&&(H[r]||S.uniqueSort(n),L.test(r)&&n.reverse()),this.pushStack(n)}});var P=/[^\x20\t\r\n\f]+/g;function R(e){return e}function M(e){throw e}function I(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}S.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},S.each(e.match(P)||[],function(e,t){n[t]=!0}),n):S.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:"")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){S.each(e,function(e,t){m(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return S.each(arguments,function(e,t){var n;while(-1<(n=S.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<S.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},S.extend({Deferred:function(e){var o=[["notify","progress",S.Callbacks("memory"),S.Callbacks("memory"),2],["resolve","done",S.Callbacks("once memory"),S.Callbacks("once memory"),0,"resolved"],["reject","fail",S.Callbacks("once memory"),S.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},"catch":function(e){return a.then(null,e)},pipe:function(){var i=arguments;return S.Deferred(function(r){S.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,m(t)?s?t.call(e,l(u,o,R,s),l(u,o,M,s)):(u++,t.call(e,l(u,o,R,s),l(u,o,M,s),l(u,o,R,o.notifyWith))):(a!==R&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){S.Deferred.exceptionHook&&S.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==M&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(S.Deferred.getStackHook&&(t.stackTrace=S.Deferred.getStackHook()),C.setTimeout(t))}}return S.Deferred(function(e){o[0][3].add(l(0,e,m(r)?r:R,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:R)),o[2][3].add(l(0,e,m(n)?n:M))}).promise()},promise:function(e){return null!=e?S.extend(e,a):a}},s={};return S.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=S.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(I(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||m(i[t]&&i[t].then)))return o.then();while(t--)I(i[t],a(t),o.reject);return o.promise()}});var W=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;S.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&W.test(e.name)&&C.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},S.readyException=function(e){C.setTimeout(function(){throw e})};var F=S.Deferred();function B(){E.removeEventListener("DOMContentLoaded",B),C.removeEventListener("load",B),S.ready()}S.fn.ready=function(e){return F.then(e)["catch"](function(e){S.readyException(e)}),this},S.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--S.readyWait:S.isReady)||(S.isReady=!0)!==e&&0<--S.readyWait||F.resolveWith(E,[S])}}),S.ready.then=F.then,"complete"===E.readyState||"loading"!==E.readyState&&!E.documentElement.doScroll?C.setTimeout(S.ready):(E.addEventListener("DOMContentLoaded",B),C.addEventListener("load",B));var $=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===w(n))for(s in i=!0,n)$(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(S(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},_=/^-ms-/,z=/-([a-z])/g;function U(e,t){return t.toUpperCase()}function X(e){return e.replace(_,"ms-").replace(z,U)}var V=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function G(){this.expando=S.expando+G.uid++}G.uid=1,G.prototype={cache:function(e){var t=e[this.expando];return t||(t={},V(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[X(t)]=n;else for(r in t)i[X(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][X(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(X):(t=X(t))in r?[t]:t.match(P)||[]).length;while(n--)delete r[t[n]]}(void 0===t||S.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!S.isEmptyObject(t)}};var Y=new G,Q=new G,J=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,K=/[A-Z]/g;function Z(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(K,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:J.test(i)?JSON.parse(i):i)}catch(e){}Q.set(e,t,n)}else n=void 0;return n}S.extend({hasData:function(e){return Q.hasData(e)||Y.hasData(e)},data:function(e,t,n){return Q.access(e,t,n)},removeData:function(e,t){Q.remove(e,t)},_data:function(e,t,n){return Y.access(e,t,n)},_removeData:function(e,t){Y.remove(e,t)}}),S.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=Q.get(o),1===o.nodeType&&!Y.get(o,"hasDataAttrs"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=X(r.slice(5)),Z(o,r,i[r]));Y.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof n?this.each(function(){Q.set(this,n)}):$(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=Q.get(o,n))?t:void 0!==(t=Z(o,n))?t:void 0;this.each(function(){Q.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){Q.remove(this,e)})}}),S.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Y.get(e,t),n&&(!r||Array.isArray(n)?r=Y.access(e,t,S.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=S.queue(e,t),r=n.length,i=n.shift(),o=S._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){S.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Y.get(e,n)||Y.access(e,n,{empty:S.Callbacks("once memory").add(function(){Y.remove(e,[t+"queue",n])})})}}),S.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?S.queue(this[0],t):void 0===n?this:this.each(function(){var e=S.queue(this,t,n);S._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&S.dequeue(this,t)})},dequeue:function(e){return this.each(function(){S.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=S.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=Y.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var ee=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,te=new RegExp("^(?:([+-])=|)("+ee+")([a-z%]*)$","i"),ne=["Top","Right","Bottom","Left"],re=E.documentElement,ie=function(e){return S.contains(e.ownerDocument,e)},oe={composed:!0};re.getRootNode&&(ie=function(e){return S.contains(e.ownerDocument,e)||e.getRootNode(oe)===e.ownerDocument});var ae=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&ie(e)&&"none"===S.css(e,"display")};function se(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return S.css(e,t,"")},u=s(),l=n&&n[3]||(S.cssNumber[t]?"":"px"),c=e.nodeType&&(S.cssNumber[t]||"px"!==l&&+u)&&te.exec(S.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)S.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,S.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ue={};function le(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Y.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&ae(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ue[s])||(o=a.body.appendChild(a.createElement(s)),u=S.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),ue[s]=u)))):"none"!==n&&(l[c]="none",Y.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}S.fn.extend({show:function(){return le(this,!0)},hide:function(){return le(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){ae(this)?S(this).show():S(this).hide()})}});var ce,fe,pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="<textarea>x</textarea>",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="<option></option>",y.option=!!ce.lastChild;var ge={thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n<r;n++)Y.set(e[n],"globalEval",!t||Y.get(t[n],"globalEval"))}ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td,y.option||(ge.optgroup=ge.option=[1,"<select multiple='multiple'>","</select>"]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===w(o))S.merge(p,o.nodeType?[o]:o);else if(me.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+S.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;S.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));f.textContent="",d=0;while(o=p[d++])if(r&&-1<S.inArray(o,r))i&&i.push(o);else if(l=ie(o),a=ve(f.appendChild(o),"script"),l&&ye(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}var be=/^key/,we=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Te=/^([^.]*)(?:\.(.+)|)/;function Ce(){return!0}function Ee(){return!1}function Se(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function ke(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)ke(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Ee;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return S().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=S.guid++)),e.each(function(){S.event.add(this,t,i,r,n)})}function Ae(e,i,o){o?(Y.set(e,i,!1),S.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Y.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(S.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Y.set(this,i,r),t=o(this,i),this[i](),r!==(n=Y.get(this,i))||t?Y.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Y.set(this,i,{value:S.event.trigger(S.extend(r[0],S.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Y.get(e,i)&&S.event.add(e,i,Ce)}S.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.get(t);if(V(t)){n.handler&&(n=(o=n).handler,i=o.selector),i&&S.find.matchesSelector(re,i),n.guid||(n.guid=S.guid++),(u=v.events)||(u=v.events=Object.create(null)),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof S&&S.event.triggered!==e.type?S.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(P)||[""]).length;while(l--)d=g=(s=Te.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=S.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=S.event.special[d]||{},c=S.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&S.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),S.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.hasData(e)&&Y.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(P)||[""]).length;while(l--)if(d=g=(s=Te.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=S.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||S.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)S.event.remove(e,d+t[l],n,r,!0);S.isEmptyObject(u)&&Y.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(arguments.length),u=S.event.fix(e),l=(Y.get(this,"events")||Object.create(null))[u.type]||[],c=S.event.special[u.type]||{};for(s[0]=u,t=1;t<arguments.length;t++)s[t]=arguments[t];if(u.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,u)){a=S.event.handlers.call(this,u,l),t=0;while((i=a[t++])&&!u.isPropagationStopped()){u.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!u.isImmediatePropagationStopped())u.rnamespace&&!1!==o.namespace&&!u.rnamespace.test(o.namespace)||(u.handleObj=o,u.data=o.data,void 0!==(r=((S.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,s))&&!1===(u.result=r)&&(u.preventDefault(),u.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,u),u.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<S(i,this).index(l):S.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(S.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[S.expando]?e:new S.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Ae(t,"click",Ce),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Ae(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,"input")&&Y.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},S.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},S.Event=function(e,t){if(!(this instanceof S.Event))return new S.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?Ce:Ee,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&S.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[S.expando]=!0},S.Event.prototype={constructor:S.Event,isDefaultPrevented:Ee,isPropagationStopped:Ee,isImmediatePropagationStopped:Ee,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=Ce,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=Ce,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=Ce,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},S.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&be.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&we.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},S.event.addProp),S.each({focus:"focusin",blur:"focusout"},function(e,t){S.event.special[e]={setup:function(){return Ae(this,e,Se),!1},trigger:function(){return Ae(this,e),!0},delegateType:t}}),S.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){S.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||S.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),S.fn.extend({on:function(e,t,n,r){return ke(this,e,t,n,r)},one:function(e,t,n,r){return ke(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,S(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Ee),this.each(function(){S.event.remove(this,e,n,t)})}});var Ne=/<script|<style|<link/i,De=/checked\s*(?:[^=]|=\s*.checked.)/i,je=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function qe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function Le(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function He(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Oe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n<r;n++)S.event.add(t,i,s[i][n]);Q.hasData(e)&&(o=Q.access(e),a=S.extend({},o),Q.set(t,a))}}function Pe(n,r,i,o){r=g(r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=m(d);if(h||1<f&&"string"==typeof d&&!y.checkClone&&De.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),Pe(t,r,i,o)});if(f&&(t=(e=xe(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=S.map(ve(e,"script"),Le)).length;c<f;c++)u=e,c!==p&&(u=S.clone(u,!0,!0),s&&S.merge(a,ve(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,S.map(a,He),c=0;c<s;c++)u=a[c],he.test(u.type||"")&&!Y.access(u,"globalEval")&&S.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?S._evalUrl&&!u.noModule&&S._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")},l):b(u.textContent.replace(je,""),u,l))}return n}function Re(e,t,n){for(var r,i=t?S.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||S.cleanData(ve(r)),r.parentNode&&(n&&ie(r)&&ye(ve(r,"script")),r.parentNode.removeChild(r));return e}S.extend({htmlPrefilter:function(e){return e},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=ie(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||S.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r<i;r++)s=o[r],u=a[r],void 0,"input"===(l=u.nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ve(e),a=a||ve(c),r=0,i=o.length;r<i;r++)Oe(o[r],a[r]);else Oe(e,c);return 0<(a=ve(c,"script")).length&&ye(a,!f&&ve(e,"script")),c},cleanData:function(e){for(var t,n,r,i=S.event.special,o=0;void 0!==(n=e[o]);o++)if(V(n)){if(t=n[Y.expando]){if(t.events)for(r in t.events)i[r]?S.event.remove(n,r):S.removeEvent(n,r,t.handle);n[Y.expando]=void 0}n[Q.expando]&&(n[Q.expando]=void 0)}}}),S.fn.extend({detach:function(e){return Re(this,e,!0)},remove:function(e){return Re(this,e)},text:function(e){return $(this,function(e){return void 0===e?S.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Pe(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||qe(this,e).appendChild(e)})},prepend:function(){return Pe(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=qe(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Pe(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Pe(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(S.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return S.clone(this,e,t)})},html:function(e){return $(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Ne.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=S.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(S.cleanData(ve(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return Pe(this,arguments,function(e){var t=this.parentNode;S.inArray(this,n)<0&&(S.cleanData(ve(this)),t&&t.replaceChild(e,this))},n)}}),S.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){S.fn[e]=function(e){for(var t,n=[],r=S(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),S(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var Me=new RegExp("^("+ee+")(?!px)[a-z%]+$","i"),Ie=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},We=function(e,t,n){var r,i,o={};for(i in t)o[i]=e.style[i],e.style[i]=t[i];for(i in r=n.call(e),t)e.style[i]=o[i];return r},Fe=new RegExp(ne.join("|"),"i");function Be(e,t,n){var r,i,o,a,s=e.style;return(n=n||Ie(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||ie(e)||(a=S.style(e,t)),!y.pixelBoxStyles()&&Me.test(a)&&Fe.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function $e(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(l){u.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",l.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",re.appendChild(u).appendChild(l);var e=C.getComputedStyle(l);n="1%"!==e.top,s=12===t(e.marginLeft),l.style.right="60%",o=36===t(e.right),r=36===t(e.width),l.style.position="absolute",i=12===t(l.offsetWidth/3),re.removeChild(u),l=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s,u=E.createElement("div"),l=E.createElement("div");l.style&&(l.style.backgroundClip="content-box",l.cloneNode(!0).style.backgroundClip="",y.clearCloneStyle="content-box"===l.style.backgroundClip,S.extend(y,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),s},scrollboxSize:function(){return e(),i},reliableTrDimensions:function(){var e,t,n,r;return null==a&&(e=E.createElement("table"),t=E.createElement("tr"),n=E.createElement("div"),e.style.cssText="position:absolute;left:-11111px",t.style.height="1px",n.style.height="9px",re.appendChild(e).appendChild(t).appendChild(n),r=C.getComputedStyle(t),a=3<parseInt(r.height),re.removeChild(e)),a}}))}();var _e=["Webkit","Moz","ms"],ze=E.createElement("div").style,Ue={};function Xe(e){var t=S.cssProps[e]||Ue[e];return t||(e in ze?e:Ue[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=_e.length;while(n--)if((e=_e[n]+t)in ze)return e}(e)||e)}var Ve=/^(none|table(?!-c[ea]).+)/,Ge=/^--/,Ye={position:"absolute",visibility:"hidden",display:"block"},Qe={letterSpacing:"0",fontWeight:"400"};function Je(e,t,n){var r=te.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function Ke(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=S.css(e,n+ne[a],!0,i)),r?("content"===n&&(u-=S.css(e,"padding"+ne[a],!0,i)),"margin"!==n&&(u-=S.css(e,"border"+ne[a]+"Width",!0,i))):(u+=S.css(e,"padding"+ne[a],!0,i),"padding"!==n?u+=S.css(e,"border"+ne[a]+"Width",!0,i):s+=S.css(e,"border"+ne[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function Ze(e,t,n){var r=Ie(e),i=(!y.boxSizingReliable()||n)&&"border-box"===S.css(e,"boxSizing",!1,r),o=i,a=Be(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(Me.test(a)){if(!n)return a;a="auto"}return(!y.boxSizingReliable()&&i||!y.reliableTrDimensions()&&A(e,"tr")||"auto"===a||!parseFloat(a)&&"inline"===S.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===S.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+Ke(e,t,n||(i?"border":"content"),o,r,a)+"px"}function et(e,t,n,r,i){return new et.prototype.init(e,t,n,r,i)}S.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Be(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=X(t),u=Ge.test(t),l=e.style;if(u||(t=Xe(s)),a=S.cssHooks[t]||S.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=te.exec(n))&&i[1]&&(n=se(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(S.cssNumber[s]?"":"px")),y.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=X(t);return Ge.test(t)||(t=Xe(s)),(a=S.cssHooks[t]||S.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Be(e,t,r)),"normal"===i&&t in Qe&&(i=Qe[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),S.each(["height","width"],function(e,u){S.cssHooks[u]={get:function(e,t,n){if(t)return!Ve.test(S.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?Ze(e,u,n):We(e,Ye,function(){return Ze(e,u,n)})},set:function(e,t,n){var r,i=Ie(e),o=!y.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===S.css(e,"boxSizing",!1,i),s=n?Ke(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-Ke(e,u,"border",!1,i)-.5)),s&&(r=te.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=S.css(e,u)),Je(0,t,s)}}}),S.cssHooks.marginLeft=$e(y.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Be(e,"marginLeft"))||e.getBoundingClientRect().left-We(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),S.each({margin:"",padding:"",border:"Width"},function(i,o){S.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+ne[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(S.cssHooks[i+o].set=Je)}),S.fn.extend({css:function(e,t){return $(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Ie(e),i=t.length;a<i;a++)o[t[a]]=S.css(e,t[a],!1,r);return o}return void 0!==n?S.style(e,t,n):S.css(e,t)},e,t,1<arguments.length)}}),((S.Tween=et).prototype={constructor:et,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||S.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(S.cssNumber[n]?"":"px")},cur:function(){var e=et.propHooks[this.prop];return e&&e.get?e.get(this):et.propHooks._default.get(this)},run:function(e){var t,n=et.propHooks[this.prop];return this.options.duration?this.pos=t=S.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):et.propHooks._default.set(this),this}}).init.prototype=et.prototype,(et.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=S.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){S.fx.step[e.prop]?S.fx.step[e.prop](e):1!==e.elem.nodeType||!S.cssHooks[e.prop]&&null==e.elem.style[Xe(e.prop)]?e.elem[e.prop]=e.now:S.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=et.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},S.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},S.fx=et.prototype.init,S.fx.step={};var tt,nt,rt,it,ot=/^(?:toggle|show|hide)$/,at=/queueHooks$/;function st(){nt&&(!1===E.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(st):C.setTimeout(st,S.fx.interval),S.fx.tick())}function ut(){return C.setTimeout(function(){tt=void 0}),tt=Date.now()}function lt(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=ne[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function ct(e,t,n){for(var r,i=(ft.tweeners[t]||[]).concat(ft.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function ft(o,e,t){var n,a,r=0,i=ft.prefilters.length,s=S.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=tt||ut(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:S.extend({},e),opts:S.extend(!0,{specialEasing:{},easing:S.easing._default},t),originalProperties:e,originalOptions:t,startTime:tt||ut(),duration:t.duration,tweens:[],createTween:function(e,t){var n=S.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(!function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=X(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=S.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=ft.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(S._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return S.map(c,ct,l),m(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),S.fx.timer(S.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}S.Animation=S.extend(ft,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return se(n.elem,e,te.exec(t),n),n}]},tweener:function(e,t){m(e)?(t=e,e=["*"]):e=e.match(P);for(var n,r=0,i=e.length;r<i;r++)n=e[r],ft.tweeners[n]=ft.tweeners[n]||[],ft.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&ae(e),v=Y.get(e,"fxshow");for(r in n.queue||(null==(a=S._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,S.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],ot.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||S.style(e,r)}if((u=!S.isEmptyObject(t))||!S.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=Y.get(e,"display")),"none"===(c=S.css(e,"display"))&&(l?c=l:(le([e],!0),l=e.style.display||l,c=S.css(e,"display"),le([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===S.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(v?"hidden"in v&&(g=v.hidden):v=Y.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&le([e],!0),p.done(function(){for(r in g||le([e]),Y.remove(e,"fxshow"),d)S.style(e,r,d[r])})),u=ct(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?ft.prefilters.unshift(e):ft.prefilters.push(e)}}),S.speed=function(e,t,n){var r=e&&"object"==typeof e?S.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return S.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in S.fx.speeds?r.duration=S.fx.speeds[r.duration]:r.duration=S.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),r.queue&&S.dequeue(this,r.queue)},r},S.fn.extend({fadeTo:function(e,t,n,r){return this.filter(ae).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){var i=S.isEmptyObject(t),o=S.speed(e,n,r),a=function(){var e=ft(this,S.extend({},t),o);(i||Y.get(this,"finish"))&&e.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){var a=function(e){var t=e.stop;delete e.stop,t(o)};return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&this.queue(i||"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=S.timers,r=Y.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&at.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||S.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=Y.get(this),n=t[a+"queue"],r=t[a+"queueHooks"],i=S.timers,o=n?n.length:0;for(t.finish=!0,S.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),S.each(["toggle","show","hide"],function(e,r){var i=S.fn[r];S.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(lt(r,!0),e,t,n)}}),S.each({slideDown:lt("show"),slideUp:lt("hide"),slideToggle:lt("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){S.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),S.timers=[],S.fx.tick=function(){var e,t=0,n=S.timers;for(tt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||S.fx.stop(),tt=void 0},S.fx.timer=function(e){S.timers.push(e),S.fx.start()},S.fx.interval=13,S.fx.start=function(){nt||(nt=!0,st())},S.fx.stop=function(){nt=null},S.fx.speeds={slow:600,fast:200,_default:400},S.fn.delay=function(r,e){return r=S.fx&&S.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},rt=E.createElement("input"),it=E.createElement("select").appendChild(E.createElement("option")),rt.type="checkbox",y.checkOn=""!==rt.value,y.optSelected=it.selected,(rt=E.createElement("input")).value="t",rt.type="radio",y.radioValue="t"===rt.value;var pt,dt=S.expr.attrHandle;S.fn.extend({attr:function(e,t){return $(this,S.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){S.removeAttr(this,e)})}}),S.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?S.prop(e,t,n):(1===o&&S.isXMLDoc(e)||(i=S.attrHooks[t.toLowerCase()]||(S.expr.match.bool.test(t)?pt:void 0)),void 0!==n?null===n?void S.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=S.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!y.radioValue&&"radio"===t&&A(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(P);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),pt={set:function(e,t,n){return!1===t?S.removeAttr(e,n):e.setAttribute(n,n),n}},S.each(S.expr.match.bool.source.match(/\w+/g),function(e,t){var a=dt[t]||S.find.attr;dt[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=dt[o],dt[o]=r,r=null!=a(e,t,n)?o:null,dt[o]=i),r}});var ht=/^(?:input|select|textarea|button)$/i,gt=/^(?:a|area)$/i;function vt(e){return(e.match(P)||[]).join(" ")}function yt(e){return e.getAttribute&&e.getAttribute("class")||""}function mt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(P)||[]}S.fn.extend({prop:function(e,t){return $(this,S.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[S.propFix[e]||e]})}}),S.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&S.isXMLDoc(e)||(t=S.propFix[t]||t,i=S.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=S.find.attr(e,"tabindex");return t?parseInt(t,10):ht.test(e.nodeName)||gt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),y.optSelected||(S.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),S.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){S.propFix[this.toLowerCase()]=this}),S.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){S(this).addClass(t.call(this,e,yt(this)))});if((e=mt(t)).length)while(n=this[u++])if(i=yt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=e[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){S(this).removeClass(t.call(this,e,yt(this)))});if(!arguments.length)return this.attr("class","");if((e=mt(t)).length)while(n=this[u++])if(i=yt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=e[a++])while(-1<r.indexOf(" "+o+" "))r=r.replace(" "+o+" "," ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(i,t){var o=typeof i,a="string"===o||Array.isArray(i);return"boolean"==typeof t&&a?t?this.addClass(i):this.removeClass(i):m(i)?this.each(function(e){S(this).toggleClass(i.call(this,e,yt(this),t),t)}):this.each(function(){var e,t,n,r;if(a){t=0,n=S(this),r=mt(i);while(e=r[t++])n.hasClass(e)?n.removeClass(e):n.addClass(e)}else void 0!==i&&"boolean"!==o||((e=yt(this))&&Y.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===i?"":Y.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&-1<(" "+vt(yt(n))+" ").indexOf(t))return!0;return!1}});var xt=/\r/g;S.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=m(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,S(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=S.map(t,function(e){return null==e?"":e+""})),(r=S.valHooks[this.type]||S.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=S.valHooks[t.type]||S.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(xt,""):null==e?"":e:void 0}}),S.extend({valHooks:{option:{get:function(e){var t=S.find.attr(e,"value");return null!=t?t:vt(S.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode,"optgroup"))){if(t=S(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=S.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<S.inArray(S.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),S.each(["radio","checkbox"],function(){S.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<S.inArray(S(e).val(),t)}},y.checkOn||(S.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),y.focusin="onfocusin"in C;var bt=/^(?:focusinfocus|focusoutblur)$/,wt=function(e){e.stopPropagation()};S.extend(S.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||E],d=v.call(e,"type")?e.type:e,h=v.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||E,3!==n.nodeType&&8!==n.nodeType&&!bt.test(d+S.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[S.expando]?e:new S.Event(d,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:S.makeArray(t,[e]),c=S.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||d,bt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||E)&&p.push(a.defaultView||a.parentWindow||C)}i=0;while((o=p[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||d,(l=(Y.get(o,"events")||Object.create(null))[e.type]&&Y.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&V(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!V(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),S.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,wt),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,wt),S.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=S.extend(new S.Event,n,{type:e,isSimulated:!0});S.event.trigger(r,null,t)}}),S.fn.extend({trigger:function(e,t){return this.each(function(){S.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return S.event.trigger(e,t,n,!0)}}),y.focusin||S.each({focus:"focusin",blur:"focusout"},function(n,r){var i=function(e){S.event.simulate(r,e.target,S.event.fix(e))};S.event.special[r]={setup:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r);t||e.addEventListener(n,i,!0),Y.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r)-1;t?Y.access(e,r,t):(e.removeEventListener(n,i,!0),Y.remove(e,r))}}});var Tt=C.location,Ct={guid:Date.now()},Et=/\?/;S.parseXML=function(e){var t;if(!e||"string"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,"text/xml")}catch(e){t=void 0}return t&&!t.getElementsByTagName("parsererror").length||S.error("Invalid XML: "+e),t};var St=/\[\]$/,kt=/\r?\n/g,At=/^(?:submit|button|image|reset|file)$/i,Nt=/^(?:input|select|textarea|keygen)/i;function Dt(n,e,r,i){var t;if(Array.isArray(e))S.each(e,function(e,t){r||St.test(n)?i(n,t):Dt(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==w(e))i(n,e);else for(t in e)Dt(n+"["+t+"]",e[t],r,i)}S.param=function(e,t){var n,r=[],i=function(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!S.isPlainObject(e))S.each(e,function(){i(this.name,this.value)});else for(n in e)Dt(n,e[n],t,i);return r.join("&")},S.fn.extend({serialize:function(){return S.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=S.prop(this,"elements");return e?S.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!S(this).is(":disabled")&&Nt.test(this.nodeName)&&!At.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=S(this).val();return null==n?null:Array.isArray(n)?S.map(n,function(e){return{name:t.name,value:e.replace(kt,"\r\n")}}):{name:t.name,value:n.replace(kt,"\r\n")}}).get()}});var jt=/%20/g,qt=/#.*$/,Lt=/([?&])_=[^&]*/,Ht=/^(.*?):[ \t]*([^\r\n]*)$/gm,Ot=/^(?:GET|HEAD)$/,Pt=/^\/\//,Rt={},Mt={},It="*/".concat("*"),Wt=E.createElement("a");function Ft(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(P)||[];if(m(t))while(n=i[r++])"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function Bt(t,i,o,a){var s={},u=t===Mt;function l(e){var r;return s[e]=!0,S.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s["*"]&&l("*")}function $t(e,t){var n,r,i=S.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&S.extend(!0,e,r),e}Wt.href=Tt.href,S.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Tt.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Tt.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":It,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":S.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?$t($t(e,S.ajaxSettings),t):$t(S.ajaxSettings,e)},ajaxPrefilter:Ft(Rt),ajaxTransport:Ft(Mt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,v=S.ajaxSetup({},t),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?S(y):S.event,x=S.Deferred(),b=S.Callbacks("once memory"),w=v.statusCode||{},a={},s={},u="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n){n={};while(t=Ht.exec(p))n[t[1].toLowerCase()+" "]=(n[t[1].toLowerCase()+" "]||[]).concat(t[2])}t=n[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(v.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),v.url=((e||v.url||Tt.href)+"").replace(Pt,Tt.protocol+"//"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||"*").toLowerCase().match(P)||[""],null==v.crossDomain){r=E.createElement("a");try{r.href=v.url,r.href=r.href,v.crossDomain=Wt.protocol+"//"+Wt.host!=r.protocol+"//"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&"string"!=typeof v.data&&(v.data=S.param(v.data,v.traditional)),Bt(Rt,v,t,T),h)return T;for(i in(g=S.event&&v.global)&&0==S.active++&&S.event.trigger("ajaxStart"),v.type=v.type.toUpperCase(),v.hasContent=!Ot.test(v.type),f=v.url.replace(qt,""),v.hasContent?v.data&&v.processData&&0===(v.contentType||"").indexOf("application/x-www-form-urlencoded")&&(v.data=v.data.replace(jt,"+")):(o=v.url.slice(f.length),v.data&&(v.processData||"string"==typeof v.data)&&(f+=(Et.test(f)?"&":"?")+v.data,delete v.data),!1===v.cache&&(f=f.replace(Lt,"$1"),o=(Et.test(f)?"&":"?")+"_="+Ct.guid+++o),v.url=f+o),v.ifModified&&(S.lastModified[f]&&T.setRequestHeader("If-Modified-Since",S.lastModified[f]),S.etag[f]&&T.setRequestHeader("If-None-Match",S.etag[f])),(v.data&&v.hasContent&&!1!==v.contentType||t.contentType)&&T.setRequestHeader("Content-Type",v.contentType),T.setRequestHeader("Accept",v.dataTypes[0]&&v.accepts[v.dataTypes[0]]?v.accepts[v.dataTypes[0]]+("*"!==v.dataTypes[0]?", "+It+"; q=0.01":""):v.accepts["*"]),v.headers)T.setRequestHeader(i,v.headers[i]);if(v.beforeSend&&(!1===v.beforeSend.call(y,T,v)||h))return T.abort();if(u="abort",b.add(v.complete),T.done(v.success),T.fail(v.error),c=Bt(Mt,v,t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,v]),h)return T;v.async&&0<v.timeout&&(d=C.setTimeout(function(){T.abort("timeout")},v.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,"No Transport");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&C.clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(v,T,n)),!i&&-1<S.inArray("script",v.dataTypes)&&(v.converters["text script"]=function(){}),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(v,s,T,i),i?(v.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&(S.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(S.etag[f]=u)),204===e||"HEAD"===v.type?l="nocontent":304===e?l="notmodified":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?x.resolveWith(y,[o,l,T]):x.rejectWith(y,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,v,i?o:a]),b.fireWith(y,[T,l]),g&&(m.trigger("ajaxComplete",[T,v]),--S.active||S.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return S.get(e,t,n,"json")},getScript:function(e,t){return S.get(e,void 0,t,"script")}}),S.each(["get","post"],function(e,i){S[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),S.ajax(S.extend({url:e,type:i,dataType:r,data:t,success:n},S.isPlainObject(e)&&e))}}),S.ajaxPrefilter(function(e){var t;for(t in e.headers)"content-type"===t.toLowerCase()&&(e.contentType=e.headers[t]||"")}),S._evalUrl=function(e,t,n){return S.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){S.globalEval(e,t,n)}})},S.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=S(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return m(n)?this.each(function(e){S(this).wrapInner(n.call(this,e))}):this.each(function(){var e=S(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=m(t);return this.each(function(e){S(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){S(this).replaceWith(this.childNodes)}),this}}),S.expr.pseudos.hidden=function(e){return!S.expr.pseudos.visible(e)},S.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},S.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var _t={0:200,1223:204},zt=S.ajaxSettings.xhr();y.cors=!!zt&&"withCredentials"in zt,y.ajax=zt=!!zt,S.ajaxTransport(function(i){var o,a;if(y.cors||zt&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?t(0,"error"):t(r.status,r.statusText):t(_t[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o("error"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&C.setTimeout(function(){o&&a()})},o=o("abort");try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),S.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),S.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return S.globalEval(e),e}}}),S.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),S.ajaxTransport("script",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=S("<script>").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Ut,Xt=[],Vt=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xt.pop()||S.expando+"_"+Ct.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Vt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Vt,"$1"+r):!1!==e.jsonp&&(e.url+=(Et.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Xt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Ut=E.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===Ut.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1<s&&(r=vt(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&S.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?S("<div>").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):("number"==typeof f.top&&(f.top+="px"),"number"==typeof f.left&&(f.left+="px"),c.css(f))}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=$e(y.pixelPosition,function(e,t){if(t)return t=Be(e,n),Me.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}});var Gt=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;S.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||S.guid++,i},S.holdReady=function(e){e?S.readyWait++:S.ready(!0)},S.isArray=Array.isArray,S.parseJSON=JSON.parse,S.nodeName=A,S.isFunction=m,S.isWindow=x,S.camelCase=X,S.type=w,S.now=Date.now,S.isNumeric=function(e){var t=S.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},S.trim=function(e){return null==e?"":(e+"").replace(Gt,"")},"function"==typeof define&&define.amd&&define("jquery",[],function(){return S});var Yt=C.jQuery,Qt=C.$;return S.noConflict=function(e){return C.$===S&&(C.$=Qt),e&&C.jQuery===S&&(C.jQuery=Yt),S},"undefined"==typeof e&&(C.jQuery=C.$=S),S});
- </script>
- <script type="deferjs">
- gamePage = true;
- quizPage = false;
- gameType = 'game_html5';
- game_width_size = 800;
- mobile_ga_game_type = 'Desktop';
- var ad_refresh_timer_interval = 60000;
- var ad_refresh_event_interval = 30000;
- </script>
- <script type="text/javascript">
- function trackGoalVirtualPV(virtual_page) {
- if(typeof __gaTracker !== "undefined") {
- debugOut("GA Goal Tracking. Virtual pv: "+virtual_page);
- __gaTracker("send", "pageview", virtual_page);
- }
- }
- function getCookie(key) {
- var keyValue = document.cookie.match("(^|;) ?" + key + "=([^;]*)(;|$)");
- return keyValue ? keyValue[2] : null;
- }
- // initialize js variableswith current theme style
- // var user_stylePath = encodeURIComponent("{{ user_theme_style_path }}");
- // var path = "/"+decodeURIComponent(user_stylePath);
- // if(user_stylePath!==""){
- // jQuery("#styleswitcher-css").attr("href", path);
- // }
- jQuery(document).ready(function() {
- if (typeof getCookie === "function" && getCookie("cmg_xpp") !== null) {
- jQuery("body").addClass("cmatgame");
- var themepath = decodeURIComponent(getCookie("cmg_xpp"));
- if(themepath != "null" && !themepath.startsWith("/")) {
- themepath = "/"+themepath;
- }
- var path = location.protocol + "//" + location.host + themepath;
- if (jQuery("#styleswitcher-css").length) {
- jQuery("#styleswitcher-css").attr("href", path);
- console.log("Loading userprofile theme... " + path);
- }
- }
- });
- </script>
- <script type="deferjs">
- var hide_preroll_ads = false;
- var preroll_ads_timer = 15;
- cmatgame_subscriber = getCookie("cmg_sx");
- if(getCookie("cmg_wl") !== null) {
- cmatgame_subscriber = getCookie("cmg_wl");
- }
- //check if school is whitelisted
- if(cmg_school_whitelisted !== null && getCookie("cmg_schwl") !== null) {
- cmg_school_whitelisted = getCookie("cmg_schwl");
- cmatgame_subscriber = getCookie("cmg_schwl");
- } else if(cmg_school_whitelisted === null && typeof cmg_no_ads_debug !== "undefined" && cmg_no_ads_debug) {
- //console.log("KY school hours");
- cmatgame_subscriber = cmg_no_ads_debug;
- }
- if(cmg_gdpr_check !== null) {
- var cmg_gdpr_all_check = getCookie("GDPR_All"); //GDPR_All cookie is set when user selects accept all cookies in the GDPR overlay
- var cmg_gdpr_first_check = getCookie("GDPR_First");
- var cmg_gdpr_reject_check = getCookie("GDPR_Reject");
- if(cmg_gdpr_all_check == null) { //Display ads only when all cookies option is selected
- cmatgame_subscriber = getCookie("GDPR");
- }
- }
- isRemoveAdSwfJWPLayer = false;
- jQuery(document).ready(function() {
- if(typeof isAdblockerOn === "undefined"){
- if(typeof __gaTracker !== "undefined") {
- __gaTracker("send", {
- "hitType": "event", // Required.
- "eventCategory": "Page-level-ad-blocker2", // Required.
- "eventAction": "AdBlockerDetected", // Required.
- "eventLabel": document.title,
- "eventValue": 1,
- "nonInteraction": 1
- });
- }
- } else {
- if(typeof __gaTracker !== "undefined") {
- __gaTracker("send", {
- "hitType": "event", // Required.
- "eventCategory": "Page-level-ad-blocker2", // Required.
- "eventAction": "AdBlockerNotDetected", // Required.
- "eventLabel": document.title,
- "eventValue": 1,
- "nonInteraction": 1
- });
- }
- }
- function removeAdSwfJWPLayer() {}
- var isChrome = navigator.userAgent.toLowerCase().indexOf("chrome") > -1;
- if(!jQuery(".adtxt").is(":visible") && isChrome) {
- removeAdSwfJWPLayer();
- }
- });
- </script>
- <script type="deferjs">
- if((typeof cmatgame_subscriber === "undefined" ||
- cmatgame_subscriber === "" ||
- cmatgame_subscriber === null ||
- typeof freeTrialUser === "undefined" ) && !freeTrialUser) {
- var pwUnits = [];
- var windowPath = window.location.pathname;
- // category landing pages with video
- if( windowPath == "/1-strategy-games" ||
- windowPath == "/1-skill-games" ||
- windowPath == "/1-number-games" ||
- windowPath == "/1-logic-games" ||
- windowPath == "/1-playlists" ||
- windowPath == "/1-daily-games" ||
- windowPath == "/1-complete-game-list" || windowPath == "/profile/leaderboard") {
- var tyche = {
- mode: "tyche",
- config: "//config.playwire.com/1023174/v2/websites/71134/banner.json",
- forcePath: "trendi-video",
- passiveMode: true
- };
- if(document.documentElement.clientWidth <768) { //mobile or table
- pwUnits = [{
- selectorId: "leaderboard-atf",
- type: "leaderboard_atf"
- },
- {
- selectorId: "leaderboard-btf",
- type: "leaderboard_btf"
- },
- {
- selectorId: "mob-med-rect-atf",
- type: "med_rect_atf"
- },
- {
- selectorId: "mob-med-rect-btf",
- type: "med_rect_btf"
- }
- ];
- } else if(document.documentElement.clientWidth >=768 && document.documentElement.clientWidth <=1365) {
- pwUnits = [{
- selectorId: "leaderboard-atf",
- type: "leaderboard_atf"
- },
- {
- selectorId: "leaderboard-btf",
- type: "leaderboard_btf"
- },
- {
- selectorId: "med-rect-atf",
- type: "med_rect_atf"
- },
- {
- selectorId: "med-rect-btf",
- type: "med_rect_btf"
- },
- {
- selectorId: "sky-btf",
- type: "sky_btf"
- },
- {
- type: "trendi_video"
- }];
- } else {
- pwUnits = [{
- selectorId: "leaderboard-atf",
- type: "leaderboard_atf"
- },
- {
- selectorId: "leaderboard-btf",
- type: "leaderboard_btf"
- },
- {
- selectorId: "med-rect-atf",
- type: "med_rect_atf"
- },
- {
- selectorId: "med-rect-btf",
- type: "med_rect_btf"
- },
- {
- selectorId: "sky-atf",
- type: "sky_atf"
- },
- {
- selectorId: "sky-btf",
- type: "sky_btf"
- },
- {
- type: "trendi_video"
- }];
- }
- // Homepage, category landing pages without video
- }else if( windowPath == "/" ||
- windowPath == "/1-playlists" ||
- windowPath == "/0-jigsaw-puzzles" ||
- windowPath == "/1-mobile-categories") {
- var tyche = {
- mode: "tyche",
- config: "//config.playwire.com/1023174/v2/websites/71134/banner.json",
- passiveMode: true
- };
- if(document.documentElement.clientWidth <768) { //mobile or table
- pwUnits = [{
- selectorId: "leaderboard-atf",
- type: "leaderboard_atf"
- },
- {
- selectorId: "mob-med-rect-atf",
- type: "med_rect_atf"
- },
- {
- selectorId: "mob-med-rect-btf",
- type: "med_rect_btf"
- },
- {
- selectorId: "med-rect-atf",
- type: "med_rect_btf"
- },
- {
- selectorId: "mob-med-rect-ctf",
- type: "med_rect_btf"
- },
- {
- selectorId: "med-rect-btf4",
- type: "med_rect_btf"
- }];
- } else if(document.documentElement.clientWidth >=768 && document.documentElement.clientWidth <=1365) {
- pwUnits = [{
- selectorId: "leaderboard-atf",
- type: "leaderboard_atf"
- },
- {
- selectorId: "leaderboard-btf",
- type: "leaderboard_btf"
- },
- {
- selectorId: "med-rect-atf",
- type: "med_rect_atf"
- },
- {
- selectorId: "med-rect-btf1",
- type: "med_rect_btf"
- },
- {
- selectorId: "med-rect-btf2",
- type: "med_rect_btf"
- },
- {
- selectorId: "med-rect-btf3",
- type: "med_rect_btf"
- },
- {
- selectorId: "med-rect-btf4",
- type: "med_rect_btf"
- }];
- } else {
- pwUnits = [{
- selectorId: "leaderboard-atf",
- type: "leaderboard_atf"
- },
- {
- selectorId: "leaderboard-btf",
- type: "leaderboard_btf"
- },
- {
- selectorId: "med-rect-atf",
- type: "med_rect_atf"
- },
- {
- selectorId: "med-rect-btf1",
- type: "med_rect_btf"
- },
- {
- selectorId: "med-rect-btf2",
- type: "med_rect_btf"
- },
- {
- selectorId: "med-rect-btf3",
- type: "med_rect_btf"
- },
- {
- selectorId: "med-rect-btf4",
- type: "med_rect_btf"
- },
- {
- selectorId: "sky-atf",
- type: "sky_atf"
- },
- {
- selectorId: "sky-btf",
- type: "sky_btf"
- }];
- }
- // all other pages
- } else {
- var tyche = {
- mode: "tyche",
- config: "//config.playwire.com/1023174/v2/websites/71134/banner.json",
- passiveMode: true
- };
- if(document.documentElement.clientWidth <768) { //mobile or table
- pwUnits = [{
- selectorId: "leaderboard-atf",
- type: "leaderboard_atf"
- },
- {
- selectorId: "leaderboard-btf",
- type: "leaderboard_btf"
- },
- {
- selectorId: "med-rect-btf",
- type: "med_rect_btf"
- }
- ];
- } else if(document.documentElement.clientWidth >=768 && document.documentElement.clientWidth <=1365) { //desktop
- pwUnits = [{
- selectorId: "leaderboard-atf",
- type: "leaderboard_atf"
- },
- {
- selectorId: "leaderboard-btf",
- type: "leaderboard_btf"
- },
- {
- selectorId: "med-rect-atf",
- type: "med_rect_atf"
- },
- {
- selectorId: "med-rect-btf",
- type: "med_rect_btf"
- },
- {
- selectorId: "sky-btf",
- type: "sky_btf"
- }
- ];
- } else { //desktop
- pwUnits = [{
- selectorId: "leaderboard-atf",
- type: "leaderboard_atf"
- },
- {
- selectorId: "leaderboard-btf",
- type: "leaderboard_btf"
- },
- {
- selectorId: "med-rect-atf",
- type: "med_rect_atf"
- },
- {
- selectorId: "med-rect-btf",
- type: "med_rect_btf"
- },
- {
- selectorId: "sky-atf",
- type: "sky_atf"
- },
- {
- selectorId: "sky-btf",
- type: "sky_btf"
- }
- ];
- }
- }
- // function that is called when tyche is ready
- var loadUnits = function () {
- var timeout = 1500; // How long before calling ad units in ms
- if(document.documentElement.getAttribute("rel")=="optimized"){
- timeout = 0 // for optimzed pages
- }
- setTimeout(function () {
- tyche
- .addUnits(pwUnits)
- .then(function(){
- tyche.displayUnits();
- }).catch( function(e){
- tyche.displayUnits();
- console.log(e);
- });
- }, timeout);
- }
- tyche.onReady = function () { // attach function to tyche onReady
- loadUnits();
- }
- if(document.documentElement.getAttribute("rel")=="optimized"){
- Defer(function(){
- var pwScript = document.createElement("script");
- pwScript.type = "text/javascript";
- pwScript.src = "//cdn.intergi.com/hera/tyche.js";
- pwScript.async = true;
- document.getElementsByTagName("head")[0].appendChild(pwScript);
- },3000)
- }else{
- var pwScript = document.createElement("script");
- pwScript.type = "text/javascript";
- pwScript.src = "//cdn.intergi.com/hera/tyche.js";
- pwScript.async = true;
- document.getElementsByTagName("head")[0].appendChild(pwScript);
- }
- }
- </script>
- <script type="deferjs">
- var $elements_with_events = jQuery('.js-track');
- if($elements_with_events.length > 0) {
- $elements_with_events.each(function(){
- var action = typeof jQuery(this).data('action') !== 'undefined' ? jQuery(this).data('action') : 'click';
- jQuery(this).on(action, function(){
- var category, label;
- category = typeof jQuery(this).data('category') !== 'undefined' ? jQuery(this).data('category') : ( jQuery(this).text() || 'Unassigned' );
- label = typeof jQuery(this).data('label') !== 'undefined' ? jQuery(this).data('label') : ( jQuery(this).attr('class') || 'Unassigned' );
- trackEvent(category,'click',label);
- });
- });
- }
- </script>
- <title>Run 3 - Play it now at Coolmath Games</title><script type="application/json" data-drupal-selector="drupal-settings-json">{"path":{"baseUrl":"\/","scriptPath":null,"pathPrefix":"","currentPath":"node\/11697","currentPathIsAdmin":false,"isFront":false,"currentLanguage":"en"},"pluralDelimiter":"\u0003","suppressDeprecationErrors":true,"clientside_validation_jquery":{"validate_all_ajax_forms":2,"force_validate_on_blur":false},"cmg_sjpath":"\/sites\/default\/files\/cmatgame_games_with_levels.json?t=202109200935","cmatgame":{"language":"en","gamePlaylistCount":12987,"varViewPlayListText_1":"VIEW PLAYLISTS WITH THIS GAME","varGameInText_1":"THIS GAME IS IN","varPlayListText_1":"PLAYLISTS","flash_emulation":"3","html5embed":{"width":"800","height":"600","game":{"u":"sites\/default\/files\/games\/Run3-Coolmath-Adblocker-Fix-v2_0.zip"}},"swfembed":"","isSubscriptionActive":false},"lazy":{"lazysizes":{"lazyClass":"lazyload","loadedClass":"lazyloaded","loadingClass":"lazyloading","preloadClass":"lazypreload","errorClass":"lazyerror","autosizesClass":"lazyautosizes","srcAttr":"data-src","srcsetAttr":"data-srcset","sizesAttr":"data-sizes","minSize":40,"customMedia":[],"init":true,"expFactor":1.5,"hFac":0.8000000000000000444089209850062616169452667236328125,"loadMode":2,"loadHidden":true,"ricTimeout":0,"throttleDelay":125,"plugins":[]},"placeholderSrc":"","preferNative":false,"minified":true,"libraryPath":"\/libraries\/lazysizes"},"language":"en","lang_dropdown":{"lang-dropdown-form":{"key":"lang-dropdown-form"}},"form_placeholder":{"include":"","exclude":"","required_indicator":"append"},"ajaxTrustedUrl":{"form_action_p_pvdeGsVG5zNF_XLGPTvYSKCf43t8qZYSwcfZl2uzM":true},"user":{"uid":0,"permissionsHash":"10d61b137c4f914b655d7628788e0db136577254c17eb9fe2565b5c80c7820df"}}</script>
- <!--[if lte IE 8]>
- <script src="/sites/default/files/js/js_VtafjXmRvoUgAzqzYTA3Wrjkx9wcWhjP0G4ZnnqRamA.js" type="deferjs"></script>
- <![endif]-->
- <script src="/sites/default/files/js/js_ZkaPWqMUB-k7g3N3JEsqpnH8PdhwcXwJ57Agg5_QJJU.js" type="deferjs"></script>
- <!--fixes for defer issues on drupal core js--><script type="deferjs">Drupal.attachBehaviors();</script><!-- Google Tag Manager --><script type="deferjs">(function(w,d,s,l,i){
- cmg_gdpr_check = getCookie("GDPR");
- cmg_gdpr_all_check = getCookie("GDPR_All");
- cmg_gdpr_first_check = getCookie("GDPR_First");
- cmg_gdpr_reject_check = getCookie("GDPR_Reject");
- if(cmg_gdpr_check != null && ( ( cmg_gdpr_reject_check == null && cmg_gdpr_all_check == null && cmg_gdpr_first_check == null) || (cmg_gdpr_reject_check !== null ) ) ) {
- debugOut("gdpr country: stop analytics/GTM. "+new Date());
- if(window.location.host == "stage.coolmath-games.com" || window.location.host == "d8-dev.coolmathgames.com" || window.location.host == "dev.coolmath-games.com" || window.location.host == "dev.coolmathgames.com" || window.location.host == "dev2.coolmath-games.com" || window.location.host == "dev2.coolmathgames.com" || window.location.host == "dev3.coolmath-games.com" || window.location.host == "dev3.coolmathgames.com" || window.location.host == "d8-test-coolmathgames.local") {
- window['ga-disable-UA-1192998-21'] = true;
- } else {
- window['ga-disable-UA-1192998-2'] = true;
- }
- //Delete ga cookies, if they were set elsewhere
- var cookies = document.cookie.split(";");
- for (var i = 0; i < cookies.length; i++) {
- if(/_ga|_gid|usprivacy/.test(cookies[i].split("=")[0])) {
- setCookie2(cookies[i].split("=")[0], "", -1, ".coolmathgames.com");
- setCookie2(cookies[i].split("=")[0], "", -1, location.host);
- debugOut("Delete Analytics cookie "+cookies[i].split("=")[0]);
- }
- }
- }
- if (cmg_gdpr_check == null || (cmg_gdpr_check != null && cmg_gdpr_reject_check === null) ) {
- w[l]=w[l]||[];w[l].push({'gtm.start':
- new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
- j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
- 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
- }
- })(window,document,'script','dataLayer','GTM-WKRSNN8');
- function setCookie2(key, value, exptime, domain) {
- //document.cookie = key + '=' + value + ';';
- var d = new Date();
- d.setTime(d.getTime() + exptime);
- var expires = "expires=" + d.toUTCString();
- document.cookie = key + "=" + value + "; " + expires + "; path=/; domain=" +domain;
- }
- </script><!-- End Google Tag Manager --><script type="text/javascript">
- function getQParam(name) {
- var regexS = "[\\?&]" + name + "=([^&#]*)";
- var regex = new RegExp(regexS);
- var results = regex.exec(location.href);
- if (results === null) {
- return "";
- }
- return decodeURIComponent(results[1].replace(/\+/g, " "));
- }
- cmatgame_subscriber = getCookie("cmg_sx");
- if(getCookie("cmg_wl") !== null) {
- cmatgame_subscriber = getCookie("cmg_wl");
- }
- freeTrialUser = false;
- //TODO -- if freeTrialUser is needed in future
- //if(!schoolHours && targetStateUser && cmg_active_anonymous_user === null && cmatgame_editor === null) {
- // freeTrialUser = true;
- //}
- var adBlockDisplayed = false;
- window.addEventListener('load', (event) => {
- //debugOut("AdRecovery: check1 ");
- setTimeout(function () {
- //debugOut("AdRecovery: Delayed loading of btloader "+new Date());
- Defer.js('https://btloader.com/tag?o=5150306120761344&upapi=true', 'recovery', 1000);
- }, 3000);
- });
- </script><style type="text/css">
- .mobile-device .game-item.mobile-hide, .mobile-device .game-item.mobile-not-playable, .dtp-device .game-item.dtp-hide { display: none; }
- </style></head><body class="path-_-run-3 node-type-game node-11697 game-scalable html5 mobile-not-playable large-game-item not-active-user lang-default lang-en"><script type="text/javascript">
- (function ($) {
- $(document).ready(function () {
- cmg_gdpr_check = getCookie("GDPR");
- cmg_gdpr_all_check = getCookie("GDPR_All");
- cmg_gdpr_first_check = getCookie("GDPR_First");
- cmg_gdpr_reject_check = getCookie("GDPR_Reject");
- if (cmg_gdpr_check != null && cmg_gdpr_check == "true") {
- if (cmg_gdpr_all_check == null && cmg_gdpr_first_check == null && cmg_gdpr_reject_check == null) { // user is visiting our site firsttime from one of GDPR countries
- $("#yourCookieChoices").show();
- if(typeof remove_ads_from_free_game_pages == "function") {
- remove_ads_from_free_game_pages(); //$('.content-wrapper').css('pointer-events','default');
- }
- } else if (cmg_gdpr_all_check == null) { // user selected first party cookies or rejected all cookies so we need to remove ads
- if(typeof remove_ads_from_free_game_pages == "function") {
- remove_ads_from_free_game_pages();
- }
- var footerlink = '<li class="menu__item is-leaf last leaf"><a href="/cookie-choices" class="menu__link">Your Cookie Choices</a></li>';
- $(".footer-menu-column-0 .footer-menu").append(footerlink);
- // $('.content-wrapper').css('pointer-events','default');
- } else if (cmg_gdpr_all_check !== null) { // user accepted all cookies
- var footerlink = '<li class="menu__item is-leaf last leaf"><a href="/cookie-choices" class="menu__link">Your Cookie Choices</a></li>';
- $(".footer-menu-column-0 .footer-menu").append(footerlink);
- }
- }
- });
- }(jQuery));
- function closeCookieChoices() {
- var d = new Date();
- d.setTime(d.getTime() + (365 * 2 * 24 * 60 * 60 * 1000));
- var expires = "expires=" + d.toUTCString();
- document.cookie = "GDPR_All=true;" + expires + ";path=/";
- document.cookie = "GDPR_CHOICE=GDPR_All;" + expires + ";path=/";
- $("#yourCookieChoices").hide();
- var footerlink = '<li class="last leaf"><a href="/cookie-choices" class="menu__link">YOUR COOKIE CHOICES</a></li>';
- $(".footer-menu-column-0 ul.footer-menu").append(footerlink);
- }
- function acceptAllCookies() {
- var d = new Date();
- d.setTime(d.getTime() + (365 * 2 * 24 * 60 * 60 * 1000));
- var expires = "expires=" + d.toUTCString();
- document.cookie = "GDPR_All=true;" + expires + ";path=/";
- window.location = location.href;
- }
- function acceptFirstpartyCookies() {
- document.cookie = "GDPR_First=true" + ";path=/";
- window.location = location.href;
- }
- function rejectAllCookies() {
- document.cookie = "GDPR_Reject=true" + ";path=/";
- window.location = location.href;
- }
- </script><div class="dialog-off-canvas-main-canvas" data-off-canvas-main-canvas><style>
- .game-on-mobile .game-progress-status{ min-height: 32px;}
- </style><div class="page global-wrapper"><main class="mt-0"><header class="page__header d-none d-lg-block"><div class="branding container"><div class="row"><div class="other-sites-wrapper col-lg-3 d-none d-lg-block pl-0"><div class="panel-pane pane-block pane-bean-new-go-ad-free"><a id="cmg-goadfree" onclick="goadfree_event_handler()" href="#">Go Ad Free!</a></div><div class="pane-bean-cm-top"><div class="promo-msg"><span><a href="/0-papas-pizzeria" class="hover-effect"><span class="promo-img"><img src="/themes/custom/coolmath/assets/images/promos/pizza.png" alt="Papa's Pizzeria Is Back!" width="24" height="24"></span><span class="promo-content">Papa's Pizzeria is<br/>open for business!</span></a></span></div></div><div class="viewWebLang" style="display:none"><a href="#" class="viewLangBtn" onclick="cmg_view_default_lang_site(this);">View site in english</a></div></div><div class="logo-container col-7 col-lg-6 "><a href="/" title="Home" rel="home" class="site-branding__logo"><img src="/themes/custom/coolmath/logo.svg" alt="Home" class="logo svg" width="438" height="61"/></a></div><div class="right-header-block col-2 col-lg-3 pr-0"><!-- user-avatar-form.twig --><div class="welcome-box"><a href="/signup" class="btn free-account" title="Get a Free Account"><span class="avatar"></span><span class="badge"></span><span class="new">NEW</span><span class="getuserprofile">Get your user profile</span><span class="earn">FREE | Earn XP | Level Up</span></a></li><div class="login-link my-2 my-lg-0"><p>or
- <a href="/login" title="Log In" class="login">Log In</a></p></div></div></div></div></div><nav class="navbar navbar-expand-lg justify-content-between"><div class="container"><div class="navbar-container"><div class="settings-tray-editable block block--coolmath-desktopheadermenu" data-drupal-settingstray="editable"><div class="pane-menu-menu-desktop-header-menu"><div class="pane-content"><ul class="menu"><li class="menu_most popular menu__link"><a href="/1-popular-games" class="menu_most popular menu__link" data-drupal-link-system-path="entityqueue/home_popular">Most Popular</a></li><li class="menu_strategy menu__link"><a href="/1-strategy-games" class="menu_strategy menu__link" data-drupal-link-system-path="taxonomy/term/6">Strategy</a></li><li class="menu_skill menu__link"><a href="/1-skill-games" class="menu_skill menu__link" data-drupal-link-system-path="taxonomy/term/46">Skill</a></li><li class="menu_numbers menu__link"><a href="/1-number-games" class="menu_numbers menu__link" data-drupal-link-system-path="taxonomy/term/151">Numbers</a></li><li class="menu_logic menu__link"><a href="/1-logic-games" class="menu_logic menu__link" data-drupal-link-system-path="taxonomy/term/91">Logic</a></li><li class="menu_trivia menu__link"><a href="/trivia" class="menu_trivia menu__link" data-drupal-link-system-path="trivia">Trivia</a></li><li class="menu__item is-expanded expanded"><span class="menu_more menu__link nolink">More</span><div class="expandable-wrapper"><ul class="menu"><li class="nested"><a href="/1-classic-games" class="menu_classic menu__link" data-drupal-link-system-path="taxonomy/term/211">Classic</a></li><li class="nested"><a href="/1-word-games" class="menu_word games menu__link" data-drupal-link-system-path="taxonomy/term/1059">Word Games</a></li><li class="nested"><a href="/0-jigsaw-puzzles" class="menu_puzzles menu__link" data-drupal-link-system-path="0-jigsaw-puzzles">Puzzles</a></li><li class="nested"><a href="/1-memory-games" class="menu_memory menu__link" data-drupal-link-system-path="taxonomy/term/181">Memory</a></li><li class="nested"><a href="/1-geography-games" class="menu_geography menu__link" data-drupal-link-system-path="taxonomy/term/206">Geography</a></li><li class="nested"><a href="/1-science-games" class="menu_science menu__link" data-drupal-link-system-path="taxonomy/term/626">Science</a></li></ul></div></li><li class="menu_playlists menu__link"><a href="/1-playlists" class="menu_playlists menu__link" data-drupal-link-system-path="1-playlists">Playlists</a></li><li class="menu_random menu__link random-redirect"><a href="/random" class="menu_random menu__link random-redirect" data-drupal-link-system-path="random">Random!</a></li><li class="menu_unlocked menu__link"><a href="/1-daily-games" class="menu_unlocked menu__link" data-drupal-link-system-path="taxonomy/term/1056">Daily Games</a></li><li class="menu_allgames menu__link"><a href="/1-complete-game-list" class="menu_allgames menu__link" data-drupal-link-system-path="1-complete-game-list">All Games A-Z</a></li></ul></div></div></div><div class="panel-pane pane-block pane-cmatgame-search-search-game"><div id="cmatgame-search-block-form"><div class="form-item"><label for="edit-search-bar">Search bar </label><input placeholder="Search by game name" type="text" name="search_bar" value="" size="60" maxlength="128" class="form-text menu-search-bar" style="display: none; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px;"><div id="close-search-box" style="display: none;">X</div></div><div class="search-results-container" style="display: none;"></div></div></div></div></div></nav></header><header class="page__header page__header_mobile d-lg-none"><div class="container-fluid"><div class="row"><div class="logo-container-mobile col-12 text-center"><a href="/" title="Home" rel="home" class="site-branding__logo"><img src="/themes/custom/coolmath/logo.svg" alt="Home" class="logo svg" width="438" height="61" /></a></div></div></div><nav class="navbar"><div class="navbar-inner"><button class="navbar-toggler" type="button"><span class="bar first"></span><span class="bar second"></span><span class="bar third"></span></button><div class="menu-overlay"></div><div class="navbar-container"><div class="mobile-menu-items"><div class="mi-title"><strong>Search</strong></div><div class="cmatgame-search-game pane-cmatgame-search-search-game"><div id="cmatgame-search-block-form"><div class="form-item"><label for="edit-search-bar">Search bar </label><input placeholder="Search by game name" type="text" name="search_bar" value="" size="60" maxlength="128" class="form-text menu-search-bar" style="display: none; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px;"><div id="close-search-box" style="display: none;">X</div></div><div class="search-results-container" style="display: none;"></div></div></div><div class="mi-title"><strong>Browse</strong></div><div class="settings-tray-editable block block--coolmath-desktopheadermenu" data-drupal-settingstray="editable"><div class="pane-menu-menu-desktop-header-menu"><div class="pane-content"><ul class="menu"><li class="menu_most popular menu__link"><a href="/1-popular-games" class="menu_most popular menu__link" data-drupal-link-system-path="entityqueue/home_popular">Most Popular</a></li><li class="menu_strategy menu__link"><a href="/1-strategy-games" class="menu_strategy menu__link" data-drupal-link-system-path="taxonomy/term/6">Strategy</a></li><li class="menu_skill menu__link"><a href="/1-skill-games" class="menu_skill menu__link" data-drupal-link-system-path="taxonomy/term/46">Skill</a></li><li class="menu_numbers menu__link"><a href="/1-number-games" class="menu_numbers menu__link" data-drupal-link-system-path="taxonomy/term/151">Numbers</a></li><li class="menu_logic menu__link"><a href="/1-logic-games" class="menu_logic menu__link" data-drupal-link-system-path="taxonomy/term/91">Logic</a></li><li class="menu_trivia menu__link"><a href="/trivia" class="menu_trivia menu__link" data-drupal-link-system-path="trivia">Trivia</a></li><li class="menu__item is-expanded expanded"><span class="menu_more menu__link nolink">More</span><div class="expandable-wrapper"><ul class="menu"><li class="nested"><a href="/1-classic-games" class="menu_classic menu__link" data-drupal-link-system-path="taxonomy/term/211">Classic</a></li><li class="nested"><a href="/1-word-games" class="menu_word games menu__link" data-drupal-link-system-path="taxonomy/term/1059">Word Games</a></li><li class="nested"><a href="/0-jigsaw-puzzles" class="menu_puzzles menu__link" data-drupal-link-system-path="0-jigsaw-puzzles">Puzzles</a></li><li class="nested"><a href="/1-memory-games" class="menu_memory menu__link" data-drupal-link-system-path="taxonomy/term/181">Memory</a></li><li class="nested"><a href="/1-geography-games" class="menu_geography menu__link" data-drupal-link-system-path="taxonomy/term/206">Geography</a></li><li class="nested"><a href="/1-science-games" class="menu_science menu__link" data-drupal-link-system-path="taxonomy/term/626">Science</a></li></ul></div></li><li class="menu_playlists menu__link"><a href="/1-playlists" class="menu_playlists menu__link" data-drupal-link-system-path="1-playlists">Playlists</a></li><li class="menu_random menu__link random-redirect"><a href="/random" class="menu_random menu__link random-redirect" data-drupal-link-system-path="random">Random!</a></li><li class="menu_unlocked menu__link"><a href="/1-daily-games" class="menu_unlocked menu__link" data-drupal-link-system-path="taxonomy/term/1056">Daily Games</a></li><li class="menu_allgames menu__link"><a href="/1-complete-game-list" class="menu_allgames menu__link" data-drupal-link-system-path="1-complete-game-list">All Games A-Z</a></li></ul></div></div></div><!-- user-avatar-form.twig --><div class="welcome-box"><a href="/signup" class="btn free-account" title="Get a Free Account"><span class="avatar"></span><span class="badge"></span><span class="new">NEW</span><span class="getuserprofile">Get your user profile</span><span class="earn">FREE | Earn XP | Level Up</span></a></li><div class="login-link my-2 my-lg-0"><p>or
- <a href="/login" title="Log In" class="login">Log In</a></p></div></div></div></div></div></nav></header><div class="page__content"><div class="game-container"><div class="row leaderboard"><div class="col-12"><div id="block-coolmath-adstop-otherpage-728x90" class="settings-tray-editable block block-cmatgame-core block-adstop-otherpage-728x90" data-drupal-settingstray="editable"><div class="view-content"><div class="item-list"><div class="panel-pane pane-block pane-cmatgame-advertisement-cm-g-otherpages-728-90"><div class="ad-wrapper"><!-- 728 x 90 ATF Desktop --><div id="leaderboard-atf"></div></div></div></div></div></div></div></div><div class="row pb-3 mr-lg-5"><div class="main-col col-sm-12 col-md-12 col-lg-9 col-xl-9 pl-lg-0"><a id="main-content" tabindex="-1"></a><div class="inside"><div data-drupal-messages-fallback class="hidden"></div><div id="block-coolmath-breadcrumbs" class="settings-tray-editable block block-system block-system-breadcrumb-block" data-drupal-settingstray="editable"><div class="view-content"></div></div><div id="block-coolmath-page-title" class="block block-core block-page-title-block"><div class="view-content"><div class="cmatgame-title"><h1 class="pane-title"><span><span>Run 3</span></span></h1></div><div id='thumbsup'><span id='thumbsuplike_message'></span><span class='thumbsupmessage'></span><div class="like-container-entity-node" id="like-container-11697"><div class="like inline float-left"><input type='hidden' id='thumbsvote' value="false"/><a href="javascript:;" nodeid="11697" class="enable entity-node"><img src="/modules/custom/cmatgame_core/images/thumbs_up_white.png" width="22" height="23" alt="Like" title="Like" class="entity-node"></a></div></div><div class="dislike-container-entity-node" id="dislike-container-11697"><div class="dislike inline float-left"><input type='hidden' id='thumbsvote' value="false"/><a href="javascript:;" nodeid="11697" class="enable entity-node"><img src="/modules/custom/cmatgame_core/images/thumbs_down_white.png" width="22" height="23" alt="Dislike" title="Dislike" class="entity-node"></a></div></div><input type="hidden" id="gamerating" name="gamerating" value=""/><input type="hidden" id="percentlike_vote" name="percentlike_vote" value="yes"/></div></div></div><div id="block-coolmath-coolmath-system-main" class="block block-system block-system-main-block"><div class="view-content"><div class="d-none d-lg-block game-on_device game-on-desktop"><div class="like-block mb-4"><div id="block-coolmath-carouselingamedetailpage" class="settings-tray-editable block block-cmatgame-core block-gamedetailcarousel" data-drupal-settingstray="editable"><div class="view-content"><div class="pane-game-details-carousel-game-detail"><div class='view-display-id-carousel_game_detail'><div class='view-header'><p>You'll Also Like...</p></div><div class='view-content'><div><div class='bx-wrapper jcarousel-wrapper'><div class='jcarousel'><ul><li style="display:none;" class="bxslider-views-slideshow-main-frame-row mobile-hidden"><div class="game-item mobile-not-playable"><div class="game-link-wrapper"><a href="/0-powerline-io?utm_content=CTA_You_Will_Also_Like"><div class="field-image"><img src="/modules/custom/cmatgame_core/images/1x1.png" width="83" height="50" alt="Powerline.io Game" title="Powerline.io" data-src="/sites/default/files/styles/thumbnail_small/public/game_thumbnail/powerline-io-game-logo_2.png?itok=MrZUk6sS" class="lazyload img-fluid" typeof="foaf:Image" /></div><h5 class="game-title"><span class="overlay"></span><span class="title-on-overlay">Powerline</span></h5></a></div></div></li><li style="display:none;" class="bxslider-views-slideshow-main-frame-row mobile-hidden"><div class="game-item mobile-not-playable"><div class="game-link-wrapper"><a href="/0-run?utm_content=CTA_You_Will_Also_Like"><div class="field-image"><img src="/modules/custom/cmatgame_core/images/1x1.png" width="83" height="50" alt="Run Game" title="Run" data-src="/sites/default/files/styles/thumbnail_small/public/game_thumbnail/game-logo-run.gif?itok=tJ3S1KBf" class="lazyload img-fluid" typeof="foaf:Image" /></div><h5 class="game-title"><span class="overlay"></span><span class="title-on-overlay">Run</span></h5></a></div></div></li><li style="display:none;" class="bxslider-views-slideshow-main-frame-row mobile-hidden"><div class="game-item mobile-not-playable"><div class="game-link-wrapper"><a href="/0-run-2?utm_content=CTA_You_Will_Also_Like"><div class="field-image"><img src="/modules/custom/cmatgame_core/images/1x1.png" width="83" height="50" alt="Run 2 Game" title="Run 2" data-src="/sites/default/files/styles/thumbnail_small/public/game_thumbnail/game-logo-run-2.gif?itok=OUON_qjA" class="lazyload img-fluid" typeof="foaf:Image" /><span class="icon-gamethumbnail-carousel"></span></div><h5 class="game-title"><span class="overlay"></span><span class="title-on-overlay">Run 2</span></h5></a></div></div></li><li style="display:none;" class="bxslider-views-slideshow-main-frame-row "><div class="game-item "><div class="game-link-wrapper"><a href="/0-snake?utm_content=CTA_You_Will_Also_Like"><div class="field-image"><img src="/modules/custom/cmatgame_core/images/1x1.png" width="83" height="50" alt="Snake Game" title="Snake" data-src="/sites/default/files/styles/thumbnail_small/public/game_thumbnail/snake-game-logo_0.png?itok=W3gOxqtt" class="lazyload img-fluid" typeof="foaf:Image" /></div><h5 class="game-title"><span class="overlay"></span><span class="title-on-overlay">Snake</span></h5></a></div></div></li><li style="display:none;" class="bxslider-views-slideshow-main-frame-row "><div class="game-item "><div class="game-link-wrapper"><a href="/0-60-second-burger-run?utm_content=CTA_You_Will_Also_Like"><div class="field-image"><img src="/modules/custom/cmatgame_core/images/1x1.png" width="83" height="50" alt="60 Second Burger Run Game" title="60 Second Burger Run" data-src="/sites/default/files/styles/thumbnail_small/public/game_thumbnail/game-logo-60-second-burger-run.gif?itok=MB4wDejP" class="lazyload img-fluid" typeof="foaf:Image" /></div><h5 class="game-title"><span class="overlay"></span><span class="title-on-overlay">60 Second Burger Run</span></h5></a></div></div></li><li style="display:none;" class="bxslider-views-slideshow-main-frame-row "><div class="game-item "><div class="game-link-wrapper"><a href="/0-space-is-key?utm_content=CTA_You_Will_Also_Like"><div class="field-image"><img src="/modules/custom/cmatgame_core/images/1x1.png" width="83" height="50" alt="Space Is Key Game" title="Space Is Key" data-src="/sites/default/files/styles/thumbnail_small/public/game_thumbnail/game-logo-space-is-key.gif?itok=M9eX-2Yj" class="lazyload img-fluid" typeof="foaf:Image" /></div><h5 class="game-title"><span class="overlay"></span><span class="title-on-overlay">Space Is Key</span></h5></a></div></div></li><li style="display:none;" class="bxslider-views-slideshow-main-frame-row "><div class="game-item "><div class="game-link-wrapper"><a href="/0-space-is-key-2?utm_content=CTA_You_Will_Also_Like"><div class="field-image"><img src="/modules/custom/cmatgame_core/images/1x1.png" width="83" height="50" alt="Space Is Key 2 Game" title="Space Is Key 2" data-src="/sites/default/files/styles/thumbnail_small/public/game_thumbnail/game-logo-space-is-key-2.gif?itok=6AoJCQhw" class="lazyload img-fluid" typeof="foaf:Image" /></div><h5 class="game-title"><span class="overlay"></span><span class="title-on-overlay">Space Is Key 2</span></h5></a></div></div></li><li style="display:none;" class="bxslider-views-slideshow-main-frame-row "><div class="game-item "><div class="game-link-wrapper"><a href="/0-space-is-key-ultimate-challenge?utm_content=CTA_You_Will_Also_Like"><div class="field-image"><img src="/modules/custom/cmatgame_core/images/1x1.png" width="83" height="50" alt="Space is Key: Ultimate Challenge Game" title="Space is Key: Ultimate Challenge" data-src="/sites/default/files/styles/thumbnail_small/public/game_thumbnail/space-is-key-ultimate-challenge-logo.png?itok=fpldC-Su" class="lazyload img-fluid" typeof="foaf:Image" /></div><h5 class="game-title"><span class="overlay"></span><span class="title-on-overlay">Space is Key Ultimate</span></h5></a></div></div></li><li style="display:none;" class="bxslider-views-slideshow-main-frame-row mobile-hidden"><div class="game-item mobile-not-playable"><div class="game-link-wrapper"><a href="/0-potatoman-seeks-the-troof?utm_content=CTA_You_Will_Also_Like"><div class="field-image"><img src="/modules/custom/cmatgame_core/images/1x1.png" width="83" height="50" alt="Potatoman Seeks the Troof Game" title="Potatoman Seeks the Troof" data-src="/sites/default/files/styles/thumbnail_small/public/game_thumbnail/potatoman-seeks-the-troof-game-logo.png?itok=CTyA2AEx" class="lazyload img-fluid" typeof="foaf:Image" /><span class="icon-gamethumbnail-carousel"></span></div><h5 class="game-title"><span class="overlay"></span><span class="title-on-overlay">Potatoman Seeks the Troof</span></h5></a></div></div></li><li style="display:none;" class="bxslider-views-slideshow-main-frame-row mobile-hidden"><div class="game-item mobile-not-playable"><div class="game-link-wrapper"><a href="/0-run-3-flash?utm_content=CTA_You_Will_Also_Like"><div class="field-image"><img src="/modules/custom/cmatgame_core/images/1x1.png" width="83" height="50" alt="Run 3 - Flash Version Game" title="Run 3 - Flash Version" data-src="/sites/default/files/styles/thumbnail_small/public/game_thumbnail/run-3-game-logo.png?itok=Jrwbbebu" class="lazyload img-fluid" typeof="foaf:Image" /><span class="icon-gamethumbnail-carousel"></span></div><h5 class="game-title"><span class="overlay"></span><span class="title-on-overlay">Run 3 - Flash Version</span></h5></a></div></div></li></ul></div><div class="bx-controls-direction1"><a href="#" class="jcarousel-control-prev">‹</a><a href="#" class="jcarousel-control-next">›</a></div></div></div></div></div></div></div></div></div><div class="btn-container"><a href="/playlists/0-run-3" class="btn btn-primary btn-md mb-2 playlist-count">This Game is in Playlists</a></div><div id="block-system-main" class="mt-3"><script type="deferjs">
- (function ($, Drupal) {
- $(document).ready(function () {
- var gamePlaylistCount = drupalSettings.cmatgame.gamePlaylistCount;
- var varViewPlayListText_1 = drupalSettings.cmatgame.varViewPlayListText_1;
- var varPlayListText_1 = drupalSettings.cmatgame.varPlayListText_1;
- var varGameInText_1 = drupalSettings.cmatgame.varGameInText_1;
- if (gamePlaylistCount > 0) {
- var playlistMessage = "";
- if (gamePlaylistCount > 0 && gamePlaylistCount<= 9) {
- playlistMessage = varViewPlayListText_1;
- } else if(gamePlaylistCount >= 10 && gamePlaylistCount < 100) {
- gamePlaylistCount = parseInt(gamePlaylistCount / 10) * 10;
- playlistMessage = varGameInText_1+ " " + gamePlaylistCount + "+ "+varPlayListText_1;
- } else if (gamePlaylistCount >= 100 && gamePlaylistCount < 9999) {
- gamePlaylistCount = parseInt(gamePlaylistCount / 100) * 100;
- playlistMessage = varGameInText_1+ " " + gamePlaylistCount + "+ "+varPlayListText_1;
- } else {
- playlistMessage = varGameInText_1+" 9999+ "+varPlayListText_1;
- }
- $(".playlist-count").html(playlistMessage);
- $(".playlist-count").prependTo('.d-lg-block .block-gamedetailcarousel');
- $(".playlist-count").show();
- }
- });
- })(jQuery, Drupal);
- </script><article data-history-node-id="11697" role="article" about="/0-run-3" class="node node-game node--view-mode-full clearfix game-w-summary game-field-wrapper"><header></header><script type="deferjs">
- if (typeof signupPromoTop !== 'undefined' && signupPromoTop !== '') {
- signupContainerTop = '<div class="signup-container-top"><a href="/subscribe/2efa4bc4" onclick="preroll_signup_top_handler();">' + signupPromoTop + '</a></div>';
- } else {
- signupPromoTop = '';
- signupContainerTop = '<div class="signup-container-top"><a href="/subscribe/2efa4bc4" onclick="preroll_signup_top_handler();">' + signupPromoTop + '</a></div>';
- }
- if (typeof signupPromoBottom !== 'undefined' && signupPromoBottom !== '') {
- signupContainerBottom = '<div class="signup-container-bottom"><a href="/subscribe/2efa4bc4" onclick="preroll_signup_bottom_handler();">' + signupPromoBottom + '</a></div>';
- } else {
- signupPromoBottom = '';
- signupContainerBottom = '<div class="signup-container-bottom"><a href="/subscribe/2efa4bc4" onclick="preroll_signup_bottom_handler();">' + signupPromoBottom + '</a></div>';
- }
- function preroll_signup_top_handler() {
- trackEvent('Preroll Signup Clicked', 'Preroll Signup Top', document.title);
- }
- function preroll_signup_bottom_handler() {
- trackEvent('Preroll Signup Clicked', 'Preroll Signup Bottom', document.title);
- }
- </script><script type="application/ld+json">
- [
- {
- "@context": "https://schema.org",
- "@type": "WebApplication",
- "name": "Run 3",
- "url": "https://www.coolmathgames.com//0-run-3",
- "author": {
- "@type": "Organization",
- "name": "Coolmath games"
- },
- "description":"Complete the Run trilogy! Explore hundreds of new levels in a huge new galaxy. Ready... set... GO!\r\n",
- "applicationCategory": "Game",
- "operatingSystem": "any",
- "screenshot": {
- "@type": "ImageObject",
- "thumbnailUrl": "https://www.coolmathgames.com//sites/default/files/run-3.png"
- },
- "aggregateRating":{
- "@type":"AggregateRating",
- "worstRating":1,
- "bestRating":5,
- "ratingValue":4.7,
- "ratingCount":2699730
- },
- "offers": {
- "@type": "Offer",
- "category": "free",
- "price": 0,
- "priceCurrency": "USD"
- }
- },
- {
- "@context": "https://schema.org",
- "@type": "VideoGame",
- "name": "Run 3",
- "url": "https://www.coolmathgames.com//0-run-3",
- "author": {"@type": "Organization", "name": "Coolmath games"},
- "description":"Complete the Run trilogy! Explore hundreds of new levels in a huge new galaxy. Ready... set... GO!\r\n",
- "applicationCategory": "Game",
- "operatingSystem": "any",
- "gamePlatform": "any",
- "genre": "Platformer Games",
- "screenshot": {"@type": "ImageObject", "thumbnailUrl": "https://www.coolmathgames.com//sites/default/files/run-3.png"},
- "aggregateRating":{"@type":"AggregateRating", "worstRating":1, "bestRating":5, "ratingValue":4.7, "ratingCount":2699730 },
- "offers": {"@type": "Offer", "category": "free", "price": 0, "priceCurrency": "USD"}
- } ]
- </script><div class="node__content clearfix field-item"><div class="no-flash-overlay-mobile" style="display:none;"><p><strong>Sorry... this game is not playable in your browser.</strong></p></div><div id="no-flash-overlay" style="display:none;"><a href="http://www.adobe.com/go/getflashplayer" target="_blank"><img class="lazylad" src="/modules/custom/cmatgame_core/images/1x1.png" data-src="/themes/custom/coolmath/assets/images/enable-flash-chrome.png" alt="click to enable flash"/></a></div><div id="does-not-support-ie" style="display:none;"></div><div id="newFlashDetectHtml" style="display:none;"><div class="row"><div class="col-md-12 flashIntroTxt"><img src="/sites/default/files/run-3.png" border="0" class="flashNotFoundImgStyle"></div></div><div class=""><div class=" flashIntroTxtImg"><img class="lazyload" src="/modules/custom/cmatgame_core/images/1x1.png" data-src="/themes/custom/coolmath/assets/images/cmatgameimages/flash-page-message-with-robot.png"></div></div><div class="row"><div class="related-game-block"><div class="block block-cmatgame-playlist block-related-game-block"><div class="view-content"><div class="views-element-container flashContainerList"><div class="common-title"><span class="title-with-button"><div><span style='font-family: "CCSmash";font-size: 1.125rem;line-height: 1.375rem;text-transform: none;'>In the meantime, related games you might love:</span></div></span></div><div class="view-content"><div><div class="pane-content js-view-dom-id-7140079e46f72a7c8e6b9ad1e953026a1b15c1da48b375d7a4ff28c1c4bdc940"><div class="views-row"><div class="game-item"><div class="game-link-wrapper"><a href="/0-powerline-io"><div class="field-image"><img src="/modules/custom/cmatgame_core/images/1x1.png" data-src="https://www.coolmathgames.com/sites/default/files/game_thumbnail/powerline-io-game-logo_2.png" width="83" height="50" alt="Powerline.io" title="Powerline.io" class="imgList lazyload" typeof="foaf:Image"></div><h3 class="game-title">Powerline.io</h3></a></div><div class="game-item-description"><div class="field-body"><p>Earn XP and Achievements in multiplayer Snake!</p></div></div></div><div class="game-item"><div class="game-link-wrapper"><a href="/0-run"><div class="field-image"><img src="/modules/custom/cmatgame_core/images/1x1.png" data-src="https://www.coolmathgames.com/sites/default/files/game_thumbnail/game-logo-run.gif" width="83" height="50" alt="Run" title="Run" class="imgList lazyload" typeof="foaf:Image"></div><h3 class="game-title">Run</h3></a></div><div class="game-item-description"><div class="field-body"><p>Classic Run... now remastered in 3D!</p></div></div></div><div class="game-item"><div class="game-link-wrapper"><a href="/0-run-2"><div class="field-image"><img src="/modules/custom/cmatgame_core/images/1x1.png" data-src="https://www.coolmathgames.com/sites/default/files/game_thumbnail/game-logo-run-2.gif" width="83" height="50" alt="Run 2" title="Run 2" class="imgList lazyload" typeof="foaf:Image"></div><h3 class="game-title">Run 2</h3></a></div><div class="game-item-description"><div class="field-body"><p>Intense wall-jumping fun in a 3D obstacle course!</p></div></div></div><div class="game-item"><div class="game-link-wrapper"><a href="/0-snake"><div class="field-image"><img src="/modules/custom/cmatgame_core/images/1x1.png" data-src="https://www.coolmathgames.com/sites/default/files/game_thumbnail/snake-game-logo_0.png" width="83" height="50" alt="Snake" title="Snake" class="imgList lazyload" typeof="foaf:Image"></div><h3 class="game-title">Snake</h3></a></div><div class="game-item-description"><div class="field-body"><p>Eat the apples. How long can you survive?</p></div></div></div></div></div></div></div></div></div></div></div></div></div><div id="big-screen-container" class="big-screen-container-class" style="display:none;"><div class="big-screen-head row"><div class="bs-head-logo col-md-2"><img class="lazyload" src="/modules/custom/cmatgame_core/images/1x1.png" data-src="/themes/custom/coolmath/assets/images/full-screen/cool-math-logo.png"></div><div class="bs-head-txt col-md-9">Premium Gaming Without Distractions</div><div class=" col-md-1"><div class="bs-close-button"><a href="#" class="bs-close-btn" onclick="bigscreen_overlay_promo_close_handler(); return false;">X</a></div></div></div><div class="mid-big-section-head "><div class="row"><div class="col-md-12"><div class="h2 get-premium"><span>Get Premium Big Screen Mode</span></div></div><div class="col-md-12"><div class="h3 *unlimited"><span>Unlimited Big Screen Gaming & More!<span></div></div></div><div class="img-container-big-screen row"><div class="image-bs-sample col-md-5"><div class="h2 from-this"><span>From This</span></div><img class="lazyload" src="/modules/custom/cmatgame_core/images/1x1.png" data-src="/themes/custom/coolmath/assets/images/full-screen/BigScreen-small.png"></div><div class="image-bs-sample col-md-7"><div class="h2 to-this"><span>
- To this
- </span></div><img class="lazyload" src="/modules/custom/cmatgame_core/images/1x1.png" data-src="/themes/custom/coolmath/assets/images/full-screen/bigscreen-big.png"></div></div><div><div class="bs-footer-link"><a href="/premium-access/6ea95de6" onclick="bigscreen_overlay_promo_signup_handler(); return false;"><img class="lazyload" src="/modules/custom/cmatgame_core/images/1x1.png" data-src="/themes/custom/coolmath/assets/images/full-screen/get-premium-btn.png"></a></div><div class="bs-learn-more"><a href="/premium-benefits" onclick="bigscreen_overlay_promo_more_handler(); return false;" class="bs-lrn-more">Learn More</a></div><div class="bs-no-thks"><a href="" class="bs-lnk-lrn-more" onclick="bigscreen_overlay_promo_close_handler(); return false;">No, Thanks. I just want to play games right now.</a></div></div></div></div><div id="id-adfree-marketing-campaign" class="adfree-marketing-campaign" style="display:none;"><div class="big-screen-head row"><div class="bs-head-logo col-md-2"><img class="lazyload" src="/modules/custom/cmatgame_core/images/1x1.png" data-src="/themes/custom/coolmath/assets/images/full-screen/cool-math-logo.png"></div><div class="bs-head-txt col-md-8">Get Premium Distraction Free Gaming!</div><div class="col-md-2"><div class="bs-close-button"><a href="#" class="bs-close-btn" onclick="adfree_marketing_overlay_promo_close_handler(); return false;">X</a></div></div></div><div class="mid-big-section-head adfree-mid-section-marketing-campaign"><div class="mkt-container-co row"><div class="mkt-container1 col-md-5"><img src="/themes/custom/coolmath/assets/images/full-screen/ad-free-icon-up.png"></div><div class="ad-free-txt col-md-5"><span class="sup-bold">AD-FREE:</span>
- The best gaming experience!</div></div><div class="img-container-big-screen row"><div class="" style="padding-left:10px;"><div class="image-bs-sample"><img src="/themes/custom/coolmath/assets/images/full-screen/no-waiting-up.png"></div><div class="no-waiting-txt"><div class="sup-bold-2">No Waiting:</div>
- Skip Immediately to the Game</div></div><div class="" style="padding-left:10px;"><div class="image-bs-sample"><img src="/themes/custom/coolmath/assets/images/full-screen/reduce-leg-up.png"></div><div class="no-waiting-txt"><div class="sup-bold-2">Reduced Lag:</div>
- Faster, Cleaner Gaming</div></div></div><div class="better-focus-container "><div class="image-better-focus"><img src="/themes/custom/coolmath/assets/images/full-screen/better-focus-up.png"></div><div class="no-waiting-txt "><div class="sup-bold-2">Better Focus:</div>
- Stay Game-Concentrated</div><div class="all-excl-txt">And More Exclusive features for Premium Members!</div></div><div class="marketing-cmpn-footer"><div class="bs-footer-link"><a href="/premium-access/b2df5a33" target="_blank" onclick="adfree_marketing_overlay_promo_signup_handler(); return false;"><img class="lazyload" src="/modules/custom/cmatgame_core/images/1x1.png" data-src="/themes/custom/coolmath/assets/images/full-screen/get-premium-btn.png"></a></div><div class="bs-learn-more"><a href="/premium-benefits" target="_blank" onclick="adfree_marketing_overlay_promo_more_handler(); return false;" class="bs-lrn-more">Learn More</a></div><div class="bs-no-thks"><a href="" class="bs-lnk-lrn-more" onclick="adfree_marketing_overlay_promo_close_handler(); return false;">No, Thanks. I just want to play games right now.</a></div></div></div></div><div id="playlist-marketing-container-id"></div><div class="field-game" id="swfgamewrapper"><iframe1 class="square no-select" width="800px" height="600px" src="https://www.coolmathgames.com/0-run-3/play" frameborder="0" id="html5game" scrolling="no" sandbox="allow-scripts allow-same-origin allow-modals"></iframe1></div><script type="deferjs">
- var browser = (function () {
- var test = function (regexp) {
- return regexp.test(window.navigator.userAgent)
- }
- switch (true) {
- case test(/edg/i):
- return "Microsoft Edge";
- case test(/trident/i):
- return "Microsoft Internet Explorer";
- case test(/firefox|fxios/i):
- return "Mozilla Firefox";
- case test(/opr\//i):
- return "Opera";
- case test(/ucbrowser/i):
- return "UC Browser";
- case test(/samsungbrowser/i):
- return "Samsung Browser";
- case test(/chrome|chromium|crios/i):
- return "Google Chrome";
- case test(/safari/i):
- return "Apple Safari";
- default:
- return "Other";
- }
- })();
- jQuery(document).ready(function () {
- if (typeof drupalSettings != "undefined" && typeof drupalSettings.cmatgame != "undefined" && typeof drupalSettings.cmatgame.flash_emulation != "undefined" && drupalSettings.cmatgame.flash_emulation === "2" && ( /mediatek/i.test(navigator.userAgent) || /aarch64/i.test(navigator.userAgent) ) ) {
- jQuery('html').addClass('mediatek');
- }
- });
- // user profile related variables
- gameId = 11697;
- is_level_based = 0;
- level_offset = 0;
- xp_per_level = 10;
- doesnotie = 0;
- flashemulation = '';
- iframed_game_url = '';
- cmatgame_premium_free_game_limit_days = '180';
- fastly_frontend_domain = 'https://www.coolmathgames.com';
- stripe_subscription_free_trial_group_token = 'b2df5a33';
- destination = '/0-run-3';
- var userprofile_level_xp = "100,200,250,300,350,400,450,500,550,625,700,775,850,925,1000,1075,1150,1225,1300,1375,1450,1525,1600,1700,1800,1900,2000,2100,2200,2300,2400,2500,2600,2700,2800,2900,3000,3100,3200,3300,3400,3500,3600,3700,3800,3900,4000,4100,4200,4300,4400,4500,4600,4700,4800,4900,5000,5100,5200,5300,5400,5500,5600,5700,5800,5900,6000,6100,6200,6300,6400,6500,6600,6700,6800,6900,7000,7100,7200,7300,7400,7500,7600,7700,7800,7900,8000,8100,8200,8300,8400,8500,8600,8700,8800,8900,9000,9100,9200,10000";
- userprofile_level_xpData = userprofile_level_xp.split(",");
- incrementedTotalPlays = false;
- lastKeyBoardorMouseActivityTime = Date.now();
- workerstatusvar = "notstartedinit";
- supportCMGDefault = false; // disable a/b test
- supportCMGABTest = false;
- supportCMGABTestImage1 = false;
- supportCMGABTestImage2 = false;
- supportCMGABTestImage3 = false;
- // define all the marketing promo values to false if they are not defined before
- if (typeof watchAdtoUnlockGame == "undefined") {
- watchAdtoUnlockGame = false;
- }
- if (typeof displayAdblockOverlay == "undefined") {
- displayAdblockOverlay = false;
- }
- if (typeof supportCMG == "undefined") {
- supportCMG = false;
- }
- if (typeof premiumAvatarGame == "undefined") {
- premiumAvatarGame = false;
- }
- gamesPlayed = parseInt(localStorage.getItem('gamesPlayed') || 0);
- cmg_stop_truex_promo = "";
- truex_overlay_preroll_ad_display = false;
- // Big-screen promo games clss-2990
- //bs_promo_pages = /(0-(2048|awesome-planes|awesome-tanks-2|battlecoast|snake|big-ice-tower-tiny-square|big-tower-tiny-square|bloons-tower-defense-3|bob-the-robber|burrito-bison|cannon-basketball-4|choppy-orc|circloo|circloo-2|dolphin-olympics|dolphin-olympics-2|duck-life|duck-life-2-world-champion|duck-life-3-evolution|duck-life-4|duck-life-treasure-hunt|emperors-on-ice|idle-breakout|just-one-boss|learn-to-fly|learn-to-fly-2|learn-to-fly-3|learn-to-fly-idle|mainlands-wars|overlords-new-mansion|papas-freezeria|parking-fury-2|pre-civilization-bronze-age|raft-wars|raft-wars-2|retro-ping-pong|run-3|start-powerless|stickman-swing|the-sun-for-the-vampire|the-sun-for-the-vampire-2|the-sun-for-the-vampire-3|table-tanks|tail-of-the-dragon|the-final-earth|the-final-earth-2|tic-tac-toe|tower-of-destiny|toy-defense|truck-loader-4|wiz|wonderputt|worlds-hardest-game|worlds-hardest-game-2|worlds-hardest-game-3|8-ball-pool|archery-world-tour|awesome-tanks|mainlands-wars|big-tower-tiny-square|handulum|raft-wars|run-3|the-sun-for-the-vampire|tower-of-destiny|wonderputt|papas-freezeria|raft-wars))/;
- bs_promo_pages = /999999/;
- // ad free marketing pages clss-3014
- // adfreeMktPages = /(0-(4-in-a-row|60-second-burger-run|apple-worm|arcade-golf-neon|basketball-master-2|black-and-white|bloxorz|bob-the-robber-to-go|candy-jump|cannon-basketball-2|cannon-basketball-3|chef-slash|chrome|color-pipes|crazy-eights|crazy-taxi-m122|cube-flip|cubeform|diggy|divide|emerald-and-amber|factory-balls-forever|get-to-the-other-side|gravity-control|hefty-shaman|idle-dice|interstate-drifter-1999|jellybots|jumpless-world|jumpnull|kirigami|lemonade-stand|loop-path|mow-it|ovo|papa-louie-2-when-burgers-attack|papa-louie-3-when-sundaes-attack|parking-fury-3|parkingmania|parking-mania-2|push-your-luck|puzzle-ball|rabbit-samurai|rabbit-samurai|red-ball-4|roller-baller|stranded-isle|sudoku|super-ordinary-joe|there-is-no-game|word-search|crazy-taxi-m12))/;
- adfreeMktPages = /999999/;
- // avatarMktPages
- // CmgDefault not having games clss-3020
- //cmgDefaultGameUrl = /(0-(fireboy|4-in-a-row|60-second-burger-run|apple-worm|arcade-golf-neon|basketball-master-2|black-and-white|bloxorz|bob-the-robber-to-go|candy-jump|cannon-basketball|cannon-basketball-2|cannon-basketball-3|chef-slash|chrome|color-pipes|crazy-eights|crazy-taxi-m12|cube-flip|cubeform|diggy|divide|emerald-and-amber|factory-balls-forever|get-to-the-other-side|gravity-control|hefty-shaman|idle-dice|interstate-drifter-1999|jellybots|jumpless-world|jumpnull|kirigami|lemonade-stand|loop-path|mow-it|ovo|papa-louie-2-when-burgers-attack|papa-louie-3-when-sundaes-attack|parking-fury|parking-fury-3|parkingmania|parking-mania-2|push-your-luck|puzzle-ball|rabbit-samurai|red-ball-4|roller-baller|stranded-isle|sudoku|super-ordinary-joe|there-is-no-game|word-search|abandoned-2-the-forest|abandoned|axiel|bounce-floor|crossy-cat|cupcake-monster|encase|factory-balls|factory-balls-2|factory-balls-3|factory-balls-4|into-space|into-space-2|jelly-escape|marble-trap|mini-golf-adventures|mini-metro-london|off-the-line|pathfinder|red|red-ball-4-volume-2|red-ball-4-volume-3|slime-laboratory|slime-laboratory-2|stranded-isle|solitaire|spot-the-difference|the-ranger-with-the-magic-bow|three-goblets|zombie-launcher|wipo|super-rhino-turtle|round-runner|space-is-key|space-is-key-2|space-is-key-ultimate-challenge|zombie-launcher-2|2048|8-ball-pool|archery-world-tour|awesome-planes|awesome-tanks|awesome-tanks-2|basket-and-ball|battlecoast|big-ice-tower-tiny-square|big-tower-tiny-square|block-the-pig|bloons-tower-defense-3|bob-the-robber|burrito-bison|cannon-basketball-4|catch-the-candy|catch-the-candy-halloween|catch-the-candy-mech|catch-the-candy-xmas|checkers|chess|choppy-orc|circloo|circloo-2|clicker-heroes|copter-royale|darts|dolphin-olympics|dolphin-olympics-2|duck-life|duck-life-2-world-champion|duck-life-3-evolution|duck-life-4|duck-life-treasure-hunt|emperors-on-ice|handulum|hangman|idle-breakout|iq-ball|jacksmith|jelly-truck|johnny-upgrade|just-one-boss|learn-to-fly|learn-to-fly-2|learn-to-fly-3|learn-to-fly-idle|mainlands-wars|moto-x3m|moto-x3m-pool-party|moto-x3m-spooky-land|overlords-new-mansion|papas-bakeria|papas-burgeria|papas-cheeseria|papas-cupcakeria|papas-donuteria|papas-freezeria|papas-hot-doggeria|papas-pancakeria|papas-pastaria|papas-pizzeria|papas-scooperia|papas-sushiria|papas-taco-mia|papas-wingeria|parking-fury-2|poptropica|powerline-io|pre-civilization-bronze-age|raft-wars|raft-wars-2|retro-ping-pong|run|run-2|run-3|snake|start-powerless|stickman-swing|sticky-ninja-academy|sticky-ninja-missions|the-sun-for-the-vampire|the-sun-for-the-vampire-2|the-sun-for-the-vampire-3|table-tanks|tail-of-the-dragon|tarzan-ball|the-final-earth|the-final-earth-2|tic-tac-toe|tower-of-destiny|toy-defense|truck-loader-4|wiz|wonderputt|worlds-hardest-game|worlds-hardest-game-2|worlds-hardest-game-3|space-is-key-christmas|defly-io))/;
- cmgDefaultGameUrl = /999999/;
- // premiumAvtar not having games clss-3021
- //premiumAvatarMktPages = /(0-(basket-and-ball|block-the-pig|catch-the-candy|catch-the-candy-halloween|catch-the-candy-mech|catch-the-candy-xmas|clicker-heroes|copter-royale|defly-io|hangman|iq-ball|jacksmith|jelly-truck|johnny-upgrade|moto-x3m-winter|moto-x3m-spooky-land|moto-x3m-pool-party|redline-pong|poptropica|powerline-io|run|run-2|sticky-ninja-academy|sticky-ninja-missions|tarzan-ball|darts|papas-burgeria|papas-bakeria|papas-cheeseria|papas-cupcakeria|papas-donuteria|papas-hot-doggeria|papas-pancakeria|papas-pastaria|papas-pizzeria|papas-scooperia|papas-sushiria|papas-taco-mia|papas-wingeria))/;
- premiumAvatarMktPages = /999999/;
- premiumAvatarGame = false;//disabling to fix timer count down issue
- // playlist marketing promo games clss-3007
- //playlistMktPages = /(0-(abandoned-2-the-forest|abandoned|axiel|bounce-floor|crossy-cat|cupcake-monster|encase|factory-balls|factory-balls-2|factory-balls-3|factory-balls-4|into-space|into-space-2|jelly-escape|marble-trap|mini-golf-adventures|mini-metro-london|off-the-line|pathfinder|red|red-ball-4-volume-2|red-ball-4-volume-3|slime-laboratory|slime-laboratory-2|stranded-isle|solitaire|spot-the-difference|the-ranger-with-the-magic-bow|three-goblets|zombie-launcher|wipo|super-rhino-turtle|round-runner|space-is-key|space-is-key-2|space-is-key-ultimate-challenge|zombie-launcher-2))/;
- playlistMktPages = /999999/;
- function doesnotIEMessage() {
- jQuery('.field-game').css('display', 'none');
- jQuery('.no-flash').css('display', 'none');
- jQuery('#afg_container').css('display', 'none').html('<div></div>');
- jQuery('#does-not-support-ie').show();
- jQuery('#afg_preloader').css('display', 'none').html('<div></div>');;
- jQuery('#does-not-support-ie').html('<img src="/themes/custom/coolmath/assets/images/does-not-support-ie.png" alt="does not support ie"/> ');
- jQuery('.load-wrap').hide();
- jQuery('#continue-container').hide();
- jQuery('#afg_preloader').hide();
- }
- function getGameName() {
- var url = window.location.href;
- var lastPart = url.split("/").pop();
- return lastPart;
- }
- var coep_frame_type = 'crossorigin="use-credentials"';
- if(/(Firefox)/.test(navigator.userAgent)) {
- coep_frame_type = 'allow="cross-origin-isolated"';
- }
- function setIframeHeight(iframe) {
- if (iframe) {
- /*
- var iframeWin = iframe.contentWindow || iframe.contentDocument.parentWindow;
- if (iframeWin.document.body) {
- iframe.height = iframeWin.document.documentElement.scrollHeight || iframeWin.document.body.scrollHeight;
- }
- */
- var gamename = getGameName();
- if (gamename == "0-chess") {
- iframe.height = "620px";
- }
- }
- };
- jQuery(function(){
- setIframeHeight(document.getElementById('html5game'));
- });
- /** For big screen promo with list of games to appear
- */
- function checkBigScreenPromoURL() {
- bigScreenPromoGame = false;
- if (bs_promo_pages.test(location.pathname)) {
- bigScreenPromoGame = true;
- jQuery(document).ready(function () {
- jQuery(".pane-bean-new-go-ad-free").html('<a class="bigscreenanchor" onclick="bigscreen_overlay_promo_signup_handler(\'Get big screen mode - header button clicked\'); return false;" href="/premium-access/6ea95de6">Go Big Screen!</a>');
- jQuery('#right-rail-big-screen-promo').show();
- });
- }
- }
- checkBigScreenPromoURL();
- /**
- ** check for marketing game promo for game page. check for specific games to make this popover appear.
- */
- function checkAdfreeMktCmpgnURL() {
- AdfreeMktCmpGame = false;
- if ((typeof adfreeMktPages != 'undefined' && adfreeMktPages.test(location.pathname)) || (location.pathname == "/0-cannon-basketball") || (location.pathname == "/0-parking-fury")) {
- AdfreeMktCmpGame = true;
- jQuery(document).ready(function () {
- jQuery(".pane-bean-new-go-ad-free").html('<a class="adfree-marketing-logo" onclick="adfree_marketing_overlay_promo_signup_handler(\'Get Adfree Marketing screen mode - header button clicked\'); return false;" href="/premium-access/b2df5a33">Go Big Screen!</a>');
- jQuery('#right-rail-adfree-marketing-promo').show();
- });
- }
- }
- checkAdfreeMktCmpgnURL();
- /**
- ** check for playlist marketing game promo for game page. check for specific games to make this popover appear.
- */
- function checkPlaylistMktCmpgnURL() {
- playListMktCmpGame = false;
- if (playlistMktPages.test(location.pathname)) {
- playListMktCmpGame = true;
- jQuery(document).ready(function () {
- // jQuery(".pane-bean-new-go-ad-free").html('<a class="playlist-marketing-logo" onclick="playlist_marketing_overlay_promo_signup_handler(\'Get Playlist Marketing screen mode - header button clicked\'); return false;" href="/premium-access/b2df5a33">Go Big Screen!</a>');
- jQuery('.playlist-right-side-promo').show();
- });
- }
- }
- checkPlaylistMktCmpgnURL();
- function checkPremiumAvatarURL() {
- premiumAvatarGame = false;
- if(typeof premiumAvatarMktPages != 'undefined' && premiumAvatarMktPages.test(location.pathname) || (location.pathname == "/0-moto-x3m-winter") || ( location.pathname == '/0-redline-pong')) {
- if (gamesPlayed == 2 || gamesPlayed == 8) {
- schoolHours = false;//display all the time
- premiumAvatarGame = true;
- }
- // setting the default premiumAvatarGameABTest
- if (getCookie('cmg_fx') !== null && getCookie('cmg_sx') == null) {
- var planToSubscription = '67361110';
- } else {
- var planToSubscription = '553bdf22';
- }
- // logged in free user
- jQuery(document).ready(function () {
- jQuery(".pane-bean-new-go-ad-free").html('<a class="premium-avatar-marketing-logo" onclick="premium_avatar_overlay_promo_signup_handler(\'Premium Avatar screen mode - header button clicked\'); return false;" href="/premium-access/' + planToSubscription + '">Go Big Screen!</a>');
- jQuery('.premium-avatar-right-side-promo').show();
- });
- var gamePageBarPromo = 'GET THE AVATAR: GO PREMIUM';
- gamePageBarPromoActionText = 'Get Premium ';
- var pathpromobarsubscriptionform = '/subscribe/' + planToSubscription;
- jQuery('.gamepage-signup-promo').hide();
- jQuery('#block-cmatgame-cmatgame-system-main').append('<div class="premium-avatar-promo marketing-gamepage-signup-promo"><span>' + gamePageBarPromo + '</span><div class="link-in-title-block-promo"><a href="/subscribe/' + planToSubscription + '" id="gamepage_bs_signup_promo_handler" onclick="premium_avatar_overlay_promo_signup_handler(\'Premium Avatar screen mode - promo bar clicked\'); return false;">' + gamePageBarPromoActionText + '</a></div></div>');
- }
- }
- function checkPlayedGames() {
- // this is for supportCMG A/B Test
- gamesPlayed = parseInt(localStorage.getItem('gamesPlayed') || 0);
- sessionGamesPlayed = parseInt(sessionStorage.getItem('sessionGamesPlayed') || 0);
- //localStorage.setItem('gamesPlayed', ++ gamesPlayed)
- localStorage.setItem('gamesPlayed', 0);
- sessionStorage.setItem('sessionGamesPlayed', ++ sessionGamesPlayed);
- checkPremiumAvatarURL();
- }
- /**
- ** For CMG default screen promo with list of games to appear
- */
- function checkCMGDefaultExceptionURL() {
- supportCMG = false;
- if(!cmgDefaultGameUrl.test(location.pathname) && (typeof gamesPlayed != "undefined" && (gamesPlayed == 2 || gamesPlayed == 8))) {
- supportCMG = true;
- schoolHours = false; // display all the time
- if (getCookie('cmg_fx') !== null && getCookie('cmg_sx') == null) {
- var planToSubscription = 'd61242ac';
- } else {
- var planToSubscription = '0735a1f2';
- } // logged in free user
- jQuery(document).ready(function () {
- jQuery(".pane-bean-new-go-ad-free").html('<a class="cmgDefaultException-logo" onclick="cmgDefault_overlay_promo_signup_handler(\'Get CMGDefault screen mode - header button clicked\'); return false;" href="/premium-access/' + planToSubscription + '">Go Big Screen!</a>');
- jQuery('.cmgdefault-right-side-promo').show();
- });
- var gamePageBarPromo = 'GO PREMIUM: THE BEST GAMING EXPERIENCE';
- gamePageBarPromoActionText = 'Get Premium ';
- var pathpromobarsubscriptionform = '/subscribe/' + planToSubscription;
- jQuery('.gamepage-signup-promo').hide();
- jQuery('#block-cmatgame-cmatgame-system-main').append('<div class="marketing-gamepage-signup-promo"><span>' + gamePageBarPromo + '</span><div class="link-in-title-block-promo"><a href="/subscribe/' + planToSubscription + '" id="gamepage_bs_signup_promo_handler" onclick="cmgDefault_overlay_promo_signup_handler(\'Get CMGDefault screen mode - promo bar clicked\'); return false;">' + gamePageBarPromoActionText + '</a></div></div>');
- }
- }
- checkPlayedGames();
- // need to comment this settimebased();function call to prevent it run on page load, it should start work on
- // game load.
- //settimebased();
- checkCMGDefaultExceptionURL();
- if (isUserValidFreeUserOrSubscriber()) {
- var userprofileData = JSON.parse(localStorage.getItem("userprofile"));
- var levelofcompletedgame = 1;
- for (var i = 0; i < userprofileData.mygameslist.length; i++) {
- if (userprofileData.mygameslist[i].id == gameId) {
- var levelbasedCompletedStatus = userprofileData.mygameslist[i].timebasedcompletedSt;
- var levelofcompletedgame = userprofileData.mygameslist[i].level;
- }
- }
- }
- var workerstatusvar = "no";
- var count = 0;
- var myInterval;
- // Active
- function chkIdleOnpage() {
- var userActivityTime = Date.now();
- // check if user activity is not there more than 55 min 60000*55 = 3300000
- if (userActivityTime - lastKeyBoardorMouseActivityTime > 3300000) {
- if (typeof(w) != "undefined") {
- workerstatusvar = "terminated";
- w.terminate();
- w = undefined;
- }
- } else { // May be keyboard is active start new worker
- settimebased();
- }
- }
- // Inactive
- if (!is_level_based) { // check idle time in every 5 min 60000 * 5 = 300000
- idleOnPageCheckTimer = setInterval(function () {
- chkIdleOnpage()
- }, 300000);
- }
- function settimebased() {
- if (!is_level_based) {
- jQuery(document).ready(function () {
- if (isUserValidFreeUserOrSubscriber()) {
- window.addEventListener("beforeunload", function (e) {
- saveUserProgress();
- });
- if (typeof(Worker) !== "undefined") {
- if (typeof(w) == "undefined") {
- w = new Worker("/modules/custom/cmatgame_userprofile/js/userprogress_workers.js");
- w.onmessage = function (event) {
- var userActivityTime = Date.now();
- // save userprofile object back to localstorage
- // if(userActivityTime - lastKeyBoardorMouseActivityTime <= 60000) {
- userprofile = event.data;
- localStorage.setItem("userprofile", JSON.stringify(userprofile));
- // display game progressbar on game pages
- if (typeof gameId != "undefined") {
- display_game_progressbar(gameId);
- }
- // display user progressbar
- display_user_profile_progressbar();
- //adding save userprogress back to api server
- saveUserProgress();
- // }
- };
- var userprofile = localStorage.getItem("userprofile");
- setTimeout(function () {
- var userprofile = localStorage.getItem("userprofile");
- var currentGameData = searchGamesById(gameId);
- if (typeof w != 'undefined') {
- w.postMessage([
- gameId,
- xp_per_level,
- userprofile,
- currentGameData,
- cmatgameSearchGames,
- userprofile_level_xpData
- ]);
- }
- }, 60000);
- // setInterval(function () { updateMyGamesTimeSpent1(gameId) }, 60000);
- }
- }
- }
- });
- }
- }
- // Stop timer
- function stopTimer() {
- count = 0;
- if (workerstatusvar == "terminated") {
- settimebased();
- workerstatusvar = "started";
- }
- window.clearInterval(myInterval);
- }
- function checkKeyboardOrMouseActivity() {
- lastKeyBoardorMouseActivityTime = Date.now();
- if (!is_level_based) {
- if (typeof isRemoveAdSwfJWPLayer === "undefined" || !isRemoveAdSwfJWPLayer) { // html 5 game
- } else {
- stopTimer();
- }
- }
- }
- function startTimer() {
- // for flash based game check idle time in every 5 min 60000 * 5 = 300000
- myInterval = window.setInterval(timerHandler, 30000);
- }
- function timerHandler() {
- count++;
- // count of flash based game will for 55 rounds
- if (count == 55) {
- workerstatusvar = "terminated";
- if (typeof w !== 'undefined') {
- w.terminate();
- w = undefined;
- }
- }
- }
- document.addEventListener("mousemove", checkKeyboardOrMouseActivity, false);
- document.addEventListener('keydown', checkKeyboardOrMouseActivity, false);
- document.addEventListener("keypress", checkKeyboardOrMouseActivity, false);
- document.addEventListener("touchmove", checkKeyboardOrMouseActivity, false);
- if(!is_level_based) {
- if (typeof isRemoveAdSwfJWPLayer === "undefined" || !isRemoveAdSwfJWPLayer) {
- // html 5 game
- document.addEventListener("visibilitychange", function() {
- if(document.visibilityState == 'hidden') {
- //startTimer();
- if(typeof idleOnPageCheckTimer !== 'undefined') {
- clearInterval(idleOnPageCheckTimer);
- }
- /*** need to remove below workerstatusvar variable. position changed . it should be under if codition
- where worker undefine
- ***/
- // workerstatusvar = "terminated";
- if (typeof w !== 'undefined') {
- w.terminate();
- w = undefined;
- workerstatusvar = "terminated";
- }
- } else if (document.visibilityState == 'visible') {
- stopTimer(); // starts worker.
- }
- }, false);
- } else {
- // flash game
- window.addEventListener('focus', stopTimer);
- window.addEventListener('blur', startTimer);
- // Check browser minimize
- document.addEventListener("visibilitychange", function () {
- if (document.visibilityState == 'hidden') {
- startTimer();
- } else if (document.visibilityState == 'visible') {
- stopTimer();
- }
- }, false);
- startTimer();
- }
- } // end of !is_level_based
- function putSharedObjectsInDB(syncData) {
- flashStorage = syncData;
- saveUserProgress();
- }
- isRemoveAdSwfJWPLayer = false;
- // Testing Overlay for Watch Ad To Unlock Games
- // var watchAdtoUnlockGame = true;
- // var schoolHours = false;
- // //console.log('supportCMG is true');
- window.addEventListener("message", receiveMessage, false);
- function receiveMessage(event) { // console.log("message received2 from " + event.origin + " : " + event.data);
- var valid_domain_msg = false;
- if (/coolmathgames\.com|coolmathgames\.local|coolmathgames/.test(event.origin)) {
- valid_domain_msg = true;
- }
- if (event.data == "continue-without-big-screen" && jQuery('#big-screen-overlay').length && valid_domain_msg) { // close overlay
- if (jQuery('#big-screen-overlay').length) {
- jQuery('#big-screen-overlay').hide();
- if (jQuery('#big-screen-truex-overlay').length) {
- jQuery('#big-screen-truex-overlay').hide();
- }
- cmg_bigscreen_trackevent('closesignup', cmg_bsft);
- }
- } else if (event.data == "continue-with-login-big-screen" && jQuery('#big-screen-overlay').length && valid_domain_msg) { // console.log("BIGSCREEN message received2 from " + event.origin + " : " + event.data);
- cmg_bigscreen_trackevent('closesignup2login', cmg_bsft);
- jQuery('#big-screen-overlay').hide();
- if (jQuery('#big-screen-truex-overlay').length) {
- jQuery('#big-screen-truex-overlay').hide();
- }
- window.location = "/login?destination=" + window.location.pathname;
- } else if (event.data == "continue-premium-big-screen" && (jQuery('#big-screen-overlay').length || jQuery('#pr-profile-screen-overlay').length) && valid_domain_msg) { // console.log("BIGSCREEN message received2 from " + event.origin + " : " + event.data);
- cmg_bigscreen_trackevent('playgame after signup', cmg_bsft);
- jQuery('#big-screen-overlay').hide();
- jQuery('#pr-profile-screen-overlay').hide();
- if (jQuery('#big-screen-truex-overlay').length) {
- jQuery('#big-screen-truex-overlay').hide();
- }
- window.location.reload();
- } else if (event.data == "big-screen-profile-customize" && (jQuery('#big-screen-overlay').length || jQuery('#pr-profile-screen-overlay').length) && valid_domain_msg) {
- // console.log("BIGSCREEN message received2 from " + event.origin + " : " + event.data);
- cmg_bigscreen_trackevent('profile customize after signup', cmg_bsft);
- jQuery('#big-screen-overlay').hide();
- jQuery('#pr-profile-screen-overlay').hide();
- if (jQuery('#big-screen-truex-overlay').length) {
- jQuery('#big-screen-truex-overlay').hide();
- }
- if (getCookie('cmg_fx') !== null) {
- window.location = '/profile/' + getCookie('cmg_fx').toLowerCase() + '/edit';
- }
- } else if (event.data == "big-screen-premium-benefits" && jQuery('#big-screen-overlay').length && valid_domain_msg) {
- // console.log("BIGSCREEN message received2 from " + event.origin + " : " + event.data);
- cmg_bigscreen_trackevent('see premium benefits after signup', cmg_bsft);
- jQuery('#big-screen-overlay').hide();
- if (jQuery('#big-screen-truex-overlay').length) {
- jQuery('#big-screen-truex-overlay').hide();
- }
- if (getCookie('cmg_fx') !== null) {
- window.location = '/premium-benefits';
- }
- } else if (event.data == "keypress-from-game") {
- checkKeyboardOrMouseActivity();
- } else if (event.origin === "https://copterroyale.coolmathgames.com" || event.origin === "https://copterroyale2.coolmathgames.com" || event.origin === "https://powerline.coolmathgames.com") {
- var eventObject = JSON.parse(event.data);
- if (eventObject.eventType == "gameEvent") {
- cmgGameEvent(eventObject.key, eventObject.value);
- } else if (eventObject.eventType == "dataEvent") {
- cmgDataEvent(eventObject.key, eventObject.value);
- }
- } else if (event.origin == 'https://cheerpx.coolmathgames.com' || event.origin == 'https://cheerpx-prod.coolmathgames.com') {
- console.log("cmg cheerpx: cmgHandleMessage "+event.data);
- //close loading screen
- closeCmgCheerpxLoadingScreen();
- } else if (event.origin == 'https://www.coolmath-games.com' || event.origin != 'https://d8-dev.coolmathgames.com') {
- if (event.data.eventType == "syncEventPut") {
- syncData = event.data.syncJSON;
- putSharedObjectsInDB(syncData);
- }
- if (event.data.eventType == "syncEventGet") {
- if (typeof flashStorageFromDB != "undefined") { // restoring flash shared objects from DB
- for (var i = 0; i < flashStorageFromDB.length; i++) {
- flashStorageFromDB[i].swfdata = decodeURI(flashStorageFromDB[i].swfdata);
- }
- document.getElementById('swfgame').contentWindow.postMessage({
- 'eventType': 'syncEventGet',
- 'soData': flashStorageFromDB
- }, '*');
- } else {
- document.getElementById('swfgame').contentWindow.postMessage({
- 'eventType': 'gamePlay'
- }, '*');
- }
- }
- } else {
- return;
- }
- }
- // var signupPromoTop = 'Join to Play Ad-Free'; var signupPromoBottom = 'Join to Skip All Ads';
- if (typeof signupPromoTop !== 'undefined' && signupPromoTop !== '') {
- signupContainerTop = '<div class="signup-container-top"><a href="/premium-access/2efa4bc4" id="preroll_signup_top_handler">' + signupPromoTop + '</a></div>';
- } else {
- signupPromoTop = '';
- signupContainerTop = '<div class="signup-container-top"><a href="/premium-access/2efa4bc4" id="preroll_signup_top_handler">' + signupPromoTop + '</a></div>';
- }
- if (typeof signupPromoBottom !== 'undefined' && signupPromoBottom !== '') {
- signupContainerBottom = '<div class="signup-container-bottom"><a href="/premium-access/2efa4bc4" id="preroll_signup_bottom_handler"> ' + signupPromoBottom + '</a></div>';
- } else {
- signupPromoBottom = '';
- signupContainerBottom = '<div class="signup-container-bottom"><a href="/premium-access/2efa4bc4" id="preroll_signup_bottom_handler"> ' + signupPromoBottom + '</a></div>';
- }
- function preroll_signup_top_handler() {
- trackEvent('Preroll Signup Clicked', 'Preroll Signup Top', document.title);
- }
- function preroll_signup_bottom_handler() {
- trackEvent('Preroll Signup Clicked', 'Preroll Signup Bottom', document.title);
- }
- // we will define this varialbe signUpURLABTest in experiments.js
- var cmg_upg_days_limit = 180;
- var user_dst = window.location.pathname;
- user_dst = user_dst.replace("\/", "");
- if (window.location.host !== 'cmatgame.local') {
- if (typeof signUpURL === 'undefined' || signUpURL === '') {
- signUpURL = '/premium-access/ b2df5a33?origin=' + user_dst;
- } else {
- signUpURL = signUpURL + '?origin=' + user_dst;
- }
- } else if (typeof signUpURLABTest === "undefined" || signUpURLABTest === null) {
- signUpURL = 'https://' + window.location.hostname + '/premium-access/ b2df5a33?origin=' + user_dst;
- } else {
- signUpURL = signUpURLABTest;
- }
- function subscription_promo_handler() {
- if (typeof freeTrialUser !== 'undefined' && freeTrialUser) {
- trackEvent('Premium Subscription ' + subscriberLeg, 'Subscription overlay clicked', userPlayedGames);
- trackGoalVirtualPV('/virtual/subscription-overlay-click');
- }
- return;
- }
- function subscriptionSignUpUrl() {
- var user_played_games = '';
- var zeroFreeGamesLeftUsers = localStorage.getItem("zeroFreeGamesLeftUsers");
- if (typeof userPlayedGames !== 'undefined' && userPlayedGames) {
- user_played_games = "upg=" + userPlayedGames;
- } else {
- user_played_games = "upg=0";
- }
- if (zeroFreeGamesLeftUsers !== null && user_played_games !== '') {
- user_played_games = user_played_games + '&zfg=' + zeroFreeGamesLeftUsers;
- } else if (zeroFreeGamesLeftUsers !== null) {
- user_played_games = 'zfg=' + zeroFreeGamesLeftUsers;
- }
- if (typeof signUpURL !== 'undefined' && signUpURL !== null && signUpURL.indexOf('upg') === -1) {
- if (signUpURL.indexOf('?random_true') > -1) {
- signUpURL = signUpURL.replace('?random_true', '');
- }
- if (signUpURL.indexOf('?') > -1) {
- signUpURL = signUpURL + '&' + user_played_games;
- } else {
- signUpURL = signUpURL + '?' + user_played_games;
- }
- }
- }
- function updateMyGamesTimeSpent(gameId) {
- var userActivityTime = Date.now();
- // if(userActivityTime - lastKeyBoardorMouseActivityTime <= 60000) { //user is active on page for last 60 seconds, so we can add this as his XP
- if (currentTimeInterval >= 2) {
- currentTimeInterval = 0;
- if (isUserValidFreeUserOrSubscriber()) { // save MyGames only for subscribers
- saveMyGames(gameId, 0, 1);
- currentTime = userActivityTime;
- }
- } else {
- currentTimeInterval = currentTimeInterval + 1;
- saveUserProgress(); // save user progress every 20 sec
- }
- // }
- }
- function updateMyGamesTimeSpent1(gameId) {
- if (isUserValidFreeUserOrSubscriber()) { // save MyGames only for subscribers
- if (userActivityTime - lastKeyBoardorMouseActivityTime <= 60000) {
- saveMyGames(gameId, 0, 1);
- }
- }
- }
- function updateMyGamesTimeSpentLevelBase(gameId, level) {
- if (isUserValidFreeUserOrSubscriber()) { // save MyGames only for subscribers
- saveMyGames(gameId, 1, level);
- }
- }
- /*
- if(!is_level_based) {
- var objGameNode = {};
- objGameNode[gameId] = "yes";
- localStorage.setItem("runoncestarted", JSON.stringify(objGameNode));
- setInterval(function () { updateMyGamesTimeSpent1(gameId) }, 60000);
- }
- */
- if (is_level_based) {
- var userActivityTime = Date.now();
- // for level based game. check if user activity is not there more than 55 min 60000*55 = 3300000
- if (userActivityTime - lastKeyBoardorMouseActivityTime <= 3300000) {
- var objGameNode = {};
- objGameNode[gameId] = "no";
- var localgamestrate = "storagelocal-" + gameId + "-storagelocal";
- localStorage.setItem("runoncestarted", JSON.stringify(objGameNode));
- localStorage.setItem(localgamestrate, "no");
- updateMyGamesTimeSpentLevelBase(gameId, levelofcompletedgame)
- }
- }
- function cmgGetCheerpxUrl() {
- var cheerpxUrl = 'https://cheerpx-prod.coolmathgames.com/cheerpx.html?f=';
- if(location.host != "www.coolmathgames.com" && !/(Firefox)/.test(navigator.userAgent)) {
- cheerpxUrl = 'https://cheerpx.coolmathgames.com/cheerpx.html?f=';
- }
- return cheerpxUrl;
- }
- function displayCmgCheerpxLoadingScreen() {
- //todo -- use the iframe widht and height
- //jQuery("#swfgame").parent().before("<div id='cmg-cheerpxloading-screen' style='display: block; width: 640px; height: 576px; position: absolute; font-weight: bold; z-index: 20; opacity: 0.45; text-align: center; vertical-align: middle; padding-top: 300px;'>Loading...</div>")
- jQuery("#swfgame").parent().before('<div id="cmg-cheerpxloading-screen" style="display: block; width: 640px; height: 576px; position: absolute; font-weight: bold; text-align: center; vertical-align: middle; padding-top: 200px;"><h3 class="loadingText" style="font-size: 20px;">Your Flash game is loading<br/>it may take longer than usual</h3><div class="load-wrap" style="padding-top: 0;"><div> </div><div class="circle"></div><div class="circle"></div><div class="circle"></div><div class="circle"></div></div></div>');
- }
- function closeCmgCheerpxLoadingScreen() {
- jQuery("#cmg-cheerpxloading-screen").remove();
- }
- function removePrerollAndDisplayGame() {
- settimebased();
- // console.log('remove ad swf');
- if (isRemoveAdSwfJWPLayer) { // remove preroll only once
- } else { // record current time to calculate how much time user spent on playing the current game
- currentTime = Date.now();
- currentTimeInterval = 0;
- // call this only for timebased games
- // TODO save game progress
- /*if(!is_level_based) {
- setInterval(function () { updateMyGamesTimeSpent(gameId) }, 20000);
- }
- */
- jQuery("#my-content").css("opacity", "1");
- if (typeof intervalId != "undefined") {
- clearInterval(intervalId);
- }
- jQuery("#afg_container").remove();
- jQuery("#afg_preloader").remove();
- jQuery("#continue-container").remove();
- if (!drupalSettings.cmatgame.swfembed) { // html5 game game width, game height and game type
- game_width = jQuery("#html5game").attr("width");
- game_height = jQuery("#html5game").attr("height");
- game_type = "html5";
- // IE Detection and Version grabbing
- ie = false;
- var html5_game_url = jQuery("#html5game").attr("src");
- var swf_game_url = jQuery("#swfgame").attr("src");
- if (typeof swf_game_url !== 'undefined') {
- if (!cmg_flash_emulated_game()) { // console.log('flash is undefined');
- flashDetectionMessage();
- }
- }
- if (typeof swf_game_url !== 'undefined' && swf_game_url.indexOf("//") === 0) {
- swf_game_url = window.location.protocol + swf_game_url;
- } else if (typeof swf_game_url !== 'undefined' && swf_game_url.indexOf("//") > 0) {
- swf_game_url = swf_game_url.replace("http:", window.location.protocol);
- }
- if (typeof html5_game_url !== 'undefined' && html5_game_url.indexOf("//") === 0) {
- html5_game_url = window.location.protocol + html5_game_url;
- } else if (typeof html5_game_url !== 'undefined' && html5_game_url.indexOf("//") > 0) {
- html5_game_url = html5_game_url.replace("http:", window.location.protocol);
- }
- if (navigator.appName == "Microsoft Internet Explorer") {
- ie = true;
- var ua = navigator.userAgent;
- var re = new RegExp("MSIE ([0-9]{1,}[.0-9]{0,})");
- if (re.exec(ua) != null) {
- ieVersion = parseInt(RegExp.$1)
- }
- }
- if (ie && ieVersion < 9) {
- nothtml5browser = '<div style="margin-top:20px;color: #f5e61f;line-height:1.1em;font-size: 1.867em;">Hey, you\'re using an older web browser that can\'t play HTML5 games like this one.<br><br>Please switch to another browser or just enjoy a different Coolmath game!</' + 'div><br><p style="font-size:1.6em;color:#0E83D4;font-weight:bold;">• <a href="http://windows.microsoft.com/en-us/internet-explorer/download-ie" target="_new">Get a new Internet Explorer browser from Microsoft</a></p>';
- jQuery("#html5game").replaceWith(nothtml5browser);
- jQuery("#swfgame").replaceWith(nothtml5browser);
- } else {
- sandbox = jQuery("#html5game").attr("sandbox");
- if (sandbox !== undefined) {
- sandbox = ' sandbox=\"' + sandbox + '\"';
- } else {
- sandbox = '';
- }
- if(cmg_is_mobile_device() || document.documentElement.clientWidth < 960) {
- newiframe = '<iframe1 id="html5game" src="' + html5_game_url + '" class="' + jQuery("#html5game").attr("class") + '" width="' + jQuery("#html5game").attr("width") + '" height="' + jQuery("#html5game").attr("height") + '" scrolling="no" marginwidth="0' + '" vspace="0" frameborder="0" hspace="0" marginheight="0"' + sandbox + '></iframe1>';
- newswfiframe = '<iframe1 id="swfgame" src="' + swf_game_url + '" class="' + jQuery("#swfgame").attr("class") + '" width="' + jQuery("#swfgame").attr("width") + '" height="' + jQuery("#swfgame").attr("height") + '" scrolling="no" marginwidth="0" vspac' + 'e="0" frameborder="0" hspace="0" marginheight="0"></iframe1>';
- } else {
- newiframe = '<iframe id="html5game" src="' + html5_game_url + '" class="' + jQuery("#html5game").attr("class") + '" width="' + jQuery("#html5game").attr("width") + '" height="' + jQuery("#html5game").attr("height") + '" scrolling="no" marginwidth="0' + '" vspace="0" frameborder="0" hspace="0" marginheight="0"' + sandbox + '></iframe>';
- newswfiframe = '<iframe id="swfgame" src="' + swf_game_url + '" class="' + jQuery("#swfgame").attr("class") + '" width="' + jQuery("#swfgame").attr("width") + '" height="' + jQuery("#swfgame").attr("height") + '" scrolling="no" marginwidth="0" vspac' + 'e="0" frameborder="0" hspace="0" marginheight="0"></iframe>';
- }
- if (typeof isRemoveAdSwfJWPLayer === "undefined" || !isRemoveAdSwfJWPLayer) {
- jQuery("#html5game").replaceWith(newiframe);
- if (cmg_flash_emulated_game() || drupalSettings.cmatgame.flash_emulation === "1") {
- jQuery("#swfgame").replaceWith(newswfiframe);
- } else if(cmg_flash_emulated_game() && drupalSettings.cmatgame.flash_emulation === "2"){
- //console.log("Cheerpx load 1");
- game_width = drupalSettings.cmatgame.swfembed.swf.swf_1.width;
- game_height = drupalSettings.cmatgame.swfembed.swf.swf_1.height;
- game_type = "html5";
- var swfURLObject = drupalSettings.cmatgame.swfembed.swf.u;
- var swfURLArray = swfURLObject.split("/");
- //swf_1_game_url = "/sites/default/files/games/" + swfURLArray[swfURLArray.length-1];
- swf_1_game_movie_param = swfURLArray[swfURLArray.length-1];
- //cheerpx js
- var swf_game_url = cmgGetCheerpxUrl()+swfURLArray[swfURLArray.length-1]+'&w='+game_width+'&h='+game_height;
- //allow="cross-origin-isolated" --> origin trial use: crossorigin="use-credentials"
- newswfiframe = '<iframe crossorigin="use-credentials" id="swfgame" src="' + swf_game_url + '" class="' + jQuery("#swfgame").attr("class") + '" width="' + jQuery("#swfgame").attr("width") + '" height="' + jQuery("#swfgame").attr("height") + '" scrolling="no" marginwidth="0" vspac' + 'e="0" frameborder="0" hspace="0" marginheight="0"></iframe>';
- jQuery("#swfgame").replaceWith(newswfiframe);
- //console.log("Cheerpx replace iframe 3");
- }
- }
- }
- } else {
- if (!cmg_flash_emulated_game() && (drupalSettings.cmatgame.flash_emulation !== "1" || drupalSettings.cmatgame.flash_emulation !== "2" )) {
- // console.log('flash is undefined');
- /* CLSS-1614 to load html5 as backup - START */
- var html5_game_url = jQuery("#html5game").attr("src");
- if (typeof html5_game_url !== 'undefined') {
- game_width = jQuery("#html5game").attr("width");
- game_height = jQuery("#html5game").attr("height");
- game_type = "html5";
- // IE Detection and Version grabbing
- ie = false;
- if (typeof html5_game_url !== 'undefined' && html5_game_url.indexOf("//") === 0) {
- html5_game_url = window.location.protocol + html5_game_url;
- } else if (typeof html5_game_url !== 'undefined' && html5_game_url.indexOf("//") > 0) {
- html5_game_url = html5_game_url.replace("http:", window.location.protocol);
- }
- if (navigator.appName == "Microsoft Internet Explorer") {
- ie = true;
- var ua = navigator.userAgent;
- var re = new RegExp("MSIE ([0-9]{1,}[.0-9]{0,})");
- if (re.exec(ua) != null) {
- ieVersion = parseInt(RegExp.$1)
- }
- }
- if (ie && ieVersion < 9) {
- nothtml5browser = '<div style="margin-top:20px;color: #f5e61f;line-height:1.1em;font-size: 1.867em;">Hey, you\'re using an older web browser that can\'t play HTML5 games like this one.<br><br>Please switch to another browser or just enjoy a different Coolmath game!</' + 'div><br><p style="font-size:1.6em;color:#0E83D4;font-weight:bold;">• <a href="http://windows.microsoft.com/en-us/internet-explorer/download-ie" target="_new">Get a new Internet Explorer browser from Microsoft</a></p>';
- jQuery("#html5game").replaceWith(nothtml5browser);
- } else {
- sandbox = jQuery("#html5game").attr("sandbox");
- if (sandbox !== undefined) {
- sandbox = ' sandbox=\"' + sandbox + '\"';
- } else {
- sandbox = '';
- }
- newiframe = '<iframe id="html5game" src="' + html5_game_url + '" class="' + jQuery("#html5game").attr("class") + '" width="' + jQuery("#html5game").attr("width") + '" height="' + jQuery("#html5game").attr("height") + '" scrolling="no" marginwidth="0' + '" vspace="0" frameborder="0" hspace="0" marginheight="0"' + sandbox + '></iframe>';
- if (typeof isRemoveAdSwfJWPLayer === "undefined" || !isRemoveAdSwfJWPLayer) {
- jQuery("#html5game").replaceWith(newiframe);
- }
- }
- } else { /* CLSS-1614 to load html5 as backup - END */
- flashDetectionMessage();
- }
- } else { // flash game game width, game height and game type
- game_width = drupalSettings.cmatgame.swfembed.swf.swf_1.width;
- game_height = drupalSettings.cmatgame.swfembed.swf.swf_1.height;
- if(drupalSettings.cmatgame.flash_emulation === "1"){ //ruffle
- game_type = "html5";
- var swfURLObject = drupalSettings.cmatgame.swfembed.swf.u;
- var swfURLArray = swfURLObject.split("/");
- var swf_game_url = 'https://www.coolmath-games.com/sites/cmatgame/files/ruffle1/ruffle.html?f='+swfURLArray[swfURLArray.length-1]+'&w='+game_width+'&h='+game_height;
- newswfiframe = '<iframe id="swfgame" src="' + swf_game_url + '" class="' + jQuery("#swfgame").attr("class") + '" width="' + jQuery("#swfgame").attr("width") + '" height="' + jQuery("#swfgame").attr("height") + '" scrolling="no" marginwidth="0" vspac' + 'e="0" frameborder="0" hspace="0" marginheight="0"></iframe>';
- jQuery("#swfgame").replaceWith(newswfiframe);
- } else if(drupalSettings.cmatgame.flash_emulation === "2"){ //cheerpx
- game_type = "html5";
- if (navigator.appName == "Microsoft Internet Explorer") {
- ie = true;
- var ua = navigator.userAgent;
- var re = new RegExp("MSIE ([0-9]{1,}[.0-9]{0,})");
- if (re.exec(ua) != null) {
- ieVersion = parseInt(RegExp.$1)
- }
- }
- if (ie && ieVersion <= 11) {
- notCheerpxBrowser = '<div class="no-ie">NO IE</div>';
- //console.log("Cheerpx avoid load completely on IE");
- jQuery("#html5game").replaceWith(notCheerpxBrowser);
- }
- //console.log("Cheerpx load 2");
- game_width = drupalSettings.cmatgame.swfembed.swf.swf_1.width;
- game_height = drupalSettings.cmatgame.swfembed.swf.swf_1.height;
- var swfURLObject = drupalSettings.cmatgame.swfembed.swf.u;
- var swfURLArray = swfURLObject.split("/");
- //swf_1_game_url = "/sites/default/files/games/" + swfURLArray[swfURLArray.length-1];
- swf_1_game_movie_param = swfURLArray[swfURLArray.length-1];
- //cheerpx js
- var swf_game_url = cmgGetCheerpxUrl()+swfURLArray[swfURLArray.length-1]+'&w='+game_width+'&h='+game_height;
- //allow="cross-origin-isolated" --> origin trial use: crossorigin="use-credentials"
- newswfiframe = '<iframe '+coep_frame_type+' id="swfgame" src="' + swf_game_url + '" class="' + jQuery("#swfgame").attr("class") + '" width="' + jQuery("#swfgame").attr("width") + '" height="' + jQuery("#swfgame").attr("height") + '" scrolling="no" marginwidth="0" vspac' + 'e="0" frameborder="0" hspace="0" marginheight="0"></iframe>';
- jQuery("#swfgame").replaceWith(newswfiframe);
- console.log("Cheerpx replace iframe and loading screen");
- displayCmgCheerpxLoadingScreen();
- } else {
- game_type = "flash";
- if (typeof isRemoveAdSwfJWPLayer === "undefined" || !isRemoveAdSwfJWPLayer) {
- var swf_game_url = jQuery("#swfgame").attr("src");
- if (typeof swf_game_url !== 'undefined' && swf_game_url.indexOf("//") === 0) {
- swf_game_url = window.location.protocol + swf_game_url;
- } else if (typeof swf_game_url !== 'undefined' && swf_game_url.indexOf("//") > 0) {
- swf_game_url = swf_game_url.replace("http:", window.location.protocol);
- }
- newswfiframe = '<iframe id="swfgame" src="' + swf_game_url + '" class="' + jQuery("#swfgame").attr("class") + '" width="' + jQuery("#swfgame").attr("width") + '" height="' + jQuery("#swfgame").attr("height") + '" scrolling="no" marginwidth="0" vspac' + 'e="0" frameborder="0" hspace="0" marginheight="0"></iframe>';
- jQuery("#swfgame").replaceWith(newswfiframe);
- var gameInstructions = document.getElementById('game-instructions');
- // insert fix flash div before game instructions field
- if (typeof gameInstructions !== 'undefined' && gameInstructions !== null && typeof gameInstructions.innerHTML !== 'undefined' && gameInstructions.innerHTML !== null) {
- gameInstructions.innerHTML = '<div class="no-flash">If this flash game doesn\'t work on your computer, go <a href="/fix-flash.html">here</a> for help.</div><br><br>' + gameInstructions.innerHTML;
- }
- }
- }
- isRemoveAdSwfJWPLayer = true;
- }
- }
- }
- jQuery('.game-xp-bar-immerse-button').addClass('enabled');
- jQuery('.btn.btn-primary.btn-sm.requestfullscreen').css('display', 'inline-block');
- //Deferred js is breaking the display of bigscreen button
- deferredbigscreenbtn = setTimeout(function () {
- if(jQuery('.btn.btn-primary.btn-sm.requestfullscreen').length && !jQuery('.btn.btn-primary.btn-sm.requestfullscreen').is(":visible")) {
- jQuery('.btn.btn-primary.btn-sm.requestfullscreen').css('display', 'inline-block');
- }
- }, 2000);
- display_game_progressbar(gameId);
- }
- function cmatgame_premium_subscription_game_display() {
- var cmatgame_subscriber = getCookie('cmg_sx');
- var validSubscriber = false;
- if (typeof cmatgame_subscriber !== 'undefined' && cmatgame_subscriber !== null) {
- validSubscriber = true;
- }
- if(getCookie("cmg_wl") !== null) {
- validSubscriber = true;
- }
- var cmatgame_free_user = getCookie('cmg_fx');
- var validFreeUser = false;
- if (typeof cmatgame_free_user !== 'undefined' && cmatgame_free_user !== null) {
- validFreeUser = true;
- }
- if (typeof subscribeNowAlienClass === 'undefined' || subscribeNowAlienClass === null || subscribeNowAlienClass === '') {
- // if (drupalSettings.cmatgame.isSubscriptionActive == false) {
- // subscribeNowAlienClass = "subscribe-now-alien-subscribe";
- // } else {
- // subscribeNowAlienClass = "subscribe-now-alien-signup";
- // }
- }
- freeGamesExceeded = true;
- // Display Ads to anonymous users the time from 7am to 13pm, display ads to anonymous users from 13pm to 11:59pm and 00 to 7am only if the user is not from New York city
- // TODO --> Need to add day of the week for school hours logic, day < 6 do not display Ads when GDPR cookie is set abd GDPR_All cookie is not set
- // Remove preroll-ads for whitelist users
- if (validSubscriber || getCookie("cmg_wl") !== null) { // retrieve user progress
- retrieveUserProgress();
- removePrerollAndDisplayGame();
- jQuery(document).ready(function () {
- $('.game-xp-bar-immerse-button').addClass('enabled');
- jQuery('.btn.btn-primary.btn-sm.requestfullscreen').css('display', 'inline-block');
- display_game_progressbar(gameId);
- immersive_mode_display_controller();
- });
- } else if (getCookie('cmg_schwl') !== null || typeof cmg_no_ads !== 'undefined' || (! validSubscriber && schoolHours || (!schoolHours && !targetStateUser) || (!schoolHours && targetStateUser && getCookie('cmg_active_anonymous_user') !== null))) { // TODO Display Game
- removePrerollAndDisplayGame();
- jQuery(document).ready(function () {
- $('.game-xp-bar-immerse-button').addClass('enabled');
- jQuery('.btn.btn-primary.btn-sm.requestfullscreen').css('display', 'inline-block');
- display_game_progressbar(gameId);
- });
- if (!/0-chess/.test(window.location.pathname)) { // setCookie('cmg_active_anonymous_user', 'active', 30*60*1000);
- }
- } else if (! validSubscriber && !schoolHours && targetStateUser && getCookie('cmg_active_anonymous_user') === null && getCookie('cmg_editor') === null) { // if user comes from google dont show the subscription paywall
- var ref = document.referrer;
- // count number of games played by the user this month
- userPlayedGames = 0;
- var userFreeGameList = [];
- var freeGameNid = 11697;
- if (sessionStorage.getItem("userFreeGameList") !== null) {
- userFreeGameList = JSON.parse(sessionStorage.getItem("userFreeGameList"));
- }
- if ((localStorage.getItem("userPlayedGames") == null || getCookie('cmg_upg') === null) && freeGameLimit !== 0) {
- userPlayedGames = 1;
- localStorage.setItem("userPlayedGames", userPlayedGames);
- // TODO monthly cookie
- setCookie('cmg_upg', 'true', cmg_upg_days_limit * 24 * 60 * 60 * 1000);
- userFreeGameList = [freeGameNid];
- sessionStorage.setItem("userFreeGameList", JSON.stringify(userFreeGameList));
- // TODO Display Game
- removePrerollAndDisplayGame();
- jQuery(document).ready(function () {
- display_game_progressbar(gameId);
- });
- } else { // userPlayedGames = parseInt(localStorage.getItem("userPlayedGames"+currentMonth+currentYear)); Monthly limit
- if (localStorage.getItem("userPlayedGames") !== null && getCookie('cmg_upg') !== null) {
- userPlayedGames = parseInt(localStorage.getItem("userPlayedGames"));
- } else {
- userPlayedGames = 0;
- setCookie('cmg_upg', 'true', cmg_upg_days_limit * 24 * 60 * 60 * 1000);
- }
- if (freeGameLimit != 0 && userPlayedGames < freeGameLimit && userFreeGameList.indexOf(freeGameNid) === -1) {
- userPlayedGames ++;
- freeGamesExceeded = false;
- if (userFreeGameList.length > 0) {
- userFreeGameList = userFreeGameList.concat(freeGameNid);
- } else {
- userFreeGameList = [freeGameNid];
- }
- localStorage.setItem("userPlayedGames", userPlayedGames);
- sessionStorage.setItem("userFreeGameList", JSON.stringify(userFreeGameList));
- } else {
- freeGamesExceeded = true;
- }
- // console.log("Number of games user has played "+ userPlayedGames );
- var validReferer = false;
- var validGameSession = false;
- if (userFreeGameList.indexOf(freeGameNid) > -1) {
- validGameSession = true;
- }
- if (ref.match("google.com") !== null || ref.match("yahoo.com") !== null || ref.match("bing.com") !== null) {
- validReferer = true;
- }
- subscriptionSignUpUrl();
- if (! validReferer && userPlayedGames >= freeGameLimit && ! validGameSession) {
- // subscription paywall
- // block anonymous users for New York City from 0-7am and 13pm to 11:59pm console.log("Free games limit exceeded and referer is not google");
- clearInterval(intervalId);
- jQuery("#afg_container").remove();
- jQuery(".game-instructions").remove();
- var alreadySubscriberText = '<p class="already-subscribed">Already a Subscriber? <a class="learn-more-link" href="/login">Login</a></p>';
- if (getCookie('cmg_l') != null) {
- alreadySubscriberText = '';
- }
- var headLine = '<p class="no-free-games-headline">Please Sign up to keep playing</p>';
- if (getCookie('cmg_l') != null && getCookie('cmg_sx') != null) {
- headLine = '<p class="no-free-games-headline" style="padding-top:46px;">PLEASE SUBSCRIBE NOW TO KEEP PLAYING</p>';
- }
- jQuery(".field-game").html('<div class="subscription-overlay" style="height:360px;width:500px;background:#008aa3;white-space:normal;">' + headLine + '<p class="free-in-schools">The World\'s Best Collection of Games <br> For Logic, Reasoning & Fun. <a class="' + subscribeNowAlienClass + '" id="game_subscription_promo_handler" href="' + signUpURL + ' ">Subscribe Now</a>' + alreadySubscriberText + '</div>');
- jQuery("#videoplayer").remove();
- } else {
- // console.log("User may have come from google or is within the free game limit "+ (freeGameLimit-userPlayedGames) );
- // TODO Display Game
- removePrerollAndDisplayGame();
- jQuery(document).ready(function () {
- display_game_progressbar(gameId);
- });
- }
- }
- }
- }
- function unlockAllLevels() {
- trackEvent('Unlock All Levels category', 'unlock all levels button clicked', document.title);
- alllevels = '<div id="subscriber-banner"><div class="adobe-analytics-sub-experience levels-unlocked">levels-unlocked</div></div>';
- jQuery("#subscriber-banner").replaceWith(alllevels);
- var cmgorigindomain = /coolmath-games/;
- var cmgtargetdomain = window.location.protocol + 'www.coolmath-games.com';
- if (/edit-stage/.test(window.location.hostname)) {
- cmgtargetdomain = window.location.protocol + 'edit-stage.coolmath-games.com';
- } else if (/d8-dev/.test(window.location.hostname)) {
- cmgtargetdomain = window.location.protocol + 'stage.coolmath-games.com';
- } else if (/cmatgame.local|dev.coolmath.games.com/.test(window.location.hostname)) {
- cmgtargetdomain = window.location.protocol + 'stage.coolmath-games.com';
- }
- if (game_type == "html5") {
- document.getElementById("html5game").contentWindow.unlockAllLevels();
- } else {
- if (cmgorigindomain.test(window.location.hostname)) {
- document.getElementById("swfObjID").unlockAllLevels();
- } else {
- var recievergameFrame = document.getElementById("swfgame");
- gDate = new Date();
- recievergameFrame.contentWindow.postMessage('unlockAllLevels', cmgtargetdomain); // TODO -- put target origin
- }
- }
- }
- function addSubToUnlockGAEvent() {
- trackEvent('Unlock All Levels category', 'subscribe to unlock button clicked', document.title);
- trackGoalVirtualPV('/virtual/unlock-button-click');
- window.location.href = "https://www.coolmathgames.com/signup/ b2df5a33?origin= /0-run-3&stual=1"
- }
- var immersive_mode_enabled = false;
- // Rules for big screen free trial
- function valid_big_screen_ft() {
- validUserMode = false;
- cmg_bsft = getCookie('cmg_bsft') !== null ? parseInt(getCookie('cmg_bsft')) : 0;
- // Logged in user
- if (getCookie('cmg_fx') !== null && getCookie('cmg_uid') !== null) {
- cmg_uid_bsft = getCookie('cmg_bsft_' + getCookie('cmg_uid'));
- if (cmg_uid_bsft !== null) {
- cmg_bsft = parseInt(cmg_uid_bsft);
- } else {
- cmg_bsft = 0;
- }
- }
- if (cmg_bsft <= 3) {
- validUserMode = true;
- }
- return validUserMode;
- }
- function immersive_mode_display_controller() {
- var validUserMode = false;
- if (getCookie('cmg_editor') !== null) { // display game for editors
- removePrerollAndDisplayGame();
- validUserMode = true;
- }
- if (getCookie('cmg_sx') !== null || getCookie("cmg_wl") !== null) { // display xp bar for premium users
- $('.game-xp-bar-immerse-button').addClass('enabled');
- jQuery('.btn.btn-primary.btn-sm.requestfullscreen').css('display', 'inline-block');
- validUserMode = true;
- } else if (getCookie('cmg_fx') !== null) { // Is valid Freemium user free trial ?
- if (valid_big_screen_ft()) {
- validUserMode = true;
- } else {
- validUserMode = true;
- // console.log("User reached FT limit. Display Big screen button ?");
- }
- } else { // Is valid Anonymous user free trial ?
- if (valid_big_screen_ft()) {
- validUserMode = true;
- }
- }
- if (validUserMode && ! immersive_mode_enabled) {
- immersive_mode_enabled = true;
- immersive_mode_display();
- }
- }
- var bigScreenTimer = null;
- bigScreenActive = false;
- function cmg_bigscreen_trackevent(type, trial_num) {
- if (jQuery('#big-screen-truex-overlay').length) {
- jQuery('#big-screen-truex-overlay').hide();
- }
- var tCat = 'BigScreen-Trial';
- if (cmg_stop_truex_promo === '' || cmg_stop_truex_promo !== 'yes') {
- var tCat = 'BigScreen-TrueX-Promo';
- }
- var tUsr = 'Anonymous user';
- if (typeof getCookie === 'function' && (getCookie('cmg_sx') !== null || getCookie('cmg_wl') !== null)) {
- tUsr = 'Subscriber';
- } else if (typeof getCookie === 'function' && getCookie('cmg_fx') !== null) {
- tUsr = 'Freemium user';
- }
- var tEvt = tUsr + ' trial ' + trial_num + ' - ' + type;
- if (cmg_stop_truex_promo === '' || cmg_stop_truex_promo !== 'yes') {
- tEvt = tUsr + ' TrueX Promo' + ' - ' + type;
- } else {
- if (trial_num > 3) {
- tEvt = tUsr + ' no more trial ' + ' - ' + type;
- }
- }
- if (type === 'enter' || type === 'exit' || type === 'closesignup' || type == 'closepromo' || type == 'bigscreen-exit') {
- trackEvent(tCat, tEvt, document.title);
- } else if (type === 'exit2signup' || type === 'signup') {
- if (cmg_stop_truex_promo === '' || cmg_stop_truex_promo !== 'yes') {
- var sLeg = get_premium_access_leg_desc('849ef809');
- if (typeof getCookie === 'function' && getCookie('cmg_fx') !== null && (getCookie('cmg_sx') === null && getCookie('cmg_wl') === null)) {
- sLeg = get_premium_access_leg_desc('e180e28d');
- }
- trackEvent(tCat, tEvt + ' - Leg - ' + sLeg, document.title);
- } else {
- var sLeg = get_premium_access_leg_desc('1bb008bd');
- if (typeof getCookie === 'function' && getCookie('cmg_fx') !== null && (getCookie('cmg_sx') === null && getCookie('cmg_wl') === null)) {
- sLeg = get_premium_access_leg_desc('7859e605');
- }
- trackEvent(tCat, tEvt + ' - Leg - ' + sLeg, document.title);
- }
- } else {
- trackEvent(tCat, type, document.title);
- }
- }
- popover_login_click = false;
- function cmg_display_login_page() {
- //console.log("login link clicked in popup message");
- popover_login_click = true;
- if (jQuery('#popover' + gameId).length) {
- jQuery('#popover' + gameId).remove();
- immerse_hover_on = 0;
- }
- window.location = "/login?destination=" + window.location.pathname
- }
- function display_cmg_overlay_signupform(variant) {
- // console.log("BIG SCREEN display_cmg_overlay_signupform: "+new Date());
- if (jQuery('#popover' + gameId).length) {
- jQuery('#popover' + gameId).remove();
- immerse_hover_on = 0;
- }
- // track event of type 'signup'
- if (typeof cmg_bsft === 'undefined') {
- cmg_bsft = 0;
- if (getCookie('cmg_fx') === null) {
- cmg_bsft = getCookie('cmg_bsft') !== null ? parseInt(getCookie('cmg_bsft')) : 0;
- } else if (getCookie('cmg_uid') !== null && getCookie('cmg_bsft_' + getCookie('cmg_uid')) !== null) {
- cmg_bsft = getCookie('cmg_bsft_' + getCookie('cmg_uid'));
- }
- }
- cmg_bigscreen_trackevent('signup', cmg_bsft);
- if ((getCookie('cmg_sx') === null && getCookie('cmg_wl') === null)) {
- myStopFunction();
- }
- // Check if A/B test is available
- if (typeof signup_abtest_cmg_bsft !== 'undefined') {
- //variant = signup_abtest_cmg_bsft;
- }
- if (typeof variant === 'undefined' || variant === '') {
- variant = '/16'; // 14b, 15c, 16
- }
- if (cmg_stop_truex_promo !== '' && cmg_stop_truex_promo === 'yes' && jQuery('#big-screen-overlay').length) {
- jQuery('#big-screen-overlay').show();
- } else if (cmg_stop_truex_promo !== '' && cmg_stop_truex_promo === 'yes') {
- var big_screen_url = '';
- if (getCookie('cmg_fx') === null) {
- // big_screen_url = '/premium-access/1bb008bd' + variant + '?ts='+new Date().getTime();//Bigscreen trial plans
- // big_screen_url = '/premium-access/849ef809' + variant + '?ts=' + new Date().getTime(); // BSWOJ anon plan
- big_screen_url = '/premium-access/6ea95de6' + variant + '?ts='+new Date().getTime();//BSWOJ anon plan
- } else {
- // big_screen_url = '/premium-access/7859e605' + variant + '?ts='+new Date().getTime();//BSFT logged-in user plan
- big_screen_url = '/premium-access/e180e28d' + variant + '?ts=' + new Date().getTime(); // BSWOJ logged-in user plan
- }
- if (variant == 'thankyou') {
- big_screen_url = '/signup/thank-you/overlay?ts=1596827222&src=wc&origin=/premium-access/1bb008bd/14b&sp=0&cmgtypl=1bb008bd&cmgovly=1';
- }
- if (/coolmathgames/.test(location.host)) {
- // big_screen_url = "https://" + location.host + big_screen_url;
- }
- var ov_css = 'style="display:none; position: fixed; z-index: 100000; left: 0; top: 0; width: 100%; height: 100%; overflow: auto; background-color: rgb(0,0,0); background-color: rgba(0,0,0,0.4);" min-height="1040px"';
- var ovc_css = 'style="margin: auto; padding: 10px; width: 850px;" min-height="540px"';
- var iframe_overlay = '<div id="big-screen-overlay" ' + ov_css + ' width="90%" height="90%"><div class="big-screen-signup-container" ' + ovc_css + ' ><a class="btn-close" onclick="cmg_bigscreen_trackevent(\'closesignup\', cmg_bsft); return false;" href="/"><i class="fa fa-circle fa-stack-1x"></i><i class="icon-remove_sign" aria-hidden="true"></i></a><iframe src="' + big_screen_url + '" width="100%" height="100%" min-height="1000px" id="big_screen_iframe" scrolling="no"></iframe></div></div>';
- // TODO Add this iframe at the correct place that it needs to go.
- jQuery('.global-wrapper').before(iframe_overlay); // TODO
- jQuery('#big_screen_iframe').css('height', '800px');
- jQuery('#big-screen-overlay').fadeIn(1000);
- jQuery('.big-screen-signup-container .btn-close').on('click', function (e) {
- e.preventDefault();
- jQuery('#big-screen-overlay').hide();
- });
- } else {
- var big_screen_url = '';
- if (getCookie('cmg_fx') === null) { // big_screen_url = '/premium-access/1bb008bd' + variant + '?ts='+new Date().getTime();
- big_screen_url = '/premium-access/849ef809' + variant + '?ts=' + new Date().getTime(); // BSWOJ anon plan
- } else { // big_screen_url = '/premium-access/7859e605' + variant + '?ts='+new Date().getTime();
- big_screen_url = '/premium-access/e180e28d' + variant + '?ts=' + new Date().getTime(); // BSWOJ logged-in user plan
- }
- if (variant == 'thankyou') {
- big_screen_url = '/signup/thank-you/overlay?ts=1596827222&src=wc&origin=/premium-access/849ef809/14b&sp=0&cmgtypl=1bb008bd&cmgovly=1';
- }
- if (/coolmathgames/.test(location.host)) { // big_screen_url = "https://" + location.host + big_screen_url;
- }
- var ov_css = 'style="display:none; position: fixed; z-index: 100000; left: 0; top: 0; width: 100%; height: 100%; overflow: auto; background-color: rgb(0,0,0); background-color: rgba(0,0,0,0.4);" min-height="1040px"';
- var ovc_css = 'style="margin: auto; padding: 10px; width: 850px;" min-height="540px"';
- var iframe_overlay = '<div id="big-screen-overlay" ' + ov_css + ' width="90%" height="90%"><div class="big-screen-signup-container" ' + ovc_css + ' ><a class="btn-close" onclick="cmg_bigscreen_trackevent(\'closesignup\', cmg_bsft); return false;" href="/"><i class="fa fa-circle fa-stack-1x"></i><i class="icon-remove_sign" aria-hidden="true"></i></a><iframe src="' + big_screen_url + '" width="100%" height="100%" min-height="1000px" id="big_screen_iframe" scrolling="no"></iframe></div></div>';
- // TODO Add this iframe at the correct place that it needs to go.
- jQuery('.global-wrapper').before(iframe_overlay); // TODO
- jQuery('#big_screen_iframe').css('height', '800px');
- jQuery('#big-screen-overlay').fadeIn(1000);
- jQuery('.big-screen-signup-container .btn-close').on('click', function (e) {
- e.preventDefault();
- jQuery('#big-screen-overlay').hide();
- });
- }
- }
- function immersive_mode_exit_handler(variant) {
- bigScreenActive = false;
- cmg_bsft = getCookie('cmg_bsft') !== null ? parseInt(getCookie('cmg_bsft')) : 0;
- // we do not increment in exit handler
- // Logged in user
- if (getCookie('cmg_fx') !== null && getCookie('cmg_uid') !== null) {
- cmg_uid_bsft = getCookie('cmg_bsft_' + getCookie('cmg_uid'));
- if (cmg_uid_bsft !== null) {
- cmg_bsft = parseInt(cmg_uid_bsft);
- } else {
- cmg_bsft = 0;
- }
- }
- if (cmg_bsft >= 3 && getCookie('cmg_sx') === null && getCookie('cmg_wl') === null) { // Redirect the user to signup page
- if (jQuery.fullscreen.isFullScreen()) {
- jQuery.fullscreen.exit();
- }
- if (cmg_stop_truex_promo !== '' && cmg_stop_truex_promo === 'yes') {
- // track event of type 'exit2signup'
- cmg_bigscreen_trackevent('exit2signup', cmg_bsft);
- display_cmg_overlay_signupform(variant);
- } else {
- cmg_bigscreen_trackevent('bigscreen-exit', cmg_bsft);
- }
- } else if (getCookie('cmg_sx') === null && getCookie('cmg_wl') === null) {
- myTimerAction();
- }
- if (bigScreenTimer) {
- clearTimeout(bigScreenTimer);
- bigScreenTimer = null;
- }
- if (cmg_bsft < 3) { // track event of type 'exit'
- cmg_bigscreen_trackevent('exit', cmg_bsft);
- }
- }
- function bigScreenTimerAction() {
- cmg_bsft = 3;
- if (typeof bigScreenActive !== 'undefined' && bigScreenActive) {
- if (getCookie('cmg_fx') !== null && getCookie('cmg_uid') !== null) { // Logged in user
- cmg_uid_bsft = getCookie('cmg_bsft_' + getCookie('cmg_uid'));
- if (cmg_uid_bsft !== null) { // cmg_bsft = parseInt(cmg_uid_bsft) + 1;
- cmg_bsft = 3; // 3011
- } else {
- cmg_bsft = 3; // 3011
- }
- // Ajax request to update user object
- url = "/ajax/cmgbsft/" + getCookie('cmg_uid') + '/' + cmg_bsft; // + '?' + new Date().getTime();
- status = 0;
- jQuery.getJSON(url, function (data) {
- if (typeof data.uid !== 'undefined' && data.cmgbsft !== 'undefined') {
- status = 1;
- }
- });
- // setCookie('cmg_bsft_'+getCookie('cmg_uid'), cmg_bsft, 365 * 24 * 60 * 60 * 1000);
- } else {
- // Anon user
- // cmg_bsft = getCookie('cmg_bsft') !== null ? parseInt(getCookie('cmg_bsft')) + 1 : 1;
- cmg_bsft = 3; // 3011
- setCookie('cmg_bsft', cmg_bsft, 365 * 24 * 60 * 60 * 1000);
- }
- clearTimeout(bigScreenTimer);
- bigScreenTimer = null;
- }
- }
- var immerse_hover_on = 0;
- var immerse_hover_in = 0;
- var big_screen_msg_on = 0;
- function immersive_popover_msg() {
- var popover_msg = "New Premium Feature! Try it for FREE now";
- if ((getCookie('cmg_sx') !== null || getCookie('cmg_wl') !== null)) {
- popover_msg = "New Premium Feature! Try it now!";
- } else {
- cmg_bsft = getCookie('cmg_bsft') !== null ? parseInt(getCookie('cmg_bsft')) : 0;
- // Logged in user
- if (getCookie('cmg_fx') !== null && getCookie('cmg_uid') !== null) {
- cmg_uid_bsft = getCookie('cmg_bsft_' + getCookie('cmg_uid'));
- if (cmg_uid_bsft !== null) {
- cmg_bsft = parseInt(cmg_uid_bsft);
- } else {
- cmg_bsft = 0;
- }
- }
- // setCookie('cmg_bsft', cmg_bsft, 365*24*60*60*1000);todo in timer function after bigscreen is active for a minute
- if (cmg_bsft === 1) {
- popover_msg = "2 Free Trials Remaining";
- } else if (cmg_bsft === 2) {
- popover_msg = "1 Free Trial Remaining";
- } else if (cmg_bsft >= 3) {
- var variant = '';
- if (typeof signup_abtest_2_variations_adfree_modular !== 'undefined') {
- variant = '/'.signup_abtest_2_variations_adfree_modular;
- }
- if (getCookie('cmg_fx') !== null) {
- popover_msg = 'BIG SCREEN is a Premium Feature. <br/>Please <a onclick=\'display_cmg_overlay_signupform(); return false;\' href=\'/premium-access/7859e605' + variant + '\'>Sign Up</a>';
- } else {
- popover_msg = 'BIG SCREEN is a Premium Feature. <br/>Please <a onclick=\'display_cmg_overlay_signupform(); return false;\' href=\'/premium-access/1bb008bd' + variant + '\'>Sign Up</a> or <a onclick=\'cmg_display_login_page(); return false;\' href=\'/login\'>Log In</a>.';
- }
- }
- }
- return popover_msg;
- }
- var cmg_bs_popover_prefix = '<div class="popover fade bs-popover-top show" role="tooltip" id="popover' + gameId + '" x-placement="top" ';
- var cmg_bs_popover_suffix1 = '><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body">';
- var cmg_bs_popover_suffix2 = '</div></div>';
- // Display BS TrueX options overlay
- network_user_id = '';
- truex_options = null;
- truex_ad_available = 0;
- // make call to trueX for available ads
- function requestTrueXAdsAndDisplay(client) { // log("Ads Requested");
- client.requestActivity(function (truexAd) { // var truexAd = ads.shift();
- if (truexAd) {
- truex_ad_available = 1;
- // trackEvent('View a Sponsored Video', 'TrueX Ad Available', document.title);
- log("Bigscreen Truex Ad client loaded and ad available");
- showTrueXOptIn(truexAd, client);
- } else { // log("No ads available.");
- log("Bigscreen Truex Ad NOT available. Pre-roll video ad shall be displayed");
- // trackEvent('View a Sponsored Video', 'TrueX Ad Not Available', document.title);
- truex_ad_available = 0;
- }
- });
- }
- function showTrueXOptIn(truexAd, client) { // add TrueX event handlers
- truexAd.onStart(function (activity) { // ad started
- log("Bigscreen Truex Ad start");
- // cmg_bigscreen_trackevent
- trackEvent('BigScreen-TrueX-Promo', 'View a Sponsored Video: TrueX Ad Start', document.title);
- jQuery('#big-screen-truex-header-text').css('padding-top', '14px').html('<div><span style="font-size: 22px;">PLAY BIG SCREEN AFTER THIS 30 SECOND AD</span></div>');
- myStopFunction();
- trueXTimer = setTimeout(function () {
- jQuery('#big-screen-truex-header-text').css('background-color', '#16202c').css('padding-top', '14px').html('<div><span style="font-size: 22px;">PLEASE INTERACT WITH THIS AD TO CONTINUE</span></div>'); // .css('margin-top', '150px');
- }, 25 * 1000);
- });
- truexAd.onCredit(function (engagement) { // user spent 30 seconds and interacted at least once
- log("Bigscreen Truex Ad credit");
- trackEvent('BigScreen-TrueX-Promo', 'View a Sponsored Video: TrueX Ad Credited', document.title);
- // <div class="continue-link-yellow"> text to write ▶</div>
- jQuery('#big-screen-truex-header-text').css('background-color', '#16202c').css('padding-top', '14px').html('<div><span><a href="" style="font-size: 22px; text-decoration: none; color:#F5E61F; " id="truex-bigscreen-activate-id" class="truex-bigscreen-activate">PLAY BIG SCREEN NOW ▶</a></span></div>');
- document.getElementById("truex-bigscreen-activate-id").onclick = function () {
- event.preventDefault();
- if (typeof bigScreenActive === 'undefined' || typeof bigScreenActive !== 'undefined' && !bigScreenActive) {
- jQuery('#big-screen-signup-container-id').html("");
- jQuery('#big-screen-truex-overlay').remove();
- cmg_start_game_full_screen('truex');
- }
- }
- // console.log(engagement);
- });
- truexAd.onClose(function (activity) { // user closed the ad unit
- log("Bigscreen Truex Ad close");
- trackEvent('BigScreen-TrueX-Promo', 'View a Sponsored Video: TrueX Ad Closed', document.title);
- containerClose();
- requestTrueXAdsAndDisplay(client);
- });
- truexAd.onFinish(function (activity) { // user got to end of ad
- log("Bigscreen Truex Ad finish");
- trackEvent('BigScreen-TrueX-Promo', 'View a Sponsored Video: TrueX Ad Finished', document.title);
- jQuery('#big-screen-signup-container-id').html("");
- jQuery('#big-screen-truex-overlay').remove();
- // full screen
- cmg_start_game_full_screen("truex");
- });
- truexAd.onMessage(function (payload) { // log("onMessage = " + payload);
- });
- // track TrueX Trigger Point Impression
- // client.trackTriggerPointImpression(truexAd);
- // handle opt-in click event
- // add TrueX Opt-in to DOM
- if (jQuery("#cmg-big-screen-truex-activity").length) {
- var truex_container = document.getElementById("cmg-big-screen-truex-activity");
- document.getElementById("cmg-big-screen-truex-activity").onclick = function () { // truex_preroll_display_handler();
- event.preventDefault();
- trackEvent('BigScreen-TrueX-Promo', 'View a Sponsored Video: Button clicked', document.title);
- jQuery('.big-screen-options-container').hide();
- if (truex_ad_available && typeof client !== 'undefined') { // BigScreen-TrueX-Promo
- log("Bigscreen Truex ad available. Show Truex activity");
- trackEvent('BigScreen-TrueX-Promo', 'View a Sponsored Video: TrueX Ad Loading', document.title);
- client.loadActivityIntoContainer(truexAd, 'big-screen-signup-container-id', {
- width: "960px",
- height: "540px"
- });
- // show_big_screen_preroll_ad();//test preroll
- } else {
- log("Bigscreen Truex ad not available. Instead show preroll video");
- // TODO: Show preroll
- truex_overlay_preroll_ad_display = true;
- show_big_screen_preroll_ad();
- trackEvent('BigScreen-TrueX-Promo', 'View a Sponsored Video: Preroll Ad Loading', document.title);
- }
- };
- }
- // cmg-big-screen-truex-signup
- if (jQuery("#cmg-big-screen-truex-signup").length) {
- document.getElementById("cmg-big-screen-truex-signup").onclick = function () {
- log("Bigscreen button clicked");
- event.preventDefault();
- // jQuery('.big-screen-options-container').hide();
- jQuery('#big-screen-truex-overlay').remove();
- display_cmg_overlay_signupform();
- };
- }
- }
- function truex_preroll_display_handler() { // log("Truex ad is available. Show truex activity");
- event.preventDefault();
- trackEvent('BigScreen-TrueX-Promo', 'View a Sponsored Video: Button clicked', document.title);
- jQuery('.big-screen-options-container').hide();
- if (truex_ad_available && typeof client !== 'undefined') { // BigScreen-TrueX-Promo
- trackEvent('BigScreen-TrueX-Promo', 'View a Sponsored Video: TrueX Ad Loading', document.title);
- client.loadActivityIntoContainer(truexAd, 'big-screen-signup-container-id', {
- width: "960px",
- height: "540px"
- });
- // show_big_screen_preroll_ad();//test preroll
- } else {
- // log("Truex ad not available. Instead show preroll video");
- // TODO: Show preroll
- truex_overlay_preroll_ad_display = true;
- show_big_screen_preroll_ad();
- trackEvent('BigScreen-TrueX-Promo', 'View a Sponsored Video: Preroll Ad Loading', document.title);
- }
- }
- function containerClose() { // log("containerClose called.");
- }
- function log(msg) {
- console.log("CMG [%s] - %s", new Date().toLocaleTimeString(), msg);
- }
- cmg_truex_promo_events_added = 0;
- function display_big_screen_truex_options_overlay() { // initialize trueX ad client w/ options hash
- trackEvent('BigScreen-TrueX-Promo', 'Bigscreen button clicked', document.title);
- //console.log("big screen button click position 1 -"+ new Date());
- if(getCookie('cmg_sx') !== null || getCookie('cmg_wl') !== null || getCookie('cmg_editor') !== null ) {
- event.preventDefault();
- //console.log("big screen button click -"+ new Date());
- cmg_start_game_full_screen('truex');
- } else {
- network_user_id = getCookie('_ga');
- if (typeof network_user_id !== 'undefined' && network_user_id !== '') {
- network_user_id = network_user_id.replace('GA', 'cmg');
- }
- // TRUEX Test Hash
- // truex_options = {'network_user_id': network_user_id, 'partner_config_hash': '83f879b26797c723882473d6435e6361c105d86b'};
- // TRUEX Live Hash
- truex_options = {
- 'network_user_id': network_user_id,
- 'partner_config_hash': '375f2f2b728700cd991bb24601b3841c98375886'
- };
- if (typeof truex !== 'undefined') {
- truex.client(truex_options, function (client) {
- requestTrueXAdsAndDisplay(client);
- });
- }
- var ov_css = ' style="display:none; position: fixed; z-index: 100000; left: 0; top: 0; width: 100%; height: 100%; overflow: auto; background-color: rgb(0,0,0); background-color: rgba(0,0,0,0.7);" min-height="1040px" ';
- var ovc_css = ' style="margin: auto; margin-top: 200px; padding: 10px; width: 424px; height: initial; background-color: #1f4f77; border:3px solid #286aa1;" ';
- var ovc_css_id = ' style="margin: auto; margin-top: 150px; width: 960px; " ';
- var truex_css = ' ';
- var truex_options1 = '<div class="truex_options_title" ' + truex_css + '><h1>To Play This Game in Big Screen Mode</h1></div>';
- // onclick="truex_preroll_display_handler(); return false; --> below"
- var truex_options2 = '<div class="truex_options_video" ' + truex_css + '><a href="" id="cmg-big-screen-truex-activity" class="txt-bs-popup" onclick="truex_preroll_display_handler(); return false;"><h2>View a Sponsored Video</h2></a></div>';
- var truex_optionsOR = '<div class="truex_options_OR_txt" ' + truex_css + '><h1> OR </h1></div>';
- var truex_options3 = '<div class="truex_options_signup" ' + truex_css + '><a href="" id="cmg-big-screen-truex-signup" class="txt-bs-popup" onclick="display_cmg_overlay_signupform(); return false;"><h2>Pay for Premium Access</h2></a></div>';
- var truex_options4 = '<div class="truex_options_no_thks" ><a href="" id="cmg-big-screen-truex-promo-close" onclick="cmg_bigscreen_trackevent(\'closepromo\', cmg_bsft); return false;" href="/">No thanks, return to regular mode</a></div>';
- var truex_options_prefix = '<div id="cmg-truex-options-container">';
- var truex_options_suffix = '</div>';
- truex_options = truex_options_prefix + truex_options1 + truex_options2 + truex_optionsOR + truex_options3 + truex_options4 + truex_options_suffix;
- var truex_options_heading = '<div id="big-screen-truex-header-text" style="text-align: center; padding: 5px; padding-top: 14px; color:#fff; font-size:22px; background-color: #484848; ">' + '</div>';
- var preroll_container = '<div id="big-screen-preroll-container"><div id="videoplayer" style="width:100%;">' + '<video id="content123" style="width:640px;height:1px;">' + '<source src="//www.coolmathgames.com/sites/default/files/adtesting/DummyVideo.mov"></source>' + '</video><div id="adcontainer" style="margin:auto; width:640px;height:480px;"></div>' + '</div></div>' +
- // '<div id="continue-container"><div id="continue-link" style="color: yellow;">Continue in </div>'+
- // '<span id="preroll_timer_id" style="width: 1px; height: 1px;">15</span>';
- '</div>';
- var bs_truex_options = '<div id="big-screen-truex-overlay" class="big-screen-style-popup-container" ' + ov_css + ' width="90%" height="90%">' + '<div class="big-screen-options-container" ' + ovc_css + ' >' + '<div class="bs-pop-up-content-container"><a class="btn-close" onclick="cmg_bigscreen_trackevent(\'closepromo\', cmg_bsft); return false;" href="/">' + '<i class="icon-remove" style="font-size:24px;" aria-hidden="true"></i></a>' + truex_options + '</div>' + '</div>' + '<div id="truex-main-container" ' + ovc_css_id + '>' + truex_options_heading + '<div id="big-screen-signup-container-id"></div>' + preroll_container + '</div>' + '</div>';
- // TODO Add this iframe at the correct place that it needs to go.
- jQuery('.global-wrapper').before(bs_truex_options); // TODO
- jQuery('#big_screen_iframe').css('height', '800px');
- jQuery('.big-screen-options-container').show();
- jQuery('#big-screen-truex-overlay').fadeIn(1000);
- // if(!cmg_truex_promo_events_added) {
- // cmg_truex_promo_events_added = 1;
- jQuery('.big-screen-options-container .btn-close').on('click', function (e) {
- e.preventDefault();
- jQuery('#big-screen-truex-overlay').hide();
- });
- jQuery('#cmg-big-screen-truex-promo-close').on('click', function (e) {
- e.preventDefault();
- jQuery('#big-screen-truex-overlay').hide();
- });
- // }
- }
- }
- function show_big_screen_preroll_ad() {
- event.preventDefault();
- jQuery('#big-screen-truex-header-text').css('padding-top', '14px').html('<h2 style="font-size: 22px;">PLAY BIG SCREEN AFTER THIS AD</h2>');
- jQuery('.big-screen-options-container').hide();
- var cmatgame_subscriber = getCookie('cmg_sx');
- var validSubscriber = false;
- if (typeof cmatgame_subscriber !== 'undefined' && cmatgame_subscriber !== null) {
- validSubscriber = true;
- }
- // preroll ads
- var prerollUrls = /0\-testing/;
- if (! validSubscriber) { // display preroll ads
- window.scrollTo(0, 0);
- var modal = document.getElementById('big-screen-preroll-container');
- // modal.style.display = 'block';
- // clear refresh timer
- if (typeof refreshTimer !== "undefined") {
- clearTimeout(refreshTimer);
- refreshTimer = null;
- }
- var adTagUrl = 'https://pubads.g.doubleclick.net/gampad/ads?iu=/137548614/1023174/71134/1023174-71134-video&description_url=https%3A%2F%2Fwww.coolmathgames.com%2F&env=vp&impl=s&correlator=&tfcd=0&npa=0&gdfp_req=1&output=vast&sz=640x480&unviewed_position_start=1';
- if (typeof window.PW_CMG != "undefined") {
- var auctionCallback = function (displayAds, videoUrl) {
- application = new Application(displayAds, videoUrl);
- };
- window.PW_CMG.startAuction(auctionCallback);
- } else { // adblock
- application = new Application(false, adTagUrl);
- }
- bs_preroll_timer = 15;
- bs_preroll_intervalId = setInterval(function () {
- bs_preroll_timer --;
- jQuery('#big-screen-truex-header-text').html('<h2 style="font-size: 22px;">PLAY BIG SCREEN AFTER THIS AD: ' + bs_preroll_timer + '</h2>');
- // document.getElementById("preroll_timer_id").innerHTML = seconds_left;
- if (bs_preroll_timer <= 0) {
- jQuery('#big-screen-truex-header-text').html('<h2><a href="" style="font-size: 22px; text-decoration: none; color:#F5E61F; " id="truex-bigscreen-activate-id" class="truex-bigscreen-activate">PLAY BIG SCREEN NOW ▶</a></h2>');
- document.getElementById("truex-bigscreen-activate-id").onclick = function () {
- event.preventDefault();
- if (typeof bigScreenActive === 'undefined' || typeof bigScreenActive !== 'undefined' && !bigScreenActive) {
- jQuery('#big-screen-signup-container-id').html("");
- jQuery('#big-screen-truex-overlay').remove();
- cmg_start_game_full_screen('truex');
- }
- }
- clearInterval(bs_preroll_intervalId);
- }
- }, 1000);
- }
- }
- // TRUEX end
- function cmg_start_game_full_screen(cmgsource) {
- myStopFunction(); // no ad refresh
- bigScreenActive = true;
- // console.log("Starting fullscreen");
- if (cmg_stop_truex_promo !== '' && cmg_stop_truex_promo === 'yes') { // trackEvent('BigScreen-Trial', 'Bigscreen activated', document.title);
- cmg_bigscreen_trackevent('enter', cmg_bsft);
- bigScreenTimer = setTimeout(function () {
- bigScreenTimerAction();
- }, 60 * 1000);
- }
- else {
- // trackEvent('BigScreen-TrueX-Promo', 'Bigscreen activated', document.title);
- cmg_bigscreen_trackevent('enter', 0);
- }
- var elem = document.getElementById('block-system-main');
- if (jQuery('html').hasClass('mobile-device')) {
- requestFullscreenModal(elem, document.title);
- return false;
- }
- if (elem.requestFullscreen) {
- elem.requestFullscreen();
- } else if (elem.mozRequestFullScreen) { /* Firefox */
- elem.mozRequestFullScreen();
- } else if (elem.webkitRequestFullscreen) { /* Chrome, Safari & Opera */
- elem.webkitRequestFullscreen();
- } else if (elem.msRequestFullscreen) { /* IE/Edge */
- elem.msRequestFullscreen();
- } else {
- requestFullscreenModal(elem, document.title);
- return false;
- }
- adjustWidthHeightGame();
- }
- function immersive_mode_display() {
- var popover_msg = immersive_popover_msg();
- var immerse_prefix = '<a class="btn btn-primary btn-sm requestfullscreen" href="#">'; // do not add title
- var immerse_suffix = '<i class="icon-expand-arrows-alt" aria-hidden="true"></i></a>';
- var immerse_html = '<span class="big-screen-popover-span" data-toggle="popover" data-trigger="focus" data-placement="top" data-content="' + popover_msg + '">Big Screen </span>';
- $(".immerse-button").html(immerse_prefix + immerse_html + immerse_suffix);
- if (getCookie('cmg_fx') !== null) {
- jQuery('.node-type-game.logged-in .requestfullscreen').css('display', 'inline-block');
- }
- if(getCookie('cmg_sx') !== null || getCookie('cmg_wl') !== null) {
- jQuery('.immerse-button a.btn').css('background-image', 'url("https://www.coolmathgames.com/sites/default/files/styles/WATCH-AD-TO-PLAY-BIG-SCREEN-vSub.png")').css('width', '132px')
- }
- // get game
- var elem = document.getElementById('block-system-main');
- // open game in fullscreen
- $('.immerse-button .requestfullscreen').on('click', function (e) {
- e.preventDefault();
- //console.log("function immerse button onclick handler" + new Date());
- // If mobile view show full screen without any ads
- // if($("html").hasClass("mobile-device")) {
- // cmg_start_game_full_screen();
- // }
- if(/\/test-game\//.test(window.location.pathname)){
- //console.log("test page");
- cmg_start_game_full_screen();
- } else if (cmg_stop_truex_promo === '' || cmg_stop_truex_promo !== 'yes') {
- // TODO: Return from here or not?
- display_big_screen_truex_options_overlay();
- return;
- }
- if (jQuery('#popover' + gameId).length) {
- jQuery('#popover' + gameId).remove();
- immerse_hover_on = 0;
- }
- cmg_bsft = getCookie('cmg_bsft') !== null ? parseInt(getCookie('cmg_bsft')) : 0;
- // Logged in user
- if (getCookie('cmg_fx') !== null && getCookie('cmg_uid') !== null) {
- cmg_uid_bsft = getCookie('cmg_bsft_' + getCookie('cmg_uid'));
- if (cmg_uid_bsft !== null) {
- cmg_bsft = parseInt(cmg_uid_bsft);
- } else {
- cmg_bsft = 0;
- }
- }
- if (cmg_stop_truex_promo !== '' && cmg_stop_truex_promo === 'yes') {
- if (cmg_bsft < 3) {
- // track event of type 'enter'
- cmg_bigscreen_trackevent('enter', cmg_bsft + 1);
- }
- if (getCookie('cmg_sx') !== null || getCookie("cmg_wl") !== null || cmg_bsft < 3) {
- cmg_start_game_full_screen();
- } else {
- //console.log("BIG SCREEN You have reached a FT limit");
- //Display signup form
- if(getCookie('cmg_sx') === null && getCookie('cmg_wl') === null && !popover_login_click) {
- display_cmg_overlay_signupform();
- }
- // track event of type 'signup'
- // cmg_bigscreen_trackevent('signup', cmg_bsft+1);
- }
- } else {
- //Big Screen - TrueX Integration
- //TODO conditions to check or when to display the overlay
- if (getCookie('cmg_sx') === null && getCookie('cmg_wl') === null) {
- //console.log("Big screen button clicked. display the overlay with options");
- display_big_screen_truex_options_overlay();
- } else {
- if (cmg_bsft < 3) {
- // track event of type 'enter'
- cmg_bigscreen_trackevent('enter', cmg_bsft + 1);
- }
- if (getCookie('cmg_sx') !== null || getCookie('cmg_wl') !== null || cmg_bsft < 3) {
- cmg_start_game_full_screen();
- } else {
- //console.log("BIG SCREEN You have reached a FT limit");
- //Display signup form
- if(getCookie('cmg_sx') === null && getCookie('cmg_wl') === null && !popover_login_click) {
- //display_cmg_overlay_signupform();
- }
- // track event of type 'signup'
- // cmg_bigscreen_trackevent('signup', cmg_bsft+1);
- }
- }
- }
- });
- if (cmg_stop_truex_promo !== '' && cmg_stop_truex_promo === 'yes') {
- $('.immerse-button .requestfullscreen').hover(function () {
- // hover in
- // console.log("Bigscreen button hover in "+new Date());
- immerse_hover_in = 1;
- if (!immerse_hover_on) {
- popover_msg = immersive_popover_msg();
- var popover_html = cmg_bs_popover_prefix + cmg_bs_popover_suffix1 + popover_msg + cmg_bs_popover_suffix2;
- $(".immerse-button .big-screen-popover-span").after(popover_html);
- var width = $(".immerse-button").find('.requestfullscreen').width();
- var height = $(".immerse-button").find('.popover').height();
- var xPos = '-' + (width/2);
- var yPos = '-' + (height + 5);
- $(".immerse-button").find('.popover').css("transform","translate3d("+ xPos +"px, "+ yPos + "px, 0)");
- immerse_hover_on = 1;
- if (jQuery('#popover' + gameId).length) {
- jQuery('#popover' + gameId).hover(function () {
- //console.log("Popover message hover in "+ new Date());
- big_screen_msg_on = 1
- }, function () {
- //console.log("Popover message hover out "+ new Date());
- big_screen_msg_on = 0;
- });
- }
- }
- }, function () {
- // hover out
- // console.log("Bigscreen button hover out "+ new Date());
- immerse_hover_in = 0;
- setTimeout(function () {
- if (immerse_hover_on && !immerse_hover_in && !big_screen_msg_on) {
- jQuery('#popover' + gameId).remove();
- immerse_hover_on = 0;
- }
- }, 1 * 1000);
- });
- }
- // close game fullscreen
- $('#block-system-main .close-full-screen').on('click', function (e) {
- e.preventDefault();
- immersive_mode_exit_handler();
- jQuery.fullscreen.exit();
- });
- $('body').keypress(function (e) {
- if (e.which == 27) {
- if ($('.immerse-button .requestfullscreen').length && typeof bigScreenActive !== 'undefined' && bigScreenActive) {
- immersive_mode_exit_handler();
- // jQuery.fullscreen.exit();
- }
- }
- });
- var screen_change_events = "webkitfullscreenchange mozfullscreenchange fullscreenchange MSFullscreenChange";
- // toggle full screen window class
- jQuery(document).on(screen_change_events, function () {
- if (jQuery.fullscreen.isFullScreen()) {
- /*
- elem.classList.add('full-screen-window');
- var iframe = document.getElementById('html5game') ? document.getElementById('html5game') : document.getElementById('swfgame');
- var iframeWidth = parseInt(iframe.width);
- var iframeHeight = parseInt(iframe.height);
- var windowWidth = parseInt(screen.width);
- var windowHeight = parseInt(screen.height) - 75;
- var xpbarPos = (windowHeight + 75 - iframeHeight) / 2 + iframeHeight + 10;
- $('.game-xp-bar-immerse-button').css('top', xpbarPos + "px");
- if ($("body").hasClass("game-scalable")) {
- if (iframeHeight > windowHeight) {
- var ratio = iframeHeight / windowHeight;
- } else {
- var ratio = windowHeight / iframeHeight;
- }
- // Calculating game width based on window height
- var gameWidth = iframeWidth * ratio;
- // apply new width and height with iframe and xp bar
- iframe.style.width = gameWidth + "px";
- iframe.style.height = windowHeight + "px";
- var xpbarPos = windowHeight + 10;
- $('.game-xp-bar-immerse-button').css('top', xpbarPos + "px");
- } else if ($("body").hasClass("game-full-screen")) { // apply new width and height with iframe and xp bar
- iframe.style.width = windowWidth + "px";
- iframe.style.height = windowHeight + "px";
- var xpbarPos = windowHeight + 10;
- $('.game-xp-bar-immerse-button').css('top', xpbarPos + "px");
- }
- */
- if (jQuery('html').hasClass('mobile-device')) {
- jQuery("#block-system-main #html5game").attr('src', jQuery('#playNowButton').attr('href'));
- }
- $("body").addClass('immersiveActive');
- elem.classList.add('full-screen-window');
- // add zoomed alert
- chkZoomValues();
- // Adjusted width and height of iframe game
- adjustWidthHeightGame();
- } else {
- if (jQuery('html').hasClass('mobile-device')) {
- jQuery("#block-system-main #html5game").removeAttr('src');
- }
- immersive_mode_exit_handler();
- $("body").removeClass('immersiveActive');
- elem.classList.remove('full-screen-window');
- // remove zoomed alert
- $('.zoomedalert').remove();
- $('#html5game').removeAttr("style");
- $('#swfgame').removeAttr("style");
- $('.game-xp-bar-immerse-button').removeAttr("style");
- }
- });
- }
- function adjustWidthHeightGame() {
- var iframe = document.getElementById('html5game') ? document.getElementById('html5game') : document.getElementById('swfgame');
- var iframeWidth = parseInt(iframe.width);
- var iframeHeight = parseInt(iframe.height);
- // var windowWidth = parseInt(screen.width);
- // var windowHeight = parseInt(screen.height) - 75;
- var windowWidth = parseInt($(window).width());
- var windowHeight = parseInt($(window).height());
- var xpbarPos = (windowHeight + 75 - iframeHeight) / 2 + iframeHeight + 10;
- $('.game-xp-bar-immerse-button').css('top', xpbarPos + "px");
- if ($("body").hasClass("game-scalable")) {
- if (iframeHeight > windowHeight) {
- var ratio = iframeHeight / windowHeight;
- } else {
- var ratio = windowHeight / iframeHeight;
- }
- // Calculating game width based on window height
- var gameWidth = iframeWidth * ratio;
- // apply new width and height with iframe and xp bar
- iframe.style.width = gameWidth + "px";
- iframe.style.height = windowHeight + "px";
- var xpbarPos = windowHeight + 10;
- $('.game-xp-bar-immerse-button').css('top', xpbarPos + "px");
- } else if ($("body").hasClass("game-full-screen")) { // apply new width and height with iframe and xp bar
- iframe.style.width = windowWidth + "px";
- iframe.style.height = windowHeight + "px";
- var xpbarPos = windowHeight + 10;
- $('.game-xp-bar-immerse-button').css('top', xpbarPos + "px");
- }
- }
- function adjustWidthHeightModalGame(is_resize) {
- var iframe = $('#immersiveModal').find('#html5game');
- var iframeWidth = parseInt(iframe.attr('width'));
- var iframeHeight = parseInt(iframe.attr('height'));
- var time_out = (is_resize === true) ? 500 : 0;
- // setTimeout(function(){
- var wdWidth = parseInt($(window).width());
- var wdHeight = parseInt($(window).height());
- var oTwdWidth = parseInt($(window).outerWidth());
- var oTwdHeight = parseInt($(window).outerHeight());
- var windowWidth = (oTwdWidth > wdWidth) ? oTwdWidth : wdWidth;
- var windowHeight = (oTwdHeight > wdHeight) ? oTwdHeight : wdHeight;
- if ($("body").hasClass("game-scalable")) {
- if (iframeHeight > windowHeight) {
- var ratio = iframeHeight / windowHeight;
- } else {
- var ratio = windowHeight / iframeHeight;
- }
- // Calculating game width based on window height
- var gameWidth = iframeWidth * ratio;
- // apply new width and height with iframe
- iframe.css("width", windowWidth);
- iframe.css("height", windowHeight);
- } else if ($("body").hasClass("game-full-screen")) {
- iframe.css("width", windowWidth);
- iframe.css("height", windowHeight);
- }
- // }, time_out);
- }
- // adjust game width/height if screen rotate from portrait to landscape
- window.addEventListener("resize", function () {
- if ($("body").hasClass("immersiveActive")) {
- adjustWidthHeightGame();
- }
- if ($("body").hasClass("isFullScreen")) {
- adjustWidthHeightGame();
- }
- if ($("body").find("#immersiveModal").length) {
- adjustWidthHeightModalGame(true);
- }
- }, false);
- var cmg_mmg_html = '';
- var cmg_mmg_swf_html = '';
- var cmg_game_modal_attached = false;
- function attachModalHtml(elem, title) {
- cmg_game_modal_attached = true;
- var elem = document.getElementById('block-system-main');
- html = '<div id="immersiveModal" class="" style="display:none;" tabindex="-1" role="dialog" aria-labelledby="immersiveModalLabel" aria-hidden="true">';
- html += '<div class="modal-dialog">';
- html += '<div class="modal-content">';
- html += '<div class="modal-body">';
- html += '<div id="swfgamewrapper1">';
- //html += jQuery('#'+elem.id).find('#swfgamewrapper').html();
- html += '</div>';
- html += '</div>';
- html += '</div>';
- html += '</div>';
- html += '</div>';
- $('body').append(html);
- var gamewrapper = jQuery("#swfgamewrapper");
- jQuery('#immersiveModal .modal-body').html(gamewrapper);
- if(cmg_is_mobile_device() || (jQuery(".game-page-mobile .playNow").length && jQuery(".game-page-mobile .playNow").is(':visible') ) ) {
- sandbox = jQuery("#html5game").attr("sandbox");
- if (sandbox !== undefined) {
- sandbox = ' sandbox=\"' + sandbox + '\"';
- } else {
- sandbox = '';
- }
- newiframe = '<iframe style="display: none;" id="html5game" src="' + jQuery("#html5game").attr("src") + '" class="' + jQuery("#html5game").attr("class") + '" width="' + jQuery("#html5game").attr("width") + '" height="' + jQuery("#html5game").attr("height") + '" scrolling="no" marginwidth="0' + '" vspace="0" frameborder="0" hspace="0" marginheight="0"' + sandbox + '></iframe>';
- if(jQuery("#html5game").length) {
- cmg_mmg_html = '<iframe id="html5game" src="' + jQuery("#html5game").attr("src") + '" class="' + jQuery("#html5game").attr("class") + '" width="' + jQuery("#html5game").attr("width") + '" height="' + jQuery("#html5game").attr("height") + '" scrolling="no" marginwidth="0' + '" vspace="0" frameborder="0" hspace="0" marginheight="0"' + sandbox + '></iframe>';
- }
- newswfiframe = '<iframe style="display: none;" id="swfgame" src="' + jQuery("#swfgame").attr("src") + '" class="' + jQuery("#swfgame").attr("class") + '" width="' + jQuery("#swfgame").attr("width") + '" height="' + jQuery("#swfgame").attr("height") + '" scrolling="no" marginwidth="0" vspac' + 'e="0" frameborder="0" hspace="0" marginheight="0"></iframe>';
- if(jQuery("#swfgame").length) {
- cmg_mmg_swf_html = '<iframe id="swfgame" src="' + jQuery("#swfgame").attr("src") + '" class="' + jQuery("#swfgame").attr("class") + '" width="' + jQuery("#swfgame").attr("width") + '" height="' + jQuery("#swfgame").attr("height") + '" scrolling="no" marginwidth="0" vspac' + 'e="0" frameborder="0" hspace="0" marginheight="0"></iframe>';
- }
- if (cmg_flash_emulated_game()) {
- if(drupalSettings.cmatgame.flash_emulation === "1"){ //ruffle
- game_type = "html5";
- var swfURLObject = drupalSettings.cmatgame.swfembed.swf.u;
- var swfURLArray = swfURLObject.split("/");
- game_width = drupalSettings.cmatgame.swfembed.swf.swf_1.width;
- game_height = drupalSettings.cmatgame.swfembed.swf.swf_1.height;
- var swf_game_url = 'https://www.coolmath-games.com/sites/cmatgame/files/ruffle1/ruffle.html?f='+swfURLArray[swfURLArray.length-1]+'&w='+game_width+'&h='+game_height;
- cmg_mmg_swf_html = '<iframe id="swfgame" src="' + swf_game_url + '" class="' + jQuery("#swfgame").attr("class") + '" width="' + jQuery("#swfgame").attr("width") + '" height="' + jQuery("#swfgame").attr("height") + '" scrolling="no" marginwidth="0" vspac' + 'e="0" frameborder="0" hspace="0" marginheight="0"></iframe>';
- } else if(drupalSettings.cmatgame.flash_emulation === "2"){ //ruffle
- //console.log("Cheerpx load 3");
- game_type = "html5";
- game_width = drupalSettings.cmatgame.swfembed.swf.swf_1.width;
- game_height = drupalSettings.cmatgame.swfembed.swf.swf_1.height;
- game_type = "html5";
- var swfURLObject = drupalSettings.cmatgame.swfembed.swf.u;
- var swfURLArray = swfURLObject.split("/");
- //swf_1_game_url = "/sites/default/files/games/" + swfURLArray[swfURLArray.length-1];
- swf_1_game_movie_param = swfURLArray[swfURLArray.length-1];
- //cheerpx js
- var swf_game_url = cmgGetCheerpxUrl()+swfURLArray[swfURLArray.length-1]+'&w='+game_width+'&h='+game_height;
- newswfiframe = '<iframe '+coep_frame_type+' id="swfgame" src="' + swf_game_url + '" class="' + jQuery("#swfgame").attr("class") + '" width="' + jQuery("#swfgame").attr("width") + '" height="' + jQuery("#swfgame").attr("height") + '" scrolling="no" marginwidth="0" vspac' + 'e="0" frameborder="0" hspace="0" marginheight="0"></iframe>';
- jQuery("#swfgame").replaceWith(newswfiframe);
- //console.log("Cheerpx replace iframe 2");
- }
- }
- }
- }
- function requestFullscreenModal(elem, title) {
- $("#immersiveModal").addClass('modal fade show full-screen-modal').css({"display":"block", "z-index":10000000});
- $('body').addClass('isModalPlay');
- $('#immersiveModal').find('#swfgamewrapper').show();
- if($('#html5game').length || cmg_mmg_html) {
- jQuery("#swfgamewrapper").html(cmg_mmg_html);
- if (cmg_flash_emulated_game()) {
- jQuery("#swfgamewrapper").html(cmg_mmg_swf_html);
- }
- } else if(jQuery('#swfgame').length) {
- if (cmg_flash_emulated_game()) {
- jQuery("#swfgamewrapper").html(cmg_mmg_swf_html);
- }
- }
- $('#immersiveModal').find('.close').click(function () {
- $("#immersiveModal").remove();
- });
- window.location.hash = "immersiveModal";
- $(window).on('hashchange', function (event) {
- if (window.location.hash != "#immersiveModal") {
- $("#immersiveModal").hide();
- if($('#html5game').length) {
- $('#html5game').remove();
- } else if(jQuery('#swfgame').length) {
- jQuery('#swfgame').remove();
- }
- $('body').removeClass('isModalPlay');
- }
- });
- adjustWidthHeightModalGame(false);
- if (typeof browser !== "undefined" && browser == "Microsoft Internet Explorer") {
- if ("function" === typeof checkVersionBrowser) {
- ieVersion = checkVersionBrowser();
- if(ieVersion == "IE 11" && !jQuery('#html5game').length) {
- jQuery("#swfgamewrapper").html(cmg_mmg_html);
- //console.log("requestFullscreenModal immersiveModal ieVersion ? "+ieVersion.length);
- }
- }
- }
- }
- </script><script type="deferjs">
- hide_preroll_ads = false;
- var cmg_active_anonymous_user = getCookie('cmg_active_anonymous_user');
- if (cmg_active_anonymous_user != null && !/0-chess/.test(window.location.pathname)) { // setCookie('cmg_active_anonymous_user', 'active', 30*60*1000);
- }
- </script><div id="afg_container"><div class="load-wrap"><script type="deferjs">
- // IE Detection and Version grabbing
- ie = false;
- if (navigator.appName == "Microsoft Internet Explorer") {
- ie = true;
- var ua = navigator.userAgent;
- var re = new RegExp("MSIE ([0-9]{1,}[.0-9]{0,})");
- if (re.exec(ua) != null) {
- ieVersion = parseInt(RegExp.$1)
- }
- }
- if (ie && ieVersion <= 9) {
- $('<h3 class="loadingText">Just a moment while your game loads...</h3>' + signupContainerTop).prependTo('.load-wrap');
- } else {
- $('<h3 class="loadingText">Just a moment while your game loads</h3><div class="circle"></div><div class="circle"></div><div class="circle"></div><div class="circle"></div>' + signupContainerTop).prependTo('.load-wrap');
- }
- </script></div></div><!--Start of Preloader call --><div id="afg_preloader"><div id="container123"><div id="videoplayer"><video id="content123" style="height: 1px; width: 640px;"><source src="//www.coolmathgames.com/sites/default/files/adtesting/DummyVideo.mov"></source></video><div id="adcontainer" style="height: 480px; width: 640px;"></div></div></div><!-- Continue to Game container with timer --><div id="continue-container" style="display:none"><div id="img-button-container"><div id="img-button-self" class="img-button"><input type="image" src="/themes/custom/coolmath/assets/images/coolmathgames_skip-the-ads-button3a.png" alt="Submit" class="skip-ad-btn" onclick="redirectpremium();"></div><div class="continue-lnk-container-rsection"><div id="continue-link">Continue in </div><div id="timer_div" style="margin-left:5px;">15</div></div></div></div><script type="deferjs" src="//cdn.intergi.com/prebid/cmg-prebid.js"></script><script type="deferjs" src="//cdn.intergi.com/cmg/cmg-headerbidding.js"></script><script type="deferjs" src="//imasdk.googleapis.com/js/sdkloader/ima3.js"></script><script type="deferjs" src="/modules/custom/cmatgame_ads_analytics/js/adblocker.js"></script><script type="deferjs">
- function redirectpremium(){
- //location.href= "/premium-access/";
- event.preventDefault();
- var sLeg = get_premium_access_leg_desc('2efa4bc4');
- var path = '/premium-access/2efa4bc4';
- if(typeof getCookie === 'function' && getCookie('cmg_fx') !== null && getCookie('cmg_sx') === null && getCookie('cmg_wl') === null) {
- path = '/premium-access/bd07c4e6';
- sLeg = get_premium_access_leg_desc('bd07c4e6');
- }
- trackEvent('Premium Subscription - '+sLeg, "Preroll - Skip Ads Go VIP Now - button clicked", document.title);
- window.location.href = window.location.protocol + '//' + window.location.host + path + get_signup_abtest_variant_3();
- }
- displayAdblockOverlay = false;
- if ( typeof hide_preroll_ads != "undefined" && !hide_preroll_ads && (document.getElementById('randomAdBlockDiv') == null || typeof google == "undefined" || typeof cmgpbjs == "undefined")) { // cmgpbjs is defined in ads, so if it undefined means, adblocker is detected
- displayAdblockOverlay = true;
- }
- /**
- * Handles user interaction and creates the player and ads controllers.
- */
- var pagepreRollType = '';
- var Application = function (displayAds, adTagUrl, preRollType) {
- if(typeof preRollType == "undefined") { //desktop
- preRollType = "";
- } else {
- pagepreRollType = preRollType;
- }
- this.playing_ = false;
- this.adsActive_ = false;
- this.adsDone_ = false;
- if (typeof displayAds === 'undefined' || displayAds === null) {
- this.displayAds = true;
- } else {
- this.displayAds = displayAds;
- }
- this.adTagUrl_ = adTagUrl;
- this.videoPlayer_ = new VideoPlayer(preRollType);
- //&& (typeof targeted_state === 'undefined' || watchAdtoUnlockGameIsClicked == "true")
- if(jQuery(window).width() >= 610 && jQuery(window).height() >= 610) {
- this.videoPlayer_.width = 640;
- this.videoPlayer_.height = 480;
- } else {
- this.videoPlayer_.width = 300;
- this.videoPlayer_.height = 250;
- }
- if (this.displayAds) { // console.log("Preload ads for non subscription time games");
- this.ads_ = new Ads(this, this.videoPlayer_);
- // Adx Preroll Tag with fallback display Ad The user clicked/tapped - inform the ads controller that this code is being run in a user action thread.
- this.ads_.initialUserAction();
- // At the same time, initialize the content player as well. When content is loaded, we'll issue the ad request to prevent it from interfering with the initialization. See
- // https://developers.google.com/interactive-media-ads/docs/sdks/html5/v3/ads#iosvideo for more information.
- this.videoPlayer_.preloadContent(this.bind_(this, this.loadAds_));
- this.adsDone_ = true;
- } else {
- // console.log("Do not preload ads for Get Ad Free Games user");
- // removePrerollAndDisplayGame();
- jQuery(document).ready(function () {
- display_game_progressbar(gameId);
- });
- }
- };
- Application.prototype.bind_ = function (thisObj, fn) {
- return function () {
- fn.apply(thisObj, arguments);
- };
- };
- Application.prototype.loadAds_ = function () {
- this.ads_.requestAds(this.adTagUrl_);
- };
- /**
- * Handles video player functionality.
- */
- var VideoPlayer = function (preRollType) {
- this.contentPlayer = document.getElementById(preRollType+'content123');
- this.adContainer = document.getElementById(preRollType+'adcontainer');
- this.videoPlayerContainer_ = document.getElementById(preRollType+'videoplayer');
- this.width = 640;
- this.height = 480;
- };
- VideoPlayer.prototype.preloadContent = function (contentLoadedAction) {
- contentLoadedAction();
- };
- VideoPlayer.prototype.play = function () {
- this.contentPlayer.play();
- };
- VideoPlayer.prototype.pause = function () {
- this.contentPlayer.pause();
- };
- /**
- * Shows how to use the IMA SDK to request and display ads.
- */
- var Ads = function (application, videoPlayer) {
- this.application_ = application;
- this.videoPlayer_ = videoPlayer;
- this.customClickDiv_ = document.getElementById('customClick');
- this.contentCompleteCalled_ = false;
- google.ima.settings.setVpaidMode(google.ima.ImaSdkSettings.VpaidMode.ENABLED);
- // Call setLocale() to localize language text and downloaded swfs google.ima.settings.setLocale('fr');
- this.adDisplayContainer_ = new google.ima.AdDisplayContainer(this.videoPlayer_.adContainer, this.videoPlayer_.contentPlayer, this.customClickDiv_);
- this.adsLoader_ = new google.ima.AdsLoader(this.adDisplayContainer_);
- this.adsManager_ = null;
- this.adsLoader_.addEventListener(google.ima.AdsManagerLoadedEvent.Type.ADS_MANAGER_LOADED, this.onAdsManagerLoaded_, false, this);
- this.adsLoader_.addEventListener(google.ima.AdErrorEvent.Type.AD_ERROR, this.onAdError_, false, this);
- };
- // On iOS and Android devices, video playback must begin in a user action. AdDisplayContainer provides a initialize() API to be called at appropriate time. This should be called when the user clicks or taps.
- Ads.prototype.initialUserAction = function () {
- this.adDisplayContainer_.initialize();
- this.videoPlayer_.contentPlayer.load();
- };
- Ads.prototype.requestAds = function (adTagUrl) {
- var adsRequest = new google.ima.AdsRequest();
- adsRequest.adTagUrl = adTagUrl;
- adsRequest.linearAdSlotWidth = this.videoPlayer_.width;
- adsRequest.linearAdSlotHeight = this.videoPlayer_.height;
- adsRequest.nonLinearAdSlotWidth = this.videoPlayer_.width;
- adsRequest.nonLinearAdSlotHeight = this.videoPlayer_.height;
- this.adsLoader_.requestAds(adsRequest);
- };
- Ads.prototype.onAdsManagerLoaded_ = function (adsManagerLoadedEvent) { // console.log('Ads loaded.');
- var adsRenderingSettings = new google.ima.AdsRenderingSettings();
- // adsRenderingSettings.loadVideoTimeout = 4000;
- adsRenderingSettings.restoreCustomPlaybackStateOnAdBreakComplete = true;
- this.adsManager_ = adsManagerLoadedEvent.getAdsManager(this.videoPlayer_.contentPlayer, adsRenderingSettings);
- this.adsManager_.setVolume(0);
- this.processAdsManager_(this.adsManager_);
- };
- Ads.prototype.processAdsManager_ = function (adsManager) {
- if (adsManager.isCustomClickTrackingUsed()) {
- this.customClickDiv_.style.display = 'table';
- }
- // Handle errors.
- adsManager.addEventListener(google.ima.AdErrorEvent.Type.AD_ERROR, this.onAdError_, false, this);
- var events = [
- google.ima.AdEvent.Type.ALL_ADS_COMPLETED,
- google.ima.AdEvent.Type.COMPLETE,
- google.ima.AdEvent.Type.FIRST_QUARTILE,
- google.ima.AdEvent.Type.LOADED,
- google.ima.AdEvent.Type.MIDPOINT,
- google.ima.AdEvent.Type.STARTED,
- google.ima.AdEvent.Type.THIRD_QUARTILE,
- google.ima.AdEvent.Type.USER_CLOSE
- ];
- for (var index in events) {
- adsManager.addEventListener(events[index], this.onAdEvent_, false, this);
- }
- var initWidth,
- initHeight;
- initWidth = this.videoPlayer_.width;
- initHeight = this.videoPlayer_.height;
- adsManager.init(initWidth, initHeight, google.ima.ViewMode.NORMAL);
- adsManager.start();
- };
- Ads.prototype.onAdEvent_ = function (adEvent) {
- //console.log("Preroll adEvent type: "+adEvent.type +" --> "+new Date());
- if (adEvent.type == google.ima.AdEvent.Type.LOADED) {
- var ad = adEvent.getAd();
- //hide the dummy video
- if(jQuery("#content123").length && jQuery("#content123").is(":visible")) {
- jQuery("#content123").hide();
- } else if(jQuery("#m-content123").length && jQuery("#m-content123").is(":visible")) {
- jQuery("#m-content123").hide();
- } else if(jQuery("#r-content123").length && jQuery("#r-content123").is(":visible")) {
- jQuery("#r-content123").hide();
- }
- }
- if ((typeof truex_overlay_preroll_ad_display === 'undefined' || typeof truex_overlay_preroll_ad_display !== 'undefined' && !truex_overlay_preroll_ad_display) && adEvent.type == google.ima.AdEvent.Type.COMPLETE) {
- if(pagepreRollType == '') {
- removePrerollAndDisplayGame();
- }
- jQuery(document).ready(function () {
- display_game_progressbar(gameId);
- });
- }
- if ((typeof truex_overlay_preroll_ad_display === 'undefined' || typeof truex_overlay_preroll_ad_display !== 'undefined' && !truex_overlay_preroll_ad_display) && adEvent.type == google.ima.AdEvent.Type.ALL_ADS_COMPLETED) {
- if(pagepreRollType == '') {
- removePrerollAndDisplayGame();
- }
- jQuery(document).ready(function () {
- display_game_progressbar(gameId);
- });
- }
- if ((typeof truex_overlay_preroll_ad_display === 'undefined' || typeof truex_overlay_preroll_ad_display !== 'undefined' && !truex_overlay_preroll_ad_display) && adEvent.type == google.ima.AdEvent.Type.USER_CLOSE) {
- if(pagepreRollType == '') {
- removePrerollAndDisplayGame();
- }
- jQuery(document).ready(function () {
- display_game_progressbar(gameId);
- });
- }
- if(pagepreRollType == 'r-' && (adEvent.type == google.ima.AdEvent.Type.SKIPPED || adEvent.type == google.ima.AdEvent.Type.ALL_ADS_COMPLETED)) {
- //Responsive view --> Display continue link after ad is comleted or skipped
- removeResponsivePrerollTimer();
- }
- if (typeof truex_overlay_preroll_ad_display !== 'undefined' && truex_overlay_preroll_ad_display && (adEvent.type == google.ima.AdEvent.Type.SKIPPED || adEvent.type == google.ima.AdEvent.Type.USER_CLOSE)) {
- jQuery('#big-screen-signup-container-id').html("");
- jQuery('#big-screen-truex-overlay').remove();
- cmg_start_game_full_screen('truex');
- } else if (typeof truex_overlay_preroll_ad_display !== 'undefined' && truex_overlay_preroll_ad_display && (adEvent.type == google.ima.AdEvent.Type.ALL_ADS_COMPLETED || adEvent.type == google.ima.AdEvent.Type.COMPLETE)) {
- if (typeof bs_preroll_timer !== 'undefined' && bs_preroll_timer > 0) { // console.log("Bigscreen pre-roll ad event "+ adEvent.type + " set bs_preroll_timer to 0 from "+bs_preroll_timer);
- bs_preroll_timer = 0;
- }
- else {
- // console.log("Bigscreen pre-roll ad event "+ adEvent.type + " bs_preroll_timer is 0 or undefined");
- }
- }
- };
- Ads.prototype.onAdError_ = function (adErrorEvent) {
- if (this.adsManager_) {
- this.adsManager_.destroy();
- }
- if(pagepreRollType == '') {
- removePrerollAndDisplayGame();
- }
- jQuery(document).ready(function () {
- display_game_progressbar(gameId);
- });
- // TODO remove the ad slot and display the game this.application_.resumeAfterAd();
- // TODO UNCOMMENT BELOW removePrerollAndDisplayGame();
- };
- function displayAdBlock(deviceType) {
- adBlockDisplayed = true;
- // subscription Paywall for Adblock users
- // Top of Ad Block Div
- var adBlockPremiumHeadline = '<span class="blue-headline-txt">Allow Ads</span> or <span class="yellow-headline-txt">Join!</span>';
- var adBlockSubHeadline = '<span class="blue-headline-txt">Turn Off Your Ad Blocker to Keep Playing</span>';
- // Bottom of Ad Block Div
- var adBlockBottomPromo = '<span class="yellow-headline-txt">Or Go VIP Ad-Free Now</span>';
- var adBlockPromoPricing = '$5.99/month membership. Cancel Anytime';
- // Button Text
- var adBlockPremiumButton = 'Get Ad-Free';
- if(typeof intervalId != "undefined") {
- clearInterval(intervalId);
- }
- var adblockTarget = ".field-game";
- if(deviceType == "" || deviceType == "desktop") {
- console.log("displayAdBlock desktop");
- jQuery("#afg_container").hide();
- jQuery("#continue-container").hide();
- } else { //mobile
- console.log("displayAdBlock mobile");
- adblockTarget = ".game-image.my-4";
- jQuery(".game-page-mobile").addClass("ad-blocked");
- jQuery(".game-page-mobile .game-image.my-4").html("");
- }
- doNotDisplayPrerollTimer = true;
- jQuery(adblockTarget).append('<div class="blocker-detected-2">' +
- '<div class="row blocker-detected-top-content">' +
- '<h2>' + adBlockPremiumHeadline + '</h2>' +
- '<h3>' + adBlockSubHeadline + '</h3>' +
- '<div class="main-block-content">' +
- '<div class="left-content-bullets">' +
- '<ul>' +
- '<li><div class="numberCircle">1</div><p>Click the Ad Blocker extension icon in the upper<br>right area of your browser window.</p></li>' +
- '<li><div class="numberCircle">2</div><p>Choose “Don\’t run on this domain” or similar <br>option to disable it for all Coolmath Pages.</p></li>' +
- '<li><div class="numberCircle">3</div><p>Refresh the Page</p><br><a class="adblock-more-info-link" href="/adblock-faq" target="_blank">Having problems or need more info? Click here</a></li>' +
- '</ul>' +
- '</div>' +
- '<div class="right-content-image"><img src="/sites/default/files/disable-adblocker.png" alt="disable ad blocker instructions" /></div>' +
- '</div>' + '</div>' + '<div class="row blocker-detected-bottom-content">' + '<div clas="left-bottom-content">' +
- '<h3>' + adBlockBottomPromo + '</h3>' +
- '<h4>' + adBlockPromoPricing + '<h4>' +
- '</div>' +
- '<div class="right-content-button-container"><div class="btn-container"><a class="btn sign-up vip-btn" id="adblock_join_now_promo_handler" href="premium-access/791c674d"><span>' + adBlockPremiumButton + '</span></a></div></div>' +
- '</div>' +
- '</div>');
- }
- var cmatgame_subscriber = getCookie('cmg_sx');
- var validSubscriber = false;
- if (typeof cmatgame_subscriber !== 'undefined' && cmatgame_subscriber !== null) {
- validSubscriber = true;
- }
- if(getCookie("cmg_wl") !== null) {
- validSubscriber = true;
- }
- var validReferer = false;
- if (document.referrer.match("google.com") !== null || document.referrer.match("yahoo.com") !== null || document.referrer.match("bing.com") !== null) {
- validReferer = true;
- }
- var application = null;
- function cmg_adrecovery() {
- //console.log("AdRecovery: cmg_adrecovery() school Hours - remove adblocker and display game "+new Date());
- if(typeof retrieveUserProgress == "function") {
- retrieveUserProgress();
- }
- removePrerollAndDisplayGame();
- }
- function cmg_flash_emulated_game() {
- //flash_emulation === "1" --> ruffle, flash_emulation === "2" --> cheerpx,
- //TODO add cheerpx
- if(typeof flashemulation !== "undefined" && (drupalSettings.cmatgame.flash_emulation === "1" || drupalSettings.cmatgame.flash_emulation === "2" )) {
- return true;
- } else {
- return false;
- }
- }
- // display Ads to anonymous users the time from 7am to 13pm, display ads to anonymous users from 13pm to 11:59pm and 00 to 7am only if the user is not from New York city
- // TODO --> Need to add day of the week for school hours logic, day < 6
- if (validSubscriber) { // valid subscriber do not display Preroll Ads
- var adTagUrl = "";
- // retreive user Progress
- if(typeof retrieveUserProgress == "function") {
- retrieveUserProgress();
- }
- removePrerollAndDisplayGame();
- jQuery(document).ready(function () {
- display_game_progressbar(gameId);
- });
- } else if (!validSubscriber && (document.getElementById('randomAdBlockDiv') == null || typeof google == "undefined" || typeof cmgpbjs == "undefined") ) {
- //TODO when schools starts add this logic ((schoolHours && parseInt(sessionStorage.getItem('sessionGamesPlayed') || 0) > 3) || !schoolHours)
- if(cmg_is_mobile_device() || document.documentElement.clientWidth <=950) { //mobile or responsive mobile view
- //TODO if cmg_optimize_ad_recovery -- display the game
- if(typeof schoolHours !== "undefined" && schoolHours) {
- //console.log("Adblocker detected (mobile), but try ad recovery during school hours "+new Date());
- //cmg_adrecovery();
- removePrerollAndDisplayGame();
- } else if(typeof hide_preroll_ads == "undefined" || !hide_preroll_ads) {
- displayAdBlock("mobile");
- }
- } else {
- //TODO if cmg_optimize_ad_recovery -- display the game
- if(typeof schoolHours !== "undefined" && schoolHours || drupalSettings.cmatgame.flash_emulation == "2") {
- //console.log("Adblocker detected (desktop), but try ad recovery during school hours "+new Date());
- //cmg_adrecovery();
- removePrerollAndDisplayGame();
- } else if(typeof hide_preroll_ads == "undefined" || !hide_preroll_ads) {
- displayAdBlock("desktop");
- }
- }
- } else if( typeof bigScreenPromoGame != "undefined" && bigScreenPromoGame == true && (gamesPlayed == 2 || gamesPlayed == 8) && (flashemulation != 0)) {
- /**
- *** Big Screen Promo and check for every 3rd refresh
- ***/
- jQuery("#afg_container").hide();
- jQuery('#full-screen-modal').show();
- jQuery('#big-screen-container').show();
- jQuery("#videoplayer").hide();
- if (jQuery('#right-rail-big-screen-promo').length) {
- document.getElementById('right-rail-big-screen-promo').style.display = 'block';
- jQuery('#right-rail-big-screen-promo').show();
- }
- // show bigscreen button
- $(document).ready(function () {
- jQuery("#continue-container").hide();
- if (jQuery('.immerse-button').length) {
- jQuery('#no-flash-overlay').hide();
- jQuery('#swfgamewrapper').hide();
- }
- });
- } else if (typeof AdfreeMktCmpGame != "undefined" && AdfreeMktCmpGame == true && (gamesPlayed == 2 || gamesPlayed == 8) && (flashemulation != 0)){
- /**
- *** Add free marketing promo Promo and check for every 3rd refresh
- ***/
- jQuery("#afg_container").hide();
- jQuery('#id-adfree-marketing-campaign').show();
- jQuery("#videoplayer").hide();
- if (jQuery('#right-rail-big-screen-promo').length) {
- document.getElementById('right-rail-big-screen-promo').style.display = 'block';
- jQuery('#right-rail-big-screen-promo').show();
- }
- // show bigscreen button
- $(document).ready(function () {
- if (jQuery('.immerse-button').length) {
- jQuery('#no-flash-overlay').hide();
- jQuery('#swfgamewrapper').hide();
- }
- });
- } else if (!validReferer && ( typeof supportCMG === 'boolean' && supportCMG === true ) && (gamesPlayed == 2 || gamesPlayed == 8) && (flashemulation != 0) && !cmgDefaultGameUrl.test(location.pathname)) { //subscription paywall for Support Game
- clearInterval(intervalId);
- jQuery("#afg_container").hide();
- jQuery(".title-instructions").remove();
- jQuery(".body-instructions").remove();
- jQuery(".game-xp-bar-immerse-button").remove();
- jQuery("#continue-container").hide();
- if (typeof getCookie === 'function' && getCookie('cmg_fx') !== null && getCookie('cmg_sx') === null && getCookie('cmg_wl') === null) {
- var planToSubscription = 'd61242ac';
- } else {
- var planToSubscription = '0735a1f2';
- } // logged in free user
- doNotDisplayPrerollTimer = true;
- var htmlPopOver = '<div id="id-cmg-default" class="cmg-default-marketing-campaign" style="display:block;"><div class="big-screen-head"><div class="bs-head-logo"><img src="/themes/custom/coolmath/assets/images/full-screen/cool-math-logo.png"></div><div class="bs-head-txt">Get Premium: The Best Gaming Experience</div><div class="bs-close-button"><a href="#" class="bs-close-btn" onclick="supportCMG_overlay_promo_close_handler(); return false;">X</a></div></div><div class="mid-big-section-head cmg-default-mid-section-marketing-campaign"><div class="mid-img-container"><div><div class="img-container-cmg-default"><div class="no-waiting-txt"> Personalized <br> Premium <br>Profile</div><div class="image-bs-sample"><img class="img-cmgdefault" src="/themes/custom/coolmath/assets/images/subscriptions/premium-avatars-small.png"><br><span class="red-txt">Access All <br>premium avatars </div><div class="image-bs-sample"><img class="img-cmgdefault" src="/themes/custom/coolmath/assets/images/subscriptions/premium-themes-small.png"><br><span class="offwhite-txt">Full selection <br>of themes </span></div><div class="image-bs-sample"><img class="img-cmgdefault" src="/themes/custom/coolmath/assets/images/subscriptions/custom-nicknames-small.png"><br><span class="blue-txt">Custom <br>Nickname </span></div></div></div><div><div class="img-container-cmg-default"><div class="no-waiting-txt"> Distraction <br> Free Gaming & <br>Unlimited <br> Creativity</div><div class="image-bs-sample"><img class="img-cmgdefault" src="/themes/custom/coolmath/assets/images/subscriptions/big-screen-small.png"><br><span class="light-blue-txt">Big <br>Screen </span></div><div class="image-bs-sample"><img class="img-cmgdefault" src="/themes/custom/coolmath/assets/images/subscriptions/ad-free-small.png"><br><span class="green-txt">Ad-Free<br> Experience </span></div><div class="image-bs-sample"><img class="img-cmgdefault" src="/themes/custom/coolmath/assets/images/subscriptions/unlimited-playlists-small.png"><br><span class="white-txt"> Unlimited <br>Playlist </span></div></div></div><div class="better-focus-container "><div class="all-excl-txt">And More Exclusive features for Premium Members!</div></div></div><div class="marketing-cmpn-footer"><div class="bs-footer-link"><a href="/premium-access/' + planToSubscription + '" target="_blank" onclick="cmgDefault_overlay_promo_signup_handler("Get CMGDefault Marketing screen mode - overlay button clicked"); return false;"><img src="/themes/custom/coolmath/assets/images/full-screen/get-premium-btn.png"></a></div><div class="bs-learn-more"><a href="/premium-benefits" target="_blank" onclick="cmgDefault_overlay_promo_more_handler(); return false;" class="bs-lrn-more">Learn More</a></div><div class="bs-no-thks"><a href="" class="bs-lnk-lrn-more" onclick="supportCMG_overlay_promo_close_handler(); return false;">No, Thanks. I just want to play games right now.</a></div></div></div></div>';
- jQuery(".field-game").append(htmlPopOver);
- jQuery("#videoplayer").hide();
- // localStorage.setItem("userPlayedGames"+currentMonth+currentYear,userPlayedGames); localStorage.setItem("userPlayedGames",userPlayedGames);
- } else if( typeof playListMktCmpGame != "undefined" && playListMktCmpGame == true && (gamesPlayed == 2 || gamesPlayed == 8) && (flashemulation != 0)){
- /**
- *** Add free marketing promo Promo and check for every 3rd refresh
- ***/
- if(typeof getCookie === 'function' && getCookie('cmg_fx') !== null && getCookie('cmg_sx') === null && getCookie('cmg_wl') === null) {
- var planStripString = '4c044106';
- } else {
- var planStripString = '39980b12';
- } // logged in free user
- jQuery("#afg_container").hide();
- var playlistPopoverHtml = '<div id="id-playlist-marketing-campaign" class="playlist-marketing-campaign" ><div class="big-screen-head"><div class="bs-head-logo"><img src="/themes/custom/coolmath/assets/images/full-screen/cool-math-logo.png"></div><div class="bs-head-txt">Get Premium for Unlimited Playlists</div><div class="bs-close-button"><a href="#" class="bs-close-btn" onclick="playlist_marketing_overlay_promo_close_handler(); return false;">X</a></div></div><div class="mid-big-section-head adfree-mid-section-marketing-campaign"><div class="mkt-container-co"><div class=" para-1 mkt-container1"><img class="freind-icon" src="/themes/custom/coolmath/assets/images/subscriptions/Playlist_friendst-icon.png"></div><div class="ad-free-txt txt-1">Collect, Organize and share!</div><div class="para-4 mkt-container1"><img class="gift-icon" src="/themes/custom/coolmath/assets/images/subscriptions/Playlist_best-games-youve-never-heard-of.png"></div></div><div class="mkt-container-co"><div class=" para-2 mkt-container1"><img class="cantstop-icon" src="/themes/custom/coolmath/assets/images/subscriptions/Playlist-cant-stop-playing-icon.png"></div><div class="ad-free-txt txt-2">The games you want to live in <br> The Games that make you crazy </div><div class="para-4 mkt-container1"><img class="fav-icon" src="/themes/custom/coolmath/assets/images/subscriptions/Playlist-favorites-icon.png"></div></div><div class="mkt-container-co"><div class="para-3 mkt-container1"><img class="playhard-icon" src="/themes/custom/coolmath/assets/images/subscriptions/Playlist_hard-but-fun.png"></div><div class="ad-free-txt txt-3">The games you love with your friends</div><div class="para-3 mkt-container1 "><img class="eat-icon" src="/themes/custom/coolmath/assets/images/subscriptions/Playlist_want-to-eat-icon.png"></div></div><div class=""><img src="/themes/custom/coolmath/assets/images/subscriptions/playlist_promo_banner.png"></div><div class="marketing-cmpn-footer"><div class="bs-footer-link"><a href="/premium-access/' + planStripString + '" target="_blank" onclick="playlist_marketing_overlay_promo_signup_handler(); return false;"><img src="/themes/custom/coolmath/assets/images/full-screen/get-premium-btn.png"></a></div><div class="bs-learn-more"><a href="/premium-benefits" target="_blank" onclick="playlist_marketing_overlay_promo_more_handler(); return false;" class="bs-lrn-more">Learn More</a></div><div class="bs-no-thks"><a href="" class="bs-lnk-lrn-more" onclick="playlist_marketing_overlay_promo_close_handler(); return false;">No, Thanks. I just want to play games right now.</a></div></div></div></div>';
- jQuery("#playlist-marketing-container-id").html(playlistPopoverHtml);
- jQuery("#videoplayer").hide();
- // show bigscreen button
- $(document).ready(function () {
- if (jQuery('.immerse-button').length) {
- jQuery('#no-flash-overlay').hide();
- jQuery('#swfgamewrapper').hide();
- }
- });
- } else if ((drupalSettings.cmatgame.swfembed && !cmg_flash_emulated_game()) || getCookie('cmg_schwl') !== null || typeof cmg_no_ads !== 'undefined' || (! validSubscriber && schoolHours) || (!schoolHours && !watchAdtoUnlockGame && !displayAdblockOverlay && !supportCMG && !premiumAvatarGame)) { // school hours
- cmg_gdpr_check = getCookie("GDPR");
- var cmg_gdpr_first_check = getCookie("GDPR_First");
- var cmg_gdpr_reject_check = getCookie("GDPR_Reject");
- var cmg_gdpr_all_check = getCookie("GDPR_All");
- // remove ads for first party cookies or reject all cookies is present along with GDPR cookie
- if (cmg_gdpr_check !== null && cmg_gdpr_all_check === null) {
- //var adTagUrl = "";
- //application = new Application(false, adTagUrl);
- removePrerollAndDisplayGame();
- jQuery(document).ready(function () {
- display_game_progressbar(gameId);
- });
- } else if (getCookie('cmg_schwl') !== null || typeof cmg_no_ads !== 'undefined' || (drupalSettings.cmatgame.swfembed && !cmg_flash_emulated_game())) {
- removePrerollAndDisplayGame();
- jQuery(document).ready(function () {
- display_game_progressbar(gameId);
- });
- } else if ((drupalSettings.cmatgame.swfembed && !cmg_flash_emulated_game()) || getCookie('cmg_schwl') !== null || typeof cmg_no_ads !== 'undefined' || (!validSubscriber && schoolHours) || (!schoolHours && !watchAdtoUnlockGame && !displayAdblockOverlay && !supportCMG && !premiumAvatarGame)) {
- //school hours
- cmg_gdpr_check = getCookie("GDPR");
- var cmg_gdpr_first_check = getCookie("GDPR_First");
- var cmg_gdpr_reject_check = getCookie("GDPR_Reject");
- // remove ads for first party cookies or reject all cookies is present along with GDPR cookie
- if (cmg_gdpr_check !== null && cmg_gdpr_all_check === null) {
- //var adTagUrl = "";
- //application = new Application(false, adTagUrl);
- removePrerollAndDisplayGame();
- jQuery(document).ready(function () {
- display_game_progressbar(gameId);
- });
- } else {
- /* Playwire video ad unit */
- //new desktop preroll invocation
- if(!cmg_is_mobile_device() && document.documentElement.clientWidth >= 960 && (!jQuery(".game-page-mobile").length || jQuery(".game-page-mobile").is(':hidden')) ) {
- displayPrerollAd_Desktop();
- }
- }
- if (!/0-chess/.test(window.location.pathname)) {
- //setCookie('cmg_active_anonymous_user', 'active', 30*60*1000);
- }
- } else if (!validSubscriber && (watchAdtoUnlockGame || displayAdblockOverlay || supportCMG || premiumAvatarGame) && getCookie('cmg_editor') === null) {
- //if user comes from google dont show the subscription paywall
- var ref = document.referrer;
- }
- if (!/0-chess/.test(window.location.pathname)) { // setCookie('cmg_active_anonymous_user', 'active', 30*60*1000);
- }
- } else if (!validReferer && premiumAvatarGame && (gamesPlayed == 2 || gamesPlayed == 8)) {
- //premiumAvatar promo games
- supportCMG = false;
- clearInterval(intervalId);
- jQuery("#afg_container").hide();
- jQuery(".title-instructions").remove();
- jQuery(".body-instructions").remove();
- jQuery("#continue-container").hide();
- doNotDisplayPrerollTimer = true;
- if (getCookie('cmg_fx') !== null && getCookie('cmg_sx') == null) {
- var planToSubscription = '67361110';
- } else {
- var planToSubscription = '553bdf22';
- }
- jQuery(".field-game").append('<div class="game-overlay-watch-or-join premium-avatar" style="height:555px;">' +
- '<div class="row overlay-logo-container">' +
- '<img src="/themes/custom/cmatgame/logo.png" class="overlay-logo" />' +
- // '<div class="container">'+
- // '<h2 class="watch-join-top"><span class="watch-headline">WATCH</span> OR <span class="join-headline">JOIN</span></h2>'+
- // '</div>'+
- '</div>' +
- '<div class="row premium-avatar-content">' +
- '<div class="row top-promo-text premium-avatar-headline"><h4 class="get-premium">Love The games? Get the avatars!</h4></div>' +
- '<img style="width:100%;" src="/sites/default/files/premium-avatar-promos/premium-avatar-overlay-1.png" />' +
- '<div class="premium-avatar-btn-container"><a href="/premium-access/' + planToSubscription + '" target="_blank" onclick="cmgDefault_overlay_promo_signup_handler("Get Premium Avatar screen mode - overlay button clicked"); return false;"><img src="/themes/custom/coolmath/assets/images/full-screen/get-premium-btn.png"></a>' +
- '<div class="learn-more-text"><a class="learn-more-text-link" href="https://www.coolmathgames.com/premium-benefits" target="_blank"> Learn More</a></div>' +
- '<div class="no-thanks-text no-thanks-text-premium-avatar"><a href="javascript:premium_avatar_continue_to_game_handler();"> No, thanks. I just want to play games right now.</a></div>' +
- '</div></div>' +
- '</div>'
- );
- jQuery("#videoplayer").hide();
- } else if (!validReferer && watchAdtoUnlockGame) { //subscription paywall for WatchAd to Unlock Game
- //block anonymous users for New York City from 0-7am and 13pm to 11:59pm
- var watchAdHeadline = 'WATCH TO PLAY';
- var watchAdParagraphText = 'Watch a video to unlock <br> this game.';
- var watchAdButtonText = 'WATCH NOW';
- var joinNowHeadline = 'JOIN TO PLAY';
- var joinNowParagraphText = '$5.99/month membership<br>Cancel Anytime';
- var joinNowButtonText = 'Buy VIP Now';
- clearInterval(intervalId);
- jQuery("#afg_container").hide();
- jQuery(".title-instructions").remove();
- jQuery(".body-instructions").remove();
- jQuery("#continue-container").hide();
- doNotDisplayPrerollTimer = true;
- jQuery(".field-game").append('<div class="game-overlay-watch-or-join">' + '<div class="row">' +
- // '<div class="container">'+
- // '<h2 class="watch-join-top"><span class="watch-headline">WATCH</span> OR <span class="join-headline">JOIN</span></h2>'+
- // '</div>'+
- '</div>' +
- '<div class="row watch-join-content">' +
- '<div class="watch-to-play-container">' +
- '<div class="watch-to-play"><h3>' + watchAdHeadline +
- '</h3><div class="overlay-paragraph-text">' + watchAdParagraphText +
- '</div></div>' + '<div class="btn-container"><a class="btn btn-watch" href="javascript:unlock_now_promo_handler();">' + watchAdButtonText + '</a></div>' +
- '</div>' + '<div class="hr-line"> </div>' +
- '<div class="vip-membership-container">' +
- '<div class="watch-to-play"><h3>' + joinNowHeadline + '</h3><div class="overlay-paragraph-text">' + joinNowParagraphText + '</div></div>' +
- '<div class="btn-container"><a class="btn sign-up vip-btn" id="join_now_promo_handler" href="/premium-access/849ef809">' + joinNowButtonText + '</a></div>' +
- '</div>' +
- '</div>' +
- '</div>');
- jQuery("#videoplayer").hide();
- //localStorage.setItem("userPlayedGames"+currentMonth+currentYear,userPlayedGames); localStorage.setItem("userPlayedGames",userPlayedGames);
- } else {
- var adTagUrl = "";
- application = new Application(false, adTagUrl);
- if (typeof userPlayedGames !== 'undefined') {
- localStorage.setItem("userPlayedGames", userPlayedGames); // lifetime limit
- }
- }
- //New desktop preroll ad
- function displayPrerollAd_Desktop() {
- jQuery('.game-progress-status').hide();
- var adTagUrl = 'https://pubads.g.doubleclick.net/gampad/ads?iu=/137548614/1023174/71134/1023174-71134-video&description_url=https%3A%2F%2Fwww.coolmathgames.com%2F&env=vp&impl=s&correlator=&tfcd=0&npa=0&gdfp_req=1&output=vast&sz=640x480&unviewed_position_start=1';
- jQuery("#continue-container").show();
- jQuery("#continue-container").append(signupContainerBottom);
- var swf_game_url = jQuery("#swfgame").attr("src");
- /*
- adTagUrl = 'https://pubads.g.doubleclick.net/gampad/ads?' +
- 'sz=640x480&iu=/124319096/external/single_ad_samples&ciu_szs=300x250&' +
- 'impl=s&gdfp_req=1&env=vp&output=vast&unviewed_position_start=1&' +
- 'cust_params=deployment%3Ddevsite%26sample_ct%3Dlinear&correlator=';
- application = new Application(true, adTagUrl);
- */
- if (typeof swf_game_url !== 'undefined' && !cmg_flash_emulated_game()) {
- application = new Application(false, adTagUrl);
- } else {
- if (typeof window.PW_CMG != "undefined") {
- var auctionCallback = function (displayAds, videoUrl) {
- application = new Application(displayAds, videoUrl);
- };
- window.PW_CMG.startAuction(auctionCallback);
- console.log("Desktop preroll: window.PW_CMG.startAuction....");
- } else { // adblock
- application = new Application(false, adTagUrl);
- }
- }
- }
- </script></div><script type="deferjs">
- function displayMobilePrerollAd() {
- var cmatgame_subscriber = getCookie('cmg_sx');
- var validSubscriber = false;
- if (typeof cmatgame_subscriber !== 'undefined' && cmatgame_subscriber !== null) {
- validSubscriber = true;
- }
- var userVisitedGamePageCount = localStorage.getItem("userVisitedGamePageCount");
- if (userVisitedGamePageCount == null) {
- userVisitedGamePageCount = 1;
- localStorage.setItem("userVisitedGamePageCount", userVisitedGamePageCount);
- localStorage.setItem("userVisitedGamePageLastAccessTime", Date.now());
- } else if (userVisitedGamePageCount != null) {
- var userVisitedGamePageLastAccessTime = localStorage.getItem("userVisitedGamePageLastAccessTime");
- currentTime = Date.now();
- var lastAccessTime = localStorage.getItem("userVisitedGamePageLastAccessTime");
- if (lastAccessTime != null) {
- if (currentTime - lastAccessTime > 1800000) { // if user comes back after 30 minutes then make the user as coming first time
- userVisitedGamePageCount = 1;
- localStorage.setItem("userVisitedGamePageCount", userVisitedGamePageCount);
- } else {
- userVisitedGamePageCount++;
- localStorage.setItem("userVisitedGamePageCount", userVisitedGamePageCount);
- }
- }
- localStorage.setItem("userVisitedGamePageLastAccessTime", currentTime);
- }
- // preroll ads
- var prerollUrls = /0\-testing/;
- // display preroll ads only on 2nd,4th, 6th visits of any game page
- // userVisitedGamePageCount = 2;
- if ((userVisitedGamePageCount != null && userVisitedGamePageCount % 2 === 1) || validSubscriber) {
- checkifFbwgGameAndOpenCustomURLOrRegularPlayURL();
- } else { // display preroll ads
- window.scrollTo(0, 0);
- var modal = document.getElementById('modal');
- modal.style.display = 'block';
- // clear refresh timer
- if (typeof refreshTimer !== "undefined") {
- clearTimeout(refreshTimer);
- refreshTimer = null;
- }
- var adTagUrl = 'https://pubads.g.doubleclick.net/gampad/ads?iu=/137548614/1023174/71134/1023174-71134-video&description_url=https%3A%2F%2Fwww.m.coolmathgames.com%2F&env=vp&impl=s&correlator=&tfcd=0&npa=0&gdfp_req=1&output=vast&sz=640x480&unviewed_position_start=1';
- if (typeof window.PW_CMG != "undefined") {
- console.log('PBJS start')
- var auctionCallback = function (displayAds, videoUrl) {
- application = new Application(displayAds, videoUrl);
- };
- window.PW_CMG.startAuction(auctionCallback);
- } else { // adblock
- application = new Application(false, adTagUrl);
- }
- var seconds_left = 6;
- intervalId = setInterval(function () {
- seconds_left--;
- document.getElementById("timer_div").innerHTML = seconds_left;
- if (seconds_left <= 0) {
- if (document.getElementById("timer_div") != null) {
- document.getElementById("continue-link").innerHTML = "";
- document.getElementById("timer_div").innerHTML = '<a href="javascript:removePrerollAndDisplayGame();"><div class="continue-link" style="position:relative;left:-130px;">Continue to Game <span style="font-family:Times New Roman;">►</span></div></a>';
- }
- clearInterval(intervalId);
- }
- }, 1000);
- }
- }
- function removeAdSwf() {
- removePrerollAndDisplayGame();
- }
- function noAdsReturned() { // enable_preroll_fallback_ads is false
- removePrerollAndDisplayGame();
- }
- function unlock_now_promo_handler() {
- jQuery(".subscription-overlay").remove();
- jQuery(".game-overlay-watch-or-join").remove();
- jQuery("#afg_container").show();
- jQuery("#videoplayer").show();
- jQuery("#continue-link").text("Continue in ");
- jQuery("#continue-container").show();
- jQuery("#continue-container").append(signupContainerBottom);
- doNotDisplayPrerollTimer = false;
- displayPrerollTimer();
- watchAdtoUnlockGameIsClicked = true;
- var auctionCallback = function (displayAds, videoUrl) {
- application = new Application(displayAds, videoUrl);
- };
- if (typeof window.PW_CMG != "undefined") {
- window.PW_CMG.startAuction(auctionCallback);
- }
- }
- function join_now_promo_handler() {
- if (typeof freeTrialUser !== 'undefined' && freeTrialUser) {
- trackEvent('Premium Subscription ' + subscriberLeg, 'Join Now or Go Ad Free button clicked', userPlayedGames);
- trackGoalVirtualPV('/virtual/join-now-overlay-click');
- trackEvent('Watch Ad to Unlock Game', 'Join now clicked', document.title);
- }
- return;
- }
- function unlock_promo_handler() {
- if (typeof freeTrialUser !== 'undefined' && freeTrialUser) {
- trackEvent('Watch to Unlock' + subscriberLeg, 'Watched an ad to unlock event', userPlayedGames);
- trackGoalVirtualPV('/virtual/unlock-button-click');
- }
- return;
- }
- function continue_to_game_handler() {
- jQuery(".subscription-overlay").remove();
- jQuery(".game-overlay-watch-or-join").remove();
- jQuery("#afg_container").show();
- jQuery("#videoplayer").show();
- jQuery("#continue-link").text("Continue in ");
- jQuery("#continue-container").show();
- jQuery("#continue-container").append(signupContainerBottom);
- doNotDisplayPrerollTimer = false;
- displayPrerollTimer();
- supportCMGisClicked = true;
- trackEvent('Support CMG', 'Continue to Game Button clicked', document.title);
- var auctionCallback = function (displayAds, videoUrl) {
- application = new Application(displayAds, videoUrl);
- };
- if (typeof window.PW_CMG != "undefined") {
- window.PW_CMG.startAuction(auctionCallback);
- }
- }
- function premium_avatar_continue_to_game_handler() {
- jQuery(".subscription-overlay").remove();
- jQuery(".game-overlay-watch-or-join").remove();
- jQuery("#afg_container").show();
- jQuery("#videoplayer").show();
- jQuery("#continue-link").text("Continue in ");
- jQuery("#continue-container").show();
- jQuery("#continue-container").append(signupContainerBottom);
- doNotDisplayPrerollTimer = false;
- displayPrerollTimer();
- // supportCMGisClicked = true;
- trackEvent('Premium Avatar', 'Continue to Game Button clicked', document.title);
- var auctionCallback = function (displayAds, videoUrl) {
- application = new Application(displayAds, videoUrl);
- };
- if (typeof window.PW_CMG != "undefined") {
- window.PW_CMG.startAuction(auctionCallback);
- }
- }
- function support_cmg_signup_promo_handler() {
- if (typeof freeTrialUser !== 'undefined' && freeTrialUser) {
- trackEvent('Premium Subscription ' + subscriberLeg, 'Support CMG button clicked', userPlayedGames);
- trackGoalVirtualPV('/virtual/join-now-overlay-click');
- trackEvent('Support CMG', 'Join now clicked', document.title);
- }
- }
- jQuery('#support_cmg_signup_promo_handler').click(function (event) {
- event.preventDefault();
- var path = '/premium-access/0735a1f2';
- var sLeg = get_premium_access_leg_desc('0735a1f2');
- if(typeof getCookie === 'function' && getCookie('cmg_fx') !== null && getCookie('cmg_sx') === null && getCookie('cmg_wl') === null) {
- path = '/premium-access/d61242ac';
- sLeg = get_premium_access_leg_desc('d61242ac');
- }
- if (typeof get_signup_abtest_variant_2 === 'function') {
- path = path + get_signup_abtest_variant_2();
- }
- if (typeof freeTrialUser !== 'undefined' && freeTrialUser) {
- trackEvent('Premium Subscription ' + sLeg, 'Support CMG button clicked', userPlayedGames);
- trackGoalVirtualPV('/virtual/join-now-overlay-click');
- trackEvent('Support CMG', 'Join now clicked', document.title);
- }
- window.location.href = window.location.protocol + '//' + window.location.host + path;
- });
- jQuery('#premium_avatar_signup_promo_handler').click(function (event) {
- event.preventDefault();
- var sLeg = get_premium_access_leg_desc('553bdf22');
- var path = '/premium-access/553bdf22';
- if(typeof getCookie === 'function' && getCookie('cmg_fx') !== null && getCookie('cmg_sx') === null && getCookie('cmg_wl') === null) {
- path = '/premium-access/67361110';
- sLeg = get_premium_access_leg_desc('67361110');
- }
- if (typeof get_signup_abtest_variant_2 === 'function') {
- path = path + get_signup_abtest_variant_2();
- }
- if (typeof freeTrialUser !== 'undefined' && freeTrialUser) {
- trackEvent('Premium Subscription ' + sLeg, 'Premium Avatar button clicked', userPlayedGames);
- trackGoalVirtualPV('/virtual/join-now-overlay-click');
- trackEvent('Premium Avatar', 'Join now clicked', document.title);
- }
- window.location.href = window.location.protocol + '//' + window.location.host + path;
- });
- </script><script type="deferjs">
- jQuery(document).ready(function () {
- cmatgame_subscriber = getCookie("cmg_sx");
- if(typeof getCookie === 'function' && getCookie("cmg_wl") !== null) {
- cmatgame_subscriber = getCookie("cmg_wl");
- }
- // check if school is whitelisted
- if (cmg_school_whitelisted !== null && getCookie("cmg_schwl") !== null) {
- cmg_school_whitelisted = getCookie("cmg_schwl");
- cmatgame_subscriber = getCookie("cmg_schwl");
- } else if (cmg_school_whitelisted === null && typeof cmg_no_ads_debug !== "undefined" && cmg_no_ads_debug) { // console.log("KY school hours");
- cmatgame_subscriber = cmg_no_ads_debug;
- }
- if (cmg_gdpr_check !== null) {
- var cmg_gdpr_all_check = getCookie("GDPR_All"); // GDPR_All cookie is set when user selects accept all cookies in the GDPR overlay
- var cmg_gdpr_first_check = getCookie("GDPR_First");
- var cmg_gdpr_reject_check = getCookie("GDPR_Reject");
- if (cmg_gdpr_all_check == null && (cmg_gdpr_first_check != null || cmg_gdpr_reject_check != null)) { // user either accepted only first party cookies or rejected all cookies so do not display ads
- cmatgame_subscriber = getCookie("GDPR");
- } else if (cmg_gdpr_all_check == null && cmg_gdpr_first_check == null && cmg_gdpr_reject_check == null) { // user is coming for the first time from one of the GDPR countries so do not display ads
- cmatgame_subscriber = getCookie("GDPR");
- }
- }
- immersive_mode_display_controller();
- if (getCookie('cmg_sx') !== null || getCookie("cmg_wl") !== null) { // display xp bar for premium users
- $('.game-xp-bar-immerse-button').addClass('enabled');
- jQuery('.btn.btn-primary.btn-sm.requestfullscreen').css('display', 'inline-block');
- }
- // display_game_progressbar(gameId);
- // VooxeVideo
- if (jQuery('#videoContainer').length && typeof VooxeVideo === 'undefined') {
- trackEvent('Video Walkthrough', 'Walkthrough video not found', document.title);
- jQuery('#videoContainer').hide();
- }
- })
- if (browser == "Microsoft Internet Explorer") {
- if (doesnotie == 1) {
- var IEDoesnotwork = "yes";
- doesnotIEMessage();
- } else {
- var IEDoesnotwork = "no";
- }
- }
- function closeBigScreenPromo() {
- jQuery("#full-screen-modal").remove();
- jQuery(".subscription-overlay").remove();
- jQuery(".game-overlay-watch-or-join").remove();
- jQuery('#big-screen-container').remove();
- jQuery('#no-flash-overlay').show();
- jQuery("#swfgamewrapper").show();
- jQuery("#afg_container").show();
- jQuery("#videoplayer").show();
- jQuery("#continue-link").text("Continue in ");
- jQuery("#continue-container").show();
- jQuery("#continue-container").append(signupContainerBottom);
- doNotDisplayPrerollTimer = false;
- displayPrerollTimer();
- // supportCMGisClicked = true;
- trackEvent('Premium Avatar', 'Continue to Game Button clicked', document.title);
- var auctionCallback = function (displayAds, videoUrl) {
- application = new Application(displayAds, videoUrl);
- };
- if (typeof window.PW_CMG != "undefined") {
- window.PW_CMG.startAuction(auctionCallback);
- }
- }
- function premium_avatar_overlay_promo_signup_handler(promo_action) {
- event.preventDefault();
- var sLeg = '';
- var path = '/premium-access/553bdf22';
- if (typeof promo_action !== 'undefined' && promo_action !== '') {
- sAction = promo_action;
- }
- sLeg = get_premium_access_leg_desc('553bdf22');//Anon user
- if(typeof getCookie === 'function' && getCookie('cmg_fx') !== null && getCookie('cmg_sx') === null && getCookie('cmg_wl') === null) {
- path = '/premium-access/67361110';
- sLeg = get_premium_access_leg_desc('67361110'); // freemium user
- }
- trackEvent('Premium Subscription - ' + sLeg, sAction, document.title);
- if (typeof get_signup_abtest_variant_2 === 'function') {
- path = path + get_signup_abtest_variant_2();
- }
- window.location.href = window.location.protocol + '//' + window.location.host + path; // cmg
- }
- function cmgDefault_overlay_promo_signup_handler(promo_action) {
- event.preventDefault();
- var sLeg = '';
- var path = '/premium-access/0735a1f2';
- var sAction = 'Get CMGDefault Marketing screen mode - overlay button clicked';
- if (typeof promo_action !== 'undefined' && promo_action !== '') {
- sAction = promo_action;
- }
- sLeg = get_premium_access_leg_desc('0735a1f2');//Anon user
- if(typeof getCookie === 'function' && getCookie('cmg_fx') !== null && getCookie('cmg_sx') === null && getCookie('cmg_wl') === null) {
- path = '/premium-access/d61242ac';
- sLeg = get_premium_access_leg_desc('d61242ac'); // freemium user
- }
- trackEvent('Premium Subscription - ' + sLeg, sAction, document.title);
- if (typeof get_signup_abtest_variant_2 === 'function') {
- path = path + get_signup_abtest_variant_2();
- }
- window.location.href = window.location.protocol + '//' + window.location.host + path; // cmg
- }
- function supportCMG_overlay_promo_close_handler() {
- event.preventDefault();
- var sLeg = '';
- var path = '/premium-access/0735a1f2';
- var sAction = 'Close Adfree Marketing overlay clicked';
- sLeg = get_premium_access_leg_desc('0735a1f2'); // Anon user
- if (typeof getCookie === 'function' && getCookie('cmg_fx') !== null && getCookie('cmg_sx') === null && getCookie('cmg_wl') === null) {
- path = '/premium-access/d61242ac';
- sLeg = get_premium_access_leg_desc('d61242ac'); // freemium user
- }
- trackEvent('cmgDefault Marketing overlay', sAction, document.title);
- if (jQuery("#id-cmg-default").length) {
- jQuery("#id-cmg-default").hide();
- }
- jQuery("#full-screen-modal").remove();
- jQuery(".subscription-overlay").remove();
- jQuery(".game-overlay-watch-or-join").remove();
- jQuery('#big-screen-container').remove();
- // jQuery('#no-flash-overlay').show();
- jQuery("#swfgamewrapper").show();
- jQuery("#afg_container").show();
- jQuery("#videoplayer").show();
- jQuery("#continue-link").text("Continue in ");
- jQuery("#continue-container").show();
- jQuery("#continue-container").append(signupContainerBottom);
- doNotDisplayPrerollTimer = false;
- displayPrerollTimer();
- // supportCMGisClicked = true;
- // trackEvent('Premium Avatar', 'Continue to Game Button clicked', document.title);
- var auctionCallback = function (displayAds, videoUrl) {
- application = new Application(displayAds, videoUrl);
- };
- if (typeof window.PW_CMG != "undefined") {
- window.PW_CMG.startAuction(auctionCallback);
- }
- }
- function adfree_marketing_overlay_promo_signup_handler(promo_action) {
- event.preventDefault();
- var sLeg = '';
- var path = '/premium-access/b2df5a33';
- var sAction = 'Get Adfree Marketing screen mode - overlay button clicked';
- if (typeof promo_action !== 'undefined' && promo_action !== '') {
- sAction = promo_action;
- }
- sLeg = get_premium_access_leg_desc('b2df5a33');//Anon user
- if(typeof getCookie === 'function' && getCookie('cmg_fx') !== null && (getCookie('cmg_sx') === null && getCookie('cmg_wl') === null)) {
- path = '/premium-access/0c5a2b5b';
- sLeg = get_premium_access_leg_desc('0c5a2b5b'); // freemium user
- }
- trackEvent('Premium Subscription - ' + sLeg, sAction, document.title);
- if (typeof get_signup_abtest_variant_2 === 'function') {
- path = path + get_signup_abtest_variant_2();
- }
- window.location.href = window.location.protocol + '//' + window.location.host + path; // cmg
- }
- function adfree_marketing_overlay_promo_close_handler() {
- event.preventDefault();
- var sLeg = '';
- var path = '/premium-access/b2df5a33';
- var sAction = 'Close Adfree Marketing overlay clicked';
- sLeg = get_premium_access_leg_desc('b2df5a33');//Anon user
- if(typeof getCookie === 'function' && getCookie('cmg_fx') !== null && getCookie('cmg_sx') === null && getCookie('cmg_wl') === null) {
- path = '/premium-access/0c5a2b5b';
- sLeg = get_premium_access_leg_desc('0c5a2b5b'); // freemium user
- }
- trackEvent('Adfree Marketing overlay', sAction, document.title);
- if (jQuery("#id-adfree-marketing-campaign").length) {
- jQuery("#id-adfree-marketing-campaign").hide();
- }
- jQuery("#full-screen-modal").remove();
- jQuery(".subscription-overlay").remove();
- jQuery(".game-overlay-watch-or-join").remove();
- jQuery('#big-screen-container').remove();
- // jQuery('#no-flash-overlay').show();
- jQuery("#swfgamewrapper").show();
- jQuery("#afg_container").show();
- jQuery("#videoplayer").show();
- jQuery("#continue-link").text("Continue in ");
- jQuery("#continue-container").show();
- jQuery("#continue-container").append(signupContainerBottom);
- doNotDisplayPrerollTimer = false;
- displayPrerollTimer();
- // supportCMGisClicked = true;
- // trackEvent('Premium Avatar', 'Continue to Game Button clicked', document.title);
- var auctionCallback = function (displayAds, videoUrl) {
- application = new Application(displayAds, videoUrl);
- };
- if (typeof window.PW_CMG != "undefined") {
- window.PW_CMG.startAuction(auctionCallback);
- }
- }
- function adfree_marketing_overlay_promo_more_handler() {
- event.preventDefault();
- var sAction = 'Adfree Marketing overlay learn more clicked';
- trackEvent('Adfree Marketing overlay', sAction, document.title);
- var redirect_url = window.location.protocol + '//' + window.location.host + "/premium-benefits";
- window.open(redirect_url, '_blank');
- }
- function closeBigScreenPromo() {
- jQuery("#full-screen-modal").remove();
- jQuery(".subscription-overlay").remove();
- jQuery(".game-overlay-watch-or-join").remove();
- jQuery('#big-screen-container').remove();
- jQuery('#no-flash-overlay').show();
- jQuery("#swfgamewrapper").show();
- jQuery("#afg_container").show();
- jQuery("#videoplayer").show();
- jQuery("#continue-link").text("Continue in ");
- jQuery("#continue-container").show();
- jQuery("#continue-container").append(signupContainerBottom);
- doNotDisplayPrerollTimer = false;
- displayPrerollTimer();
- // supportCMGisClicked = true;
- trackEvent('Premium Avatar', 'Continue to Game Button clicked', document.title);
- var auctionCallback = function (displayAds, videoUrl) {
- application = new Application(displayAds, videoUrl);
- };
- if (typeof window.PW_CMG != "undefined") {
- window.PW_CMG.startAuction(auctionCallback);
- }
- }
- function bigscreen_overlay_promo_signup_handler(promo_action) {
- event.preventDefault();
- var sLeg = '';
- var path = '/premium-access/6ea95de6';
- var sAction = 'Get big screen mode - overlay button clicked';
- if (typeof promo_action !== 'undefined' && promo_action !== '') {
- sAction = promo_action;
- }
- sLeg = get_premium_access_leg_desc('6ea95de6');//Anon user
- if(typeof getCookie === 'function' && getCookie('cmg_fx') !== null && (getCookie('cmg_sx') === null && getCookie('cmg_wl') === null)) {
- path = '/premium-access/89bee87a';
- sLeg = get_premium_access_leg_desc('89bee87a'); // freemium user
- }
- trackEvent('Premium Subscription - ' + sLeg, sAction, document.title);
- if (typeof get_signup_abtest_variant_2 === 'function') {
- path = path + get_signup_abtest_variant_2();
- }
- window.location.href = window.location.protocol + '//' + window.location.host + path; // cmg
- }
- function bigscreen_overlay_promo_close_handler() {
- event.preventDefault();
- var sLeg = '';
- var path = '/premium-access/6ea95de6';
- var sAction = 'Close premium overlay clicked';
- sLeg = get_premium_access_leg_desc('6ea95de6');//Anon user
- if(typeof getCookie === 'function' && getCookie('cmg_fx') !== null && getCookie('cmg_sx') === null && getCookie('cmg_wl') === null) {
- path = '/premium-access/89bee87a';
- sLeg = get_premium_access_leg_desc('89bee87a'); // freemium user
- }
- trackEvent('Big screen overlay', sAction, document.title);
- if (jQuery("#big-screen-container").length) {
- jQuery("#big-screen-container").hide();
- }
- jQuery("#full-screen-modal").remove();
- jQuery(".subscription-overlay").remove();
- jQuery(".game-overlay-watch-or-join").remove();
- jQuery('#big-screen-container').remove();
- // jQuery('#no-flash-overlay').show();
- jQuery("#swfgamewrapper").show();
- jQuery("#afg_container").show();
- jQuery("#videoplayer").show();
- jQuery("#continue-link").text("Continue in ");
- jQuery("#continue-container").show();
- jQuery("#continue-container").append(signupContainerBottom);
- // displayPrerollTimer();
- // supportCMGisClicked = true;
- // trackEvent('Premium Avatar', 'Continue to Game Button clicked', document.title);
- var auctionCallback = function (displayAds, videoUrl) {
- application = new Application(displayAds, videoUrl);
- };
- if (typeof window.PW_CMG != "undefined") {
- window.PW_CMG.startAuction(auctionCallback);
- }
- }
- function bigscreen_overlay_promo_more_handler() {
- event.preventDefault();
- var sAction = 'Premium overlay learn more clicked';
- trackEvent('Big screen overlay', sAction, document.title);
- var redirect_url = window.location.protocol + '//' + window.location.host + "/premium-benefits";
- window.open(redirect_url, '_blank');
- }
- function playlist_marketing_overlay_promo_signup_handler() {
- event.preventDefault();
- var sLeg = '';
- var path = '/premium-access/39980b12';
- var sAction = 'Get playlist Marketing screen mode - overlay button clicked';
- if (typeof promo_action !== 'undefined' && promo_action !== '') {
- sAction = promo_action;
- }
- sLeg = get_premium_access_leg_desc('39980b12');//Anon user
- if(typeof getCookie === 'function' && getCookie('cmg_fx') !== null && getCookie('cmg_sx') === null && getCookie('cmg_wl') === null) {
- path = '/premium-access/4c044106';
- sLeg = get_premium_access_leg_desc('4c044106'); // freemium user
- }
- trackEvent('Premium Subscription - ' + sLeg, sAction, document.title);
- if (typeof get_signup_abtest_variant_2 === 'function') {
- path = path + get_signup_abtest_variant_2();
- }
- window.location.href = window.location.protocol + '//' + window.location.host + path; // cmg
- }
- function playlist_marketing_overlay_promo_close_handler() {
- event.preventDefault();
- var sLeg = '';
- var path = '/premium-access/39980b12';
- var sAction = 'Close Playlist Marketing overlay clicked';
- sLeg = get_premium_access_leg_desc('39980b12'); // Anon user
- if (typeof getCookie === 'function' && getCookie('cmg_fx') !== null && getCookie('cmg_sx') === null && getCookie('cmg_wl') === null) {
- path = '/premium-access/4c044106';
- sLeg = get_premium_access_leg_desc('4c044106'); // freemium user
- }
- trackEvent('Playlist Marketing overlay', sAction, document.title);
- if (jQuery("#id-playlist-marketing-campaign").length) {
- jQuery("#id-playlist-marketing-campaign").hide();
- }
- jQuery("#full-screen-modal").remove();
- jQuery(".subscription-overlay").remove();
- jQuery(".game-overlay-watch-or-join").remove();
- jQuery('#big-screen-container').remove();
- // jQuery('#no-flash-overlay').show();
- jQuery("#swfgamewrapper").show();
- jQuery("#afg_container").show();
- jQuery("#videoplayer").show();
- jQuery("#continue-link").text("Continue in ");
- jQuery("#continue-container").show();
- jQuery("#continue-container").append(signupContainerBottom);
- doNotDisplayPrerollTimer = false;
- displayPrerollTimer();
- // supportCMGisClicked = true;
- // trackEvent('Premium Avatar', 'Continue to Game Button clicked', document.title);
- var auctionCallback = function (displayAds, videoUrl) {
- application = new Application(displayAds, videoUrl);
- };
- if (typeof window.PW_CMG != "undefined") {
- window.PW_CMG.startAuction(auctionCallback);
- }
- }
- function playlist_banner_right_sidebar_handler() {
- event.preventDefault();
- var sLeg = '';
- var path = '/premium-access/a1ca2f3b';
- var sAction = 'Get playlist banner screen mode - masthead clicked';
- if(typeof promo_action !== 'undefined' && promo_action !== '') {
- sAction = promo_action;
- }
- sLeg = get_premium_access_leg_desc('a1ca2f3b');//Anon user
- if(typeof getCookie === 'function' && getCookie('cmg_fx') !== null && getCookie('cmg_sx') === null) {
- path = '/premium-access/780ef8a3';
- sLeg = get_premium_access_leg_desc('780ef8a3');//freemium user
- }
- trackEvent('Premium Subscription - '+sLeg, sAction, document.title);
- if(typeof get_signup_abtest_variant_2 === 'function') {
- path = path + get_signup_abtest_variant_2();
- }
- window.location.href = window.location.protocol + '//' + window.location.host + path;//cmg
- }
- function playlist_marketing_overlay_promo_more_handler() {
- event.preventDefault();
- var sAction = 'Playlist Marketing overlay learn more clicked';
- trackEvent('Playlist Marketing overlay', sAction, document.title);
- var redirect_url = window.location.protocol + '//' + window.location.host + "/premium-benefits";
- window.open( redirect_url , '_blank');
- }
- </script><script type='deferjs'>
- $(document).ready(function(){
- $('body').on('click','.immerse-button .requestfullscreen',function(){
- $.getScript("https://static.truex.com/js/client.js");
- });
- })
- </script><div class="row mt-3 mb-1 game-xp-bar-immerse-button"><div class="col-sm-6 game-xp-bar"><div class="game-progress-status"><div class="progress game-xp-progress" style="display:none;"><div class="progress-text"><a href="/login">Login to Earn XP</a></div><div class="progress-bar" role="progressbar" style="width:70%" aria-valuenow="70" aria-valuemin="0" aria-valuemax="100"></div></div></div></div><div class="col-sm-6 immerse-close-button"><div class="immerse-button"><a class="btn btn-primary btn-sm requestfullscreen" href="#" title="Big Screen"><span class="big-screen-popover-span">Big Screen</span><i class="icon-expand-arrows-alt" aria-hidden="true"></i></a></div><div class="close-full-screen"><a class="btn btn-primary btn-fullscreen btn-sm" href="#" title="Exit Big Screen"><span>Exit Big Screen</span><i class="icon-remove_sign" aria-hidden="true"></i></a></div></div></div><div class="game-instructions mb-4" style="display:none;"><h2>Run 3 Instructions</h2><div class="mobile"><p>There’s a whole new galaxy waiting to be explored! Use the arrow keys to run and jump through the space tunnels. Use the left and right arrow keys to rotate the world as you go. </p><p>There are two ways you can play Run 3: Explore Mode and Infinite Mode. To add more levels to your Galaxy Map, choose Explore Mode. The Runner will encounter lots of new tunnels and areas, and may bump into some friends along the way! </p><p>For an endless run, choose Infinite Mode. You’ll find power cells scattered across the tunnels in this mode. You’ll have to watch your step though! If you fall out of the tunnel in Infinite Mode, it’s game over. You can use power cells to continue your run with a new character. </p><p>See where it all began in the <a href="https://www.coolmathgames.com/0-run">first game in the Run Series</a> -- now remastered in 3D!</p><h3><strong>RUN 3 TIPS & TRICKS</strong></h3><p><strong>New aliens, new tricks.</strong> There are 9 characters you can unlock as you play through the levels. If you save up enough power cells, you can unlock new characters right away! Each alien has their own set of skills that will help you navigate the galaxy. If you find yourself stuck in a tricky tunnel, try swapping out your character for a new one. For example, the Skater will perform better in the snow levels!</p><p><strong>Control your jumps. </strong>The longer you hold down the up arrow key, the higher and longer you’ll jump. For platforms with a small gap in between, try tapping the up arrow to make a small jump. This technique can help you avoid over shooting your landing. </p><p><strong>Look ahead. </strong>Put your focus on the platforms just ahead of your character. Take note of all different sides of the tunnel to plan your next jumps. This should help you determine which way to turn the tunnels so that your character has plenty of space to run. </p><p><strong>Infinite practice. </strong>Infinite Mode is great for collecting power cells to unlock characters, but it can also be great for practice too! If you’re stuck on a level on the galaxy map, try a few runs through the infinite tunnels. The tunnels won’t be the same every time, so you’ll get a good feel for the different obstacles. </p></div><div class="desktop"><p>There’s a whole new galaxy waiting to be explored! Use the arrow keys to run and jump through the space tunnels. Use the left and right arrow keys to rotate the world as you go. </p><p>There are two ways you can play Run 3: Explore Mode and Infinite Mode. To add more levels to your Galaxy Map, choose Explore Mode. The Runner will encounter lots of new tunnels and areas, and may bump into some friends along the way! </p><p>For an endless run, choose Infinite Mode. You’ll find power cells scattered across the tunnels in this mode. You’ll have to watch your step though! If you fall out of the tunnel in Infinite Mode, it’s game over. You can use power cells to continue your run with a new character. </p><p>See where it all began in the <a href="https://www.coolmathgames.com/0-run">first game in the Run Series</a> -- now remastered in 3D!</p><h3><strong>RUN 3 TIPS & TRICKS</strong></h3><p><strong>New aliens, new tricks.</strong> There are 9 characters you can unlock as you play through the levels. If you save up enough power cells, you can unlock new characters right away! Each alien has their own set of skills that will help you navigate the galaxy. If you find yourself stuck in a tricky tunnel, try swapping out your character for a new one. For example, the Skater will perform better in the snow levels!</p><p><strong>Control your jumps. </strong>The longer you hold down the up arrow key, the higher and longer you’ll jump. For platforms with a small gap in between, try tapping the up arrow to make a small jump. This technique can help you avoid over shooting your landing. </p><p><strong>Look ahead. </strong>Put your focus on the platforms just ahead of your character. Take note of all different sides of the tunnel to plan your next jumps. This should help you determine which way to turn the tunnels so that your character has plenty of space to run. </p><p><strong>Infinite practice. </strong>Infinite Mode is great for collecting power cells to unlock characters, but it can also be great for practice too! If you’re stuck on a level on the galaxy map, try a few runs through the infinite tunnels. The tunnels won’t be the same every time, so you’ll get a good feel for the different obstacles. </p></div></div><div class="cmg_game_rating_val"><div class="rating"><img src="/themes/custom/coolmath/assets/images/cmatgameimages/yellow-star.png"></div><div class="rating-val">4.7
- </div><div class="cmg_game_tot_cnt">2,699,730
- Votes</div></div></div></article></div></div><div class="d-lg-none game-on_device game-on-mobile"><script type="deferjs">
- $(document).ready(function () {
- if (cmg_is_mobile_device() === true) {
- removePrerollAndDisplayGame();
- attachModalHtml();
- jQuery('#id-adfree-marketing-campaign').remove();
- jQuery("#full-screen-modal").remove();
- jQuery(".subscription-overlay").remove();
- jQuery(".game-overlay-watch-or-join").remove();
- jQuery("#videoplayer").show();
- } else if(jQuery(".game-page-mobile .playNow").length && jQuery(".game-page-mobile .playNow").is(':visible') ) {
- removePrerollAndDisplayGame();
- }
- $(".game-page-mobile .playNow").on("click", function (e) {
- e.preventDefault();
- if(cmg_is_mobile_device()) {
- //Display overlay preroll ad
- displayPrerollAd_Mobile();
- } else {
- if (!cmg_is_mobile_device() && typeof trackEvent === 'function') {
- trackEvent('Mobile play button clicked', 'resized desktop browser', document.title);
- } else if (cmg_is_mobile_device() && typeof trackEvent === 'function') {
- trackEvent('Mobile play button clicked', 'mobile browser', document.title);
- }
- displayPrerollAd_Resized();
- }
- });
- });
- jQuery(document).ready(function ($) {
- if (cmg_is_mobile_device() === true) {
- check_game_mode(orientation);
- $(window).on('orientationchange', function (event) {
- check_game_mode(orientation);
- });
- }
- function check_game_mode(ort) {
- if ($('.check-game-mode').length > 0) {
- if ($('.check-game-mode').hasClass('portrait-only')) {
- if (ort == 0 || ort == '-180' || ort == 180) {
- $('.check-game-mode').removeClass('show-msg');
- } else {
- $('.check-game-mode').addClass('show-msg');
- }
- }
- if ($('.check-game-mode').hasClass('landscape-only')) {
- if (ort == 90 || ort == '-90') {
- $('.check-game-mode').removeClass('show-msg');
- } else {
- $('.check-game-mode').addClass('show-msg');
- }
- }
- }
- }
- jQuery(document).on("webkitfullscreenchange mozfullscreenchange fullscreenchange MSFullscreenChange", function () {
- if (jQuery.fullscreen.isFullScreen()) {
- jQuery('body').addClass('isFullScreen isPlay');
- } else {
- jQuery('body').removeClass('isFullScreen isPlay');
- }
- });
- });
- // New responsive site preroll
- function removePrerollAndDisplayGame_Mobile() {
- //removePrerollAndDisplayGame();
- jQuery("#m-continue-container").hide();
- var modal = document.getElementById('m-modal');
- modal.style.display = 'none';
- cmg_start_game_full_screen();
- }
- function removePrerollAndDisplayGame_Resized() {
- jQuery("#r-continue-container").hide();
- var modal = document.getElementById('r-modal');
- modal.style.display = 'none';
- if(typeof cmg_game_modal_attached != "undefined" && !cmg_game_modal_attached) {
- attachModalHtml();
- } else {
- attachModalHtml();
- }
- var elem = document.getElementById('block-system-main');
- requestFullscreenModal(elem, document.title);
- }
- if(drupalSettings.language == 'es'){
- var ContinueText = "Continuar en";
- } else{
- var ContinueText = "Continue in";
- }
- var mtimerHtml = '<div id="m-continue-link">'+ContinueText+' <span id="m-timer-div">6</span></div>';
- var rtimerHtml = '<div id="r-continue-link">'+ContinueText+' <span id="r-timer-div">15</span></div>';
- var displayMobilePreRoll = true;
- function displayPrerollAd_Mobile() {
- var cmatgame_subscriber = getCookie('cmg_sx');
- var validSubscriber = false;
- if (typeof cmatgame_subscriber !== 'undefined' && (cmatgame_subscriber !== null || getCookie('cmg_wl') !== null)) {
- validSubscriber = true;
- }
- // preroll ads
- var prerollUrls = /0\-testing/;
- // display preroll ads only on 2nd,4th, 6th visits of any game page
- // TODO Remove false after testing
- if (! displayMobilePreRoll || validSubscriber || hide_preroll_ads) {
- jQuery('body').addClass('isPlay');
- cmg_start_game_full_screen();
- } else { // display preroll ads
- displayMobilePreRoll = false;
- // jQuery("#m-continue-container").html(mtimerHtml);
- window.scrollTo(0, 0);
- var modal = document.getElementById('m-modal');
- jQuery('.page.global-wrapper').before(modal);
- modal.style.display = 'block';
- // clear refresh timer
- if (typeof refreshTimer !== "undefined") {
- clearTimeout(refreshTimer);
- refreshTimer = null;
- }
- /* Test ad
- adTagUrl = 'https://pubads.g.doubleclick.net/gampad/ads?' + 'sz=640x480&iu=/124319096/external/single_ad_samples&ciu_szs=300x250&' + 'impl=s&gdfp_req=1&env=vp&output=vast&unviewed_position_start=1&' + 'cust_params=deployment%3Ddevsite%26sample_ct%3Dlinear&correlator=';
- application = new Application(true, adTagUrl, "m-");
- */
- // Live Ad
- var adTagUrl = 'https://pubads.g.doubleclick.net/gampad/ads?iu=/137548614/1023174/71134/1023174-71134-video&description_url=https%3A%2F%2Fwww.m.coolmathgames.com%2F&env=vp&impl=s&correlator=&tfcd=0&npa=0&gdfp_req=1&output=vast&sz=640x480&unviewed_position_start=1';
- if(typeof window.PW_CMG != "undefined") {
- console.log('PBJS start')
- var auctionCallback = function(displayAds, videoUrl){
- application = new Application(displayAds, videoUrl, "m-");
- };
- window.PW_CMG.startAuction(auctionCallback);
- } else { //adblock
- application = new Application(false, adTagUrl, "m-");
- }
- var m_seconds_left = 6;
- if (jQuery("#m-timer-div").length) {
- jQuery(".m-preroll-headline").hide(); // remove game loading message
- jQuery("#m-continue-container").remove();
- jQuery("#m-container123").before(mtimerHtml); // and display continue in...
- }
- mobile_intervalId = setInterval(function () {
- m_seconds_left--;
- document.getElementById("m-timer-div").innerHTML = m_seconds_left;
- if (m_seconds_left <= 0) {
- if (document.getElementById("m-timer-div") != null) {
- document.getElementById("m-continue-link").innerHTML = "";
- //jQuery("#m-continue-link").hide();
- document.getElementById("m-continue-link").innerHTML = '<div class="continue-link-new"><a href="javascript:removePrerollAndDisplayGame_Mobile();">'+ Drupal.t('Continue to Game')+' ►</a></div>';
- }
- clearInterval(mobile_intervalId);
- }
- }, 1000);
- }
- }
- function displayPrerollAd_Resized() {
- var cmatgame_subscriber = getCookie('cmg_sx');
- var validSubscriber = false;
- if (typeof cmatgame_subscriber !== 'undefined' && (cmatgame_subscriber !== null || getCookie('cmg_wl') !== null)) {
- validSubscriber = true;
- }
- // preroll ads
- var prerollUrls = /0\-testing/;
- // display preroll ads only on 2nd,4th, 6th visits of any game page
- if (! displayMobilePreRoll || validSubscriber || hide_preroll_ads) {
- jQuery('body').addClass('isPlay');
- //cmg_start_game_full_screen();//use mobile like immersive modal
- if(typeof cmg_game_modal_attached != "undefined" && !cmg_game_modal_attached) {
- attachModalHtml();
- }
- var elem = document.getElementById('block-system-main');
- requestFullscreenModal(elem, document.title);
- //return false;//do not return false -- FF and IE do not work
- } else { // display preroll ads
- displayMobilePreRoll = false;
- // jQuery("#r-continue-container").html(rtimerHtml);
- window.scrollTo(0, 0);
- var modal = document.getElementById('r-modal');
- jQuery('.page.global-wrapper').before(modal);
- modal.style.display = 'block';
- jQuery('.r-preroll-headline').hide();
- // TODO -- css
- jQuery("#r-modal").css({
- "text-align": "center",
- "color": "white",
- "position": "fixed",
- "background": "rgba(0,0,0,0.9)",
- "width": "100%",
- "z-index": "999999"
- });
- jQuery("#r-modal #r-timer-div").css("color", "yellow");
- jQuery("#r-modal .r-continue-link").css("color", "yellow").text("180");
- jQuery("#r-modal #r-continue-link").css({"color": "yellow", "margin-top": "10px", "margin-bottom": "10px"});
- // clear refresh timer
- if (typeof refreshTimer !== "undefined") {
- clearTimeout(refreshTimer);
- refreshTimer = null;
- }
- /* Test ad
- adTagUrl = 'https://pubads.g.doubleclick.net/gampad/ads?' + 'sz=640x480&iu=/124319096/external/single_ad_samples&ciu_szs=300x250&' + 'impl=s&gdfp_req=1&env=vp&output=vast&unviewed_position_start=1&' + 'cust_params=deployment%3Ddevsite%26sample_ct%3Dlinear&correlator=';
- application = new Application(true, adTagUrl, "r-");
- */
- // Live Ad
- var adTagUrl = 'https://pubads.g.doubleclick.net/gampad/ads?iu=/137548614/1023174/71134/1023174-71134-video&description_url=https%3A%2F%2Fwww.m.coolmathgames.com%2F&env=vp&impl=s&correlator=&tfcd=0&npa=0&gdfp_req=1&output=vast&sz=640x480&unviewed_position_start=1';
- if(typeof window.PW_CMG != "undefined") {
- console.log('PBJS start')
- var auctionCallback = function(displayAds, videoUrl){
- application = new Application(displayAds, videoUrl, "r-");
- };
- window.PW_CMG.startAuction(auctionCallback);
- } else { //adblock
- application = new Application(false, adTagUrl, "r-");
- }
- var r_seconds_left = 15;
- if (jQuery("#r-timer-div").length) {
- jQuery(".r-preroll-headline").hide(); // remove game loading message
- jQuery("#r-continue-container").remove();
- jQuery("#r-container123").before(rtimerHtml); // and display continue in...
- }
- rIntervalId = setInterval(function () {
- r_seconds_left--;
- document.getElementById("r-timer-div").innerHTML = r_seconds_left;
- if (r_seconds_left <= 0) {
- removeResponsivePrerollTimer();
- }
- }, 1000);
- }
- }
- function removeResponsivePrerollTimer() {
- if (document.getElementById("r-timer-div") != null) {
- document.getElementById("r-continue-link").innerHTML = "";
- document.getElementById("r-continue-link").innerHTML = '<div class="continue-link-new"><a href="javascript:removePrerollAndDisplayGame_Resized();">Continue to Game ►</a></div>';
- //Load game iframe before going to full screen
- //removePrerollAndDisplayGame();
- }
- if (typeof rIntervalId != "undefined") {
- clearInterval(rIntervalId);
- }
- removePrerollAndDisplayGame_Resized();
- }
- </script><div class="game-page-mobile "><div class="game-image my-4"><div class="no-flash-overlay-mobile" style="display:none;"><p><strong>Sorry... this game is not playable in your browser.</strong></p></div><script>
- jQuery(document).ready(function ($) {
- $("#playNowButton").delay(10).fadeIn(10);
- });
- </script><a href="https://www.coolmathgames.com/0-run-3/play" class="playNow" id='playNowButton' style="display:none;"><span class="playNowButton fa-stack fa-lg"><i class="circle"></i><i class="icon-circle fa-stack-2x"></i><i class="icon-play fa-stack-1x fa-inverse"></i></span></a><script type="deferjs">
- var validSubscriber = false;
- if (typeof cmatgame_subscriber !== 'undefined' && cmatgame_subscriber !== null) {
- validSubscriber = true;
- }
- if(getCookie("cmg_wl") !== null) {
- validSubscriber = true;
- }
- if (!validSubscriber && (document.getElementById('randomAdBlockDiv') == null || typeof google == "undefined" || typeof cmgpbjs == "undefined")) {
- //TODO when schools open add this logic (schoolHours && parseInt(sessionStorage.getItem('sessionGamesPlayed') || 0)
- if(typeof schoolHours !== "undefined" && schoolHours) {
- //console.log("Adblocker detected (mobile), but try ad recovery during school hours "+new Date());
- cmg_adrecovery();
- } else if(typeof hide_preroll_ads == "undefined" || !hide_preroll_ads ) {
- displayAdBlock("mobile");
- }
- }
- </script><div class="game__field-og-image"><img class="game-image-mobile img-fluid" src="/sites/default/files/run-3.png" width="600" height="350" alt="Run 3 Game" typeof="foaf:Image" /></div></div><div
- id="m-modal" style="display: none;"><!-- Load message --><div class="m-preroll-headline"><h3>Just a moment while your game loads</h3></div><div id="m-container123"><hr style="margin-top: 10px; margin-bottom: 10px;"/><div id="videoplayer" style="width:100%;"><video id="m-content123" playsinline muted style="width:300px;height:1px;"><source src="//www.coolmathgames.com/sites/default/files/adtesting/DummyVideo.mov"></source></video><div id="m-adcontainer"></div><p class="advertisment">Advertisement</p></div><!-- Timer --><div id="m-continue-container"><div id="m-continue-link">Continue in
- <span id="m-timer-div">6</span></div></div></div></div><div id="r-modal" style="display: none;"><div class="r-preroll-headline"><h3>Just a moment while your game loads</h3></div><div id="r-container123"><hr style="margin-top: 10px; margin-bottom: 10px;"/><div id="r-videoplayer" style="width:100%;"><video id="r-content123" playsinline muted style="width:640px;height:1px;"><source src="//www.coolmathgames.com/sites/default/files/adtesting/DummyVideo.mov"></source></video><div id="r-adcontainer" style="display: flex; align-items: center; justify-content: center;"></div><p class="advertisment">Advertisement</p></div><!-- Timer --><div id="r-continue-container"><div id="r-continue-link">Continue in <span id="r-timer-div">20</span></div></div></div></div><div class="game-xp-bar mb-4"><div class="game-progress-status"><div class="progress game-xp-progress" style="display:none;"><div class="progress-text"><a href="/login">Login to Earn XP</a></div><div class="progress-bar" role="progressbar" style="width:70%" aria-valuenow="70" aria-valuemin="0" aria-valuemax="100"></div></div></div></div><div class="game-instructions mb-4" style="display:none;"><h3>Run 3 Instructions</h3><script type="deferjs">
- jQuery(document).ready(function ($) {
- if(drupalSettings.language == 'en'){
- $('div.expander').expander({
- slicePoint: 100,
- preserveWords: true,
- expandText: 'Show More',
- userCollapseText: 'Show Less',
- });
- } else{
- $('div.expander').expander({
- slicePoint: 100,
- preserveWords: true,
- expandText: 'Mostrar más',
- userCollapseText: 'Muestra menos',
- });
- }
- });
- </script><div class="expander mobile"><p>There’s a whole new galaxy waiting to be explored! Use the arrow keys to run and jump through the space tunnels. Use the left and right arrow keys to rotate the world as you go. </p><p>There are two ways you can play Run 3: Explore Mode and Infinite Mode. To add more levels to your Galaxy Map, choose Explore Mode. The Runner will encounter lots of new tunnels and areas, and may bump into some friends along the way! </p><p>For an endless run, choose Infinite Mode. You’ll find power cells scattered across the tunnels in this mode. You’ll have to watch your step though! If you fall out of the tunnel in Infinite Mode, it’s game over. You can use power cells to continue your run with a new character. </p><p>See where it all began in the <a href="https://www.coolmathgames.com/0-run">first game in the Run Series</a> -- now remastered in 3D!</p><h3><strong>RUN 3 TIPS & TRICKS</strong></h3><p><strong>New aliens, new tricks.</strong> There are 9 characters you can unlock as you play through the levels. If you save up enough power cells, you can unlock new characters right away! Each alien has their own set of skills that will help you navigate the galaxy. If you find yourself stuck in a tricky tunnel, try swapping out your character for a new one. For example, the Skater will perform better in the snow levels!</p><p><strong>Control your jumps. </strong>The longer you hold down the up arrow key, the higher and longer you’ll jump. For platforms with a small gap in between, try tapping the up arrow to make a small jump. This technique can help you avoid over shooting your landing. </p><p><strong>Look ahead. </strong>Put your focus on the platforms just ahead of your character. Take note of all different sides of the tunnel to plan your next jumps. This should help you determine which way to turn the tunnels so that your character has plenty of space to run. </p><p><strong>Infinite practice. </strong>Infinite Mode is great for collecting power cells to unlock characters, but it can also be great for practice too! If you’re stuck on a level on the galaxy map, try a few runs through the infinite tunnels. The tunnels won’t be the same every time, so you’ll get a good feel for the different obstacles. </p></div><div class="expander desktop"><p>There’s a whole new galaxy waiting to be explored! Use the arrow keys to run and jump through the space tunnels. Use the left and right arrow keys to rotate the world as you go. </p><p>There are two ways you can play Run 3: Explore Mode and Infinite Mode. To add more levels to your Galaxy Map, choose Explore Mode. The Runner will encounter lots of new tunnels and areas, and may bump into some friends along the way! </p><p>For an endless run, choose Infinite Mode. You’ll find power cells scattered across the tunnels in this mode. You’ll have to watch your step though! If you fall out of the tunnel in Infinite Mode, it’s game over. You can use power cells to continue your run with a new character. </p><p>See where it all began in the <a href="https://www.coolmathgames.com/0-run">first game in the Run Series</a> -- now remastered in 3D!</p><h3><strong>RUN 3 TIPS & TRICKS</strong></h3><p><strong>New aliens, new tricks.</strong> There are 9 characters you can unlock as you play through the levels. If you save up enough power cells, you can unlock new characters right away! Each alien has their own set of skills that will help you navigate the galaxy. If you find yourself stuck in a tricky tunnel, try swapping out your character for a new one. For example, the Skater will perform better in the snow levels!</p><p><strong>Control your jumps. </strong>The longer you hold down the up arrow key, the higher and longer you’ll jump. For platforms with a small gap in between, try tapping the up arrow to make a small jump. This technique can help you avoid over shooting your landing. </p><p><strong>Look ahead. </strong>Put your focus on the platforms just ahead of your character. Take note of all different sides of the tunnel to plan your next jumps. This should help you determine which way to turn the tunnels so that your character has plenty of space to run. </p><p><strong>Infinite practice. </strong>Infinite Mode is great for collecting power cells to unlock characters, but it can also be great for practice too! If you’re stuck on a level on the galaxy map, try a few runs through the infinite tunnels. The tunnels won’t be the same every time, so you’ll get a good feel for the different obstacles. </p></div></div></div><div class="ad-block mb-4"></div><div class="like-block mb-4"><div id="block-coolmath-carouselingamedetailpage" class="settings-tray-editable block block-cmatgame-core block-gamedetailcarousel" data-drupal-settingstray="editable"><div class="view-content"><div class="pane-game-details-carousel-game-detail"><div class='view-display-id-carousel_game_detail'><div class='view-header'><p>You'll Also Like...</p></div><div class='view-content'><div><div class='bx-wrapper jcarousel-wrapper'><div class='jcarousel'><ul><li style="display:none;" class="bxslider-views-slideshow-main-frame-row mobile-hidden"><div class="game-item mobile-not-playable"><div class="game-link-wrapper"><a href="/0-powerline-io?utm_content=CTA_You_Will_Also_Like"><div class="field-image"><img src="/modules/custom/cmatgame_core/images/1x1.png" width="83" height="50" alt="Powerline.io Game" title="Powerline.io" data-src="/sites/default/files/styles/thumbnail_small/public/game_thumbnail/powerline-io-game-logo_2.png?itok=MrZUk6sS" class="lazyload img-fluid" typeof="foaf:Image" /></div><h5 class="game-title"><span class="overlay"></span><span class="title-on-overlay">Powerline</span></h5></a></div></div></li><li style="display:none;" class="bxslider-views-slideshow-main-frame-row mobile-hidden"><div class="game-item mobile-not-playable"><div class="game-link-wrapper"><a href="/0-run?utm_content=CTA_You_Will_Also_Like"><div class="field-image"><img src="/modules/custom/cmatgame_core/images/1x1.png" width="83" height="50" alt="Run Game" title="Run" data-src="/sites/default/files/styles/thumbnail_small/public/game_thumbnail/game-logo-run.gif?itok=tJ3S1KBf" class="lazyload img-fluid" typeof="foaf:Image" /></div><h5 class="game-title"><span class="overlay"></span><span class="title-on-overlay">Run</span></h5></a></div></div></li><li style="display:none;" class="bxslider-views-slideshow-main-frame-row mobile-hidden"><div class="game-item mobile-not-playable"><div class="game-link-wrapper"><a href="/0-run-2?utm_content=CTA_You_Will_Also_Like"><div class="field-image"><img src="/modules/custom/cmatgame_core/images/1x1.png" width="83" height="50" alt="Run 2 Game" title="Run 2" data-src="/sites/default/files/styles/thumbnail_small/public/game_thumbnail/game-logo-run-2.gif?itok=OUON_qjA" class="lazyload img-fluid" typeof="foaf:Image" /><span class="icon-gamethumbnail-carousel"></span></div><h5 class="game-title"><span class="overlay"></span><span class="title-on-overlay">Run 2</span></h5></a></div></div></li><li style="display:none;" class="bxslider-views-slideshow-main-frame-row "><div class="game-item "><div class="game-link-wrapper"><a href="/0-snake?utm_content=CTA_You_Will_Also_Like"><div class="field-image"><img src="/modules/custom/cmatgame_core/images/1x1.png" width="83" height="50" alt="Snake Game" title="Snake" data-src="/sites/default/files/styles/thumbnail_small/public/game_thumbnail/snake-game-logo_0.png?itok=W3gOxqtt" class="lazyload img-fluid" typeof="foaf:Image" /></div><h5 class="game-title"><span class="overlay"></span><span class="title-on-overlay">Snake</span></h5></a></div></div></li><li style="display:none;" class="bxslider-views-slideshow-main-frame-row "><div class="game-item "><div class="game-link-wrapper"><a href="/0-60-second-burger-run?utm_content=CTA_You_Will_Also_Like"><div class="field-image"><img src="/modules/custom/cmatgame_core/images/1x1.png" width="83" height="50" alt="60 Second Burger Run Game" title="60 Second Burger Run" data-src="/sites/default/files/styles/thumbnail_small/public/game_thumbnail/game-logo-60-second-burger-run.gif?itok=MB4wDejP" class="lazyload img-fluid" typeof="foaf:Image" /></div><h5 class="game-title"><span class="overlay"></span><span class="title-on-overlay">60 Second Burger Run</span></h5></a></div></div></li><li style="display:none;" class="bxslider-views-slideshow-main-frame-row "><div class="game-item "><div class="game-link-wrapper"><a href="/0-space-is-key?utm_content=CTA_You_Will_Also_Like"><div class="field-image"><img src="/modules/custom/cmatgame_core/images/1x1.png" width="83" height="50" alt="Space Is Key Game" title="Space Is Key" data-src="/sites/default/files/styles/thumbnail_small/public/game_thumbnail/game-logo-space-is-key.gif?itok=M9eX-2Yj" class="lazyload img-fluid" typeof="foaf:Image" /></div><h5 class="game-title"><span class="overlay"></span><span class="title-on-overlay">Space Is Key</span></h5></a></div></div></li><li style="display:none;" class="bxslider-views-slideshow-main-frame-row "><div class="game-item "><div class="game-link-wrapper"><a href="/0-space-is-key-2?utm_content=CTA_You_Will_Also_Like"><div class="field-image"><img src="/modules/custom/cmatgame_core/images/1x1.png" width="83" height="50" alt="Space Is Key 2 Game" title="Space Is Key 2" data-src="/sites/default/files/styles/thumbnail_small/public/game_thumbnail/game-logo-space-is-key-2.gif?itok=6AoJCQhw" class="lazyload img-fluid" typeof="foaf:Image" /></div><h5 class="game-title"><span class="overlay"></span><span class="title-on-overlay">Space Is Key 2</span></h5></a></div></div></li><li style="display:none;" class="bxslider-views-slideshow-main-frame-row "><div class="game-item "><div class="game-link-wrapper"><a href="/0-space-is-key-ultimate-challenge?utm_content=CTA_You_Will_Also_Like"><div class="field-image"><img src="/modules/custom/cmatgame_core/images/1x1.png" width="83" height="50" alt="Space is Key: Ultimate Challenge Game" title="Space is Key: Ultimate Challenge" data-src="/sites/default/files/styles/thumbnail_small/public/game_thumbnail/space-is-key-ultimate-challenge-logo.png?itok=fpldC-Su" class="lazyload img-fluid" typeof="foaf:Image" /></div><h5 class="game-title"><span class="overlay"></span><span class="title-on-overlay">Space is Key Ultimate</span></h5></a></div></div></li><li style="display:none;" class="bxslider-views-slideshow-main-frame-row mobile-hidden"><div class="game-item mobile-not-playable"><div class="game-link-wrapper"><a href="/0-potatoman-seeks-the-troof?utm_content=CTA_You_Will_Also_Like"><div class="field-image"><img src="/modules/custom/cmatgame_core/images/1x1.png" width="83" height="50" alt="Potatoman Seeks the Troof Game" title="Potatoman Seeks the Troof" data-src="/sites/default/files/styles/thumbnail_small/public/game_thumbnail/potatoman-seeks-the-troof-game-logo.png?itok=CTyA2AEx" class="lazyload img-fluid" typeof="foaf:Image" /><span class="icon-gamethumbnail-carousel"></span></div><h5 class="game-title"><span class="overlay"></span><span class="title-on-overlay">Potatoman Seeks the Troof</span></h5></a></div></div></li><li style="display:none;" class="bxslider-views-slideshow-main-frame-row mobile-hidden"><div class="game-item mobile-not-playable"><div class="game-link-wrapper"><a href="/0-run-3-flash?utm_content=CTA_You_Will_Also_Like"><div class="field-image"><img src="/modules/custom/cmatgame_core/images/1x1.png" width="83" height="50" alt="Run 3 - Flash Version Game" title="Run 3 - Flash Version" data-src="/sites/default/files/styles/thumbnail_small/public/game_thumbnail/run-3-game-logo.png?itok=Jrwbbebu" class="lazyload img-fluid" typeof="foaf:Image" /><span class="icon-gamethumbnail-carousel"></span></div><h5 class="game-title"><span class="overlay"></span><span class="title-on-overlay">Run 3 - Flash Version</span></h5></a></div></div></li></ul></div><div class="bx-controls-direction1"><a href="#" class="jcarousel-control-prev">‹</a><a href="#" class="jcarousel-control-next">›</a></div></div></div></div></div></div></div></div></div></div><script type="deferjs">
- jQuery(document).ready(function ($) {
- $(".bxslider-views-slideshow-main-frame-row").attr("style", "")
- $(".game-instructions").attr("style", "")
- });
- </script></div></div><div class="views-element-container settings-tray-editable block block-views block-views-blocktop-picks-games-block-1" id="block-views-block-top-picks-games-block-1" data-drupal-settingstray="editable"><h2 class="common-title"><span class="title-with-button">Coolmath Top Picks</span></h2><div class="view-content"><div><div class="js-view-dom-id-dfb483fb7ad28389f81438cdabe4c3b19d42ebd47a46c7f6d9bc6c62bc95339b"><div class="views-field views-field-nothing"><span class="field-content"><div class="game-item"><div class="game-link-wrapper"><a href="/0-billiards?utm_content=CTA_Top_Picks"><div class="field-image"><img src="/modules/custom/cmatgame_core/images/1x1.png" width="83" height="50" alt="" data-src="/sites/default/files/styles/thumbnail_small/public/game_thumbnail/billiards-game-logo.png?itok=eg_QF6kT" class="lazyload img-fluid" typeof="Image" /></div><h3 class="game-title">Billiards</h3></a></div><div class="game-item-description"><div class="field-body cmgr-long-desc"><p><p>Take your best shot in online multiplayer pool! Sink all your balls and finish with the 8 ball to win at the table! </p></p></div><div class="cmgr-short-desc"><p>Take your skills online and sink the 8 ball!</p></div></div></div></span></div><div class="views-field views-field-nothing"><span class="field-content"><div class="game-item mobile-not-playable"><div class="game-link-wrapper"><a href="/0-chess?utm_content=CTA_Top_Picks"><div class="field-image"><img src="/modules/custom/cmatgame_core/images/1x1.png" width="83" height="50" alt="" data-src="/sites/default/files/styles/thumbnail_small/public/game_thumbnail/chess-icon.png?itok=OoHTSJXx" class="lazyload img-fluid" typeof="Image" /></div><h3 class="game-title">Chess</h3></a></div><div class="game-item-description"><div class="field-body cmgr-long-desc"><p><p>Checkmate! Play the classic game of strategy. You can challenge the computer, a friend, or join a match against another online player.</p></p></div><div class="cmgr-short-desc"><p>Play Chess against the computer or your friends!</p></div></div></div></span></div><div class="views-field views-field-nothing"><span class="field-content"><div class="game-item mobile-not-playable"><div class="game-link-wrapper"><a href="/0-poptropica?utm_content=CTA_Top_Picks"><div class="field-image"><img src="/modules/custom/cmatgame_core/images/1x1.png" width="83" height="50" alt="" data-src="/sites/default/files/styles/thumbnail_small/public/game_thumbnail/poptropica-fairy-tale-island-game-logo.png?itok=tHA79m1P" class="lazyload img-fluid" typeof="Image" /></div><h3 class="game-title">Poptropica</h3></a></div><div class="game-item-description"><div class="field-body cmgr-long-desc"><p><p>On the all-new Fairy Tale island, everyone's happy endings have gone awry. Can you save the day?</p></p></div><div class="cmgr-short-desc"><p>Save the day on the all-new Fairy Tale Island.</p></div></div></div></span></div><div class="views-field views-field-nothing"><span class="field-content"><div class="game-item"><div class="game-link-wrapper"><a href="/0-swing-monkey?utm_content=CTA_Top_Picks"><div class="field-image"><img src="/modules/custom/cmatgame_core/images/1x1.png" width="83" height="50" alt="" data-src="/sites/default/files/styles/thumbnail_small/public/game_thumbnail/swing-monkey-game-logo.png?itok=Z7uSpeaQ" class="lazyload img-fluid" typeof="Image" /></div><h3 class="game-title">Swing Monkey</h3></a></div><div class="game-item-description"><div class="field-body cmgr-long-desc"><p><p>Swing through the jungle from tree to tree! Beat levels to unlock new monkey skins.</p></p></div><div class="cmgr-short-desc"><p>Monkey swing, monkey do!</p></div></div></div></span></div><div class="views-field views-field-nothing"><span class="field-content"><div class="game-item"><div class="game-link-wrapper"><a href="/0-penalty-kick-online?utm_content=CTA_Top_Picks"><div class="field-image"><img src="/modules/custom/cmatgame_core/images/1x1.png" width="83" height="50" alt="" data-src="/sites/default/files/styles/thumbnail_small/public/game_thumbnail/penalty-kick-online-game-logo_0.png?itok=5HuR3xaR" class="lazyload img-fluid" typeof="Image" /></div><h3 class="game-title">Penalty Kick Online</h3></a></div><div class="game-item-description"><div class="field-body cmgr-long-desc"><p><p>Level up and earn XP on your way to the world championship. Challenge other players online in this epic penalty shootout!</p></p></div><div class="cmgr-short-desc"><p>Win trophies in online multiplayer!</p></div></div></div></span></div><div class="views-field views-field-nothing"><span class="field-content"><div class="game-item mobile-not-playable"><div class="game-link-wrapper"><a href="/0-copter-royale?utm_content=CTA_Top_Picks"><div class="field-image"><img src="/modules/custom/cmatgame_core/images/1x1.png" width="83" height="50" alt="" data-src="/sites/default/files/styles/thumbnail_small/public/game_thumbnail/copter-royale-game-logo_0.png?itok=mBoa4U1x" class="lazyload img-fluid" typeof="Image" /></div><h3 class="game-title">Copter Royale</h3></a></div><div class="game-item-description"><div class="field-body cmgr-long-desc"><p><p>Outlast your opponents in the ultimate copter arena. Grab upgrades and superpowers, avoid the toxic fog, and be the last one flying!</p></p></div><div class="cmgr-short-desc"><p>Upgrade your copter and be the last one flying!</p></div></div></div></span></div><div class="views-field views-field-nothing"><span class="field-content"><div class="game-item"><div class="game-link-wrapper"><a href="/0-darts?utm_content=CTA_Top_Picks"><div class="field-image"><img src="/modules/custom/cmatgame_core/images/1x1.png" width="83" height="50" alt="" data-src="/sites/default/files/styles/thumbnail_small/public/game_thumbnail/darts-game-logo.png?itok=lm-u2aAw" class="lazyload img-fluid" typeof="Image" /></div><h3 class="game-title">Darts</h3></a></div><div class="game-item-description"><div class="field-body cmgr-long-desc"><p><p>Test your aim in online multiplayer! Race your opponent to get to zero first. You'll have to calculate your own score.</p></p></div><div class="cmgr-short-desc"><p>Test your aim in online multiplayer!</p></div></div></div></span></div><div class="views-field views-field-nothing"><span class="field-content"><div class="game-item"><div class="game-link-wrapper"><a href="/0-retro-ping-pong?utm_content=CTA_Top_Picks"><div class="field-image"><img src="/modules/custom/cmatgame_core/images/1x1.png" width="83" height="50" alt="" data-src="/sites/default/files/styles/thumbnail_small/public/game_thumbnail/retro-ping-pong-game-logo_1.png?itok=4XqD0w1_" class="lazyload img-fluid" typeof="Image" /></div><h3 class="game-title">Retro Ping Pong</h3></a></div><div class="game-item-description"><div class="field-body cmgr-long-desc"><p><p>Play the classic game, or mix it up with an all-new action mode: fireballs, blasters, gravity wells, and more!</p></p></div><div class="cmgr-short-desc"><p>Play the classic game or the all-new action mode!</p></div></div></div></span></div><div class="views-field views-field-nothing"><span class="field-content"><div class="game-item mobile-not-playable"><div class="game-link-wrapper"><a href="/0-big-tower-tiny-square?utm_content=CTA_Top_Picks"><div class="field-image"><img src="/modules/custom/cmatgame_core/images/1x1.png" width="83" height="50" alt="" data-src="/sites/default/files/styles/thumbnail_small/public/game_thumbnail/big-tower-tiny-square-game-logo.png?itok=gzYesemP" class="lazyload img-fluid" typeof="Image" /></div><h3 class="game-title">Big Tower Tiny Square</h3></a></div><div class="game-item-description"><div class="field-body cmgr-long-desc"><p><p>Your pineapple is trapped at the top of a huge tower! Jump over pits of lava and dodge dangerous traps to rescue it.</p></p></div><div class="cmgr-short-desc"><p>Save your pineapple from evil Big Square!</p></div></div></div></span></div><div class="views-field views-field-nothing"><span class="field-content"><div class="game-item mobile-not-playable"><div class="game-link-wrapper"><a href="/0-pre-civilization-bronze-age?utm_content=CTA_Top_Picks"><div class="field-image"><img src="/modules/custom/cmatgame_core/images/1x1.png" width="83" height="50" alt="" data-src="/sites/default/files/styles/thumbnail_small/public/game_thumbnail/game-logo-preciv-bronze-age_0.gif?itok=M2xJ4brL" class="lazyload img-fluid" typeof="Image" /></div><h3 class="game-title">Pre-Civilization Bronze Age</h3></a></div><div class="game-item-description"><div class="field-body cmgr-long-desc"><p><p>Grow your civilization during the Bronze Age. Collect food, research technology, defend yourself from other civilizations, and build a world wonder!</p></p></div><div class="cmgr-short-desc"><p>Grow your civilization.</p></div></div></div></span></div></div></div></div></div></div></div><div class="main-aside col-lg-3 col-xl-3 pr-lg-0"><aside class="section" role="complementary"><div class="inside"><div id="block-coolmath-nodepagespromomerchstore" class="settings-tray-editable block block-block-content block-block-contentbba33380-2724-4eba-99f5-ba8dde3a54f4" data-drupal-settingstray="editable"><div class="basic__body"><div style="margin-top:20px;"><a class="cmg-gear-promo" href="#" onclick="merchLinkHhandler();return false;" target="_blank" class="hover-effect"><img class="lazyload" src="/modules/custom/cmatgame_core/images/1x1.png" alt="" data-entity-type="" data-entity-uuid="" data-src="/sites/default/files/cmatgame_block/merch-promo.png" width="300" height="102" /></a></div><script type="text/javascript">
- jQuery('a.cmg-gear-promo').click(function(e){
- e.preventDefault();
- merchLinkHhandler(e);
- });
- function merchLinkHhandler(e) {
- e.preventDefault();
- url = 'https://www.teepublic.com/user/coolmathgames';
- if(typeof __gaTracker !== "undefined") {
- __gaTracker('send', { hitType: 'event', eventCategory: 'Coolmath Gear Promo', eventAction: 'Merch Store Link Clicked', eventLabel: document.title, eventValue: '0' });
- }
- window.open(url,'_cmg_merch');
- }
- </script></div></div><div id="block-adsrighttop-otherpage-300x250-2" class="settings-tray-editable block block-cmatgame-core block-adsrighttop-otherpage-300x250" data-drupal-settingstray="editable"><div class="view-content"><div class="panel-pane pane-block pane-cmatgame-advertisement-cm-g-otherpages-300x250-top other-pages-300x250"><div class="ad-wrapper"><!-- 300 x 250 ATF Desktop --><div id="med-rect-atf"></div></div></div></div></div><div id="block-yearlysubscriptionrightblock" class="settings-tray-editable block block-block-content block-block-contentec497755-6c84-4088-8406-5ad3435951da" data-drupal-settingstray="editable"><div class="basic__body"><div id="monthly-subscription-plan"><a href="javascript:void(0);" onclick="yearlysubscription_promo_handler('Monthly subscription - Right Sidebar Promo clicked')" class="hover-effect"><img class="lazyload" src="/sites/default/files/cmatgame_block/monthly_sub_coolmathgames_banner22_300x102.png" width="300" height="102"></a></div></div></div><div id="block-playlistrightsidebanner-3" class="settings-tray-editable block block-block-content block-block-content4c6a7813-867a-4112-a837-b6fd47fe8607" data-drupal-settingstray="editable"><div class="basic__body"><div id="right-rail-playlist-marketing-promo" class="playlist-right-side-promo" style="display:none;"><a href="javascript:void(0);" onclick="playlist_marketing_overlay_promo_signup_handler('Get Playlist marketing - Right Sidebar Promo clicked')"><img src="sites/default/files/cmatgame_block/CoolMathGames_banner9b_300x102.png"></a></div></div></div><div id="block-adsrightcenter-otherpage-300x250-2" class="settings-tray-editable block block-cmatgame-core block-adsrightcenter-otherpage-300x250" data-drupal-settingstray="editable"><div class="view-content"><div class="panel-pane pane-block pane-cmatgame-advertisement-cm-g-otherpages-300x250-center other-pages-300x250"><div class="ad-wrapper"><!-- 300 x 250 ATF Desktop. gen /0-bull-blast--><!-- Change the id as needed --><div id="med-rect-btf"></div></div><script type="text/javascript">
- if(/0-jigsaw-puzzles/.test(location.href)) {
- document.getElementById("med-rect-btf").setAttribute("id", "med-rect-btf1");
- }
- </script></div></div></div><div id="block-nodepagespromouserprofiles-2" class="settings-tray-editable block block-block-content block-block-content94913ff6-dd14-4345-8c90-e12e39b0e2f8" data-drupal-settingstray="editable"><div class="basic__body"><style>
- .profiles-promo{
- background: url('/sites/default/files/profiles-right-rail_3.png')no-repeat;
- height: 102px;
- width: 300px;
- display: block;
- text-indent: -9999px;
- background-position: top center;
- margin-bottom: 44px;
- }
- a:hover{
- background-position: bottom center;
- }
- </style><a class="profiles-promo" href="/signup">User Profiles</a></div></div><div id="block-coolmath-rightrailblockallgamesaz" class="settings-tray-editable block block-block-content block-block-contentdb7b8c07-768c-46b3-8588-bb5c7075ed3f" data-drupal-settingstray="editable"><div class="basic__body"><div class="aside-link-title"><a href="/1-complete-game-list?rightrail">All Games A-Z</a></div></div></div></div><div class="promo clearfix"><div class="inside"><div id="block-coolmath-rightrailpromogames" class="settings-tray-editable block block-cmatgame-core block-rightrailpromogames" data-drupal-settingstray="editable"><div class="view-content"><div class="panel-pane pane-views-panes pane-queues-view-rightrail-games-promo"><h2 class="pane-title"><a href="/1-aiming-games">Aiming Games</a></h2><div class="node-game"><a href="/0-penalty-kick-online"><div class="field-image"><img src="/modules/custom/cmatgame_core/images/1x1.png" width="83" height="50" alt="Penalty Kick Online Game" title="Penalty Kick Online" data-src="/sites/default/files/styles/thumbnail_small/public/game_thumbnail/penalty-kick-online-game-logo_0.png?itok=5HuR3xaR" class="lazyload img-fluid" typeof="Image" /></div><h3 class="game-title">Penalty Kick Online</h3></a></div><div class="node-game"><a href="/0-mini-golf-battle-royale"><div class="field-image"><img src="/modules/custom/cmatgame_core/images/1x1.png" width="83" height="50" alt="Mini Golf Battle Royale Game" title="Mini Golf Battle Royale" data-src="/sites/default/files/styles/thumbnail_small/public/game_thumbnail/mini-golf-battle-royale-game-logo-2_1.png?itok=-NY0K2zC" class="lazyload img-fluid" typeof="Image" /></div><h3 class="game-title mobile-not-playable">Mini Golf Battle Royale</h3></a></div><div class="node-game"><a href="/0-archery-world-tour"><div class="field-image"><img src="/modules/custom/cmatgame_core/images/1x1.png" width="83" height="50" alt="Archery World Tour Game" title="Archery World Tour" data-src="/sites/default/files/styles/thumbnail_small/public/game_thumbnail/archery-world-tour.png?itok=q1Uwb7xx" class="lazyload img-fluid" typeof="Image" /></div><h3 class="game-title">Archery World Tour</h3></a></div><div class="node-game"><a href="/0-iq-ball"><div class="field-image"><img src="/modules/custom/cmatgame_core/images/1x1.png" width="83" height="50" alt="IQ Ball Game" title="IQ Ball" data-src="/sites/default/files/styles/thumbnail_small/public/game_thumbnail/game-logo-iq-ball.gif?itok=uxRL9p9g" class="lazyload img-fluid" typeof="Image" /></div><h3 class="game-title">IQ Ball</h3></a></div><div class="node-game"><a href="/0-arcade-golf-neon"><div class="field-image"><img src="/modules/custom/cmatgame_core/images/1x1.png" width="83" height="50" alt="Arcade Golf Neon Game" title="Arcade Golf Neon" data-src="/sites/default/files/styles/thumbnail_small/public/game_thumbnail/arcade-golf-neon-game-logo.png?itok=JkOWTpb7" class="lazyload img-fluid" typeof="Image" /></div><h3 class="game-title">Arcade Golf Neon</h3></a></div></div></div></div><div id="block-coolmath-adsrightbottom-otherpage-160x600" class="settings-tray-editable block block-cmatgame-core block-adsrightbottom-otherpage-160x600" data-drupal-settingstray="editable"><div class="view-content"><div class="panel-pane pane-block pane-cmatgame-advertisement-cm-g-otherpages-160x600-bottom other-pages-160x600"><div class="ad-wrapper"><!-- 160 x 600 Skyscraper Desktop --><div id="sky-btf"></div></div></div></div></div><div id="block-leaderboardpromorightrailsimple" class="settings-tray-editable block block-simple-block block-simple-blockleaderboard-promo-right-rail" data-drupal-settingstray="editable"><div class="view-content"><div class="leaderboard-promo"><a href="/profile/leaderboard" class="hover-effect"><img class="lazyload" src="/modules/custom/cmatgame_core/images/1x1.png" data-src="/themes/custom/coolmath/assets/images/promos/leaderboards-right-rail.png" width="302" height="102" /></a></div></div></div></div></div></aside></div></div><div class="row adbottom"><div class="col-12"><div id="block-coolmath-adsbottom-otherpage-728x90" class="settings-tray-editable block block-cmatgame-core block-adsbottom-otherpage-728x90" data-drupal-settingstray="editable"><div class="view-content"><div class="panel-pane pane-block pane-cmatgame-advertisement-cm-g-otherpages-728x90-footer"><div class="ad-wrapper"><!-- 728 x 90 BTF Desktop --><div id="leaderboard-btf"></div></div></div></div></div></div></div></div></div></main><footer class="page__footer"><div class="container"><div class="row pb-3"><div class="col-lg-2 d-none d-xl-block"></div><div class="col-lg-12 col-xl-10 pl-lg-0"><div class="item-list"><ol><li> </li><li> </li><li><div class="pane-bean-footer-pivacy-policy"><div class="link-with-body-title"><a href="/privacyp">Coolmath games privacy policy</a></div><div class="field-text-block"><p>If you believe that your own copyrighted content is on our Site without your permission, please follow this
- <a href="http://coolmath.com/copyright-infringement-notice-procedure">Copyright Infringement Notice procedure</a>.</p></div></div></li><li><div class="settings-tray-editable block block--coolmath-desktopfootermenu" data-drupal-settingstray="editable"><div class="panel-pane pane-menu-tree pane-menu-desktop-footer-menu"><div class="menu-name-menu-desktop-footer-menu"><ul class="footer-menu"><li class="mb-3 mr-3 menu__item is-expanded expanded footer-menu-column-0"><span class="menu__link nolink">COOLMATHGAMES.COM</span><ul class="footer-menu"><li ><a href="/about-us" data-drupal-link-system-path="node/9901">About Us</a></li><li ><a href="/terms-use" data-drupal-link-system-path="node/9906">Terms of Use</a></li><li ><a href="/aboutourads" data-drupal-link-system-path="node/12889">About Our Ads</a></li><li ><a href="/subscription-faq" data-drupal-link-system-path="node/10921">Subscription FAQ</a></li><li ><a href="/adblock-faq" data-drupal-link-system-path="node/12937">Adblock FAQ</a></li><li ><a href="/contact-us-about-subscriptions" data-drupal-link-system-path="node/11046">Subscription Support</a></li><li ><a href="/blog" data-drupal-link-system-path="blog">Blog</a></li><li ><a href="/contact-us" data-drupal-link-system-path="node/12581">CONTACT US</a></li></ul></li><li class="mb-3 mr-3 menu__item is-expanded expanded footer-menu-column-1"><span class="menu__link nolink">BROWSE GAMES</span><ul class="footer-menu"><li ><a href="/1-strategy-games" title="Strategy Games" data-drupal-link-system-path="taxonomy/term/6">Strategy Games</a></li><li ><a href="/1-skill-games" title="Skill Games" data-drupal-link-system-path="taxonomy/term/46">Skill Games</a></li><li ><a href="/1-number-games" title="Number Games" data-drupal-link-system-path="taxonomy/term/151">Number Games</a></li><li ><a href="/1-logic-games" title="Logic Games" data-drupal-link-system-path="taxonomy/term/91">Logic Games</a></li><li ><a href="/1-memory-games" title="Memory Games" data-drupal-link-system-path="taxonomy/term/181">Memory Games</a></li><li ><a href="/1-classic-games" title="Classic Games" data-drupal-link-system-path="taxonomy/term/211">Classic Games</a></li><li ><a href="/0-jigsaw-puzzles" title="Jigsaw Puzzles" data-drupal-link-system-path="0-jigsaw-puzzles">Jigsaw Puzzles</a></li><li ><a href="/1-science-games" title="Science Games" data-drupal-link-system-path="taxonomy/term/626">Science Games</a></li><li ><a href="/1-geography-games" title="Geography Games" data-drupal-link-system-path="taxonomy/term/206">Geography Games</a></li></ul></li><li class="mb-3 mr-3 menu__item is-expanded expanded footer-menu-column-2"><span class="menu__link nolink">COOLMATH.COM</span><ul class="footer-menu"><li ><a href="https://www.coolmath.com/prealgebra" title="Pre-Algebra Lessons">Pre-Algebra Lessons</a></li><li ><a href="https://www.coolmath.com/algebra" title="Algebra Lessons">Algebra Lessons</a></li><li ><a href="https://www.coolmath.com/precalculus-review-calculus-intro" title="Pre-Calculus Lessons">Pre-Calculus Lessons</a></li><li ><a href="https://coolmath.com/reference/online-math-dictionary" title="Math Dictionary">Math Dictionary</a></li><li ><a href="https://www.coolmath.com/algebra/08-lines" title="Lines">Lines</a></li><li ><a href="https://www.coolmath.com/prealgebra/00-factors-primes" title="Factors and Primes">Factors and Primes</a></li><li ><a href="https://www.coolmath.com/prealgebra/02-decimals" title="Decimals">Decimals</a></li><li ><a href="https://www.coolmath.com/prealgebra/06-properties" title="Properties">Properties</a></li></ul></li><li class="mb-3 mr-3 menu__item is-expanded expanded footer-menu-column-3"><span class="menu__link nolink">MORE FROM COOLMATH</span><ul class="footer-menu"><li ><a href="https://www.coolmath4kids.com" title="Coolmath4Kids">Coolmath4Kids</a></li><li ><a href="https://www.coolmath4kids.com/manipulatives/ten-frame" title="Ten Frame Manipulative">Ten Frame Manipulative</a></li><li ><a href="https://www.coolmath4kids.com/manipulatives/base-ten-blocks" title="Base Ten Blocks Manipulative">Base Ten Blocks Manipulative</a></li><li ><a href="https://www.coolmath4kids.com/manipulatives/number-line" title="Number Line Manipulative">Number Line Manipulative</a></li><li ><a href="https://www.coolmath4kids.com/manipulatives/pattern-blocks" title="Pattern Blocks Manipulative">Pattern Blocks Manipulative</a></li><li ><a href="https://www.coolmath4kids.com/quizzes" title="Math Quizzes">Math Quizzes</a></li><li ><a href="http://www.coolmath4teachers.com" title="Coolmath4Teachers">Coolmath4Teachers</a></li><li ><a href="http://www.coolmath4parents.com" title="Coolmath4Parents">Coolmath4Parents</a></li></ul></li><li class="mb-3 mr-3 menu__item is-expanded expanded footer-menu-column-4"><span class="menu__link nolink">Follow us</span><ul class="footer-menu"><li ><a href="https://vm.tiktok.com/ZMejTPTeL/">TikTok</a></li><li ><a href="https://twitter.com/TheRealCoolmath">Twitter</a></li><li ><a href="https://www.instagram.com/coolmathgames/">Instagram</a></li><li ><a href="https://www.facebook.com/CoolMathGamesLLC">Facebook</a></li><li ><a href="https://www.youtube.com/c/CoolmathGames1997">YouTube</a></li></ul></li></ul></div></div></div>
- <div id="block-languagedropdownswitcher" class="settings-tray-editable block block-lang-dropdown block-language-dropdown-blocklanguage-interface" data-drupal-settingstray="editable">
- <h2 class="common-title">
- <span class="title-with-button">Select a Language</span>
- </h2>
- <div class="view-content">
- <form class="lang-dropdown-form lang_dropdown_form clearfix language_interface form-placeholder-include-children" id="lang_dropdown_form_lang-dropdown-form" data-drupal-selector="lang-dropdown-form" data-msg-required="This field is required." action="/0-run-3" method="post" accept-charset="UTF-8">
- <div class="form-basic"><div class="js-form-item form-item js-form-type-select form-type-select js-form-item-lang-dropdown-select form-item-lang-dropdown-select form-no-label"><div class="form-group"><label for="edit-lang-dropdown-select" class="label--left visually-hidden">Select your language </label><select style="width:165px" class="lang-dropdown-select-element form-select form-control" data-lang-dropdown-id="lang-dropdown-form" data-drupal-selector="edit-lang-dropdown-select" data-msg-required="Select your language is required." id="edit-lang-dropdown-select" name="lang_dropdown_select"><option value="en" selected="selected">English</option><option value="es">Español</option></select></div></div></div>
- <input data-drupal-selector="edit-en" data-msg-required="This field is required." type="hidden" name="en" value="/0-run-3" class="form-control" />
- <input data-drupal-selector="edit-es" data-msg-required="This field is required." type="hidden" name="es" value="/es/0-run-3" class="form-control" />
- <noscript><div>
- <input data-drupal-selector="edit-submit" data-msg-required="This field is required." type="submit" id="edit-submit" name="op" value="Go" class="button js-form-submit form-submit btn btn-primary" />
- </div></noscript>
- <input autocomplete="off" data-drupal-selector="form-kydj7jjzgbs4h-xjuqh9iefjfjextoeha-xwwewniyq" data-msg-required="This field is required." type="hidden" name="form_build_id" value="form-KyDj7JjzGbS4h_xjUqH9iefJFjEXtoEhA-XwWEwniyQ" class="form-control" />
- <input data-drupal-selector="edit-lang-dropdown-form" data-msg-required="This field is required." type="hidden" name="form_id" value="lang_dropdown_form" class="form-control" />
- </form>
- </div>
- </div></li><li><div class="copyright-wrapper text-left"><p>© 2021 Coolmath.com LLC. All Rights Reserved. </p></div></li></ol></div></div></div></div></footer></div></div><div id="yourCookieChoices" style="display:none;"><div class="container"><div class="row"><div class="cookie-text col-xs-12 col-lg-9 col-xl-7 offset-xl-2"><span class="first-cookie">We use cookies to enhance your experience, improve our content and services, and present you with relevant advertising.
- </span></div><div class="cookie-mobile col-xs-12 col-lg-3 col-xl-3"><span class="imokwiththat-close" id="closeCookieChoices" onclick="closeCookieChoices();">imokwiththat</span><a href="/cookie-choices" class="cookies-link">Manage choices</a></div></div></div></div><link rel="stylesheet" media="all" href="/sites/default/files/css/css_rrlke9AW_Ex1NGc6qRn0a8OomlTHeM5Ylpb4Cqcupyo.css" />
- <link rel="stylesheet" media="all" href="/sites/default/files/css/css_W53--o0bR1CXaIe6ow4eu3Nmj1aWgEngw0gK7eWxfbM.css" />
- <link rel="stylesheet" media="print" href="/sites/default/files/css/css_32uozVItXm4g-AiwMq6iaUuaCmC6e6chrSBbOXN-0is.css" />
- <link rel="stylesheet" media="all" href="/themes/custom/coolmath/assets/themes/css/_coolmath_default.css?qz8wfi" id="styleswitcher-css" />
- <script src="/sites/default/files/js/js_fmGaaThKOwQtrequP3VIMR3tH_doScSJQ14bgf_TlQ4.js" type="deferjs"></script>
- <script type="deferjs">
- // This will delay in js load
- Defer.js('https://js.stripe.com/v3/', 'stripejs', 5000);
- </script><script type="deferjs">
- if (jQuery('body').hasClass('node-type-game')) {
- // Add Class on "Daily Games - Custom Block" in Daily game details.
- $('body').find('.block-dailygames').addClass('dailygames');
- var offset = 420;
- var offsetMillis = offset * 60 * 1000;
- var today = new Date();
- var millis = today.getTime();
- var timeZoneOffset = (today.getTimezoneOffset() * 60 * 1000);
- var pst = millis - offsetMillis;
- var currentDate = new Date(pst);
- if(drupalSettings.language == 'en'){
- var dayarray = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
- var montharray = ['Jan.', 'Feb.', 'Mar.', 'Apr.', 'May.', 'Jun.', 'Jul.', 'Aug.', 'Sep.', 'Oct.', 'Nov.', 'Dec.'];
- } else{
- var dayarray = ['Domingo', 'Lunes', 'martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado'];
- var montharray = ['Ene.', 'Feb.', 'Mar.', 'Abr.', 'Mayo.', 'Jun.', 'Jul.', 'Ago.', 'Sep.', 'Oct.', 'Nov.', 'Dic.'];
- }
- // var dayarray = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
- // var montharray = ['Jan.', 'Feb.', 'Mar.', 'Apr.', 'May.', 'Jun.', 'Jul.', 'Aug.', 'Sep.', 'Oct.', 'Nov.', 'Dec.'];
- var displaydate = dayarray[currentDate.getDay()] + ", " + montharray[currentDate.getMonth()] + " " + ordinal_suffix_of(currentDate.getDate());
- // jQuery('.node-type-game .inside .dailygames .common-title').html("<div class='daily-games-text'><img src='/themes/custom/coolmath/assets/images/bird.png' alt='daily games' class='daily-games-header' /></div><span class='dailygamesdate'>" + displaydate + "</span>");
- var getGamePageTitle = jQuery('.node-type-game .inside .dailygames .common-title').text();
- jQuery('.node-type-game .inside .dailygames .common-title').html("<div class='daily-games-text'><h1 class='mGamePageTitle'>"+getGamePageTitle+"</h1><img src='/themes/custom/coolmath/assets/images/bird.png' alt='daily games' class='daily-games-header' /></div><span class='dailygamesdate'>" + displaydate + "</span>");
- }
- </script><script type="deferjs">
- // This will lazy-load pushwoosh js
- Defer.js('//cdn.pushwoosh.com/webpush/v3/pushwoosh-web-notifications.js', 'pushwoosh', 5000);
- </script><script type="deferjs">
- Defer(function() {
- // var displayPushWooshNotification = true;
- if (typeof displayPushWooshNotification !== 'undefined') {
- debugOut('present');
- if (location.hostname == "d8-stage.coolmathgames.com" || location.hostname == "d8.coolmathgames.local") {
- applicationCode = "0A16D-69CC2";
- debugOut('stage');
- } else { // live
- applicationCode = "BDAD7-8E616";
- }
- var Pushwoosh = Pushwoosh || [];
- Pushwoosh.push([
- 'init', {
- logLevel: 'info',
- applicationCode: applicationCode,
- defaultNotificationTitle: 'Pushwoosh',
- defaultNotificationImage: 'https://www.coolmathgames.com/themes/custom/coolmath/logo.png',
- autoSubscribe: true, // or true. If true, prompts a user to subscribe for pushes upon SDK initialization
- subscribeWidget: {
- enabled: true
- }
- }
- ]);
- }
- },5000);
- </script><!--pwa codes start here--><div class="add-button-wrap" style="opacity: 0;visibility: hidden"><img src="/pwa/images/icon-72x72.png" width="46" height="46" alt="coolmath logo"/><button class="add-button">+ Add to home screen</button><span class="close-button">X</span></div><script>
- var winLocation = window.location;
- var startUrl = winLocation.href;
- var hostName = winLocation.origin;
- //var dymAppName = winLocation.pathname.slice(1).replace(/^[-\d\s]*/,"").replaceAll('-', ' ').replaceAll('-', ' ').replace(/\b\w/g, l => l.toUpperCase());;
- var dymAppName = "Coolmath Games";
- var iOSAppName = "Coolmath";
- if($('.node-type-game').length){
- dymAppName = $('.cmatgame-title').text();
- iOSAppName = dymAppName;
- }
- var myDynamicManifest = {
- "name": dymAppName,
- "short_name": dymAppName,
- "start_url": startUrl+"?utm_source=PWA&utm_medium=homescreen",
- "display": "standalone",
- "background_color":"#16202c",
- "theme_color": "#2A445D",
- "orientation": "portrait-primary",
- "description": "Free Online Math Games, Cool Puzzles, and More",
- "icons" :[
- {
- "src":hostName+"/pwa/images/icon-72x72.png",
- "sizes":"72x72",
- "type":"image/png",
- "purpose": "any"
- },
- {
- "src":hostName+"/pwa/images/icon-96x96.png",
- "sizes":"96x96",
- "type":"image/png",
- "purpose": "any"
- },
- {
- "src":hostName+"/pwa/images/icon-128x128.png",
- "sizes":"128x128",
- "type":"image/png",
- "purpose": "any"
- },
- {
- "src":hostName+"/pwa/images/icon-144x144.png",
- "sizes":"144x144",
- "type":"image/png",
- "purpose": "any"
- },
- {
- "src":hostName+"/pwa/images/icon-152x152.png",
- "sizes":"152x152",
- "type":"image/png",
- "purpose": "any"
- },
- {
- "src":hostName+"/pwa/images/icon-192x192.png",
- "sizes":"192x192",
- "type":"image/png",
- "purpose": "any"
- },
- {
- "src":hostName+"/pwa/images/icon-384x384.png",
- "sizes":"384x384",
- "type":"image/png",
- "purpose": "any"
- },
- {
- "src":hostName+"/pwa/images/icon-512x512.png",
- "sizes":"512x512",
- "type":"image/png",
- "purpose": "any"
- }
- ]
- }
- //for manifest link
- const link = document.createElement("link");
- link.rel = "manifest";
- const stringManifest = JSON.stringify(myDynamicManifest);
- link.setAttribute('href', 'data:application/json;charset=utf-8,' + encodeURIComponent(stringManifest))
- document.head.appendChild(link);
- //for app name meta:iOS support
- const appName = document.createElement("meta");
- appName.name = "application-name";
- appName.content = iOSAppName;
- document.head.appendChild(appName);
- //for app Title meta:iOS support
- const appTitle = document.createElement("meta");
- appTitle.name = "apple-mobile-web-app-title";
- appTitle.content = iOSAppName;
- document.head.appendChild(appTitle);
- if("serviceWorker" in navigator){
- navigator.serviceWorker.register('sw.js')
- .then((reg) => console.log("Service worker registered",reg))
- .catch((err) => console.log("Service Workeer not registered",err))
- }
- let deferredPrompt;
- const addBtnWrap = document.querySelector('.add-button-wrap');
- const addBtn = document.querySelector('.add-button');
- const closeBtn = document.querySelector('.close-button');
- const body = document.querySelector('body');
- const checkA2hs = sessionStorage.getItem('a2hsBtn');
- closeBtn.addEventListener('click', function(){
- sessionStorage.setItem("a2hsBtn", closed);
- body.classList.remove('a2hs-show');
- })
- window.addEventListener('beforeinstallprompt', (e) => {
- e.preventDefault();
- deferredPrompt = e;
- if(checkA2hs!=='false'){
- body.classList.add('a2hs-show');
- }
- addBtn.addEventListener('click', (e) => {
- body.classList.remove('a2hs-show');
- deferredPrompt.prompt();
- deferredPrompt.userChoice.then((choiceResult) => {
- if (choiceResult.outcome === 'accepted') {
- console.log('User accepted the A2HS prompt');
- } else {
- console.log('User dismissed the A2HS prompt');
- }
- deferredPrompt = null;
- });
- });
- });
- </script><style>
- .add-button-wrap{width: 100%; height: 45px; padding-left: 15px; transition:all 0.4s; position: fixed; left: 0;bottom:0; color:#fff;z-index: 999;background: #2a455d}
- .a2hs-show .add-button-wrap{opacity: 1 !important; visibility: visible !important;}
- .add-button-wrap img, .add-button{ display: inline-block; vertical-align: middle;}
- .add-button{-webkit-appearance: button; margin-left:10px; border: 0;color:#fff; background:none;text-transform: uppercase;}
- .close-button{position: absolute; right: 20px; top: 12px; cursor: pointer;}
- .dtp-device .add-button-wrap{display: none !important}
- </style><!--pwa codes end here--></body><!--fixes for defer issues on drupal core js--><script type="deferjs">Drupal.attachBehaviors();</script></html>