function cubicyard()

{

var p=parseFloat(document.cubic.perim.value)

var fw=parseFloat(document.cubic.f_width.value)

var fd=parseFloat(document.cubic.f_depth.value)

var swh=parseFloat(document.cubic.sw_height.value)

var sww=parseFloat(document.cubic.sw_width.value)

var fdf=fd/12

var fwf=fw/12

var swwf=sww/12

var solf=eval(p-(4*fwf))

var fcy=eval((solf*fdf*fwf)/27)

var solsw=eval(p-(4*swwf))

var swcy=eval((solsw*swwf*swh)/27)

document.cubic.fcyard.value=fcy

document.cubic.swcyard.value=swcy

document.cost.tcy_f.value=Math.ceil(fcy*1.12)

document.cost.tcy_sw.value=Math.ceil(swcy*1.08)

}



function costcubic()

{

var cost=parseFloat(document.cost.cy_cost.value)

var fcy=parseFloat(document.cost.tcy_f.value)

var swcy=parseFloat(document.cost.tcy_sw.value)

var tcy=fcy+swcy

document.cost.tcy_proj.value=tcy

var matcost=tcy*cost

document.cost.mat_cost.value=matcost

var labor=matcost*3

document.cost.labor_proj.value=labor

var total=labor+matcost

document.cost.total_cost.value=total

}



function compute()

{

//Exterior Variables

var epo=parseFloat(document.lumber.ext_length.value)

var eoc=parseFloat(document.lumber.ext_oc.value)

var ecorn=parseFloat(document.lumber.ext_corn.value)

var espac=parseFloat(document.lumber.ext_space.value)

var eopen=parseFloat(document.lumber.ext_open.value)

//Interior Variables

var ipo=parseFloat(document.lumber.int_length.value)

var ioc=parseFloat(document.lumber.int_oc.value)

var icorn=parseFloat(document.lumber.int_corn.value)

var ispac=parseFloat(document.lumber.int_space.value)

var iopen=parseFloat(document.lumber.int_open.value)

//Exterior Math

var eocs=12/eoc

var estud=eocs*epo

var estuds=eval(estud+1)

var eopens=eopen*2

//Exterior Prints

	document.lumber.eoc.value=eocs

	document.lumber.epo.value=estuds

	document.lumber.ecorn.value=ecorn

	document.lumber.eopens.value=eopens

	document.lumber.espaces.value=espac

	document.lumber.etstuds.value=Math.ceil(espac+estuds+ecorn+eopens)

	document.lumber.etstudsbf.value=Math.ceil(document.lumber.etstuds.value*8)

	document.lumber.eplates.value=Math.ceil((epo*3)/16)

//Interior Math

var iocs=12/ioc

var istud=iocs*ipo

var istuds=istud+1

var iopens=iopen*2

//Interior Prints

	document.lumber.ioc.value=iocs

	document.lumber.ipo.value=istuds

	document.lumber.icorn.value=icorn

	document.lumber.ispace.value=ispac

	document.lumber.iopen.value=iopens

	document.lumber.itstuds.value=Math.ceil(ispac+istuds+icorn+iopens)

	document.lumber.itstudsbf.value=Math.ceil(document.lumber.itstuds.value*8*.66666666666)

	document.lumber.iplates.value=Math.ceil((ipo*3)/16)

//End of Script

}



function roofarea()

{

var p=parseFloat(form.pitch.value)

var w=parseFloat(form.width.value)

var l=parseFloat(form.lengths.value)

var d=p/12

var f=d*d

var g=f+1

var h=Math.sqrt(g)

var ans=h*l*w

form.answer.value=ans

var r_sht=Math.ceil(ans/32)

form.sheets_r.value=r_sht

var sht_cst=form.sheet_c.value

var cost=r_sht*sht_cst

form.proj_cost.value=cost

}



function bf()

{

var a_s=parseFloat(bfcalc.size_a.value)

var b_s=parseFloat(bfcalc.size_b.value)

var c_s=parseFloat(bfcalc.size_c.value)

var a_l=parseFloat(bfcalc.length_a.value)

var b_l=parseFloat(bfcalc.length_b.value)

var c_l=parseFloat(bfcalc.length_c.value)

var d_l=parseFloat(bfcalc.l_d.value)

var d_w=parseFloat(bfcalc.w_d.value)

var d_h=parseFloat(bfcalc.h_d.value)

var vola=Math.ceil(a_s*a_l)

var volb=Math.ceil(b_s*b_l)

var volc=Math.ceil(c_s*c_l)

var vold=Math.ceil(((d_w*d_h)/12)*d_l)

var t_bf=vola+volb+volc+vold

bfcalc.bf_a.value=vola

bfcalc.bf_b.value=volb

bfcalc.bf_c.value=volc

bfcalc.bf_d.value=vold

bfcalc.total_bf.value=t_bf

}



function rafter()

{
var num
var inch
var fraction
var pi=Math.PI

var pitch=parseFloat(rpitch.pitch.value)

var widthf=parseFloat(rpitch.width_feet.value)
var widthi=parseFloat(rpitch.width_inch.value)
var widthfrac=parseFloat(rpitch.width_frac.value)
var widthinches=widthi+(widthfrac/16)
var fwidth=widthf+(widthinches/12)
var hwidth=fwidth/2
var eave=parseFloat(rpitch.eave.value)

var rinch=parseFloat(rpitch.ridge_inch.value)
var rfrac=parseFloat(rpitch.ridge_frac.value)
var ridge = rinch + (rfrac/16)
var rwid= ridge / 12

var width= hwidth - (rwid/2)

var pf=pitch/12

var hpf2=(pf*pf)+2

var npf2=(pf*pf)+1

var hmod=Math.sqrt(hpf2)

var nmod=Math.sqrt(npf2)

var hbird_p=width*hmod

var hbird_e=eave*hmod

var nbird=width*nmod

var mmiter_r=Math.atan(pf)

var mmiter_d=(mmiter_r*(180/pi))

var mmiter_df=mmiter_d

var hrlength=hmod*(width+eave)

var hbevel=45

var hbevel_r=.7854

var mrlength=nmod*(width+eave)

var hplumb_rads=Math.atan(Math.tan(mmiter_r)*Math.sin(hbevel_r))

var hplumb_degs=(hplumb_rads*(180/pi))

var hip_plumb=90-hplumb_degs

rpitch.main_miter.value=mmiter_df.toFixed(3)

rpitch.srafter_l.value = convertfrac(nbird);
rpitch.rafter_l.value = convertfrac(mrlength);
if (hip='true') {

rpitch.bmouth_p.value=convertfrac(hbird_p);

rpitch.bmouth_h.value=convertfrac(hbird_e);

rpitch.hip_miter.value=hplumb_degs.toFixed(3);

rpitch.h_rafter_l.value=convertfrac(hrlength);

rpitch.hip_bevel.value=hbevel.toFixed(3);

}

}

function rafter2()

{
var num;
var inch;
var fraction;
var pi=Math.PI;

var pitch=parseFloat(document.getElementById("pitch").value);

var widthf=parseFloat(document.getElementById("width_feet").value);
var widthi=parseFloat(document.getElementById("width_inch").value);
var widthfrac=parseFloat(document.getElementById("width_frac").value);
var widthinches=widthi+(widthfrac/16);
var fwidth=widthf+(widthinches/12);
var hwidth=fwidth/2;
var eave=parseFloat(document.getElementById("eave").value);

var rinch=parseFloat(document.getElementById("ridge_inch").value);
var rfrac=parseFloat(document.getElementById("ridge_frac").value);
var ridge = rinch + (rfrac/16);
var rwid= ridge / 12;

var width= hwidth - (rwid/2);

var pf=pitch/12;

var hpf2=(pf*pf)+2;

var npf2=(pf*pf)+1;

var hmod=Math.sqrt(hpf2);

var nmod=Math.sqrt(npf2);

var hbird_p=width*hmod;

var hbird_e=eave*hmod;

var nbird=width*nmod;

var mmiter_r=Math.atan(pf);

var mmiter_d=(mmiter_r*(180/pi));

var mmiter_df=mmiter_d;

var hrlength=hmod*(width+eave);

var hbevel=45;

var hbevel_r=.7854;

var mrlength=nmod*(width+eave);

var hplumb_rads=Math.atan(Math.tan(mmiter_r)*Math.sin(hbevel_r));

var hplumb_degs=(hplumb_rads*(180/pi));

var hip_plumb=90-hplumb_degs;

document.getElementById("main_miter").value = mmiter_df.toFixed(3);
document.getElementById("srafter_l").value = convertfrac(nbird);
document.getElementById("rafter_l").value = convertfrac(mrlength);
document.getElementById("bmouth_p").value = convertfrac(hbird_p);

document.getElementById("bmouth_h").value = convertfrac(hbird_e);

document.getElementById("hip_miter").value = hplumb_degs.toFixed(3);

document.getElementById("h_rafter_l").value = convertfrac(hrlength);

document.getElementById("hip_bevel").value = hbevel.toFixed(3);



}

function columns()

{

var pi=Math.PI

var diameter=parseFloat(circslab.diam.value)

var depth=parseFloat(circslab.c_depth.value)

var cycost=parseFloat(circslab.cost.value)

var radia=diameter/2

var tarea=pi*radia*radia

var precy=tarea*depth

var tcy=precy/27

var ccost=tcy*cycost

var lcost=ccost*3

var tcost=ccost+lcost

circslab.scyard.value=tcy.toFixed(2)

circslab.l_cost.value=lcost.toFixed(2)

circslab.c_cost.value=ccost.toFixed(2)

circslab.t_cost.value=tcost.toFixed(2)

}



function cmolding() {

var wall = crown.wall_angle.value

var angle_rad1 = wall * ((2*Math.PI)/360)

var spring = crown.spring_angle.value

var angle_rad2 = spring * ((2*Math.PI)/360)

var miter = (Math.atan( (Math.sin(angle_rad2) / Math.tan( angle_rad1 / 2 ))))/((2*Math.PI)/360)

var bevel = (Math.asin((Math.cos(angle_rad2) * Math.cos( angle_rad1 / 2))))/((2*Math.PI)/360)

var angle_rev = 90-bevel

crown.miter.value = miter.toFixed(2)

crown.bevel.value = bevel.toFixed(2)

crown.ang_rev.value = angle_rev.toFixed(2)

}



function convertfrac(number) {

var num = Math.floor(number);

var ainches = number - num;

var inches = ainches*12;

var inch = inches - Math.floor(inches);

var fraction = inch*16;

return num + " ft " + Math.floor(inches) + "-" + Math.round(fraction) + "/16 inches";


}



function hypo() {
var num
var inches
var fraction

var aft = parseFloat(hyp.a_feet.value)

var ain = parseFloat(hyp.a_inches.value)

var afrac = parseFloat(hyp.a_frac.value)

var bft = parseFloat(hyp.b_feet.value)

var bin = parseFloat(hyp.b_inches.value)

var bfrac = parseFloat(hyp.b_frac.value)

var adec = afrac/16;

var adeca = adec+ain;

var adecb = adeca/12;

var a = (aft + adecb);

var bdec = ((bfrac/16)+bin)/12;

var b = (bft + bdec);

var b2 = ((a*a)+(b*b));

var c = Math.sqrt(b2);

var answer = c;

hyp.hypot.value = convertfrac(c);


}



function painta() {

var widtha = parseFloat(paint.width.value)

var lengtha = parseFloat(paint.length.value)

var heighta = parseFloat(paint.height.value)

var doors = parseFloat(paint.doornum.value)

var wins = parseFloat(paint.winnum.value)

var cover = parseFloat(paint.cov.value)

var pcosta = paint.pcost.value

var winsub = wins*16

var doorsub = doors*22

var walls = (lengtha+widtha)*2*heighta

var ceilsf = lengtha*widtha

var wallsf = walls-winsub-doorsub

var wallgal = Math.ceil(wallsf/cover)

var ceilgal = Math.ceil(ceilsf/cover)

var wallcost = wallgal*pcosta

var ceilcost = ceilgal*pcosta

var totalcost = wallcost+ceilcost

paint.ceilsfa.value = Math.round(ceilsf)

paint.wallsfa.value = Math.round(wallsf)

paint.wallgala.value = Math.ceil(wallgal)

paint.ceilgala.value = Math.ceil(ceilgal)

paint.wallcosta.value = wallcost.toFixed(2)

paint.ceilcosta.value = ceilcost.toFixed(2)

paint.total.value = totalcost.toFixed(2)

}