// Floor Calc written by Rene K. Mueller (c) 2005
// for http://Housing.byRene.com/
//
// History:
// 2005-10-29: taken out from page into js/ so I can use it for Dome and Tipi pages as well

function floorcalc(f) {
   var a = f.d.value/2/100;
   var ref = "";
   f.A.value = format(a*a*3.141);
   var l; var lw = f.h.value*1; var off = 0; var tot = 0; var out = ""; var lo = 0;
   var dr = f.d.value*1;
   f.n.value = 0;
   for(l=1; (l+off)*lw<dr; l++) {
      var w = 0;
      if(l*lw>=dr/2) {
         if(off==0) {
            w = format(dr);
         }
         off = -1;
      }
      if(w==0) {
         var b = dr/2-(l+off)*lw;
         w = Math.sqrt((dr/2)*(dr/2)-b*b)*2;
      }
      tot += w;
      if(l>1) out += "\n";
      var pc = Math.floor(w/f.w.value+.9999);
      //if(pc*f.w.value>=w*.9) pc--;
      f.n.value = f.n.value*1+pc;
      out = out+"Lane #"+l+": "+format(w)+"cm = "+pc+" pcs";
      out += " ("+format(pc*f.w.value-w)+"cm left)";
      lo += pc*f.w.value-w;
      if(ref) ref += ",";
      ref += l+":"+w;
   }
   f.Adetails.value = out;
   f.leftover.value = format(lo/100);
   f.leftoverpcs.value = format(lo/f.w.value);
   if(document.illu.src) 
      document.illu.src = "Floor/floordraw.cgi?d="+f.d.value+"&w="+f.w.value+"&h="+f.h.value+"&lanes="+ref;
}
function mod(a,b) {
  var c = a/b;
  c = a-Math.floor(c)*b;
  if(c>0) c = b-c;
  return c;
}
function format(a) {
return Math.round(a*10)/10;
}

