// These are estimate related functions
function estimateTotalAll() {
  var u;  // Make something undefined
  var total = 0;
  var labor_check = false;  // Assume we don't check anything until our first labor code
  var check_this = false;

  for (var i = 0; i < 500; i++) {
    f = document.getElementById("cb_" + i);
    if (f != u) {
      if (f.className == "labor") {
        labor_check = f.checked;
        check_this = f.checked;
      }  else {
        check_this = labor_check & f.checked;
      }


      if (check_this) {
        var f1 = document.getElementById("est_amt" + i);
        var f2 = document.getElementById("est_qty" + i);
        var amt = parseFloat(f1.value);
        var qty = parseFloat(f2.value);
        if (isNaN(amt)) {
          alert(amt + " is not a number.");
        }
        if (isNaN(qty)) {
          alert(qty + " is not a number.");
        }
        total += (amt * qty);
      }
    }
  }
  document.getElementById("gTotal").value = total;
}

function toggleChildren(parent)
{
  var f = document.getElementById("cb_" + parent);
  var c = f.checked;

  for (var i = 0; i < est_detail[parent].length; i++) {
    var j = est_detail[parent][i];
    if (j != -1) {
      f = document.getElementById("p_est" + j);
      if (c) {
        f.style.display = '';
      } else {
        //document.getElementById("cb_" + j).checked = false;
        f.style.display = 'none';
      }
    }
  }
  estimateTotalAll();
}

function hideAllChildren()
{
  var u;  // Make something undefined

  for (var i = 0; i < 500; i++) {
    f = document.getElementById("p_est" + i);
    if (f != u) {
      f.style.display = 'none';
    }
  }
}


function selectField(f)
{
  f.focus();
  f.select();
}


// clears field of default value
function clear_field(field)
{
  if (field.value==field.defaultValue) {
    field.value=''
  }
}

function formatNumber(amount)
{
  var i = parseFloat(amount);
  if(isNaN(i)) { i = 0.00; }
  var minus = '';
  if(i < 0) { minus = '-'; }
  i = Math.abs(i);
  i = parseInt((i + .005) * 100);
  i = i / 100;
  s = new String(i);
  if(s.indexOf('.') < 0) { s += '.00'; }
  if(s.indexOf('.') == (s.length - 2)) { s += '0'; }
  s = minus + s;
  return s;
}

function formatCell(cell)
{
  var v=cell.value;
  cell.value = formatNumber(v);
}

function formatCellValue(cell, v)
{
  cell.value = formatNumber(v);
}


