X-Git-Url: https://mop.ddnsfree.com/gitweb/?a=blobdiff_plain;f=web%2Fcommons.js;h=8a5b0a66ed93cb12b4ad0d98c8482f3517ecab43;hb=1fc2a56fc5b81d917ce929be0e2f0d53672a26fa;hp=8f3253c142d2d82e33d65a2a88946fb4b718ba73;hpb=fc19a0f063cf2e544a61a58b4ac31254f91d6ba5;p=brisk.git diff --git a/web/commons.js b/web/commons.js index 8f3253c..8a5b0a6 100644 --- a/web/commons.js +++ b/web/commons.js @@ -2,7 +2,7 @@ * brisk - commons.js * * Copyright (C) 2006-2015 Matteo Nastasi - * mailto: nastasi@alternativeoutput.it + * mailto: nastasi@alternativeoutput.it * matteo.nastasi@milug.org * web: http://www.alternativeoutput.it * @@ -22,12 +22,12 @@ */ var PLAYERS_N = 3; -var EXIT_BAN_TIME = 3600; +var EXIT_BAN_TIME = 900; var cookiepath = "/brisk/"; var mlang_commons = { 'imgload_a' : { 'it' : 'Immagini caricate ', 'en' : 'Loaded images ' }, - 'imgload_b' : { 'it' : '%.', + 'imgload_b' : { 'it' : '%.', 'en' : '%.' }, 'gamleav' : { 'it' : 'Sei sicuro di volere lasciare questa mano?' , 'en' : 'Are you sure to leave this game?' }, @@ -41,10 +41,8 @@ var mlang_commons = { 'imgload_a' : { 'it' : 'Immagini caricate ', 'en' : 'Exit.' }, 'tit_list' : { '0' : { 'it' : '', 'en' : '' }, - '1' : { 'it' : '(solo aut.)', - 'en' : '(only aut.)' }, - '2' : { 'it' : '(isolam.to)', - 'en' : '(isolation)' } }, + '1' : { 'it' : '(autenticati)', + 'en' : '(authenticated)' } }, 'tos_refu' : { 'it' : 'Rifiutando di sottoscrivere i nuovi termini del servizio non ti sarà più possibile accedere come utente registrato al sito, sei proprio sicuro di voler rifiutare le nuove condizioni d\'uso ?', 'en' : 'EN Rifiutando di sottoscrivere i nuovi termini del servizio non ti sarà più possibile accedere come utente registrato al sito, sei proprio sicuro di voler rifiutare le nuove condizioni d\'uso ?' } @@ -64,7 +62,7 @@ function dec2hex(d, padding) return hex; } -function getStyle(x,IEstyleProp, MozStyleProp) +function getStyle(x,IEstyleProp, MozStyleProp) { if (x.currentStyle) { var y = x.currentStyle[IEstyleProp]; @@ -91,14 +89,14 @@ function getStyle(x,IEstyleProp, MozStyleProp) param[i-2] = arguments[i]; } } - + if(typeof(fn)=='function') { - + return (function (fn,ms,param) { var fo = function () { fn.apply(window,param); }; - return nativeSetInterval(fo,ms); + return nativeSetInterval(fo,ms); })(fn,ms,param); } else if(typeof(fn)=='string') @@ -123,14 +121,14 @@ function getStyle(x,IEstyleProp, MozStyleProp) param[i-2] = arguments[i]; } } - + if(typeof(fn)=='function') { - + return (function (fn,ms,param) { var fo = function () { fn.apply(window,param); }; - return nativeSetTimeout(fo,ms); + return nativeSetTimeout(fo,ms); })(fn,ms,param); } else if(typeof(fn)=='string') @@ -235,7 +233,7 @@ function update_images() function preload_images(arr,idx) { var im = new Image; - + // $("imgct").innerHTML = "Stiamo caricando "+arr[idx]+"%.
"; im.onload = update_images; im.onerror = error_images; @@ -264,11 +262,43 @@ function createXMLHttpRequest() { return null; } -function send_mesg(mesg) +function send_mesg(mesg, content) { - var xhr_wr = createXMLHttpRequest(); var is_conn = (sess == "not_connected" ? false : true); - + + if (is_conn && xstm && xstm.transp_type.startsWith('websocket')) { + if (typeof(content) != 'undefined') { + mesg = mesg + content; + } + var target = window.location.href.substring(0, + window.location.href.lastIndexOf('/') + 1) + 'index_wr.php'; + var ws_msg = JSON.stringify({ + target: target, + mesg: mesg, + stp:gst.st, + sess:sess, + table_idx: readCookie("table_idx"), + table_token: readCookie("table_token"), + lang: readCookie("lang") + }); + // console.log(ws_msg); + xstm.send(ws_msg); + /* + if (xstm.transp.ws.readyState == 1) { + xstm.transp.ws.send(ws_msg); + } + else { + xstm.transp.out_queue.push(ws_msg); + } + */ + + } + else { + var xhr_wr = createXMLHttpRequest(); + + if (typeof(content) != 'undefined') { + mesg = mesg + encodeURIComponent(content); + } // alert("xhr_wr: "+xhr_wr+" is_conn: "+is_conn); xhr_wr.open('GET', 'index_wr.php?&'+(is_conn ? 'sess='+sess : '')+'&stp='+gst.st+'&mesg='+mesg, (is_conn ? true : false)); xhr_wr.setRequestHeader("If-Modified-Since", new Date().toUTCString()); @@ -285,6 +315,7 @@ function send_mesg(mesg) eval(xhr_wr.responseText); } } + } } /* @@ -315,7 +346,7 @@ function server_request() // alert("Args: "+arguments.length); var is_conn = (sess == "not_connected" ? false : true); - + // console.log("server_request:preresp: "+xhr_wr.responseText); if (is_post) { @@ -327,11 +358,11 @@ function server_request() } xhr_wr.onreadystatechange = function() { return; }; xhr_wr.send(post_collect); - + if (xhr_wr.responseText != null) { // console.log("server_request:resp: "+xhr_wr.responseText); return (xhr_wr.responseText); - } + } else return (null); } @@ -362,7 +393,7 @@ function act_chatt(value) info_show(value.substring(6)); } else { - send_mesg("chatt|"+encodeURIComponent(value)); + send_mesg("chatt|", value); } /* obj.disabled = true; @@ -411,7 +442,7 @@ function act_mesgtoadm() function act_tav() { - act_chatt('/tav '+$('txt_in').value); + act_chatt('/tav '+$('txt_in').value); $('txt_in').value = ''; } @@ -430,11 +461,6 @@ function act_roadmap() send_mesg("roadmap"); } -function act_whysupport() -{ - send_mesg("whysupport"); -} - function act_lascio() { send_mesg("lascio"); @@ -473,7 +499,7 @@ function act_shutdown() function postact_logout() { // alert("postact_logout"); - try { + try { xstm.abort(); } catch (e) {} @@ -560,7 +586,7 @@ function slowimg(img,x1,y1,deltat,free,action,srcend) { } slowimg.prototype = { - img: null, + img: null, st: null, x0: 0, y0: 0, @@ -577,20 +603,20 @@ slowimg.prototype = { tout: 0, action: null, srcend: null, - + setstart: function(x0,y0) { this.x0 = x0; this.y0 = y0; }, - + setaction: function(act) { this.action = act; }, - - settime: function(time) + + settime: function(time) { this.time = (time < this.deltat ? this.deltat : time); this.step_n = parseInt(this.time / this.deltat); @@ -603,17 +629,17 @@ slowimg.prototype = { this.step_free = parseInt(this.step_n * this.free); } }, - + start: function(st) { // $("logz").innerHTML += " xxxxxxxxxxxxxxxxxxxxxSTART
"; this.st = st; this.st.st_loc_new++; - + this.img.style.visibility = "visible"; setTimeout(function(obj){ obj.animate(); }, this.deltat, this); }, - + animate: function() { // $("log").innerHTML = "Val " + this.step_cur + " N: " + this.step_n + "
"; @@ -830,11 +856,11 @@ function notify_ex(st, text, tout, butt, w, h, is_opa, block_time) { var clo, box; var t = this; - + this.st = st; this.ancestor = document.body; - + this.st.st_loc_new++; clo = document.createElement("input"); @@ -883,9 +909,9 @@ function notify_ex(st, text, tout, butt, w, h, is_opa, block_time) box.style.visibility = "visible"; this.notitag = box; - + this.ancestor.appendChild(box); - + this.toutid = setTimeout(function(obj){ obj.unblock(); }, tout, this); if (block_time != 0) { @@ -905,7 +931,7 @@ notify_ex.prototype = { notitag: null, toutid: null, clo: null, - clodiv: null, + clodiv: null, butt: null, tblkid: null, @@ -915,7 +941,7 @@ notify_ex.prototype = { this.st.st_loc++; } }, - + hide: function() { clearTimeout(this.toutid); @@ -934,7 +960,7 @@ function notify(st, text, tout, butt, w, h) { notify_ex.call(this, st, text, tout, butt, w, h, false, 0); } - + function globst() { this.st = -1; this.st_loc = -1; @@ -969,7 +995,7 @@ globst.prototype = { function remark_step() { var ct = $("remark").l_remct; - + if (ct != 0) { ct++; if (ct > 2) @@ -980,7 +1006,7 @@ function remark_step() } else $("remark").className = "remark0"; - + return; } @@ -1002,7 +1028,7 @@ function remark_off() function italizer(ga) { var pre, pos; - if (ga[0] & 2) + if (ga[0] & 2) return ""+ga[1]+""; else return ga[1]; @@ -1038,7 +1064,7 @@ function user_decorator(user, is_real) for (i = 0 ; i < 4 ; i++) { if (flags & (1 << i)) { - cl += sp + "au" + i; + cl += sp + "au" + i + (is_real ? "" : "_off"); sp = " "; } } @@ -1062,7 +1088,7 @@ function user_dec_and_state(el) content = user_decorator(el, true); content += state_add(el[0],(typeof(el[2]) != 'undefined' ? el[2] : null)); - + return (content); } @@ -1097,7 +1123,7 @@ function chatt_sub(dt,data,str) } // $("txt").innerHTML; - + if (must_scroll) { $("txt").scrollTop = 10000000; } @@ -1139,24 +1165,24 @@ function onbeforeunload_cb () { } function onunload_cb () { - + if (typeof(xstm) != "undefined") xstm.the_end = true; act_shutdown(); - + return(false); } function room_checkspace(emme,tables,inpe) { nome = ""; - for (i = 0 ; i < emme ; i++) + for (i = 0 ; i < emme ; i++) nome += "m"; nome += ""; alta = ""; - for (i = 0 ; i < 5 ; i++) + for (i = 0 ; i < 5 ; i++) alta += nome+"
"; for (i = 0 ; i < tables ; i++) { @@ -1194,7 +1220,7 @@ function unescapeHTML(cont) { var length = div.childNodes.length, results = new Array(length); while (length--) results[length] = div.childNodes[length]; - + for (i=0 ; i' + -'' + -'' + -''; - } +/* + samples = [{'name': , 'file': }, ... ] +*/ +function jukebox(samples) +{ + var source, a; + this.enable = false; + this.audio = {}; + + var pro_audio_el = document.createElement('audio'); + this.enable = !!(pro_audio_el.canPlayType && pro_audio_el.canPlayType('audio/mpeg;').replace(/no/, '')); + if (this.enable) { + for (i in samples) { + sample = samples[i]; + + this.audio[sample['name']] = a = document.createElement('audio'); + + source = document.createElement('source'); + source.setAttribute('src', sample['file']); + source.setAttribute('type', 'audio/mpeg'); + a.appendChild(source); + a.load(); + } + } +} + +jukebox.prototype = { + is_enabled: function() { + return this.enable; + }, + + play: function(name) { + var a; + if (! this.enable) + return; + + if (!(name in this.audio)) { + return false; + } + a = this.audio[name]; + a.currentTime = 0; + a.play(); + } } function topbanner_init() @@ -1393,7 +1452,6 @@ function url_complete(parent, url) } // alert("host: ["+host+"] path: ["+path+"]"); - console.log('URL: ' + url); if (url.substring(0,6) == 'http:/' || url.substring(0,7) == 'https:/' || url.substring(0,4) == 'ws:/' || url.substring(0,5) == 'wss:/') { return (url); }