//////////////////////////////////////////////////////////// // INIT //////////////////////////////////////////////////////////// var stageWidth,stageHeight=0; var isLoaded=false; /*! * * DOCUMENT READY * */ $(function() { var resumeAudioContext = function() { // handler for fixing suspended audio context in Chrome try { if (createjs.WebAudioPlugin.context.state === "suspended") { createjs.WebAudioPlugin.context.resume(); // Should only need to fire once window.removeEventListener("click", resumeAudioContext); } } catch (e) { // SoundJS context or web audio plugin may not exist console.error("There was an error while trying to resume the SoundJS Web Audio context..."); console.error(e); } }; window.addEventListener("click", resumeAudioContext); // Check for running exported on file protocol if (window.location.protocol.substr(0, 4) === "file"){ alert("To install the game just upload folder 'game' to your server. The game won't run locally with some browser like Chrome due to some security mode."); } $(window).resize(function(){ resizeLoaderFunc(); }); resizeLoaderFunc(); checkBrowser(); }); /*! * * LOADER RESIZE - This is the function that runs to centeralised loader when resize * */ function resizeLoaderFunc(){ stageWidth=$(window).width(); stageHeight=$(window).height(); $('#mainLoader').css('left', checkContentWidth($('#mainLoader'))); $('#mainLoader').css('top', checkContentHeight($('#mainLoader'))); } /*! * * BROWSER DETECT - This is the function that runs for browser and feature detection * */ var browserSupport=false; var isTablet; function checkBrowser(){ isTablet = (/ipad|android|android 3.0|xoom|sch-i800|playbook|tablet|kindle/i.test(navigator.userAgent.toLowerCase())); deviceVer=getDeviceVer(); var canvasEl = document.createElement('canvas'); if(canvasEl.getContext){ browserSupport=true; } if(browserSupport){ if(!isLoaded){ isLoaded=true; detectAddScript(true); } }else{ //browser not support $('#notSupportHolder').show(); } } function detectAddScript(addon){ if(addon){ if(checkAddScript("scoreboard/css/score.css", "/userscript?path=scoreboard/js/score.js")){ doneAddScript(); }else{ doneAddScript(); } }else{ doneAddScript(); } } function checkAddScript(styleFile, scriptFile){ var styleExist = checkFileExist(styleFile); var scriptExist = checkFileExist(scriptFile); if(styleExist & scriptExist){ $('head').append(''); $('head').append(''); return true; }else{ return false; } } function doneAddScript(){ //memberpayment if(typeof memberData != 'undefined' && memberSettings.enableMembership){ initGameSettings(); }else{ initPreload(); } } function checkFileExist(urlToFile) { var response = jQuery.ajax({ url: urlToFile, type: 'HEAD', async: false }).status; return (response != "200") ? false : true; }