X-Git-Url: http://mop.ddnsfree.com/gitweb/?a=blobdiff_plain;f=web%2Fcommons.js;h=3b79ddc1f4f45ed19223c08134e5707e5927ecd5;hb=0d462f547c388b20d72a9de96955484636736108;hp=c8573905244f0f2604bf0e8bd65000ccb1d93186;hpb=124776c58170a463f96cdea1a6210a27bac01fa2;p=brisk.git diff --git a/web/commons.js b/web/commons.js index c857390..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 @@ -107,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); } @@ -701,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; } @@ -796,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 = ""; @@ -811,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") ); } /* @@ -899,14 +956,44 @@ function room_checkspace(emme,tables,inpe) $("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' + -'' + +'' + '' + -''; } }