/*
area	= area_bottom + area_sides
side_area = circumferance x depth-average
depth_average = (depth_min + depth-max) / 2


Rectangular
   area_bottom   = L x W
   circumferance = 2(L + W)

Circular
   area_bottom   = 3.14 x (D/2) x (D/2)
   circumference = 3.14 x D
   
Oval
   area_bottom   = .8 x L x W
   circumference = 2(3.14) x sqrt[.5(LxL + WxW)]
   
Roman
   L3 = L2 - L1
   area_bottom   = (W X L1) + .8(L3 x W)
   circumference =  W + 2L1 +((3.14) x sqrt[.5(LxL + WxW)] )
   
Lazy L
   area_bottom   = .5( X2(X1+X3) + X5(X4+X6) )
   circumference = X1 + X2 + X3+ X4 + X5 + x6
   
Free Form
   area_bottom   = 
   circumference = 
*/   

function area_rect(L,W) { return( L * W ) }
function area_circ(D) { return( (Math.PI * (D) * (D))/4 ) }
function area_oval(L,W) { return( .8 * L * W ) }
function area_roman(W,L1,L2) { return( (W * L1) + (.5 * area_oval((L2-L1)*2,W)) ) }
function area_lazyl(L1,L2,W1,L3,L4,W2) { return( .5 * ( (W1 * (L1 + L2)) + (W2 * (L3 + L4))) ) }

function circ_rect(L,W) { return( 2 * ((L) + (W)) ) }
function circ_circ(D) { return( Math.PI * (D) ) }
function circ_oval(L,W) { return( 2 * Math.PI * Math.sqrt(.5 * ( (L*L) + (W*W) ) ) ) }
function circ_roman(L1,L2,W) { return( W + L1 + L1 + (circ_oval((L2-L1),W/2))/2 ) }
function circ_lazyl(L1,L2,W1,L3,L4,W2) { return( L1 + L2 + L3 + L4 + W1 + W2 ) }

function calc_sides(C,Dmin,Dmax) { return( (C) * .5 * ((Dmin) + (Dmax))) }

function calc_coatings(s,a) {
  s.primer.value = Math.ceil((a/600));
  s.finish_2.value = Math.ceil(2 * (a/600));
  s.finish_3.value = Math.ceil(3 * (a/600));
  return false;
}

function pool_rect(s) {
  s.area.value = Math.ceil(area_rect(s.L.value-0,s.W.value-0)	+ calc_sides(circ_rect(s.L.value-0,s.W.value-0),s.Dmin.value-0,s.Dmax.value-0));
  calc_coatings(s,s.area.value);
  return false;
}

function pool_circ(s) {
  s.area.value = Math.ceil(area_circ(s.D.value-0) + calc_sides(circ_circ(s.D.value-0),s.Dmin.value-0,s.Dmax.value-0));
  calc_coatings(s,s.area.value);
  return false;
}

function pool_oval(s) {
  s.area.value = Math.ceil(area_oval(s.L.value-0,s.W.value-0) + calc_sides( circ_oval((s.L.value-0)/2,(s.W.value-0)/2),s.Dmin.value-0,s.Dmax.value-0)) ;
  calc_coatings(s,s.area.value);
  return false;
} 

function pool_roman(s) {
  s.area.value = Math.ceil(area_roman(s.W.value,s.L1.value-0,s.L2.value-0) + calc_sides(circ_roman(s.L1.value-0,s.L2.value-0,s.W.value-0),s.Dmin.value-0,s.Dmax.value-0));
  calc_coatings(s,s.area.value);
  return false;
} 

function pool_lazyl(s) {
  s.area.value = Math.ceil(area_lazyl(s.L1.value-0,s.L2.value-0,s.W1.value-0,s.L3.value-0,s.L4.value-0,s.W2.value-0) + calc_sides(circ_lazyl(s.L1.value-0,s.L2.value-0,s.W1.value-0,s.L3.value-0,s.L4.value-0,s.W2.value-0),s.Dmin.value-0,s.Dmax.value-0)) ;
  calc_coatings(s,s.area.value);
  return false;
} 

