X-Git-Url: http://mop.ddnsfree.com/gitweb/?a=blobdiff_plain;f=web%2Fcommons.js;h=3b79ddc1f4f45ed19223c08134e5707e5927ecd5;hb=0d462f547c388b20d72a9de96955484636736108;hp=26e15819727f1cc8b3347743757c4870efecba78;hpb=399b2e251dfa539d95e81bd3a20b47f114d9a5e2;p=brisk.git diff --git a/web/commons.js b/web/commons.js index 26e1581..3b79ddc 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 @@ -22,6 +25,7 @@ var PLAYERS_N = 3; var EXIT_BAN_TIME = 900; +var cookiepath = "/brisk/"; function $(id) { return document.getElementById(id); } @@ -106,8 +110,50 @@ function getStyle(x,IEstyleProp, MozStyleProp) })() +function addEvent(obj,type,fn) +{ + if (obj.addEventListener) { + obj.addEventListener( type, fn, false); + } + else if (obj.attachEvent) { + obj["e"+type+fn] = fn; + obj[type+fn] = function() { obj["e"+type+fn]( window.event ); } + obj.attachEvent( "on"+type, obj[type+fn] ); + } + else + throw new Error("Event registration not supported"); +} + +function removeEvent(obj,type,fn) +{ + if (obj.removeEventListener) { + obj.removeEventListener( type, fn, false ); + } + else if (obj.detachEvent) { + obj.detachEvent( "on"+type, obj[type+fn] ); + obj[type+fn] = null; + obj["e"+type+fn] = null; + } +} + // var card_pos = RANGE 0 <= x < cards_ea_n +function show_bigpict(obj, act, x, y) +{ + var big; + + // alert("offsetTop: "+obj.offsetTop+" offsetLeft: "+obj.offsetLeft+"obj.id: "+obj.id); + big = $(obj.id+"_big"); + if (act == "over") { + big.style.left = obj.offsetLeft + x+"px"; + big.style.top = obj.offsetTop + y+"px"; + big.style.visibility = "visible"; + } + else { + big.style.visibility = "hidden"; + } +} + function rnd_int(min, max) { return Math.floor(Math.random() * (max - min + 1) + min); } @@ -134,10 +180,12 @@ function reset_images() function update_images() { + // if (g_imgct % 10 == 0) alert("g_imgct: "+g_imgct+" xx "+g_preload_img_arr[g_imgct]); $("imgct").innerHTML = "Immagini caricate "+g_preload_imgsz_arr[g_imgct]+"%."; - if (g_imgct < g_preload_img_arr.length) - setTimeout(preload_images, 100, g_preload_img_arr, g_imgct); - g_imgct++; + if (g_imgct+1 < g_preload_img_arr.length) { + g_imgct++; + setTimeout(preload_images, 100, g_preload_img_arr, g_imgct-1); + } // $("imgct").innerHTML += "U"; } @@ -174,7 +222,8 @@ function createXMLHttpRequest() { function send_mesg(mesg) { var xhr_wr = createXMLHttpRequest(); - // xhr_wr.open('GET', 'index_wr.php?sess='+sess+'&mesg='+encodeURIComponent(mesg), true); + + xhr_wr.open('GET', 'index_wr.php?sess='+sess+'&mesg='+mesg, true); xhr_wr.onreadystatechange = function() { return; }; xhr_wr.send(null); @@ -267,7 +316,7 @@ function safelogout() { var res; - if (g_exitlock < 3) + if (g_exitlock < 2) res = window.confirm("Sei sicuro di volere abbandonare la partita?\nATTENZIONE: se esci adesso senza il consenso degli altri giocatori non potrai sederti ai tavoli per "+(Math.floor(EXIT_BAN_TIME/60))+" minuti."); else res = window.confirm("Sei sicuro di volere abbandonare la partita?"); @@ -309,11 +358,6 @@ function act_shutdown() c++; } -function act_preout() -{ - act_logout(); -} - function postact_logout() { // alert("postact_logout"); @@ -467,10 +511,12 @@ function dispose_asta(idx, pnt, nopoint) 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) @@ -478,15 +524,15 @@ function dispose_asta(idx, pnt, nopoint) else btn.style.left = asta_xarr[(i+1) % 3]; - btn.style.top = parseInt(i / 3) * 50+1; + btn.style.top = parseInt(i / 3) * 50 + (i == 9 ? 0 : 1); if (pnt >= 0) { eval("btn.onclick = function () { act_asta("+pass+",61); }"); - btn.style.hover_cursor = "pointer"; + btn.style.cursor = "pointer"; } else { btn.onclick = null; - btn.style.hover_cursor = ""; + btn.style.cursor = "default"; } } @@ -504,14 +550,14 @@ function dispose_asta(idx, pnt, nopoint) btn.style.left = asta_xarr[i % 3]; btn.style.top = 25 + parseInt(i / 3) * 50 - 1; btn.src = "img/astaptsub"+(pnt >= 0 ? "" : "_ro")+".png"; - // btn.style.visibility = "visible"; + btn.style.cursor = (pnt >= 0 ? "pointer" : "default"); if (pnt >= 0) { btn.onclick = function () { act_asta(9,$("astapt").value); }; - // btn.stylehover.cursor = "pointer"; + btn.style.cursor = "pointer"; } else { btn.onclick = null; - // btn.stylehover.cursor = ""; + btn.style.cursor = "default"; } i+=1; @@ -520,13 +566,12 @@ function dispose_asta(idx, pnt, nopoint) 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); }; - // btn.stylehover.cursor = "pointer"; } else { btn.onclick = null; - // btn.stylehover.cursor = ""; } btn = $("astalascio"); @@ -541,13 +586,12 @@ function dispose_asta(idx, pnt, nopoint) 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); }; - // btn.stylehover.cursor = "pointer"; } else { btn.onclick = null; - // btn.stylehover.cursor = ""; } btn = $("astalascio"); @@ -558,6 +602,13 @@ function dispose_asta(idx, pnt, nopoint) $("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"; @@ -592,6 +643,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"; @@ -694,15 +746,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; } @@ -789,6 +841,13 @@ 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 == CHATT_MAXLINES) { $("txt").innerHTML = ""; @@ -804,8 +863,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") ); } /* @@ -881,7 +945,7 @@ function room_checkspace(emme,tables,inpe) stand = ""; for (i = 0 ; i < inpe ; i++) { - stand += ""; + stand += ""; if ((i+1) % 4 == 0) { stand += ""; } @@ -889,7 +953,37 @@ 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+"