X-Git-Url: http://mop.ddnsfree.com/gitweb/?a=blobdiff_plain;f=web%2Fcommons.js;h=3207c110723a16d26bcbc6c9ad1836c45034a7a3;hb=29ef3f7db6bc1d39c658a15d95d22e45bbd59c16;hp=9cd19167c0f57f49a893ef709e9e1a971563328b;hpb=225527445c0b5fc3448750b03046748e4746400c;p=brisk.git diff --git a/web/commons.js b/web/commons.js index 9cd1916..3207c11 100644 --- a/web/commons.js +++ b/web/commons.js @@ -1,7 +1,10 @@ /* * brisk - commons.js * - * Copyright (C) 2006 matteo.nastasi@milug.org + * Copyright (C) 2006-2008 Matteo Nastasi + * mailto: nastasi@alternativeoutput.it + * matteo.nastasi@milug.org + * web: http://www.alternativeoutput.it * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -21,9 +24,21 @@ */ var PLAYERS_N = 3; +var EXIT_BAN_TIME = 900; +var cookiepath = "/brisk/"; function $(id) { return document.getElementById(id); } +function getStyle(x,IEstyleProp, MozStyleProp) +{ + if (x.currentStyle) { + var y = x.currentStyle[IEstyleProp]; + } else if (window.getComputedStyle) { + var y = document.defaultView.getComputedStyle(x,null).getPropertyValue(MozStyleProp); + } + return y; +} + /* replacement of setInterval on IE */ (function(){ /*if not IE, do nothing*/ @@ -60,10 +75,85 @@ function $(id) { return document.getElementById(id); } throw Error('setInterval Error\nInvalid function type'); }; }; + + /*Copy the default setTimeout behavior*/ + var nativeSetTimeout = window.setTimeout; + window.setTimeout = function(fn,ms) { + var param = []; + if(arguments.length <= 2) { + return nativeSetTimeout(fn,ms); + } + else { + for(var i=2;i"; + + if (this.action != null) { + eval(this.action); + } + if (this.st != null && this.st.st_loc < this.st.st_loc_new) { // alert("QUI2"); this.st.st_loc++; this.st = null; } - if (this.action != null) { - eval(this.action); - } if (this.srcend != null) { this.img.src = this.srcend; } @@ -385,22 +524,24 @@ slowimg.prototype = { } } -var asta_xarr = new Array(0,66,133); +var asta_xarr = new Array(0,66,132); /* TODO: impostare gli onclick */ -function dispose_asta(idx, pnt) +function dispose_asta(idx, pnt, nopoint) { var i, btn, pass; - var btn; + for (i = 0 ; i < 10 ; i++) { btn = $("asta"+i); if (i < idx) { btn.src = "img/astapasso"+(pnt >= 0 ? "" : "_ro")+".png"; + btn.style.cursor = (pnt >= 0 ? "pointer" : "default"); pass = -1; } else { btn.src = "img/asta"+i+(pnt >= 0 ? "" : "_ro")+".png"; + btn.style.cursor = (pnt >= 0 ? "pointer" : "default"); pass = i; } if (i < 19) @@ -408,19 +549,22 @@ function dispose_asta(idx, pnt) else btn.style.left = asta_xarr[(i+1) % 3]; - btn.style.top = parseInt(i / 3) * 50+1; - // btn.style.visibility = "visible"; - - if (pnt >= 0) + btn.style.top = parseInt(i / 3) * 50 + (i == 9 ? 0 : 1); + + if (pnt >= 0) { eval("btn.onclick = function () { act_asta("+pass+",61); }"); - else + btn.style.cursor = "pointer"; + } + else { btn.onclick = null; + btn.style.cursor = "default"; + } } btn = $("astaptdiv"); btn.style.left = asta_xarr[i % 3]; - btn.style.top = parseInt(i / 3) * 50; + btn.style.top = parseInt(i / 3) * 50 - 2; // btn.style.visibility = "visible"; btn = $("astapt"); @@ -429,27 +573,67 @@ function dispose_asta(idx, pnt) btn = $("astaptsub"); btn.style.left = asta_xarr[i % 3]; - btn.style.top = 25 + parseInt(i / 3) * 50;; + btn.style.top = 25 + parseInt(i / 3) * 50 - 1; btn.src = "img/astaptsub"+(pnt >= 0 ? "" : "_ro")+".png"; - // btn.style.visibility = "visible"; - if (pnt >= 0) + btn.style.cursor = (pnt >= 0 ? "pointer" : "default"); + if (pnt >= 0) { btn.onclick = function () { act_asta(9,$("astapt").value); }; - else + btn.style.cursor = "pointer"; + } + else { btn.onclick = null; + btn.style.cursor = "default"; + } i+=1; - btn = $("astapasso2"); - btn.style.left = asta_xarr[i % 3]; - btn.style.top = parseInt(i / 3) * 50;; - btn.src = "img/astapasso"+(pnt >= 0 ? "" : "_ro")+".png"; - // btn.style.visibility = "visible"; - if (pnt >= 0) - btn.onclick = function () { act_asta(-1,0); }; - else + if (nopoint) { + btn = $("astapasso"); + btn.style.left = asta_xarr[i % 3]; + btn.style.top = parseInt(i / 3) * 50; + btn.src = "img/astapashalf"+(pnt >= 0 ? "" : "_ro")+".png"; + btn.style.cursor = (pnt >= 0 ? "pointer" : "default"); + if (pnt >= 0) { + btn.onclick = function () { act_asta(-1,0); }; + } + else { + btn.onclick = null; + } + + btn = $("astalascio"); + btn.style.left = asta_xarr[i % 3]; + btn.style.top = parseInt(i / 3) * 50 + 24; + btn.src = "img/astalascio.png"; + btn.style.visibility = "visible"; + btn.onclick = function () { safelascio(); }; + } + else { + btn = $("astapasso"); + btn.style.left = asta_xarr[i % 3]; + btn.style.top = parseInt(i / 3) * 50;; + btn.src = "img/astapasso"+(pnt >= 0 ? "" : "_ro")+".png"; + btn.style.cursor = (pnt >= 0 ? "pointer" : "default"); + if (pnt >= 0) { + btn.onclick = function () { act_asta(-1,0); }; + } + else { + btn.onclick = null; + } + + btn = $("astalascio"); + btn.style.visibility = "hidden"; btn.onclick = null; + } + // btn.style.visibility = "visible"; $("asta").style.visibility = "visible"; } +function asta_pnt_set(pnt) +{ + btn = $("astapt"); + var rpnt = (pnt < 0 ? -pnt : pnt); + btn.value = (rpnt < 61 ? 61 : (rpnt > 120 ? 120 : rpnt)); +} + function hide_asta() { $("asta").style.visibility = "hidden"; @@ -484,6 +668,7 @@ function notify(st, text, tout, butt, w, h) box.innerHTML = text; box.style.zIndex = 200; box.style.width = w+"px"; + box.style.marginLeft = -parseInt(w/2)+"px"; box.style.height = h+"px"; box.appendChild(clodiv); box.style.visibility = "visible"; @@ -586,15 +771,15 @@ function set_names(so,ea,ne,nw,we) { // alert("EA: "+ea); $("name").innerHTML = so; - $("name").title = so; + $("name").title = unescapeHTML(so); $("name_ea").innerHTML = ea; - $("name_ea").title = ea; + $("name_ea").title = unescapeHTML(ea); $("name_ne").innerHTML = ne; - $("name_ne").title = ne; + $("name_ne").title = unescapeHTML(ne); $("name_nw").innerHTML = nw; - $("name_nw").title = nw; + $("name_nw").title = unescapeHTML(nw); $("name_we").innerHTML = we; - $("name_we").title = we; + $("name_we").title = unescapeHTML(we); return; } @@ -631,23 +816,36 @@ function show_astat(zer,uno,due,tre,qua) } } +function exitlock_show(num, islock) +{ + g_exitlock = num; + + num = (num < 3 ? num : 3); + $("exitlock").src = "img/exitlock"+num+(islock ? "n" : "y")+".png"; + // alert("EXITLOCK: "+$("exitlock").src); + $("exitlock").style.visibility = "visible"; +} + var fin = 0; +// exitlock_show(0, true); + function table_init() { var sux = new Array("", "_ea", "_ne", "_nw", "_we"); - remark_off(); + // console.log("table_init"); + remark_off(); $("asta").style.visibility = "hidden"; $("caller").style.visibility = "hidden"; show_astat(-2,-2,-2,-2,-2); - for (i=0 ; i < 8 ; i++) { Drag.init($("card" + i), card_mouseup_cb); for (e = 0 ; e < PLAYERS_N ; e++) $("card"+sux[e]+i).style.visibility = "hidden"; } for (i=0 ; i < PLAYERS_N ; i++) { + // console.log("shut: "+"takes"+sux[i]); $("takes"+sux[i]).style.visibility = "hidden"; } @@ -666,13 +864,22 @@ function table_init() { var chatt_lines = new Array(); var chatt_lines_n = 0; +var CHATT_MAXLINES = 40; + /* PRO CHATT */ function chatt_sub(name,str) { + var must_scroll = false; + + // 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 == 20) { + if (chatt_lines_n == CHATT_MAXLINES) { $("txt").innerHTML = ""; - for (i = 0 ; i < 19 ; i++) { + for (i = 0 ; i < (CHATT_MAXLINES - 1) ; i++) { chatt_lines[i] = chatt_lines[i+1]; $("txt").innerHTML += chatt_lines[i]; } @@ -684,8 +891,13 @@ function chatt_sub(name,str) $("txt").innerHTML += chatt_lines[chatt_lines_n]; chatt_lines_n++; } - $("txt").innerHTML; - $("txt").scrollTop = 10000000; + // $("txt").innerHTML; + + + if (must_scroll) { + $("txt").scrollTop = 10000000; + } + // alert("scTOP "+$("txt").scrollTop+" scHEIGHT: "+$("txt").scrollHeight+" HEIGHT: "+getStyle($("txt"),"height", "height") ); } /* @@ -761,7 +973,7 @@ function room_checkspace(emme,tables,inpe) stand = ""; for (i = 0 ; i < inpe ; i++) { - stand += ""; + stand += ""; if ((i+1) % 4 == 0) { stand += ""; } @@ -769,5 +981,47 @@ function room_checkspace(emme,tables,inpe) stand += ""; $("standup").innerHTML = stand; - $("esco").innerHTML = ""; + $("esco").innerHTML = ""; +} + +function unescapeHTML(cont) { + var div = document.createElement('div'); + var memo = ""; + var i; + + div.innerHTML = cont; + if (div.childNodes[0]) { + if (div.childNodes.length > 1) { + if (div.childNodes.toArray) + alert("si puo"); + else { + var length = div.childNodes.length, results = new Array(length); + while (length--) + results[length] = div.childNodes[length]; + + for (i=0 ; i' + +'' + +'' + +''; + } }
"+nome+""+nome+"