/*
- * brisk - commons.js
+ * brisk / fieldify - commons.js
*
- * Copyright (C) 2006-2012 Matteo Nastasi
- * mailto: nastasi@alternativeoutput.it
+ * Copyright (C) 2006-2016 Matteo Nastasi
+ * mailto: nastasi@alternativeoutput.it
* matteo.nastasi@milug.org
* web: http://www.alternativeoutput.it
*
*
*/
+var __mop_commons_vers="0.1.0"
+
var PLAYERS_N = 3;
var EXIT_BAN_TIME = 3600;
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?' },
return hex;
}
-function getStyle(x,IEstyleProp, MozStyleProp)
+function ends_with(s, suffix)
+{
+ if (s.indexOf(suffix, s.length - suffix.length) !== -1) {
+ return true;
+ }
+ return false;
+}
+
+function getStyle(x,IEstyleProp, MozStyleProp)
{
if (x.currentStyle) {
var y = x.currentStyle[IEstyleProp];
/*Copy the default setInterval behavior*/
var nativeSetInterval = window.setInterval;
- window.setInterval = function(fn,ms) {
+ window.setInterval = function(fn,ms) {
var param = [];
if(arguments.length <= 2) {
return nativeSetInterval(fn,ms);
else {
for(var i=2;i<arguments.length;i+=1) {
param[i-2] = arguments[i];
- }
+ }
}
-
+
if(typeof(fn)=='function') {
-
+
return (function (fn,ms,param) {
- var fo = function () {
+ var fo = function () {
fn.apply(window,param);
- };
- return nativeSetInterval(fo,ms);
+ };
+ return nativeSetInterval(fo,ms);
})(fn,ms,param);
}
else if(typeof(fn)=='string')
/*Copy the default setTimeout behavior*/
var nativeSetTimeout = window.setTimeout;
- window.setTimeout = function(fn,ms) {
+ window.setTimeout = function(fn,ms) {
var param = [];
if(arguments.length <= 2) {
return nativeSetTimeout(fn,ms);
else {
for(var i=2;i<arguments.length;i+=1) {
param[i-2] = arguments[i];
- }
+ }
}
-
+
if(typeof(fn)=='function') {
-
+
return (function (fn,ms,param) {
- var fo = function () {
+ var fo = function () {
fn.apply(window,param);
- };
- return nativeSetTimeout(fo,ms);
+ };
+ return nativeSetTimeout(fo,ms);
})(fn,ms,param);
}
else if(typeof(fn)=='string')
})()
-function addEvent(obj,type,fn)
+function addEvent(obj, type, fn)
{
if (obj.addEventListener) {
obj.addEventListener( type, fn, false);
function preload_images(arr,idx)
{
var im = new Image;
-
+
// $("imgct").innerHTML = "Stiamo caricando "+arr[idx]+"%.<br>";
im.onload = update_images;
im.onerror = error_images;
{
var xhr_wr = createXMLHttpRequest();
var is_conn = (sess == "not_connected" ? false : true);
-
+
// 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());
if var name == '__POST__' than all other vars will be managed as POST content
and the call will be a POST
*/
-function server_request()
+function server_request(page, sess)
{
var xhr_wr = createXMLHttpRequest();
var i, collect = "", post_collect = null, is_post = false;
if (arguments.length > 0) {
- for (i = 0 ; i < arguments.length ; i+= 2) {
+ for (i = 2 ; i < arguments.length ; i+= 2) {
if (arguments[i] == "__POST__") {
is_post = true;
post_collect = "";
}
// alert("Args: "+arguments.length);
- var is_conn = (sess == "not_connected" ? false : true);
-
- // console.log("server_request:preresp: "+xhr_wr.responseText);
-
+ var uri = page + '?' + (sess != null ? 'sess=' + sess + '&' : '') + collect;
if (is_post) {
- xhr_wr.open('POST', 'index_wr.php?'+(is_conn ? 'sess='+sess+'&' : '')+collect, false);
+ xhr_wr.open('POST', uri, 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.open('GET', uri, false);
}
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);
}
}
function act_chatt(value)
{
- send_mesg("chatt|"+encodeURIComponent(value));
+ if (value.substring(0, 6) == "/info ") {
+ info_show(value.substring(6));
+ }
+ else {
+ send_mesg("chatt|"+encodeURIComponent(value));
+ }
/*
obj.disabled = true;
obj.value = "";
function act_tav()
{
- act_chatt('/tav '+$('txt_in').value);
+ act_chatt('/tav '+$('txt_in').value);
$('txt_in').value = '';
}
send_mesg("roadmap");
}
-function act_whysupport()
-{
- send_mesg("whysupport");
-}
-
function act_lascio()
{
send_mesg("lascio");
function postact_logout()
{
// alert("postact_logout");
- try {
+ try {
xstm.abort();
} catch (e) {}
}
slowimg.prototype = {
- img: null,
+ img: null,
st: null,
x0: 0,
y0: 0,
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);
this.step_free = parseInt(this.step_n * this.free);
}
},
-
+
start: function(st)
{
// $("logz").innerHTML += " xxxxxxxxxxxxxxxxxxxxxSTART<br>";
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 + "<br>";
{
var clo, box;
var t = this;
-
+
this.st = st;
this.ancestor = document.body;
-
+
this.st.st_loc_new++;
clo = document.createElement("input");
box.style.visibility = "visible";
this.notitag = box;
-
+
this.ancestor.appendChild(box);
-
+
this.toutid = setTimeout(function(obj){ obj.unblock(); }, tout, this);
if (block_time != 0) {
notitag: null,
toutid: null,
clo: null,
- clodiv: null,
+ clodiv: null,
butt: null,
tblkid: null,
this.st.st_loc++;
}
},
-
+
hide: function()
{
clearTimeout(this.toutid);
{
notify_ex.call(this, st, text, tout, butt, w, h, false, 0);
}
-
+
function globst() {
this.st = -1;
this.st_loc = -1;
function remark_step()
{
var ct = $("remark").l_remct;
-
+
if (ct != 0) {
ct++;
if (ct > 2)
}
else
$("remark").className = "remark0";
-
+
return;
}
function italizer(ga)
{
var pre, pos;
- if (ga[0] & 2)
+ if (ga[0] & 2)
return "<i>"+ga[1]+"</i>";
else
return ga[1];
var CHATT_MAXLINES = 40;
-function user_decorator(user)
+function user_decorator(user, is_real)
{
var name, i, sp = "", cl = "";
- var flags = user[0] & 0x03 | ((user[0] & 0x040000) >> 16);
+ var flags = user[0] & 0x03 | ((user[0] & 0x0c0000) >> 16);
- for (i = 0 ; i < 3 ; i++) {
+ // console.log(user[1]+" FLAGS: "+flags);
+
+ for (i = 0 ; i < 4 ; i++) {
if (flags & (1 << i)) {
- cl += sp + "au" + i;
+ cl += sp + "au" + i + (is_real ? "" : "_off");
sp = " ";
}
}
- if (flags != 0)
- name = "<span class='" + cl + "'>"+user[1]+"</span>";
- else
+ if (flags != 0) {
+ name = "<span class='" + cl + "'><span class='" +
+ (is_real && (flags & 0xfffffe && ((flags & 0x01) == 0)) ? "id_usr" : "") +
+ "'>" + user[1] + "</span></span>";
+ }
+ else {
name = user[1];
+ }
return (name);
}
var content = "";
var val_el;
- content = user_decorator(el);
+ content = user_decorator(el, true);
content += state_add(el[0],(typeof(el[2]) != 'undefined' ? el[2] : null));
-
+
return (content);
}
var flags;
var isauth;
var bolder = [ (data[0] | 1), data[1] ];
- name = user_decorator(bolder);
+ name = user_decorator(bolder, false);
if ($("txt").scrollTop + parseInt(getStyle($("txt"),"height", "height")) - $("txt").scrollHeight >= 0)
must_scroll = true;
}
// $("txt").innerHTML;
-
+
if (must_scroll) {
$("txt").scrollTop = 10000000;
}
}
function onunload_cb () {
-
+
if (typeof(xstm) != "undefined")
xstm.the_end = true;
act_shutdown();
-
+
return(false);
}
function room_checkspace(emme,tables,inpe)
{
nome = "<b>";
- for (i = 0 ; i < emme ; i++)
+ for (i = 0 ; i < emme ; i++)
nome += "m";
nome += "</b>";
alta = "";
- for (i = 0 ; i < 5 ; i++)
+ for (i = 0 ; i < 5 ; i++)
alta += nome+"<br>";
for (i = 0 ; i < tables ; i++) {
var length = div.childNodes.length, results = new Array(length);
while (length--)
results[length] = div.childNodes[length];
-
+
for (i=0 ; i<results.length ; i++)
memo = memo + results[i].nodeValue;
}
download_mgr.prototype = {
ifra: null
}
+
+function submit_click(obj)
+{
+ obj.form.elements['realsub'].value = obj.id;
+}
+
+function class_check(item, cls_name)
+{
+ if ((" " + item.className + " ").indexOf(" " + cls_name + " ") == -1)
+ return (false);
+ else
+ return (true);
+}
+
+function class_add(item, cls_name)
+{
+ for (i = 1 ; i < arguments.length ; i++) {
+ if (! class_check(item, arguments[i])) {
+ item.className = item.className + " " + arguments[i];
+ }
+ }
+}
+
+function class_rem(item, cls_name)
+{
+ for (i = 1 ; i < arguments.length ; i++) {
+ var item_spc = " " + item.className + " ";
+ var cls_spc = " " + arguments[i] + " ";
+ var cls_out;
+
+ var pos = item_spc.indexOf(cls_spc);
+ if (pos != -1) {
+ cls_out = item_spc.substring(0, pos) + item_spc.substring(pos + cls_spc.length - 1);
+ if (cls_out == " ") {
+ item.className = "";
+ }
+ else {
+ item.className = cls_out.substring(1, cls_out.length - 1);
+ }
+ }
+ }
+}
+
+function class_subst(item, cls_out, cls_in)
+{
+ class_rem(item, cls_out);
+ class_add(item, cls_in);
+}
+