var MAXNUMPRODS = 23;

function decplaces ( myval, places) {
  var str = "" + Math.round ( myval * Math.pow(10,places) );
  while ( str.length <= places ) { // this won't be triggered here
   str = "0" + str;
  }
  var decpoint = str.length - places;
  return newval = str.substring(0,decpoint) + "." + str.substring(decpoint,str.length);
}

function WM_checkIn(WM_id) { 
  var theObj,ss,sr,i,j,WM_layers=new Array();
    // from Macromedia Dreamweaver's drag layer code 
    // Dreamweaver/Configuration/Behaviors/Actions/Drag Layer.htm 
    WM_layers = new Array();
    with (document) {
      for (i=0; i<layers.length; i++) WM_layers[i]=layers[i]; {
   if ( layers[i].name == WM_id) { /*alert ("yep"); */ };
        for (i=0; i<WM_layers.length; i++) {   
          if (WM_layers[i].document && WM_layers[i].document.layers) {
            for (j=0; j<WM_layers[i].document.layers.length; j++) {
              WM_layers[WM_layers.length] = WM_layers[i].document.layers[j];
            }
            if(WM_layers[i].name == WM_id){
              // So if the code matches the name of the layer, 
              theObj = WM_layers[i];
            }
          }          
        }
      }
    }
  return theObj;
}

function getfield(whatsit){
  var myfield;
  if ( document.getElementById ) {
    myfield = document.getElementById(whatsit);
  } else if (document.all) {
    myfield =  eval ( "document.all." + whatsit) ;
  } else if (document.layers) {
//   myfield = eval( "document.layers." + whatsit ); 
myfield = WM_checkIn(whatsit);
  }
  return myfield;
} 

function getFormField(whatsit) {
  var myfield = eval("document.form1." + whatsit );
  return myfield;
}

function salestax() {
  var doit = getFormField('salestaxapplies');
  return doit.checked ? 0.0625:0;
}

function calcTotal() {
  var exprice, stax, totprice, tpvalue;
  tpvalue = 0;
  for ( i = 0; i <= MAXNUMPRODS; i++ ) {
    exprice = getFormField('price'+i);
    if ( exprice && exprice.value ) {
      tpvalue = eval (tpvalue + parseFloat(exprice.value) );
    }
  }
  stax = getFormField('salestax');
  stax.value = decplaces(tpvalue * salestax(),2);

  tpvalue = parseFloat(tpvalue) + parseFloat(stax.value);

  totprice = getFormField ('total');
  totprice.value = decplaces(tpvalue,2);

}

function exprice(which) {
  var singleprice, quantity, exprice;
  singleprice = getFormField('singprice' + which);
  quantity = getFormField('quantity'+which);
  exprice = getFormField('price'+which); 
  exprice.value = decplaces (singleprice.value * quantity.value, 2 ); 
  calcTotal();
}

function checkForm() {
  var display, myfield, warn;
  var reqd = new Array ("Your Name", "Company Name", "Your Phone Number");
  var field = new Array ("iname", "cname", "phone");
  var problem = false;
  for ( i = 0 ; i < field.length; i ++) {
    myfield = getFormField( field[i] );
    if ( ! myfield.value ) {
      while ( ! myfield.value ) {
        myfield.value =  prompt ( reqd[i] + " is required.");
	// alert (myfield.value);
      }
      problem = true; 
    }  
  } // end looping through fields
  if ( problem ) checkForm(); 
}
