// JavaScript Document

<!--
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
function checkInput(input, min, max, msg)
{
    msg = msg + " field has invalid data: " + input.value;
    var str = input.value;

    for (var i = 0; i < str.length; i++) {
        var ch = str.substring(i, i + 1)
        if ((ch < "0" || "9" < ch) && ch != '.') {
            alert(msg);
            return false;
        }
    }

    var num = parseFloat(str)

    if (num < min || max < num) {
        alert(msg + " not in range [" + min + ".." + max + "]");
        return false;
    }

    input.value = str;
    return true;

}

function computeField(input)
{
    if (input.value != null && input.value.length != 0)
	 input.value = "" + eval(input.value);

    computeCosts(input.form);
}

function computeCosts(form)

{

    if ((form.employees.value == null || form.employees.value.length == 0) ||
        (form.wasted.value == null || form.wasted.value.length == 0) ||
        (form.costing.value == null || form.costing.value.length == 0))
    {
        return;
    }

    if (!checkInput(form.employees, 1, 9999999, "Number of Employees") ||
        !checkInput(form.wasted, 0.1, 9999999, "Wasted Time") || 
        !checkInput(form.costing, 1, 9999999, "Costing Me"))
    {
        form.day.value = "Bad Input";
        form.week.value = "Bad Input";
        form.year.value = "Bad Input";
        form.days.value = "Bad Input";
        form.min.value = "Bad Input";
        return;
    }

    form.day.value = "$" + truncateDecimal(((form.costing.value * form.wasted.value) * form.employees.value),2)
    form.week.value = "$" + truncateDecimal(((form.costing.value * form.wasted.value * 5) * form.employees.value),2)
    form.year.value = "$" + truncateDecimal(((form.costing.value * form.wasted.value) * 52 * 5 * form.employees.value),2)
}

function clearForm(form)
{
    form.employees.value = "";
    form.wasted.value = "0.75";
    form.costing.value = "20.00"
    form.day.value = "$";
    form.week.value = "$";
    form.year.value = "$";
    form.min.value = "$";
    form.weeks.value = "";
}

function truncateDecimal(aNumber, digits)
{
  var str = "" + aNumber
  var b = str.lastIndexOf(".")
  if (b < 0) str += "." 
  for (var i = 0; i < digits; i++) str += "0"
  if (b >= 0) return(str).substring(0,b+1+digits)
	  return str
}

//-->
