allignment pre merge in master
[brisk.git] / web / commons.js
index 51c081d..e3e56d7 100644 (file)
@@ -252,6 +252,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 +267,10 @@ function send_mesg(mesg)
     }
 }
 
+/*
+  request to server
+  server_request([arg0=arg1[, arg2=arg3[, ...]]])
+ */
 function server_request()
 {
     var xhr_wr = createXMLHttpRequest();
@@ -332,7 +342,10 @@ function act_wakeup()
     send_mesg("wakeup");
 }
 
-
+function act_splash()
+{
+    send_mesg("splash");
+}
 
 function act_help()
 {
@@ -360,9 +373,9 @@ function act_about()
     send_mesg("about");
 }
 
-function act_classific()
+function act_placing()
 {
-    send_mesg("classific");
+    send_mesg("placing");
 }
 
 function act_roadmap()
@@ -555,8 +568,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_ex(st, text, tout, butt, w, h, is_opa)
+function notify_ex(st, text, tout, butt, w, h, is_opa, block_time)
 {
     var clo, box;
     var t = this;
@@ -571,12 +589,21 @@ function notify_ex(st, text, tout, butt, w, h, is_opa)
     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");
@@ -609,8 +636,13 @@ function notify_ex(st, text, tout, butt, w, h, is_opa)
     
     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();
+    }
 
 }
 
@@ -620,7 +652,11 @@ notify_ex.prototype = {
     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) {
@@ -651,7 +687,7 @@ notify.superClass = notify_ex.prototype;
 
 function notify(st, text, tout, butt, w, h)
 {
-    notify_ex.call(this, st, text, tout, butt, w, h, false);
+    notify_ex.call(this, st, text, tout, butt, w, h, false, 0);
 }
        
 
@@ -1001,3 +1037,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;
+               }
+       }
+}