/*
 * bw.js
 *
 * Javascript file with functions used by bwired web pages.
 *
 */

// Constants (or pseudo constants)
var DBNull = new Object();

// Variable declarations (values set by bwWebPage)
var bwOnlyOneSubmit = false;

var bwIsSubmitted = false;
var bwShowWaitMessageOnSubmit = false;
var bwPleaseWaitMessage = 'Please Wait';

function bwWebPageSubmitHandler(elementName)
{
  if (bwOnlyOneSubmit && !(event.returnValue==false))
  {
    if (bwIsSubmitted)
    {
      alert('Please wait for the current request to complete');
      event.returnValue = false;
      return false;
    }
    bwIsSubmitted = true;
  }
  if (bwShowWaitMessageOnSubmit && !(event.returnValue==false))
  {
    bwShowWaitMessage(elementName);
  }
  return true;
}

function bwShowWaitMessage(elementName)
{
  var div = document.getElementById('__bwWaitDiv');
  if (div == null)
  {
    div = document.createElement('div');
    div.id = '__bwWaitDiv';
    div.innerHTML =
      '<center>' +
        '<span  id="__bwWaitMsg" class="Notes" style="position:relative;top:1000px;">' +
          bwPleaseWaitMessage + '...<span id="__bwWaitClock" style="font-family:wingdings;font-size:190%;">&#xb7;</span>' +
        '</span>' +
      '</center>';
    div.style.position = 'absolute';
    div.style.top = '800px';
    div.style.left = '0px';
    div.style.width = '100%';
    div.style.height = '100%';
    div.style.cursor = 'wait';
    div.animFunction = function()
    {
      var clk = arguments.callee.div.all['__bwWaitClock'];
      var timerId = arguments.callee.timerId;
      if (clk==null) {
        if (timerId!=null) {
          clearInterval(timerId);
          arguments.callee.timerId = null;
        }
        return;
      }
      var i = arguments.callee.animIndex;
      i = (i + 1) % 12;
      clk.innerHTML = '&#' + (0xb7+i) + ';';
      arguments.callee.animIndex = i;
    };
    div.animFunction.animIndex = 0;
    div.animFunction.div = div;
    div.animFunction.timerId = null;
    document.body.appendChild(div);
  }
  div.style.display = 'block';
  var msg = div.all['__bwWaitMsg'];
  //msg.style.pixelTop=Math.min((document.body.clientHeight-msg.clientHeight)/3, 120);
  //msg.style.pixelTop = document.malaka.button_test.offsetTop.value;
  msg.style.pixelTop = getAbsY(document.getElementById(elementName)) - 150;

  
  if (div.animFunction.timerId == null)
    div.animFunction.timerId = setInterval(div.animFunction, 200);
}






function getAbsX(elt) { return parseInt(elt.x) ? elt.x :
getAbsPos(elt,"Left"); }
function getAbsY(elt) { return parseInt(elt.y) ? elt.y :
getAbsPos(elt,"Top"); }
function getAbsPos(elt,which) {
 iPos = 0;
 while (elt != null) {
  iPos += elt["offset" + which];
  elt = elt.offsetParent;
 }
 return iPos;
}





