X-Git-Url: http://mop.ddnsfree.com/gitweb/?a=blobdiff_plain;f=web%2Fcommons.js;h=192094d4e013f2d2b21f819881ec84ac216294f0;hb=536da22ebde5fa66e0f7524e9efc0316391f1afd;hp=711b086cc91ce1c4824346d8d82b2d8f54104699;hpb=34ccc0593731592021bee6ab1661f8eb5ab5b1a4;p=brisk.git diff --git a/web/commons.js b/web/commons.js index 711b086..192094d 100644 --- a/web/commons.js +++ b/web/commons.js @@ -1,7 +1,7 @@ /* * brisk - commons.js * - * Copyright (C) 2006-2011 Matteo Nastasi + * Copyright (C) 2006-2012 Matteo Nastasi * mailto: nastasi@alternativeoutput.it * matteo.nastasi@milug.org * web: http://www.alternativeoutput.it @@ -25,7 +25,7 @@ var PLAYERS_N = 3; var EXIT_BAN_TIME = 3600; var cookiepath = "/brisk/"; -var mlang_commons = { 'imgload_a' : { 'it' : 'Immagine caricate ', +var mlang_commons = { 'imgload_a' : { 'it' : 'Immagini caricate ', 'en' : 'Loaded images ' }, 'imgload_b' : { 'it' : '%.', 'en' : '%.' }, @@ -38,12 +38,29 @@ var mlang_commons = { 'imgload_a' : { 'it' : 'Immagine caricate ', 'btn_sit' : { 'it' : 'Mi siedo.', 'en' : 'Sit down.' }, 'btn_exit' : { 'it' : 'Esco.', - 'en' : 'Exit.' } - - }; + 'en' : 'Exit.' }, + 'tit_list' : { '0' : { 'it' : '', + 'en' : '' }, + '1' : { 'it' : '(solo aut.)', + 'en' : '(only aut.)' }, + '2' : { 'it' : '(isolam.to)', + 'en' : '(isolation)' } } + }; function $(id) { return document.getElementById(id); } +function dec2hex(d, padding) +{ + var hex = Number(d).toString(16); + padding = typeof (padding) === "undefined" || padding === null ? padding = 2 : padding; + + while (hex.length < padding) { + hex = "0" + hex; + } + + return hex; +} + function getStyle(x,IEstyleProp, MozStyleProp) { if (x.currentStyle) { @@ -235,8 +252,10 @@ function safestatus(a) } function createXMLHttpRequest() { - try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) {} - try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) {} + if (typeof(ActiveXObject) != 'undefined') { // Konqueror complain as unknown object + try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) {} + try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) {} + } try { return new XMLHttpRequest(); } catch(e) {} alert("XMLHttpRequest not supported"); return null; @@ -249,12 +268,12 @@ function send_mesg(mesg) // alert("xhr_wr: "+xhr_wr+" is_conn: "+is_conn); xhr_wr.open('GET', 'index_wr.php?'+(is_conn ? 'sess='+sess+'&' : '')+'mesg='+mesg, (is_conn ? true : false)); + xhr_wr.setRequestHeader("If-Modified-Since", new Date().toUTCString()); xhr_wr.onreadystatechange = function() { return; }; - if (typeof(console) == 'object') { - if (typeof(console.log) == 'function') { + if (typeof(g_debug) == 'number' && g_debug > 0 + && typeof(console) == 'object' && typeof(console.log) == 'function') { var ldate = new Date(); console.log(ldate.getTime()+':MESG:'+mesg); - } } xhr_wr.send(null); @@ -266,17 +285,28 @@ function send_mesg(mesg) } /* - request to server + sync request to server server_request([arg0=arg1[, arg2=arg3[, ...]]]) + if var name == '__POST__' than all other vars will be managed as POST content + and the call will be a POST */ function server_request() { var xhr_wr = createXMLHttpRequest(); - var i, collect = ""; + var i, collect = "", post_collect = null, is_post = false; if (arguments.length > 0) { for (i = 0 ; i < arguments.length ; i+= 2) { - collect += (i == 0 ? "" : "&") + arguments[i] + "=" + encodeURIComponent(arguments[i+1]); + if (arguments[i] == "__POST__") { + is_post = true; + post_collect = ""; + i -= 1; + continue; + } + if (is_post) + post_collect += (post_collect == "" ? "" : "&") + arguments[i] + "=" + encodeURIComponent(arguments[i+1]); + else + collect += (i == 0 ? "" : "&") + arguments[i] + "=" + encodeURIComponent(arguments[i+1]); } } // alert("Args: "+arguments.length); @@ -285,9 +315,15 @@ function server_request() // console.log("server_request:preresp: "+xhr_wr.responseText); - xhr_wr.open('GET', 'index_wr.php?'+(is_conn ? 'sess='+sess+'&' : '')+collect, false); + if (is_post) { + xhr_wr.open('POST', 'index_wr.php?'+(is_conn ? 'sess='+sess+'&' : '')+collect, false); + xhr_wr.setRequestHeader("Content-type","application/x-www-form-urlencoded"); + } + else { + xhr_wr.open('GET', 'index_wr.php?'+(is_conn ? 'sess='+sess+'&' : '')+collect, false); + } xhr_wr.onreadystatechange = function() { return; }; - xhr_wr.send(null); + xhr_wr.send(post_collect); if (xhr_wr.responseText != null) { // console.log("server_request:resp: "+xhr_wr.responseText); @@ -330,6 +366,11 @@ function act_chatt(value) } /* Stat: ROOM */ +function act_ping() +{ + send_mesg("ping"); +} + function act_sitdown(table) { send_mesg("sitdown|"+table); @@ -806,7 +847,7 @@ function user_dec_and_state(el) var val_el; content = user_decorator(el); - content += state_add(el[0]); + content += state_add(el[0],(typeof(el[2]) != 'undefined' ? el[2] : null)); return (content); } @@ -1154,7 +1195,7 @@ function url_complete(parent, url) } // alert("host: ["+host+"] path: ["+path+"]"); - if (url.substring(0,6) == 'http:/' || url.substring(0,7) == 'https:/') { + if (url.substring(0,6) == 'http:/' || url.substring(0,7) == 'https:/' || url.substring(0,4) == 'ws:/') { return (url); } else if (url.substring(0,1) == '/') {