function precision(num, dp)
{
  var mult = Math.pow(10,dp);
  num = Math.round(num*mult);
  return num/mult;
}

function showTable(tNum, maxNum)
{
  for (i=0 ; i<=maxNum ; i++) {
    formObj = document.getElementById("table" + i);
    buttonObj = document.getElementById("menuoption" + i);
    
    if (i == tNum) {
      formObj.style.display = '';
      buttonObj.className = "menuSelected";
    }
    else {
      formObj.style.display = 'none';
      buttonObj.className = "";
    }
  }
}

function subForm(sfFormName)
{
  formObj = document.getElementById(sfFormName);
  formObj.submit();
}

function setFormAction(sfaTarget, sfaFormName)
{
  formObj = document.getElementById(sfaFormName);
  formObj.action = sfaTarget;
  
  formObj.submit();
}

function setFormTarget(sftFormName, sftTarget)
{
  formObj = document.getElementById(sftFormName);
  formObj.target = sftTarget;
}

function popUp(page)
{ 
  OpenWin = this.open(page, "note", "toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=auto,resizable=yes,copyhistory=yes,width=700,height=400"); 
} 

function checkBox(cbObjName)
{
    cbObj = document.getElementById(cbObjName);
    cbObj.checked = !cbObj.checked;
}

function Hash()
{
    this.length = 0;
    this.items = new Array();
    for (var i = 0; i < arguments.length; i += 2) {
        if (typeof(arguments[i + 1]) != 'undefined') {
            this.items[arguments[i]] = arguments[i + 1];
            this.length++;
        }
    }
   
    this.removeItem = function(in_key)
    {
        var tmp_previous;
        if (typeof(this.items[in_key]) != 'undefined') {
            this.length--;
            var tmp_previous = this.items[in_key];
            delete this.items[in_key];
        }
       
        return tmp_previous;
    }

    this.getItem = function(in_key) {
        return this.items[in_key];
    }

    this.setItem = function(in_key, in_value)
    {
        var tmp_previous;
        if (typeof(in_value) != 'undefined') {
            if (typeof(this.items[in_key]) == 'undefined') {
                this.length++;
            }
            else {
                tmp_previous = this.items[in_key];
            }

            this.items[in_key] = in_value;
        }
       
        return tmp_previous;
    }

    this.hasItem = function(in_key)
    {
        return typeof(this.items[in_key]) != 'undefined';
    }

    this.clear = function()
    {
        for (var i in this.items) {
            delete this.items[i];
        }

        this.length = 0;
    }
}
function setFieldVal(sfvField, sfvVal)
{
    if (document.getElementById(sfvField)) {
        fieldObj = document.getElementById(sfvField);
        fieldObj.value = sfvVal;
    }
}