(function(){var a="undefined"!==typeof window&&"undefined"!==typeof window.document?window.document:{},f="undefined"!==typeof module&&module.exports,e=function(){for(var e,d=["requestFullscreen exitFullscreen fullscreenElement fullscreenEnabled fullscreenchange fullscreenerror".split(" "),"webkitRequestFullscreen webkitExitFullscreen webkitFullscreenElement webkitFullscreenEnabled webkitfullscreenchange webkitfullscreenerror".split(" "),"webkitRequestFullScreen webkitCancelFullScreen webkitCurrentFullScreenElement webkitCancelFullScreen webkitfullscreenchange webkitfullscreenerror".split(" "), "mozRequestFullScreen mozCancelFullScreen mozFullScreenElement mozFullScreenEnabled mozfullscreenchange mozfullscreenerror".split(" "),"msRequestFullscreen msExitFullscreen msFullscreenElement msFullscreenEnabled MSFullscreenChange MSFullscreenError".split(" ")],c=0,g=d.length,b={};cp?1:532>p?2:532.05>p?3:533>p?4:534.03>p?5:534.07>p?6:534.1>p?7:534.13>p?8:534.16>p?9:534.24>p?10:534.3>p?11:535.01>p?12:535.02>p?"13+":535.07>p?15:535.11>p?16:535.19>p?17:536.05>p?18:536.1>p?19:537.01>p?20:537.11>p?"21+":537.13>p?23:537.18>p?24:537.24>p?25:537.36>p?26:"Blink"!= B?"27":"28")):(B&&(B[1]="like Safari"),p=(p=p[0],400>p?1:500>p?2:526>p?3:533>p?4:534>p?"4+":535>p?5:537>p?6:538>p?7:601>p?8:"8"));B&&(B[1]+=" "+(p+="number"==typeof p?".x":/[.+]/.test(p)?"":"+"));"Safari"==u&&(!r||45C.indexOf(H)&&n.push("on "+H);C&&n.push((/^on /.test(n[n.length- 1])?"":"on ")+C);if(w){var T=(p=/ ([\d.+]+)$/.exec(w))&&"/"==w.charAt(w.length-p[0].length-1);w={architecture:32,family:p&&!T?w.replace(p[0],""):w,version:p?p[1]:null,toString:function(){var b=this.version;return this.family+(b&&!T?" "+b:"")+(64==this.architecture?" 64-bit":"")}}}(p=/\b(?:AMD|IA|Win|WOW|x86_|x)64\b/i.exec(O))&&!/\bi686\b/i.test(O)?(w&&(w.architecture=64,w.family=w.family.replace(RegExp(" *"+p),"")),u&&(/\bWOW64\b/i.test(b)||K&&/\w(?:86|32)$/.test(t.cpuClass||t.platform)&&!/\bWin64; x64\b/i.test(b))&& n.unshift("32-bit")):w&&/^OS X/.test(w.family)&&"Chrome"==u&&39<=parseFloat(r)&&(w.architecture=64);b||(b=null);f={};f.description=b;f.layout=B&&B[0];f.manufacturer=H;f.name=u;f.prerelease=P;f.product=C;f.ua=b;f.version=u&&r;f.os=w||{architecture:null,family:null,version:null,toString:function(){return"null"}};f.parse=m;f.toString=function(){return this.description||""};f.version&&n.unshift(r);f.name&&n.unshift(u);w&&u&&(w!=String(w).split(" ")[0]||w!=u.split(" ")[0]&&!C)&&n.push(C?"("+w+")":"on "+ w);n.length&&(f.description=n.join(" "));return f}var b={"function":!0,object:!0},q=b[typeof window]&&window||this,h=b[typeof exports]&&exports;b=b[typeof module]&&module&&!module.nodeType&&module;var n=h&&b&&"object"==typeof global&&global;!n||n.global!==n&&n.window!==n&&n.self!==n||(q=n);var t=Math.pow(2,53)-1,x=/\bOpera/;n=Object.prototype;var r=n.hasOwnProperty,v=n.toString,y=m();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(q.platform=y,define(function(){return y})):h&& b?c(y,function(b,a){h[a]=b}):q.platform=y}).call(this); function buildIOSMeta(){for(var a=[{name:"viewport",content:"width=device-width, height=device-height, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no"},{name:"apple-mobile-web-app-capable",content:"yes"},{name:"apple-mobile-web-app-status-bar-style",content:"black"}],f=0;f
')} function showIOSFullscreenPanel(){jQuery(".xxx-ios-fullscreen-message").css("display","block");jQuery(".xxx-ios-fullscreen-scroll").css("display","block")} function __iosResize(){window.scrollTo(0,0);if("iPhone"===platform.product)switch(window.devicePixelRatio){case 2:switch(window.innerWidth){case 568:320!==window.innerHeight&&jQuery(".xxx-game-iframe-full").addClass("xxx-game-iframe-iphone-se");break;case 667:375===window.innerHeight?hideIOSFullscreenPanel():showIOSFullscreenPanel();break;default:hideIOSFullscreenPanel()}break;case 3:switch(window.innerWidth){case 736:414===window.innerHeight?hideIOSFullscreenPanel():showIOSFullscreenPanel();break; case 724:375===window.innerHeight?hideIOSFullscreenPanel():showIOSFullscreenPanel();break;default:hideIOSFullscreenPanel()}break;default:hideIOSFullscreenPanel()}}function iosResize(){__iosResize();setTimeout(function(){__iosResize()},500)}$(document).ready(function(){platform&&"iPhone"===platform.product&&(buildIOSFullscreenPanel(),buildIOSMeta())});jQuery(window).resize(function(){platform&&"iPhone"===platform.product&&iosResize()});var s_iScaleFactor=1,s_iOffsetX,s_iOffsetY,s_bIsIphone=!1; (function(a){(jQuery.browser=jQuery.browser||{}).mobile=/android|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(ad|hone|od)|iris|kindle|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|symbian|tablet|treo|up\.(browser|link)|vodafone|wap|webos|windows (ce|phone)|xda|xiino/i.test(a)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|e\-|e\/|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(di|rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|xda(\-|2|g)|yas\-|your|zeto|zte\-/i.test(a.substr(0, 4))})(navigator.userAgent||navigator.vendor||window.opera);$(window).resize(function(){sizeHandler()});function trace(a){console.log(a)} function getSize(a){var f=a.toLowerCase(),e=window.document,c=e.documentElement;if(void 0===window["inner"+a])a=c["client"+a];else if(window["inner"+a]!=c["client"+a]){var g=e.createElement("body");g.id="vpw-test-b";g.style.cssText="overflow:scroll";var k=e.createElement("div");k.id="vpw-test-d";k.style.cssText="position:absolute;top:-1000px";k.innerHTML="";g.appendChild(k);c.insertBefore(g,e.head); a=7==k["offset"+a]?c["client"+a]:window["inner"+a];c.removeChild(g)}else a=window["inner"+a];return a}window.addEventListener("orientationchange",onOrientationChange);function onOrientationChange(){window.matchMedia("(orientation: portrait)").matches&&sizeHandler();window.matchMedia("(orientation: landscape)").matches&&sizeHandler()}function isChrome(){return/Chrome/.test(navigator.userAgent)&&/Google Inc/.test(navigator.vendor)}function isMobile(){return isIpad()?!0:jQuery.browser.mobile} function isIpad(){var a=-1!==navigator.userAgent.toLowerCase().indexOf("ipad");return!a&&navigator.userAgent.match(/Mac/)&&navigator.maxTouchPoints&&2g||(g=(a-e)/2);$("#canvas").css("top",g+"px");$("#canvas").css("left",k+"px");if(DEBUG_BOX2D){if(s_bMobile||isChrome())$("#debug").css("width", c+"px"),$("#debug").css("height",e+"px");0>g?$("#debug").css("top",g+"px"):(g=(a-e)/2,$("#canvas").css("top",g+"px"));$("#debug").css("left",k+"px")}fullscreenHandler()}} function _checkOrientation(a,f){s_bMobile&&ENABLE_CHECK_ORIENTATION&&(a>f?"landscape"===$(".orientation-msg-container").attr("data-orientation")?($(".orientation-msg-container").css("display","none"),s_oMain.startUpdate()):($(".orientation-msg-container").css("display","block"),s_oMain.stopUpdate()):"portrait"===$(".orientation-msg-container").attr("data-orientation")?($(".orientation-msg-container").css("display","none"),s_oMain.startUpdate()):($(".orientation-msg-container").css("display","block"), s_oMain.stopUpdate()))}function playSound(a,f,e){return!1===DISABLE_SOUND_MOBILE||!1===s_bMobile?(s_aSounds[a].play(),s_aSounds[a].volume(f),s_aSounds[a].loop(e),s_aSounds[a]):null}function stopSound(a){!1!==DISABLE_SOUND_MOBILE&&!1!==s_bMobile||s_aSounds[a].stop()}function setVolume(a,f){!1!==DISABLE_SOUND_MOBILE&&!1!==s_bMobile||s_aSounds[a].volume(f)}function setMute(a,f){!1!==DISABLE_SOUND_MOBILE&&!1!==s_bMobile||s_aSounds[a].mute(f)} function fadeSound(a,f,e,c){!1!==DISABLE_SOUND_MOBILE&&!1!==s_bMobile||s_aSounds[a].fade(f,e,c)}function soundPlaying(a){if(!1===DISABLE_SOUND_MOBILE||!1===s_bMobile)return s_aSounds[a].playing()}function createBitmap(a,f,e){var c=new createjs.Bitmap(a),g=new createjs.Shape;f&&e?g.graphics.beginFill("#fff").drawRect(0,0,f,e):g.graphics.beginFill("#ff0").drawRect(0,0,a.width,a.height);c.hitArea=g;return c} function createSprite(a,f,e,c,g,k){a=null!==f?new createjs.Sprite(a,f):new createjs.Sprite(a);f=new createjs.Shape;f.graphics.beginFill("#000000").drawRect(-e,-c,g,k);a.hitArea=f;return a}function pad(a,f,e){a+="";return a.length>=f?a:Array(f-a.length+1).join(e||"0")+a}function linearFunction(a,f,e,c,g){return(a-f)*(g-c)/(e-f)+c}function randomFloatBetween(a,f,e){"undefined"===typeof e&&(e=2);return parseFloat(Math.min(a+Math.random()*(f-a),f).toFixed(e))} function rotateVector2D(a,f){var e=f.getX()*Math.cos(a)+f.getY()*Math.sin(a),c=f.getX()*-Math.sin(a)+f.getY()*Math.cos(a);f.set(e,c)}function tweenVectorsOnX(a,f,e){return a+e*(f-a)}function shuffle(a){for(var f=a.length,e,c;0!==f;)c=Math.floor(Math.random()*f),--f,e=a[f],a[f]=a[c],a[c]=e;return a}function bubbleSort(a){do{var f=!1;for(var e=0;ea[e+1]&&(f=a[e],a[e]=a[e+1],a[e+1]=f,f=!0)}while(f)}function compare(a,f){return a.index>f.index?-1:a.indexf?e+("0"+f+":"):e+(f+":");return 10>a?e+("0"+a):e+a}function degreesToRadians(a){return a*Math.PI/180}function checkRectCollision(a,f){var e=getBounds(a,.9);var c=getBounds(f,.98);return calculateIntersection(e,c)} function calculateIntersection(a,f){var e,c,g,k;var d=a.x+(e=a.width/2);var l=a.y+(c=a.height/2);var m=f.x+(g=f.width/2);var b=f.y+(k=f.height/2);d=Math.abs(d-m)-(e+g);l=Math.abs(l-b)-(c+k);return 0>d&&0>l?(d=Math.min(Math.min(a.width,f.width),-d),l=Math.min(Math.min(a.height,f.height),-l),{x:Math.max(a.x,f.x),y:Math.max(a.y,f.y),width:d,height:l,rect1:a,rect2:f}):null} function getBounds(a,f){var e={x:Infinity,y:Infinity,width:0,height:0};if(a instanceof createjs.Container){e.x2=-Infinity;e.y2=-Infinity;var c=a.children,g=c.length,k;for(k=0;ke.x2&&(e.x2=d.x+d.width);d.y+d.height>e.y2&&(e.y2=d.y+d.height)}Infinity==e.x&&(e.x=0);Infinity==e.y&&(e.y=0);Infinity==e.x2&&(e.x2=0);Infinity==e.y2&&(e.y2=0);e.width=e.x2-e.x;e.height=e.y2-e.y;delete e.x2;delete e.y2}else{if(a instanceof createjs.Bitmap){g= a.sourceRect||a.image;k=g.width*f;var l=g.height*f}else if(a instanceof createjs.Sprite)if(a.spriteSheet._frames&&a.spriteSheet._frames[a.currentFrame]&&a.spriteSheet._frames[a.currentFrame].image){g=a.spriteSheet.getFrame(a.currentFrame);k=g.rect.width;l=g.rect.height;c=g.regX;var m=g.regY}else e.x=a.x||0,e.y=a.y||0;else e.x=a.x||0,e.y=a.y||0;c=c||0;k=k||0;m=m||0;l=l||0;e.regX=c;e.regY=m;g=a.localToGlobal(0-c,0-m);d=a.localToGlobal(k-c,l-m);k=a.localToGlobal(k-c,0-m);c=a.localToGlobal(0-c,l-m);e.x= Math.min(Math.min(Math.min(g.x,d.x),k.x),c.x);e.y=Math.min(Math.min(Math.min(g.y,d.y),k.y),c.y);e.width=Math.max(Math.max(Math.max(g.x,d.x),k.x),c.x)-e.x;e.height=Math.max(Math.max(Math.max(g.y,d.y),k.y),c.y)-e.y}return e}function NoClickDelay(a){this.element=a;window.Touch&&this.element.addEventListener("touchstart",this,!1)}function shuffle(a){for(var f=a.length,e,c;0a;a++)s_oSpriteLibrary.addSprite("button_light_"+a,"./sprites/pinball_elements/button_light_"+ a+".png");s_oSpriteLibrary.addSprite("curve_light_button","./sprites/pinball_elements/curve_light_button.png");s_oSpriteLibrary.addSprite("light_indicator_0","./sprites/pinball_elements/light_indicator_0.png");s_oSpriteLibrary.addSprite("light_indicator_1","./sprites/pinball_elements/light_indicator_1.png");s_oSpriteLibrary.addSprite("light_indicator_2","./sprites/pinball_elements/light_indicator_2.png");for(a=0;7>a;a++)s_oSpriteLibrary.addSprite("router_light_"+a,"./sprites/pinball_elements/router_light_"+ a+".png");s_oSpriteLibrary.addSprite("curve_tunnel","./sprites/pinball_elements/curve_tunnel.png");s_oSpriteLibrary.addSprite("eye","./sprites/pinball_elements/eye.png");s_oSpriteLibrary.addSprite("arrow_light_0","./sprites/pinball_elements/arrow_light_0.png");s_oSpriteLibrary.addSprite("arrow_light_1","./sprites/pinball_elements/arrow_light_1.png");for(a=0;7>a;a++)s_oSpriteLibrary.addSprite("letter_"+a,"./sprites/pinball_elements/letter_"+a+".png");s_oSpriteLibrary.addSprite("logo","./sprites/pinball_elements/logo.png"); s_oSpriteLibrary.addSprite("jackpot","./sprites/pinball_elements/jackpot.png");s_oSpriteLibrary.addSprite("tunnel_start","./sprites/pinball_elements/tunnel_start.png");s_oSpriteLibrary.addSprite("arrow_start","./sprites/pinball_elements/arrow_start.png");s_oSpriteLibrary.addSprite("start_platform","./sprites/pinball_elements/start_platform.png");s_oSpriteLibrary.addSprite("spring","./sprites/pinball_elements/spring.png");s_oSpriteLibrary.addSprite("flipper_bumper","./sprites/pinball_elements/flipper_bumper.png"); s_oSpriteLibrary.addSprite("hole","./sprites/pinball_elements/hole.png");s_oSpriteLibrary.addSprite("shield","./sprites/pinball_elements/shield.png");s_oSpriteLibrary.addSprite("jumper","./sprites/pinball_elements/jumper.png");s_oSpriteLibrary.addSprite("safe_pin","./sprites/pinball_elements/safe_pin.png");s_oSpriteLibrary.addSprite("gate","./sprites/pinball_elements/gate.png");s_oSpriteLibrary.addSprite("ball","./sprites/pinball_elements/ball.png");s_oSpriteLibrary.addSprite("flipper","./sprites/pinball_elements/flipper.png"); c+=s_oSpriteLibrary.getNumSprites();s_oSpriteLibrary.loadSprites()};this._onImagesLoaded=function(){e++;k.refreshLoader(Math.floor(e/c*100))};this._onAllImagesLoaded=function(){};this._onRemovePreloader=function(){k.unload();s_oSoundtrack=playSound("soundtrack",1,!0);this.gotoMenu()};this.gotoMenu=function(){new CMenu;g=STATE_MENU};this.gotoGame=function(){d=new CGame(l);g=STATE_GAME};this.gotoHelp=function(){new CHelp;g=STATE_HELP};this.stopUpdate=function(){f=!1;createjs.Ticker.paused=!0;$("#block_game").css("display", "block");Howler.mute(!0)};this.startUpdate=function(){s_iPrevTime=(new Date).getTime();f=!0;createjs.Ticker.paused=!1;$("#block_game").css("display","none");s_bAudioActive&&Howler.mute(!1)};this._update=function(a){if(!1!==f){var b=(new Date).getTime();s_iTimeElaps=b-s_iPrevTime;s_iCntTime+=s_iTimeElaps;s_iCntFps++;s_iPrevTime=b;1E3<=s_iCntTime&&(s_iCurFps=s_iCntFps,s_iCntTime-=1E3,s_iCntFps=0);g===STATE_GAME&&d.update();s_oStage.update(a)}};s_oMain=this;var l=a;ENABLE_FULLSCREEN=a.fullscreen;ENABLE_CHECK_ORIENTATION= a.check_orientation;s_bAudioActive=a.audio_enable_on_startup;this.initContainer()}var s_bMobile,s_bAudioActive=!1,s_iCntTime=0,s_iTimeElaps=0,s_iPrevTime=0,s_iCntFps=0,s_iCurFps=0,s_bFullscreen=!1,s_aSounds=[],s_aSoundsInfo=[],s_oDrawLayer,s_oStage,s_oMain,s_oSpriteLibrary,s_oSoundtrack,s_oCanvas,s_oLocalStorage; function CTextButton(a,f,e,c,g,k,d,l){var m,b,q,h,n,t,x;this._init=function(a,c,d,e,f,k,g){m=[];b=[];q=[];var l=createBitmap(d);n=new createjs.Text(e,g+"px "+f,k);n.textAlign="center";n.textBaseline="middle";n.getBounds();n.x=d.width/2;n.y=Math.floor(d.height/2);h=new createjs.Container;h.x=a;h.y=c;h.regX=d.width/2;h.regY=d.height/2;h.addChild(l,n);r.addChild(h);s_bMobile||(h.cursor="pointer");this._initListener()};this.unload=function(){h.off("mousedown",t);h.off("pressup",x);r.removeChild(h)};this.setVisible= function(b){h.visible=b};this._initListener=function(){oParent=this;t=h.on("mousedown",this.buttonDown);x=h.on("pressup",this.buttonRelease)};this.addEventListener=function(a,c,d){b[a]=c;q[a]=d};this.buttonRelease=function(){h.scaleX=1;h.scaleY=1;playSound("click",1,!1);b[ON_MOUSE_UP]&&b[ON_MOUSE_UP].call(q[ON_MOUSE_UP],m[ON_MOUSE_UP])};this.buttonDown=function(){h.scaleX=.9;h.scaleY=.9;b[ON_MOUSE_DOWN]&&b[ON_MOUSE_DOWN].call(q[ON_MOUSE_DOWN],m[ON_MOUSE_DOWN])};this.addEventListenerWithParams=function(a, c,d,e){b[a]=c;q[a]=d;m[a]=e};this.setTextPosition=function(b){n.y=b};this.setPosition=function(b,a){h.x=b;h.y=a};this.setX=function(b){h.x=b};this.setY=function(b){h.y=b};this.getButtonImage=function(){return h};this.getX=function(){return h.x};this.getY=function(){return h.y};var r=l;this._init(a,f,e,c,g,k,d);return this} function CToggle(a,f,e,c,g){var k,d,l,m,b,q,h;this._init=function(a,c,d,e,f){b=[];q=[];var g=new createjs.SpriteSheet({images:[d],frames:{width:d.width/2,height:d.height,regX:d.width/2/2,regY:d.height/2},animations:{state_true:[0],state_false:[1]}});k=e;h=createSprite(g,"state_"+k,d.width/2/2,d.height/2,d.width/2,d.height);h.x=a;h.y=c;h.stop();f.addChild(h);this._initListener()};this.unload=function(){s_bMobile?h.off("mousedown",d):(h.off("mousedown",d),h.off("mouseover",m));h.off("pressup",l);g.removeChild(h)}; this._initListener=function(){s_bMobile?d=h.on("mousedown",this.buttonDown):(d=h.on("mousedown",this.buttonDown),m=h.on("mouseover",this.buttonOver));l=h.on("pressup",this.buttonRelease)};this.addEventListener=function(a,c,d){b[a]=c;q[a]=d};this.addText=function(){};this.setActive=function(b){k=b;h.gotoAndStop("state_"+k)};this.buttonRelease=function(){h.scaleX=1;h.scaleY=1;playSound("click",1,!1);k=!k;h.gotoAndStop("state_"+k);b[ON_MOUSE_UP]&&b[ON_MOUSE_UP].call(q[ON_MOUSE_UP],k)};this.buttonDown= function(){h.scaleX=.9;h.scaleY=.9;b[ON_MOUSE_DOWN]&&b[ON_MOUSE_DOWN].call(q[ON_MOUSE_DOWN])};this.buttonOver=function(b){s_bMobile||(b.target.cursor="pointer")};this.setPosition=function(b,a){h.x=b;h.y=a};this.getButtonImage=function(){return h};this._init(a,f,e,c,g)} function CGfxButton(a,f,e,c){var g,k,d,l,m,b,q,h=[],n;this._init=function(a,c,d,e){g=!1;k=1;b=[];q=[];n=createBitmap(d);n.x=a;n.y=c;n.scaleX=n.scaleY=k;n.regX=d.width/2;n.regY=d.height/2;e.addChild(n);this._initListener()};this.unload=function(){s_bMobile?n.off("mousedown",d):(n.off("mousedown",d),n.off("mouseover",m));n.off("pressup",l);c.removeChild(n)};this.setVisible=function(b){n.visible=b};this.setClickable=function(b){g=!b};this._initListener=function(){s_bMobile?d=n.on("mousedown",this.buttonDown): (d=n.on("mousedown",this.buttonDown),m=n.on("mouseover",this.buttonOver));l=n.on("pressup",this.buttonRelease)};this.addEventListener=function(a,c,d){b[a]=c;q[a]=d};this.addEventListenerWithParams=function(a,c,d,e){b[a]=c;q[a]=d;h=e};this.buttonRelease=function(){g||(n.scaleX=k,n.scaleY=k,b[ON_MOUSE_UP]&&b[ON_MOUSE_UP].call(q[ON_MOUSE_UP],h))};this.buttonDown=function(){g||(n.scaleX=.9*k,n.scaleY=.9*k,playSound("click",1,!1),b[ON_MOUSE_DOWN]&&b[ON_MOUSE_DOWN].call(q[ON_MOUSE_DOWN],h))};this.buttonOver= function(b){s_bMobile||g||(b.target.cursor="pointer")};this.pulseAnimation=function(){createjs.Tween.get(n).to({scaleX:1.1*k,scaleY:1.1*k},850,createjs.Ease.quadOut).to({scaleX:k,scaleY:k},650,createjs.Ease.quadIn).call(function(){t.pulseAnimation()})};this.trembleAnimation=function(){createjs.Tween.get(n).to({rotation:5},75,createjs.Ease.quadOut).to({rotation:-5},140,createjs.Ease.quadIn).to({rotation:0},75,createjs.Ease.quadIn).wait(750).call(function(){t.trebleAnimation()})};this.setPosition=function(b, a){n.x=b;n.y=a};this.setX=function(b){n.x=b};this.setY=function(b){n.y=b};this.getButtonImage=function(){return n};this.getX=function(){return n.x};this.getY=function(){return n.y};var t=this;this._init(a,f,e,c);return this} function CMenu(){var a,f,e,c,g,k,d,l,m,b,q,h,n,t,x=null,r=null;this._init=function(){d=createBitmap(s_oSpriteLibrary.getSprite("bg_menu"));s_oStage.addChild(d);var v=s_oSpriteLibrary.getSprite("but_play");l=new CGfxButton(CANVAS_WIDTH/2,CANVAS_HEIGHT-300,v,s_oStage);l.addEventListener(ON_MOUSE_UP,this._onButPlayRelease,this);v=s_oSpriteLibrary.getSprite("but_credits");g=v.width/2+10;k=v.height/2+10;q=new CGfxButton(g,k,v,s_oStage);q.addEventListener(ON_MOUSE_UP,this._onCreditsBut,this);if(!1===DISABLE_SOUND_MOBILE|| !1===s_bMobile)v=s_oSpriteLibrary.getSprite("audio_icon"),e=CANVAS_WIDTH-v.width/4-10,c=v.height/2+10,b=new CToggle(e,c,v,s_bAudioActive,s_oStage),b.addEventListener(ON_MOUSE_UP,this._onAudioToggle,this);var y=window.document;v=y.documentElement;x=v.requestFullscreen||v.mozRequestFullScreen||v.webkitRequestFullScreen||v.msRequestFullscreen;r=y.exitFullscreen||y.mozCancelFullScreen||y.webkitExitFullscreen||y.msExitFullscreen;!1===ENABLE_FULLSCREEN&&(x=!1);x&&screenfull.isEnabled&&(v=s_oSpriteLibrary.getSprite("but_fullscreen"), a=g+v.width/2+10,f=v.height/2+10,h=new CToggle(a,f,v,s_bFullscreen,s_oStage),h.addEventListener(ON_MOUSE_UP,this._onFullscreenRelease,this));v=s_oSpriteLibrary.getSprite("logo");n=new CLightIndicator(v,CANVAS_WIDTH_HALF,CANVAS_HEIGHT_HALF-100,s_oStage);t=[];for(y=0;7>y;y++)v=s_oSpriteLibrary.getSprite("letter_"+y),v=new CLightIndicator(v,LETTERS_POSITION[y].x+-170,LETTERS_POSITION[y].y+-600,s_oStage),t.push(v);this.animLogo();m=new createjs.Shape;m.graphics.beginFill("black").drawRect(0,0,CANVAS_WIDTH, CANVAS_HEIGHT);s_oStage.addChild(m);createjs.Tween.get(m).to({alpha:0},1E3).call(function(){m.visible=!1});this.refreshButtonPos(s_iOffsetX,s_iOffsetY);s_oLocalStorage.isUsed()||new CMsgBox(TEXT_IOS_PRIVATE)};this.unload=function(){l.unload();l=null;m.visible=!1;q.unload();n.unload();for(var a=0;aCANVAS_WIDTH_HALF?m&&(k=!0,n.shiftElementsToRight()):m&&(g=!0,n.shiftElementsToLeft()),playSound("flipper",1,!1),b.localY>SETTINGS_HEIGHT&&s_oTable.loadSpring())};this._onPressUp=function(b){if(c){r.visible= !1;if(!1===k&&!0===g||!0===k&&!1===g)g=k=!1;b.localX>CANVAS_WIDTH_HALF?k=!1:g=!1;s_oTable.releaseSpring()}};this.resetBallPos=function(){var b={x:BALL_STARTPOS.x/WORLD_SCALE,y:BALL_STARTPOS.y/WORLD_SCALE};setTimeout(function(){t.SetLinearVelocity({x:0,y:0});t.SetAngularVelocity(0);t.SetPosition(b)},500)};this.ballInGame=function(b){m=b};this.restartGame=function(){$(s_oMain).trigger("show_interlevel_ad");s_oScoreController.resetScore();s_oTable.reset();s_oTable.unblockLaunch();s_oTable.activeShield(); c=!0;b=NUM_BALL;q.resetBallRemaining()};this.unload=function(){c=!1;q.unload();null!==h&&h.unload();s_bMobile?v.removeAllEventListeners():(document.onkeydown=null,document.onkeyup=null);createjs.Tween.removeAllTweens();s_oStage.removeAllChildren();s_oPhysicsController.unload()};this.setFlippers=function(b,a){D=b;y=a};this.setNewLaunch=function(){s_oGame.resetBallPos();n.activeShield();0===b&&(c=!1,s_oTable.blockLaunch(),s_oGame.gameOver())};this.setExtraBall=function(){l=!0;q.activeExtraBallAnim(b- 1)};this.isExtraBall=function(){return l};this.launchBall=function(b){t.SetActive(!0);t.ApplyImpulse({x:-.001+.002*Math.random(),y:-b},t.GetPosition());M=LERP_FOLLOW_BALL};this.onBallLaunched=function(){l?(q.disableExtraBallAnim(),l=!1):b--};this.onBallOut=function(){l?(q.disableExtraBallAnim(),l=!1,s_oTable.resetOnExtraBall()):(b--,0s_iOffsetX&&(F.x=s_iOffsetX);b=-(ZOOM_TABLE_SIZE.h-CANVAS_HEIGHT+s_iOffsetY);F.ys_iOffsetY&&(F.y=s_iOffsetY);A.x=F.x;A.y=F.y};this.update=function(){c&& (g?y.SetMotorSpeed(FLIPPER_STRENGTH):y.SetMotorSpeed(-FLIPPER_STRENGTH),k?D.SetMotorSpeed(-FLIPPER_STRENGTH):D.SetMotorSpeed(FLIPPER_STRENGTH),this.updateCamera(),s_oPhysicsController.update(F),s_oTable.update(),x.x=t.GetPosition().x*WORLD_SCALE,x.y=t.GetPosition().y*WORLD_SCALE,E.rotation=D.GetBodyA().GetAngle()*TODEGREE_PROPORTION,I.rotation=y.GetBodyA().GetAngle()*TODEGREE_PROPORTION,t.GetPosition().y>BALL_OUT_SAFE_LIMIT&&(t.SetPosition({x:t.GetPosition().x,y:t.GetPosition().y-BALL_OUT_SAFE_LIMIT/ 2}),s_oGame.onBallOut()))};s_oGame=this;this._init()}var s_oGame; function CInterface(){var a,f,e,c,g,k,d,l,m,b,q,h,n,t,x,r,v,y,D,E=null,I=null;this._init=function(){var A,z=s_oSpriteLibrary.getSprite("but_exit");d=CANVAS_WIDTH-z.width/2-10;l=z.height/2+10;n=new CGfxButton(d,l,z,s_oStage);n.addEventListener(ON_MOUSE_UP,this._onExit,this);g=A=d-z.width-10;k=z.height/2+10;if(!1===DISABLE_SOUND_MOBILE||!1===s_bMobile)z=s_oSpriteLibrary.getSprite("audio_icon"),h=new CToggle(g,k,z,s_bAudioActive,s_oStage),h.addEventListener(ON_MOUSE_UP,this._onAudioToggle,this),A=g- z.width/2-10;z=window.document;var G=z.documentElement;E=G.requestFullscreen||G.mozRequestFullScreen||G.webkitRequestFullScreen||G.msRequestFullscreen;I=z.exitFullscreen||z.mozCancelFullScreen||z.webkitExitFullscreen||z.msExitFullscreen;!1===ENABLE_FULLSCREEN&&(E=!1);E&&screenfull.isEnabled&&(z=s_oSpriteLibrary.getSprite("but_fullscreen"),e=A-10,c=z.height/2+10,t=new CToggle(e,c,z,s_bFullscreen,s_oStage),t.addEventListener(ON_MOUSE_UP,this._onFullscreenRelease,this));z=s_oSpriteLibrary.getSprite("but_settings"); D=new CGUIExpandible(d,l,z,s_oStage);D.addButton(n);!1!==DISABLE_SOUND_MOBILE&&!1!==s_bMobile||D.addButton(h);E&&screenfull.isEnabled&&D.addButton(t);z=s_oSpriteLibrary.getSprite("score_panel");a=z.width/2+10;f=z.height/2+10;r=new createjs.Container;r.x=a;r.y=f;s_oStage.addChild(r);A=createBitmap(z);A.regX=z.width/2;A.regY=z.height/2;r.addChild(A);z=s_oSpriteLibrary.getSprite("star");A=createBitmap(z);A.x=-90;A.y=-16;A.regX=z.width/2;A.regY=z.height/2;A.scaleX=A.scaleY=.7;r.addChild(A);v=new createjs.Text(0, " 28px "+PRIMARY_FONT,PRIMARY_FONT_COLOUR);v.x=A.x+28;v.y=A.y;v.textAlign="left";v.textBaseline="middle";v.lineWidth=200;r.addChild(v);z=s_oSpriteLibrary.getSprite("ball");m=A.x;b=A.y+38;q=z.width/2+4;x=[];for(A=0;As_iTotalScore&&(s_iTotalScore= b,s_oLocalStorage.saveData());c.text=s_iTotalScore.toLocaleString();e.regX=e.getBounds().width/2;k.text=b.toLocaleString();g.regX=g.getBounds().width/2;createjs.Tween.get(d).to({y:CANVAS_HEIGHT/2},500,createjs.Ease.quartIn);$(s_oMain).trigger("save_score",b,"DON'T FORGET TO SET THE MODE");$(s_oMain).trigger("end_level",1);var a="You collected "+b+" points!

Share your score with your friends!",h="My score is "+b+" points! Can you do better?";$(s_oMain).trigger("share_event", b,"200x200.jpg","Congratulations!",a,h)};this._onRestart=function(){b.setClickable(!1);m.setClickable(!1);s_oGame.restartGame();createjs.Tween.get(l).to({alpha:0},500);createjs.Tween.get(d).to({y:f},400,createjs.Ease.backIn).call(function(){s_oStage.removeChild(l);s_oStage.removeChild(d)})};this._onExit=function(){$(s_oMain).trigger("show_interlevel_ad");s_oGame.onExit()};this._init(a);return this} function CPhysicsController(){var a=Box2D.Common.Math.b2Vec2,f=Box2D.Dynamics.b2World,e=Box2D.Dynamics.b2DebugDraw,c,g,k=this,d,l,m;this.init=function(){c=new a(0,GRAVITY);g=new f(c,!0);d=[];l=[];if(DEBUG_BOX2D){var b=document.createElement("canvas");b.id="debug";b.width=s_oCanvas.width;b.height=s_oCanvas.height;b.style.position="fixed";document.body.appendChild(b);$("#debug").css("pointer-events","none");m=document.getElementById("debug").getContext("2d");b=new e;b.SetSprite(m);b.SetDrawScale(WORLD_SCALE* ZOOM);b.SetFillAlpha(DEBUG_BOX2D_ALPHA);b.SetLineThickness(1);b.SetFlags(e.e_shapeBit);g.SetDebugDraw(b);sizeHandler()}this.createAContactListener()};this.createAContactListener=function(){var b=new Box2D.Dynamics.b2ContactListener;b.BeginContact=function(b){var a=b.GetFixtureA().GetUserData(),d=b.GetFixtureB().GetUserData();s_oPhysicsController.processContactEvent(CONTACT_BEGIN,a,b);s_oPhysicsController.processContactEvent(CONTACT_BEGIN,d,b)};b.EndContact=function(b){var a=b.GetFixtureA().GetUserData(), d=b.GetFixtureB().GetUserData();s_oPhysicsController.processContactEvent(CONTACT_END,a,b);s_oPhysicsController.processContactEvent(CONTACT_END,d,b)};g.SetContactListener(b)};this.destroyBodyVector=function(b){g.DestroyBody(b)};this.destroyAllBodies=function(){for(var b=g.GetBodyList();b;){var a=b;b=b.GetNext();g.DestroyBody(a)}};this.destroyAllJoints=function(){for(var b=g.GetJointList();b;){var a=b;b=b.GetNext();g.DestroyJoint(a)}};this.destroyAllContacts=function(){for(var b=g.GetContactList();b;){var a= b.GetNext();g.DestroyJoint(a)}};this.unload=function(){s_oPhysicsController.destroyAllJoints();s_oPhysicsController.destroyAllBodies();s_oPhysicsController.destroyAllContacts();DEBUG_BOX2D&&document.getElementById("debug").remove();g=s_oPhysicsController=null};this.processContactEvent=function(b,a,d){a&&a.contacttype===b&&a.callback(a.params,d)};this.startComputing=function(b){b.GetBody().SetActive(!0)};this.movePlayer=function(b,a,d){a={x:a/WORLD_SCALE,y:d/WORLD_SCALE};b.GetBody().SetPosition(a)}; this.applyImpulse=function(b){b.GetBody().ApplyImpulse({x:.8,y:1},b.GetBody().GetWorldCenter())};this.decreaseSpeedRotation=function(b){var a=.99*b.GetBody().GetAngularVelocity();b.GetBody().SetAngularVelocity(a)};this.getSpeedRotation=function(b){return b.GetBody().GetAngularVelocity()};this.moveObject=function(b,a,d){a={x:a/WORLD_SCALE,y:d/WORLD_SCALE};b.GetBody().SetPosition(a)};this.destroyBody=function(b){g.DestroyBody(b.GetBody())};this.getInstance=function(){null===k&&(k=new CPhysicsController); return k};this.update=function(b){g.Step(1/FPS,8,8);DEBUG_BOX2D&&(m.save(),m.clearRect(0,0,s_oCanvas.width,s_oCanvas.height),m.translate(b.x,b.y),g.DrawDebugData(),m.restore());g.ClearForces();this._deactiveAllBodyInList();this._activeAllBodyInList()};this.getWorld=function(){return g};this.getElementPosition=function(b){var a=b.GetBody().GetPosition();return{x:a.x*WORLD_SCALE,y:a.y*WORLD_SCALE,angle:180*b.GetBody().GetAngle()/Math.PI}};this.getElementAngle=function(b){return 180*b.GetBody().GetAngle()/ Math.PI};this.enableBody=function(b,a){l.push({body:b,pos:a})};this.disableBody=function(b,a){d.push({body:b,pos:a})};this._deactiveAllBodyInList=function(){for(var b=0;bd&&(d=0)};this.getCurRouterLevel=function(){return d};this.resetRouterLevel= function(){d=0};this.addMultiplierToggleScore=function(){s_oScoreController._addScore(MULTIPLIER_TOGGLE_SCORE*c)};this.addTotalMultiplierToggleScore=function(){s_oScoreController._addScore(10*MULTIPLIER_TOGGLE_SCORE*c)};this.increaseMultiplier=function(){c++;c>=MAX_MULTIPLIER&&(c=MAX_MULTIPLIER)};this.getCurMultiplier=function(){return c};this.addTotalHoleButtonScore=function(){s_oScoreController._addScore(10*SINGLE_BUTTON_SCORE*c)};this.addStandardHoleScore=function(){s_oScoreController._addScore(HOLE_STANDARD_SCORE* c)};this.addHoleScoreBonus=function(){s_oScoreController._addScore(HOLE_BONUS_SCORE[l]*c)};this.increaseHoleBonusLevel=function(){l++};this.decreaseHoleBonusLevel=function(){l--};this.resetHoleBonusLevel=function(){l=-1};this.getCurHoleBonusLevel=function(){return l};this.addSingleLettersScore=function(){s_oScoreController._addScore(SINGLE_LETTERS_LIT_SCORE*c)};this.addAllLettersScore=function(){s_oScoreController._addScore(ALL_LETTERS_LIT_SCORE*c)};this.addAllJumperButtonsScore=function(){s_oScoreController._addScore(ALL_JUMPER_BUTTONS_SCORE* c)};this.addJumperScore=function(){s_oScoreController._addScore(JUMPER_SCORE*c)};this.addJackpotScore=function(){s_oScoreController._addScore(g)};s_oScoreController=this;this._init()}var s_oScoreController; function CLightIndicator(a,f,e,c){var g,k,d,l;this._init=function(a,b,c,e){g=new createjs.Container;g.x=b;g.y=c;e.addChild(g);b=new createjs.SpriteSheet({images:[a],frames:{width:a.width/2,height:a.height,regX:a.width/2/2,regY:a.height/2},animations:{state_true:[0],state_false:[1]}});d=createSprite(b,"state_false",a.width/2/2,a.height/2,a.width/2,a.height);g.addChild(d);k=createSprite(b,"state_true",a.width/2/2,a.height/2,a.width/2,a.height);k.alpha=0;g.addChild(k)};this.unload=function(){createjs.Tween.removeTweens(k); c.removeChild(k)};this.lit=function(a){createjs.Tween.removeTweens(k);k.alpha=a?1:0};this.slowOn=function(a,b){createjs.Tween.get(k,{override:!0}).wait(b).to({alpha:1},a)};this.highlight=function(a){k.alpha=0;createjs.Tween.get(k,{override:!0,loop:!0}).to({alpha:1},a/3).wait(a/3).to({alpha:0},a/3)};this.slowHighlight=function(a,b,d){k.alpha=0;createjs.Tween.get(k,{override:!0}).wait(b).to({alpha:1},a/3).wait(a/3).to({alpha:0},a/3).call(function(){d()})};this.slowOff=function(a,b){createjs.Tween.get(k, {override:!0}).wait(b).to({alpha:0},a)};this.flashing=function(){createjs.Tween.get(k,{override:!0}).to({alpha:0},100).to({alpha:1},100).to({alpha:0},100).to({alpha:1},100).to({alpha:0},100).to({alpha:1},100).to({alpha:0},100)};this.addPreciseText=function(a,b,d,c,e,f,k){l=(new CTLText(g,b-f/2,d-k/2,f,k,c,"center",e,PRIMARY_FONT,1.3,2,2,a,!0,!0,!0,!1)).getText()};this.addText=function(a,b,d,c,e){l=new createjs.Text(a,c+"px "+PRIMARY_FONT,e);l.x=b;l.y=d;l.textAlign="center";l.textBaseline="middle"; l.lineWidth=200;g.addChild(l);l.cache(-g.getBounds().width/2,-g.getBounds().height/2,g.getBounds().width,g.getBounds().height)};this.setText=function(a){l.text=a;l.updateCache()};this.textRotate=function(a){l.rotation=a};this.rotate=function(a){g.rotation=a};this.scale=function(a){g.scaleX=g.scaleY=a};this.flipX=function(){g.scaleX=-1};this._init(a,f,e,c)} function CModuleMultiplier(a,f){var e,c,g;this._init=function(a,c){this._addCapsule();this._addToggle();this._addMultiplierIndicator()};this._addCapsule=function(){e=[];var a=s_oSpriteLibrary.getSprite("capsule_0");a=new CLightIndicator(a,428,286,f);e.push(a);a=s_oSpriteLibrary.getSprite("capsule_1");a=new CLightIndicator(a,540,312,f);e.push(a);a=s_oSpriteLibrary.getSprite("capsule_2");a=new CLightIndicator(a,656,312,f);e.push(a);a=s_oSpriteLibrary.getSprite("capsule_3");a=new CLightIndicator(a,770, 286,f);e.push(a)};this._addToggle=function(){var d=s_oSpriteLibrary.getSprite("multiplier_toggle_light");g=new CToggleSystem;g.addButton(4,8,380,280,0,d,0,-80,a,TEXT_MULTI[0]);g.addButton(4,8,490,304,0,d,0,-80,a,TEXT_MULTI[1]);g.addButton(4,8,600,320,0,d,0,-80,a,TEXT_MULTI[2]);g.addButton(4,8,710,304,0,d,0,-80,a,TEXT_MULTI[3]);g.addButton(4,8,820,280,0,d,0,-80,a,TEXT_MULTI[4]);g.addAllButtonHitListener(this._onAllLightOn);g.addSingleButtonListener(this._onToggle)};this._onToggle=function(a){s_oScoreController.addMultiplierToggleScore(); k._radialAnim(a)};this._onAllLightOn=function(){s_oScoreController.increaseMultiplier();s_oScoreController.addTotalMultiplierToggleScore();for(var a=s_oScoreController.getCurMultiplier(),e=2;e<=MAX_MULTIPLIER;e++)c[e].lit(!1);c[a].lit(!0)};this._addMultiplierIndicator=function(){c=[];var d=new createjs.Container;d.x=526;d.y=1680;a.addChild(d);var e=Math.floor((MAX_MULTIPLIER-1)/2),f=2,b=new createjs.Container;b.x=-440;d.addChild(b);for(var g=0;gb;b++)k.addButton(8,60,930+18*b,340+70*b,-13,c,0,0,a);k.setReturn(!0);k.addAllButtonHitListener(this._onBumperLevelUp); k.addSingleButtonListener(s_oScoreController.addButtonScore)};this._onBumperLevelUp=function(){s_oScoreController.increaseCircleBumperLevel();c.text=s_oScoreController.getBumperValue();g.text=s_oScoreController.getBumperValue();for(var a=c.getBounds().width,b=40;80<=a;)b--,c.font=" "+b+"px "+PRIMARY_FONT,g.font=" "+b+"px "+PRIMARY_FONT,a=c.getBounds().width};this.reset=function(){k.reset();c.font=" 40px "+PRIMARY_FONT;c.text=s_oScoreController.getBumperValue();g.font=" 40px "+PRIMARY_FONT;g.text= s_oScoreController.getBumperValue()};this._init(a,f)} function CModuleHole(a,f){var e,c,g,k,d,l,m;this._init=function(a,b){g=c=e=!1;this._addHole();this._addRightSystemButton();this._addLabels()};this._addHole=function(){var a=new CHoleSystem(988,680,1E3);a.addHoleEventListener(this._onHole);a.setLaunchImpulse(0,.8);a=s_oSpriteLibrary.getSprite("hole");a=createBitmap(a);a.x=932;a.y=600;f.addChild(a)};this._addRightSystemButton=function(){m=new CButtonSystem;for(var b=2,c=0;4>c;c++){var d=s_oSpriteLibrary.getSprite("button_light_"+b);m.addButton(8,56, 924,980+68*c,0,d,-52,0,a);d=s_oSpriteLibrary.getSprite("bumper_button");new CLightIndicator(d,918,980+68*c,a);b++}m.addAllButtonHitListener(this._onAllButtonActive);m.addSingleButtonListener(s_oScoreController.addButtonScore)};this._onAllButtonActive=function(){s_oScoreController.addTotalHoleButtonScore();if(!e){e=!0;s_oScoreController.increaseHoleBonusLevel();var a=s_oScoreController.getCurHoleBonusLevel();k[a].highlight(2E3)}};this._onHole=function(){m.reset();if(e){e=!1;s_oScoreController.addHoleScoreBonus(); var a=s_oScoreController.getCurHoleBonusLevel();k[a].lit(!0);a===HOLE_BONUS_SCORE.length-1&&b.reset()}else s_oScoreController.addStandardHoleScore();g&&(playSound("bonus_win_1",1,!1),b._activeExtraBall());c&&(playSound("bonus_win_1",1,!1),b._activeShield())};this._activeShield=function(){b.disableShieldLight();s_oTable.activeShield()};this._activeExtraBall=function(){b.disableExtraBallLight();s_oTable.activeExtraBall()};this._addLabels=function(){k=[];var b=0,c=s_oSpriteLibrary.getSprite("light_indicator_0"); c=new CLightIndicator(c,1008,880,a);c.addText(TEXT_HOLE_VALUE[b],0,0,46,"#f68eff");c.textRotate(-20);c.scale(.68);b++;k.push(c);c=s_oSpriteLibrary.getSprite("light_indicator_0");c=new CLightIndicator(c,1008,940,a);c.addText(TEXT_HOLE_VALUE[b],0,0,46,"#f68eff");c.textRotate(-20);c.scale(.68);b++;k.push(c);c=s_oSpriteLibrary.getSprite("light_indicator_0");c=new CLightIndicator(c,1008,1E3,a);c.addText(TEXT_HOLE_VALUE[b],0,0,36,"#f68eff");c.textRotate(-20);c.scale(.68);b++;k.push(c);c=s_oSpriteLibrary.getSprite("light_indicator_0"); c=new CLightIndicator(c,1008,1060,a);c.addText(TEXT_HOLE_VALUE[b],0,0,34,"#f68eff");c.textRotate(-20);c.scale(.68);b++;k.push(c);c=s_oSpriteLibrary.getSprite("light_indicator_0");c=new CLightIndicator(c,1008,1120,a);c.addText(TEXT_HOLE_VALUE[b],0,0,26,"#f68eff");c.textRotate(-20);c.scale(.68);b++;k.push(c);c=s_oSpriteLibrary.getSprite("light_indicator_0");c=new CLightIndicator(c,1008,1180,a);c.addText(TEXT_HOLE_VALUE[b],0,0,26,"#f68eff");c.textRotate(-20);c.scale(.68);b++;k.push(c);c=s_oSpriteLibrary.getSprite("light_indicator_2"); c=new CLightIndicator(c,1008,1240,a);c.addText(TEXT_HOLE_VALUE[b],0,0,50,"#ff4040");c.textRotate(-20);c.scale(.68);k.push(c);b=new createjs.Container;b.x=928;b.y=820;a.addChild(b);c=s_oSpriteLibrary.getSprite("light_indicator_1");d=new CLightIndicator(c,0,0,b);d.addPreciseText(TEXT_SHIELD,0,0,20,"#000000",90,70);d.scale(.7);d.rotate(25);c=s_oSpriteLibrary.getSprite("light_indicator_2");l=new CLightIndicator(c,-28,60,b);l.addPreciseText(TEXT_EXTRABALL,0,-2,20,"#000000",90,70);l.scale(.7);l.rotate(25)}; this.reset=function(){e=!1;s_oScoreController.resetHoleBonusLevel();for(var a=0;ae&&(g._setIntervalTime(),g._levelDecreased())};var g=this;this._init(a,f)}var CURVE_FROM_RIGHT=0,CURVE_FROM_LEFT=1; function CModuleLetters(a,f){var e,c,g,k,d=0,l,m,b,q,h,n,t,x;this._init=function(a,b){k=g=c=e=!1;this._addSprite();this._addCurveGate();this._addCurveSystemButton();this._addArrows();this._addLetters();this._addLogo()};this._addSprite=function(){var a=new createjs.Container;a.x=382;a.y=560;f.addChild(a);var b=s_oSpriteLibrary.getSprite("curve_tunnel"),c=createBitmap(b);c.regX=b.width/2;c.regY=b.height/2;a.addChild(c);c=new createjs.Container;c.x=-16;c.y=-52;a.addChild(c);b=s_oSpriteLibrary.getSprite("eye"); q=createBitmap(b);q.regX=b.width/2;q.regY=b.height/2;c.addChild(q)};this._addCurveSystemButton=function(){t=new CButtonSystem;t.setAutoReset(!1);for(var b=s_oSpriteLibrary.getSprite("curve_light_button"),c=0;3>c;c++)t.addButton(40,8,324+60*c,806,0,b,0,20,a);t.addAllButtonHitListener(this._onAllButtonPress);t.addSingleButtonListener(s_oScoreController.addButtonScore);t.setResititution(.33)};this._onAllButtonPress=function(){e||g?e&&!g?(g=!0,h.highlight(500)):!e&&g&&(e=!0,n.highlight(500)):.5>Math.random()? (e=!0,n.highlight(500)):(g=!0,h.highlight(500))};this._allLettersAreLit=function(){for(var a=0;ac;c++){var d= s_oSpriteLibrary.getSprite("letter_"+c);d=new CLightIndicator(d,LETTERS_POSITION[c].x,LETTERS_POSITION[c].y,a);l.push(d);m[c]=!1;b[c]=!1}m=[];b=[];for(c=0;cMath.pow(14,2)&&(q.x=14*Math.cos(a),q.y=14*Math.sin(a))};var r=this;this._init(a,f)} var STATE_START=0,STATE_JUMPER=1,STATE_SHIELD=2,STATE_EXTRABALL=3,STATE_DIRECTIONAL_JUMPER=4,DIRECTION_UP=0,DIRECTION_MID=1,DIRECTION_RIGHT=2; function CModuleJumper(a,f){var e,c,g,k,d,l;this._init=function(a,d){e=STATE_START;c=DIRECTION_UP;this._addJumper();this._addJumperButtons();this._addArrows()};this._addJumper=function(){var b={contacttype:CONTACT_BEGIN,callback:this._onJumper,params:"bumper"};k=s_oObjectBuilder.addButton(100,12,68,1220,45,0,0,0,b);k.GetFixtureList().SetSensor(!0);s_oPhysicsController.disableBody(k);b=s_oSpriteLibrary.getSprite("jumper");var c=new createjs.SpriteSheet({images:[b],frames:{width:b.width/2,height:b.height, regX:b.width/2/2,regY:b.height/2},animations:{state_true:[0],state_false:[1]}});d=createSprite(c,"state_false",b.width/2/2,b.height/2,b.width/2,b.height);d.x=68;d.y=1220;d.rotation=45;d.visible=!1;a.addChild(d);b={contacttype:CONTACT_BEGIN,callback:function(){},params:"bumper"};s_oObjectBuilder.addButton(60,8,188,800,60,0,0,1,b).GetFixtureList().SetSensor(!0)};this._onJumper=function(a,c){s_oScoreController.addJumperScore();var b=c.GetFixtureA().GetUserData(),f=c.GetFixtureB().GetUserData(),g;b.id&& "ball"===b.id&&(g=c.GetFixtureA().GetBody());f.id&&"ball"===f.id&&(g=c.GetFixtureB().GetBody());e>=STATE_DIRECTIONAL_JUMPER?m._jumperModeDirectional(g):m._jumperModeWeak(g);d.gotoAndStop("state_true");setTimeout(function(){d.gotoAndStop("state_false")},100);playSound("jumper",1,!1)};this._jumperModeWeak=function(a){var b=new Box2D.Common.Math.b2Vec2(a.GetPosition().x*WORLD_SCALE,a.GetPosition().y*WORLD_SCALE),c=new Box2D.Common.Math.b2Vec2(960*Math.random(),960);b.Subtract(c);b.Normalize();b=new Box2D.Common.Math.b2Vec2(b.x, b.y);c=6+2*Math.random();a.SetLinearVelocity({x:0,y:0});a.SetAngularVelocity(0);b.Multiply(-a.GetMass()*c);a.ApplyImpulse(b,a.GetPosition())};this._jumperModeDirectional=function(a){var b=new Box2D.Common.Math.b2Vec2(a.GetPosition().x*WORLD_SCALE,a.GetPosition().y*WORLD_SCALE),c=m._getDirection();b.Subtract(c);b.Normalize();b=new Box2D.Common.Math.b2Vec2(b.x,b.y);a.SetLinearVelocity({x:0,y:0});a.SetAngularVelocity(0);b.Multiply(32*-a.GetMass());a.ApplyImpulse(b,a.GetPosition())};this._getDirection= function(){switch(c){case DIRECTION_UP:var a=new Box2D.Common.Math.b2Vec2(78,640);break;case DIRECTION_MID:a=new Box2D.Common.Math.b2Vec2(740,640);break;case DIRECTION_RIGHT:a=new Box2D.Common.Math.b2Vec2(1408,600)}return a};this._addJumperButtons=function(){l=new CButtonSystem;for(var b=s_oSpriteLibrary.getSprite("bumper_button"),c=0;5>c;c++)l.addButton(8,56,38,860+68*c,0,b,0,0,a);l.addAllButtonHitListener(this._onAllButtonActive);l.addSingleButtonListener(s_oScoreController.addButtonScore);l.flipButtonX()}; this._onAllButtonActive=function(){s_oScoreController.addAllJumperButtonsScore();m.changeState()};this._addArrows=function(){g=[];var b=s_oSpriteLibrary.getSprite("arrow_light_1");b=new CLightIndicator(b,88,1060,a);b.rotate(-5);g.push(b);b=s_oSpriteLibrary.getSprite("arrow_light_1");b=new CLightIndicator(b,180,1100,a);b.rotate(40);g.push(b);b=s_oSpriteLibrary.getSprite("arrow_light_1");b=new CLightIndicator(b,240,1160,a);b.rotate(55);g.push(b)};this.reset=function(){l.reset();e=STATE_START;c=DIRECTION_UP; for(var a=0;ac&&(c=g.length-1);for(var a=0;a=EXTRABALL_JACKPOT_SCORE_ACTIVATION&&s_oTable.enableExtraBallBonus(),s_oScoreController.resetJackpot(),e=!1,g.flashing())};this._addActiveIndicator=function(){var c=s_oSpriteLibrary.getSprite("jackpot");g=new CLightIndicator(c,190,360,a)};this._addJackpotAmountIndicator=function(){k=new createjs.Text((0).toLocaleString(),"28px "+SECONDARY_FONT,"#ff56b0");k.x=220;k.y=388;k.textAlign="center";k.textBaseline="middle";k.lineWidth= 200;k.rotation=-55;a.addChild(k);k.cache(-110,-20,220,40)};this.reset=function(){d.disableJackpot()};this.enableJackpot=function(){e=!0;g.highlight(1E3);c=TIME_LAST_ACTIVE_JACKPOT};this.disableJackpot=function(){e=!1;g.slowOff(1E3,0)};this.setJackpotAmount=function(a){k.text=a.toLocaleString();k.updateCache()};this.update=function(){e&&(c-=s_iTimeElaps,0>c&&d.disableJackpot())};var d=this;this._init(a,f)} function CModuleShield(a,f){var e,c,g,k;this._init=function(a,c){this._addRightShield();this._addLeftShield()};this._addRightShield=function(){c=new CHoleSystem(1016,1580,1E3);c.addHoleEventListener(this._onRightShieldUsed);c.setLaunchImpulse(0,-(.3+.2*Math.random()));s_oPhysicsController.disableBody(c.getHole());var d=s_oSpriteLibrary.getSprite("shield");k=new CLightIndicator(d,1016,1580,a);k.lit(!0)};this._addLeftShield=function(){e=new CHoleSystem(54,1580,1E3);e.addHoleEventListener(this._onLeftShieldUsed); e.setLaunchImpulse(0,-(.3+.2*Math.random()));var c=s_oSpriteLibrary.getSprite("shield");g=new CLightIndicator(c,54,1580,a);g.lit(!0)};this._onRightShieldUsed=function(){s_oPhysicsController.disableBody(c.getHole());k.slowOff(1E3,500)};this._onLeftShieldUsed=function(){s_oPhysicsController.disableBody(e.getHole());g.slowOff(1E3,500)};this.reset=function(){s_oPhysicsController.disableBody(c.getHole());s_oPhysicsController.disableBody(e.getHole());k.lit(!1);g.lit(!1)};this.enableShield=function(){s_oPhysicsController.enableBody(c.getHole()); s_oPhysicsController.enableBody(e.getHole());k.slowOn(500,0);g.slowOn(500,0)};this._init(a,f)} function CModuleStart(a,f){var e,c,g,k,d,l,m,b;this._init=function(a,b){g=!0;k=!1;e=1976;c=1876;d=1E3;this._addTunnelSprites();this._addStartGate();this._addLaunchPlatform();this._addLauncher()};this._addTunnelSprites=function(){var b=s_oSpriteLibrary.getSprite("tunnel_start"),c=createBitmap(b);c.x=880;c.y=140;f.addChild(c);l=0;m=[];b=s_oSpriteLibrary.getSprite("arrow_start");b=new CLightIndicator(b,994,252,a);b.rotate(-35);m.unshift(b);b=s_oSpriteLibrary.getSprite("arrow_start");b=new CLightIndicator(b, 1044,332,a);b.rotate(-25);m.unshift(b);b=s_oSpriteLibrary.getSprite("arrow_start");b=new CLightIndicator(b,1074,422,a);b.rotate(-10);m.unshift(b);b=s_oSpriteLibrary.getSprite("arrow_start");b=new CLightIndicator(b,1088,522,a);b.rotate(-5);m.unshift(b);for(c=0;11>c;c++)b=s_oSpriteLibrary.getSprite("arrow_start"),b=new CLightIndicator(b,1090,632+100*c,a),m.unshift(b);this.startLighting()};this.startLighting=function(){for(var a=l=0;a=m.length&&q.startLighting()};this.stopAnimLighting=function(){for(var a=0;athis._iHeight-2*this._iPaddingV||this._oText.getBounds().width>this._iWidth-2*this._iPaddingH)&&!(a--,this._oText.font=a+"px "+this._szFont,this._oText.lineHeight=Math.round(a*this._fLineHeightFactor),this.__updateY(),this.__verticalAlign(),8>a););this._iFontSize=a}},__verticalAlign:function(){if(this._bVerticalAlign){var a=this._oText.getBounds().height;this._oText.y-= (a-this._iHeight)/2+this._iPaddingV}},__updateY:function(){this._oText.y=this._y+this._iPaddingV;switch(this._oText.textBaseline){case "middle":this._oText.y+=this._oText.lineHeight/2+(this._iFontSize*this._fLineHeightFactor-this._iFontSize)}},__createText:function(a){this._bDebug&&(this._oDebugShape=new createjs.Shape,this._oDebugShape.graphics.beginFill("rgba(255,0,0,0.5)").drawRect(this._x,this._y,this._iWidth,this._iHeight),this._oContainer.addChild(this._oDebugShape));this._oText=new createjs.Text(a, this._iFontSize+"px "+this._szFont,this._szColor);this._oText.textBaseline="middle";this._oText.lineHeight=Math.round(this._iFontSize*this._fLineHeightFactor);this._oText.textAlign=this._szAlign;this._oText.lineWidth=this._bMultiline?this._iWidth-2*this._iPaddingH:null;switch(this._szAlign){case "center":this._oText.x=this._x+this._iWidth/2;break;case "left":this._oText.x=this._x+this._iPaddingH;break;case "right":this._oText.x=this._x+this._iWidth-this._iPaddingH}this._oContainer.addChild(this._oText); this.refreshText(a)},setVerticalAlign:function(a){this._bVerticalAlign=a},setOutline:function(a){null!==this._oText&&(this._oText.outline=a)},setShadow:function(a,f,e,c){null!==this._oText&&(this._oText.shadow=new createjs.Shadow(a,f,e,c))},setColor:function(a){this._oText.color=a},setAlpha:function(a){this._oText.alpha=a},setY:function(a){this._y=this._oText.y=a},removeTweens:function(){createjs.Tween.removeTweens(this._oText)},getText:function(){return this._oText},getY:function(){return this._y}, getFontSize:function(){return this._iFontSize},refreshText:function(a){""===a&&(a=" ");null===this._oText&&this.__createText(a);this._oText.text=a;this._oText.font=this._iFontSize+"px "+this._szFont;this._oText.lineHeight=Math.round(this._iFontSize*this._fLineHeightFactor);this.__autofit();this.__updateY();this.__verticalAlign()}}; function CTLText(a,f,e,c,g,k,d,l,m,b,q,h,n,t,x,r,v){this._oContainer=a;this._x=f;this._y=e;this._iWidth=c;this._iHeight=g;this._bMultiline=r;this._iFontSize=k;this._szAlign=d;this._szColor=l;this._szFont=m;this._iPaddingH=q;this._iPaddingV=h;this._bVerticalAlign=x;this._bFitText=t;this._bDebug=v;this._oDebugShape=null;this._fLineHeightFactor=b;this._oText=null;n&&this.__createText(n)};