// SilenGames HTML5 Extension // Author: Vitaliy Sidorov // Copyright: SilenGames 2014 function sg_nug_score(name, num) { try { var score = new NugPlayScore().init(); score.setValue(num); nugPlay.api().submitScore(score, name); } catch(e) {} }; function sg_nug_achi(name) { try { nugPlay.api().achieve(name); } catch(e) {} }; function sg_nug_load() { try { nugPlay.gameLoaded(); } catch(e) {} }; function sg_nug_start() { try { nugPlay.newGame(); } catch(e) {} }; function sg_nug_end() { try { nugPlay.endGame(); } catch(e) {} }; function sg_nug_quit() { try { nugPlay.quitGame(); } catch(e) {} }; function sg_kong_stat(name, num) { try { parent.kongregate.stats.submit(name, num); } catch(e) {} }; function sg_buon_start() { try { startSession(); } catch (e) {} } function sg_buon_end(num) { try { endSession({score:num}); } catch (e) {} } function sg_iwin_ad() { try { iConsole.ads.show({type: 'interstitial'}); } catch(e) {}; } function sg_iwin_score(num) { try { iConsole.game.postHighScore({score: num}); } catch(e) {}; } function sg_spil_score(num) { try { if (sg_spilapi_obj) { sg_spilapi_obj.Score.submit(num); } } catch(e) {}; } function sg_spil_award(num) { try { if (sg_spilapi_obj) { var award = {award:'award'+num}; sg_spilapi_obj.Award.submit(award); } } catch(e) {}; } function sg_spil_ad() { try { if (sg_spilapi_obj) { sg_spilapi_obj.GameBreak.request(gml_Script_gmcallback_focusoff, gml_Script_gmcallback_focuson); } } catch(e) { gml_Script_gmcallback_focuson(); }; } function sg_spil_start() { try { return CHEATMODE; } catch(e) { return 0; }; } function sg_spil_splash() { try { if (sg_spilapi_obj) { sg_spilapi_obj.Branding.displaySplashScreen(gml_Script_gmcallback_splashend); } } catch(e) { gml_Script_gmcallback_splashend(); }; } function sg_fgl_init() { function wrap(f) { return function(e) { var o = document.activeElement; if (!o || o == document.body || o.tagName == "CANVAS") f.call(this, e); }; }; window.onkeydown = wrap(window.onkeydown); window.onkeyup = wrap(window.onkeyup); } function sg_fgl_achi(nam) { try { // if (!fgl.hasAchievement(nam)) { // fgl.grantAchievement(nam); // } } catch(e) {}; } function sg_fgl_ad() { try { // fgl.showAd(); } catch(e) {}; } function sg_fgl_more_ok() { try { // if (fgl.crossPromotionEnabled) { // return true; // } else { // return false ; // } } catch(e) { return false; }; } function sg_fgl_more() { try { // fgl.showMoreGames(); } catch(e) {}; } function sg_fgl_prem_ok() { try { // if (fgl.unlockEnabled) { // return true; // } else { // return false; // } } catch(e) { return false; }; } function sg_fgl_prem() { try { // fgl.inApp.initiateUnlockFunction( // function(){ // gml_Script_gmcallback_fgl_iap_ok(); // }, // function(){} // ); } catch(e) {}; } function sg_fgl_isprem() { try { // if (fgl.isPremium()) { // return true; // } else { // return false; // } } catch(e) { return false; }; } function sg_fgl_spon_ok() { try { // if (fgl.brandingEnabled) { // return true; // } else { // return false; // } } catch(e) { return false; }; } function sg_fgl_spon_create() { try { if (window.sg_fgl_spon_obj == undefined) { sg_fgl_spon_obj = document.createElement('img'); sg_fgl_spon_obj.src = "";//fgl.getBrandingLogo(); sg_fgl_spon_obj.onclick = "";//fgl.handleBrandingClick; sg_fgl_spon_obj.setAttribute('style','display: none; position: absolute; left: 0px; top: 0px; width: 0px; height: 0px; z-index: 5; border: 0px'); document.body.appendChild(sg_fgl_spon_obj); return true; } else { return false; } } catch(e) { return false; }; } function sg_fgl_score_send(num) { try { //fgl.submitScore(num); } catch(e) {}; } function sg_fgl_score_show() { try { //fgl.displayScoreboard(); } catch(e) {}; } function sg_banner_create(siz) { try { if (window.bancont != undefined) { sg_banner_delete(); } bancont = document.createElement("iframe"); bancont.id = "sg-banner-cont"; bancont.height = siz; bancont.marginHeight = "0"; bancont.marginWidth = "0"; bancont.srcdoc = ''; document.body.insertBefore(bancont, document.body.firstChild); } catch(e) {}; } function sg_banner_delete() { try { if (window.bancont != undefined) { document.body.removeChild(bancont); bancont = undefined; } } catch(e) {}; } function sg_lead_create() { try { if (window.adscreen == undefined) { adcont = undefined; adscreen = document.createElement("div"); adscreen.id = "sg-ad-screen"; adtext = document.createElement("div"); adtext.id = "sg-ad-text"; adtext.innerHTML = "Advertisment"; adbut = document.createElement("img"); adbut.id = "sg-ad-but"; adbut.src = "silengames/adbut.png"; adbut.onclick = gml_Script_gmcallback_adclose; adbut.width = "30"; adbut.height = "30"; adbut.border = "0"; adbut.alt = "Close"; adscreen.appendChild(adtext); adscreen.appendChild(adbut); document.body.insertBefore(adscreen, document.body.firstChild); } } catch(e) {}; } function sg_lead_show(siz) { try { if (window.adscreen != undefined) { adscreen.setAttribute('style','display: block'); adbut.width = siz; adbut.height = siz; if (window.adcont == undefined) { adcont = document.createElement("iframe"); adcont.srcdoc = ''; adcont.id = "sg-ad-cont"; adscreen.appendChild(adcont); } } } catch(e) {}; } function sg_lead_close() { try { if (window.adscreen != undefined) { adscreen.setAttribute('style','display: none'); if (window.adcont != undefined) { adscreen.removeChild(adcont); adcont = undefined; } } } catch(e) {}; } function sg_clay_share(txt) { try { Clay('client.share.any', {text: txt}); } catch(e) {}; } sg_guid = ""; function sg_init(guid) { try { sg_guid = guid; if (window.loadingobj != undefined) { document.body.removeChild(loadingobj); } if (window.loadbarbackobj != undefined) { document.body.removeChild(loadbarbackobj); } if (window.loadintervalid != undefined) { clearInterval(loadintervalid); } if (window.loadingtextobj != undefined) { document.body.removeChild(loadingtextobj); } if (window.sg_spil_spon_obj != undefined) { sg_spil_spon_obj.setAttribute('style','display: none'); } //sg_banner_delete(); } catch(e) {}; } function sg_canvas_resize(xpos, ypos, xsiz, ysiz) { canvasobj.setAttribute('style','position: absolute; left: '+xpos+'px; top: '+ypos+'px; width: '+xsiz+'px; height: '+ysiz+'px'); } function sg_brand_set(type) { try { switch (type) { case "claycross": return claycrossbar; case "fgllogo": return sg_fgl_spon_obj; case "spillogo": return sg_spil_spon_obj; case "spilmore": return sg_spil_more_obj; case "spilcross": return sg_spil_cross_obj; default: return undefined; } } catch(e) { return undefined; }; } function sg_brand_show(type,xpos,ypos,xsiz,ysiz) { try { var curobj = sg_brand_set(type); if (curobj != null && curobj != undefined) { if (type == "claycross") { curobj.setAttribute('style','display: block'); } else { curobj.setAttribute('style','display: block; position: absolute; left: '+xpos+'px; top: '+ypos+'px; width:'+xsiz+'px; height:'+ysiz+'px; z-index: 5; border: 0px'); } } } catch(e) {}; } function sg_brand_hide(type) { try { var curobj = sg_brand_set(type); if (curobj != null && curobj != undefined) { curobj.setAttribute('style','display: none'); } } catch(e) {}; } sg_url_obj = []; sg_url_count = 0; function sg_url_add(url,blnk) { var oLink=document.createElement("a"); oLink.setAttribute('href', url); if (blnk) { oLink.setAttribute('target', '_blank'); } document.body.appendChild(oLink); var oDiv=document.createElement("div"); oDiv.setAttribute('style','display: block; position: absolute; z-index: 5; border: 0px'); oDiv.setAttribute("id", "sgurlobj"+sg_url_count); oDiv.style.left = "0px"; oDiv.style.top = "0px"; oDiv.style.width = "0px"; oDiv.style.height = "0px"; oDiv.style.cursor = "default"; oDiv.style.backgroundColor = "rgba(0, 0, 0, 0)"; oLink.appendChild(oDiv); sg_url_obj[sg_url_count] = oDiv; return sg_url_count++; } function sg_url_delete(num) { var obj = sg_url_obj[num]; if (obj) { document.body.removeChild(obj.parentNode); sg_url_obj[num] = undefined; } } function sg_url_change(num, xpos, ypos, xsiz, ysiz) { var obj = sg_url_obj[num]; if (obj) { obj.style.left = xpos + "px"; obj.style.top = ypos + "px"; obj.style.width = xsiz + "px"; obj.style.height = ysiz + "px"; } } function sg_get(url) { if (window.XMLHttpRequest) { xmlObject = new XMLHttpRequest(); } else { xmlObject = new ActiveXObject("Microsoft.XMLHTTP"); } xmlObject.open("GET",url,0); xmlObject.send(null); return xmlObject.responseText; } sg_focus = 1; sg_visible_type = ""; sg_visible_event = ""; try { if (typeof document.hidden !== "undefined") { sg_visible_type = "hidden"; sg_visible_event = "visibilitychange"; } else if (typeof document.webkitHidden !== "undefined") { sg_visible_type = "webkitHidden"; sg_visible_event = "webkitvisibilitychange"; } else if (typeof document.msHidden !== "undefined") { sg_visible_type = "msHidden"; sg_visible_event = "msvisibilitychange"; } else if (typeof document.mozHidden !== "undefined") { sg_visible_type = "mozHidden"; sg_visible_event = "mozvisibilitychange"; } } catch(e) {}; if (sg_visible_event != "") { document.addEventListener(sg_visible_event, sg_get_visibility, false); } window.addEventListener("focus",sg_focus_on, false); window.addEventListener("blur",sg_focus_off, false); function sg_focus_on() { try { if (sg_focus == 0) { sg_focus = 1; gml_Script_gmcallback_focuson(); } } catch(e) {}; } function sg_focus_off() { try { if (sg_focus == 1) { sg_focus = 0; gml_Script_gmcallback_focusoff(); } } catch(e) {}; } function sg_get_visibility() { try { if (document[sg_visible_type] == 1) { sg_focus_off(); } else if (document[sg_visible_type] == 0) { sg_focus_on(); } } catch(e) {}; } function sg_get_language() { try { var lang = window.navigator.userLanguage || window.navigator.language; return lang.substring(0,2).toLowerCase(); } catch(e) { return "en"; }; } sg_unlock_audio = null; sg_play_audio = null; sg_is_winphone = false; function sg_unlock_music(num, win) { sg_unlock_audio = document.getElementsByTagName('audio')[num]; if (win) { sg_is_winphone = true; } } function sg_play_music() { try { if (sg_play_audio != null) { sg_stop_music(); } sg_play_audio = sg_unlock_audio; sg_play_audio.loop = true; sg_play_audio.addEventListener("ended", sg_play_music, false); if (sg_is_winphone) { sg_play_audio.play(); } else { window.addEventListener("touchend", sg_unlock_music_event, false); } } catch(e) {}; } function sg_unlock_music_event() { try { sg_play_audio.play(); window.removeEventListener("touchend", sg_unlock_music_event, false); sg_is_winphone = true; } catch(e) {}; } function sg_stop_music() { try { sg_play_audio.pause(); sg_play_audio.removeEventListener("ended", sg_play_music, false); } catch(e) {}; } function sg_unlock_webaudio() { try { window.addEventListener("touchstart", sg_unlock_webaudio_event, false); } catch(e) {}; } function sg_unlock_webaudio_event(event) { try { var buffer = g_WebAudioContext.createBuffer(1, 1, 22050); var source = g_WebAudioContext.createBufferSource(); source.buffer = buffer; source.connect(g_WebAudioContext.destination); source.noteOn(0); window.removeEventListener("touchstart", sg_unlock_webaudio_event, false); } catch(e) {}; } function sg_no_bar() { if(!window.location.hash) { var divh = document.getElementById('gm4html5_div_id').style.height; if (divh < (window.outerHeight + 200)) { document.getElementById('gm4html5_div_id').style.height = (window.outerHeight + 200) + 'px'; } setTimeout ( function(){ window.scrollTo(0,1); },50); } } function sg_ios7_fix() { window.addEventListener('scroll', function () { if (document.activeElement === document.body && window.scrollY > 0) { document.body.scrollTop = 0; } }, true); } function test_browser_storage() { try { return 'localStorage' in window && window['localStorage'] !== null; } catch (e) { return false; } } sg_save_ok = test_browser_storage(); function sg_save(name, numb) { try { var key = sg_guid + name; if (sg_save_ok) { window.localStorage.setItem(key, numb); } else { var date = new Date; date.setDate(date.getDate() + 999); document.cookie = key +"="+ numb +"; path=/; expires="+ date.toUTCString(); } } catch(e) {}; } function sg_load(name, def) { try { var key = sg_guid + name; if (sg_save_ok) { var done = window.localStorage.getItem(key); } else { var matches = document.cookie.match(new RegExp( "(?:^|; )" + key.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)" )) var done = matches ? decodeURIComponent(matches[1]) : undefined; } if (done!=null && done!="") { return parseInt(done); } else { return def; } } catch(e) { return def; }; } function sg_orient(ok) { try { if (ok) { orientobj.setAttribute('style','display: block'); } else { orientobj.setAttribute('style','display: none'); } } catch(e) {}; } function sg_test_orient() { try { if (!viewporter || !viewporter.ACTIVE) { alert(0) return false; } else { alert(1) return true; } } catch(e) { alert("not try") return true; }; } sg_load_perc = 0; function sg_loadingbar(_graphics, _width, _height, _total, _current, _loadingscreen) { if (typeof(window.innerWidth)=='number') { browser_width = window.innerWidth; browser_height = window.innerHeight; } else if (document.documentElement&&document.documentElement.clientWidth) { browser_width = document.documentElement.clientWidth; browser_height = document.documentElement.clientHeight; } else if (document.body&&document.body.clientWidth) { browser_width = document.body.clientWidth; browser_height = document.body.clientHeight; } multi = (browser_height / splash_h); var new_width = (splash_w * multi); var load_perc = _current/_total*100; if (load_perc < 100) { if (sg_load_perc < load_perc) { sg_load_perc+=1; } } else { sg_load_perc = 100; } var perc = bar_img_w/100*sg_load_perc; var bar_x = (browser_width-new_width)/2+bar_img_x*multi; var bar_y = bar_img_y*multi; var bar_w = bar_img_w*multi; var bar_w2 = perc*multi; var bar_h = bar_img_h*multi; if (loadbarbackobj) { loadbarbackobj.setAttribute('style','left: '+bar_x+'px; top: '+bar_y+'px; width:'+bar_w+'px; height:'+bar_h+'px; background-size: '+(bar_img_w*multi)+'px'); } if (loadbarobj) { loadbarobj.setAttribute('style','left: '+bar_x+'px; top: '+bar_y+'px; width:'+bar_w2+'px; height:'+bar_h+'px; background-size: '+(bar_img_w*multi)+'px'); } } //create banner /* browser_width = splash_w; browser_height = splash_h; if (typeof(window.innerWidth)=='number') { browser_width = window.innerWidth; browser_height = window.innerHeight; } else if (document.documentElement&&document.documentElement.clientWidth) { browser_width = document.documentElement.clientWidth; browser_height = document.documentElement.clientHeight; } else if (document.body&&document.body.clientWidth) { browser_width = document.body.clientWidth; browser_height = document.body.clientHeight; } multi = (browser_height / splash_h); bancont = undefined; sg_banner_create(Math.round(70*multi).toString()); */