X-Git-Url: http://mop.ddnsfree.com/gitweb/?a=blobdiff_plain;f=web%2Fcommons.js;h=713a4bea8cc377b13298bf941b0e89d032bc3e8b;hb=e05b72f2d772b765dd9bd54098cd2c4efbb7b06b;hp=99a2983fdc342941f9366287cffe998da4e40f1d;hpb=b6f3d93f02fbf3adf376f9fbaad8cc739b8d3145;p=brisk.git
diff --git a/web/commons.js b/web/commons.js
index 99a2983..713a4be 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,6 +25,11 @@ var PLAYERS_N = 3;
var EXIT_BAN_TIME = 3600;
var cookiepath = "/brisk/";
+var BSK_USER_FLAGS = 0;
+var BSK_USER_FLGVL = 1;
+var BSK_USER_NICK = 2;
+var BSK_USER_SCOL = 3;
+
var mlang_commons = { 'imgload_a' : { 'it' : 'Immagine caricate ',
'en' : 'Loaded images ' },
'imgload_b' : { 'it' : '%.',
@@ -38,12 +43,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 +257,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;
@@ -266,17 +290,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 +320,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);
@@ -796,11 +837,12 @@ var CHATT_MAXLINES = 40;
function user_decorator(user)
{
var name;
- var flags = user[0];
+ var flags = user[BSK_USER_FLAGS];
+ var flags_vlt = user[BSK_USER_FLGVL];
if ((flags & 0x03) != 0)
- name = ""+user[1]+"";
+ name = ""+user[BSK_USER_NICK]+"";
else
- name = user[1];
+ name = user[BSK_USER_NICK];
return (name);
}
@@ -811,7 +853,8 @@ function user_dec_and_state(el)
var val_el;
content = user_decorator(el);
- content += state_add(el[0]);
+ content += state_add(el[BSK_USER_FLAGS], el[BSK_USER_FLGVL],
+ (typeof(el[BSK_USER_SCOL]) != 'undefined' ? el[BSK_USER_SCOL] : null));
return (content);
}
@@ -824,7 +867,7 @@ function chatt_sub(dt,data,str)
var name;
var flags;
var isauth;
- var bolder = [ (data[0] | 1), data[1] ];
+ var bolder = [ (data[BSK_USER_FLAGS] | 1), data[BSK_USER_FLGVL], data[BSK_USER_NICK] ];
name = user_decorator(bolder);
if ($("txt").scrollTop + parseInt(getStyle($("txt"),"height", "height")) - $("txt").scrollHeight >= 0)