X-Git-Url: http://mop.ddnsfree.com/gitweb/?a=blobdiff_plain;ds=inline;f=web%2Fcommons.js;h=77be887ee744cfc1c6891d1ed50f53cee2851a73;hb=b3865c1e32776904f4e5b383d7d8de028b93d671;hp=3995331ea5fe7e1ff8f97657dc712f56202c7778;hpb=421d30f68820d3a7d1950f24db55f0168661b2e2;p=brisk.git
diff --git a/web/commons.js b/web/commons.js
index 3995331..77be887 100644
--- a/web/commons.js
+++ b/web/commons.js
@@ -1,7 +1,7 @@
/*
* brisk - commons.js
*
- * Copyright (C) 2006-2008 Matteo Nastasi
+ * Copyright (C) 2006-2011 Matteo Nastasi
* mailto: nastasi@alternativeoutput.it
* matteo.nastasi@milug.org
* web: http://www.alternativeoutput.it
@@ -19,12 +19,10 @@
* not, write to the Free Software Foundation, Inc, 59 Temple Place -
* Suite 330, Boston, MA 02111-1307, USA.
*
- * $Id$
- *
*/
var PLAYERS_N = 3;
-var EXIT_BAN_TIME = 900;
+var EXIT_BAN_TIME = 3600;
var cookiepath = "/brisk/";
var mlang_commons = { 'imgload_a' : { 'it' : 'Immagine caricate ',
@@ -252,6 +250,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.onreadystatechange = function() { return; };
+ if (typeof(console) == 'object') {
+ if (typeof(console.log) == 'function') {
+ var ldate = new Date();
+ console.log(ldate.getTime()+':MESG:'+mesg);
+ }
+ }
xhr_wr.send(null);
if (!is_conn) {
@@ -261,6 +265,10 @@ function send_mesg(mesg)
}
}
+/*
+ request to server
+ server_request([arg0=arg1[, arg2=arg3[, ...]]])
+ */
function server_request()
{
var xhr_wr = createXMLHttpRequest();
@@ -332,7 +340,10 @@ function act_wakeup()
send_mesg("wakeup");
}
-
+function act_splash()
+{
+ send_mesg("splash");
+}
function act_help()
{
@@ -360,6 +371,11 @@ function act_about()
send_mesg("about");
}
+function act_placing()
+{
+ send_mesg("placing");
+}
+
function act_roadmap()
{
send_mesg("roadmap");
@@ -550,8 +566,13 @@ slowimg.prototype = {
}
}
+function div_show(div)
+{
+ div.style.top = parseInt((document.body.clientHeight - parseInt(getStyle(div,"height", "height"))) / 2) + document.body.scrollTop;
+ div.style.visibility = "visible";
+}
-function notify(st, text, tout, butt, w, h)
+function notify_ex(st, text, tout, butt, w, h, is_opa, block_time)
{
var clo, box;
var t = this;
@@ -566,12 +587,21 @@ function notify(st, text, tout, butt, w, h)
clo.type = "submit";
clo.className = "button";
clo.style.bottom = "4px";
- clo.value = butt;
clo.obj = this;
- clo.onclick = this.input_hide;
-
+ if (block_time > 0) {
+ clo.value = "leggere, prego.";
+ this.butt = butt;
+ }
+ else {
+ clo.value = butt;
+ clo.onclick = this.input_hide;
+ }
+
clodiv = document.createElement("div");
clodiv.className = "notify_clo";
+ this.clo = clo;
+ this.clodiv = clodiv;
+
clodiv.appendChild(clo);
cont = document.createElement("div");
@@ -584,7 +614,11 @@ function notify(st, text, tout, butt, w, h)
cont.innerHTML = text;
box = document.createElement("div");
- box.className = "notify";
+ if (is_opa)
+ box.className = "notify_opaque";
+ else
+ box.className = "notify";
+
box.style.zIndex = 200;
box.style.width = w+"px";
box.style.marginLeft = -parseInt(w/2)+"px";
@@ -600,17 +634,27 @@ function notify(st, text, tout, butt, w, h)
this.toutid = setTimeout(function(obj){ obj.unblock(); }, tout, this);
- formsub_hilite(clo);
- clo.focus();
+ if (block_time != 0) {
+ this.tblkid = setTimeout(function(obj){ obj.clo.value = obj.butt; obj.clo.onclick = obj.input_hide; formsub_hilite(obj.clo); obj.clo.focus(); }, block_time, this);
+ }
+ else {
+ formsub_hilite(clo);
+ clo.focus();
+ }
}
-notify.prototype = {
+
+notify_ex.prototype = {
ancestor: null,
st: null,
notitag: null,
toutid: null,
-
+ clo: null,
+ clodiv: null,
+ butt: null,
+ tblkid: null,
+
unblock: function()
{
if (this.st.st_loc < this.st.st_loc_new) {
@@ -632,6 +676,17 @@ notify.prototype = {
this.obj.unblock();
}
}
+
+
+notify.prototype = notify_ex.prototype; // Define sub-class
+notify.prototype.constructor = notify;
+notify.baseConstructor = notify_ex;
+notify.superClass = notify_ex.prototype;
+
+function notify(st, text, tout, butt, w, h)
+{
+ notify_ex.call(this, st, text, tout, butt, w, h, false, 0);
+}
function $(id) {
@@ -710,6 +765,30 @@ var chatt_lines_n = 0;
var CHATT_MAXLINES = 40;
+function user_decorator(user)
+{
+ var name;
+ var flags = user[0];
+ if ((flags & 0x03) != 0)
+ name = ""+user[1]+"";
+ else
+ name = user[1];
+
+ return (name);
+}
+
+function user_dec_and_state(el)
+{
+ var content = "";
+ var val_el;
+
+ content = user_decorator(el);
+ content += state_add(el[0]);
+
+ return (content);
+}
+
+
/* PRO CHATT */
function chatt_sub(dt,data,str)
{
@@ -717,39 +796,34 @@ function chatt_sub(dt,data,str)
var name;
var flags;
var isauth;
-
- flags = data[0];
- if (flags & 0x02)
- name = ""+data[1]+"";
- else
- name = data[1];
- // alert ($("txt").scrollTop + parseInt(getStyle($("txt"),"height", "height")) - $("txt").scrollHeight);
-
- if ($("txt").scrollTop + parseInt(getStyle($("txt"),"height", "height")) - $("txt").scrollHeight >= 0)
- must_scroll = true;
-
- // alert("ARRIVA NAME: "+ name + " STR:"+str);
- if (chatt_lines_n == CHATT_MAXLINES) {
- $("txt").innerHTML = "";
- for (i = 0 ; i < (CHATT_MAXLINES - 1) ; i++) {
- chatt_lines[i] = chatt_lines[i+1];
- $("txt").innerHTML += chatt_lines[i];
+ var bolder = [ (data[0] | 1), data[1] ];
+ name = user_decorator(bolder);
+
+ if ($("txt").scrollTop + parseInt(getStyle($("txt"),"height", "height")) - $("txt").scrollHeight >= 0)
+ must_scroll = true;
+
+ // alert("ARRIVA NAME: "+ name + " STR:"+str);
+ if (chatt_lines_n == CHATT_MAXLINES) {
+ $("txt").innerHTML = "";
+ for (i = 0 ; i < (CHATT_MAXLINES - 1) ; i++) {
+ chatt_lines[i] = chatt_lines[i+1];
+ $("txt").innerHTML += chatt_lines[i];
+ }
+ chatt_lines[i] = dt+name+": "+str+ "
";
+ $("txt").innerHTML += chatt_lines[i];
}
- chatt_lines[i] = dt+""+name+" "+str+ "
";
- $("txt").innerHTML += chatt_lines[i];
- }
- else {
- chatt_lines[chatt_lines_n] = dt+""+name+" "+str+ "
";
- $("txt").innerHTML += chatt_lines[chatt_lines_n];
- chatt_lines_n++;
- }
- // $("txt").innerHTML;
-
+ else {
+ chatt_lines[chatt_lines_n] = dt+name+": "+str+ "
";
+ $("txt").innerHTML += chatt_lines[chatt_lines_n];
+ chatt_lines_n++;
+ }
+ // $("txt").innerHTML;
- if (must_scroll) {
- $("txt").scrollTop = 10000000;
- }
- // alert("scTOP "+$("txt").scrollTop+" scHEIGHT: "+$("txt").scrollHeight+" HEIGHT: "+getStyle($("txt"),"height", "height") );
+
+ if (must_scroll) {
+ $("txt").scrollTop = 10000000;
+ }
+ // alert("scTOP "+$("txt").scrollTop+" scHEIGHT: "+$("txt").scrollHeight+" HEIGHT: "+getStyle($("txt"),"height", "height") );
}
/*
@@ -980,3 +1054,42 @@ function formsub_hilite(obj)
addEvent(obj, "blur", function () { this.className = 'input_sub'; });
}
+// return the value of the radio button that is checked
+// return an empty string if none are checked, or
+// there are no radio buttons
+function get_checked_value(radioObj) {
+ if(!radioObj)
+ return "";
+ var radioLength = radioObj.length;
+ if(radioLength == undefined)
+ if(radioObj.checked)
+ return radioObj.value;
+ else
+ return "";
+ for(var i = 0; i < radioLength; i++) {
+ if(radioObj[i].checked) {
+ return radioObj[i].value;
+ }
+ }
+ return "";
+}
+
+// set the radio button with the given value as being checked
+// do nothing if there are no radio buttons
+// if the given value does not exist, all the radio buttons
+// are reset to unchecked
+function set_checked_value(radioObj, newValue) {
+ if(!radioObj)
+ return;
+ var radioLength = radioObj.length;
+ if(radioLength == undefined) {
+ radioObj.checked = (radioObj.value == newValue.toString());
+ return;
+ }
+ for(var i = 0; i < radioLength; i++) {
+ radioObj[i].checked = false;
+ if(radioObj[i].value == newValue.toString()) {
+ radioObj[i].checked = true;
+ }
+ }
+}