// Bullet items, validation checks, and calculations for step 1

// Bullet items 
// (no bullets on step 1)
function GetValuesFromPriorStep()
{
}

// Validation and calculation calls
function validateandupdate()
{
	var allNumeric = true
	if (!CheckNumbers(document.step01.bc_b1_input,1))	{return (false);}
	if (!CheckNumbers(document.step01.bc_b2_input,2))	{return (false);}
	if (!CheckNumbers(document.step01.bc_b4_input,3))	{return (false);}
	if (!CheckRange(document.step01.bc_b4_input,3,0,100,"a percentage value"))	{return (false);}
	if (!CheckNumbers(document.step01.bc_b7_input,4))	{return (false);}
	if (!CheckRange(document.step01.bc_b7_input,4,0,100,"a percentage value"))	{return (false);}
	if (!CheckNumbers(document.step01.bc_b8_input,5))	{return (false);}
	if (!CheckRange(document.step01.bc_b8_input,5,0,100,"a percentage value"))	{return (false);}
	if (!CheckNumbers(document.step01.bc_b9_input,6))	{return (false);}
	if (!CheckRange(document.step01.bc_b9_input,6,0,100,"a percentage value"))	{return (false);}
	if (!CheckNumbers(document.step01.bc_b11_input,7)) {return (false);}
	if (!CheckRange(document.step01.bc_b11_input,7,0,24,"an hours per day value")) {return (false);}
	if (!CheckNumbers(document.step01.bc_b12_input,8)) {return (false);}
	if (!CheckNumbers(document.step01.bc_b13_input,9)) {return (false);}
	if (!CheckRange(document.step01.bc_b13_input,9,0,24,"an hours per day value")) {return (false);}
	if (!CheckNumbers(document.step01.bc_b14_input,10)) {return (false);}
	if (!CheckNumbers(document.step01.bc_f1_input,11)) {return (false);}
	if (!CheckNumbers(document.step01.bc_e1_input,12)) {return (false);}
	if (!CheckNumbers(document.step01.bc_f4_input,13)) {return (false);}
	if (!CheckNumbers(document.step01.bc_e4_input,14)) {return (false);}
		
	if(allNumeric)
		{
		//Calculate GC/MS capacity oversubscribed
		Step1GCMSOversubDaily()
		//Calculate GC/ECD capacity underutilized
		Step1GCECDUnderutilizedDaily()
		//Calcualte average daily sample backlog
		Step1AvgDailySampleBacklog()
		//Calcualte average weekly 5-day sample backlog
		Step1AvgWkly5daySampleBacklog()
		//Calcualte average weekly 7-day sample backlog
		Step1AvgWkly7daySampleBacklog()
		//Calcualte average daily sample capacilty increase
		Step1AvgDailySampleCapacityIncrease()
		//Calcualte weekly 5-day sample capacity
		Step1AvgWeekly5daySampleCapacity()
		//Calcualte weekly 7-day sample capacity
		Step1AvgWeekly7daySampleCapacity()
		return true;
		}
	else {return false;}
}

//Calculate GC/MS capacity oversubscribed
function Step1GCMSOversubDaily()
{
	be_b3 = 0
	qa_b29 = be_b3
	bc_b8 = (document.step01.bc_b8_input.value/100)
	qa_b12 = bc_b8
	bc_b7 = (document.step01.bc_b7_input.value/100)
	qa_b11 = bc_b7
	bc_b1 = document.step01.bc_b1_input.value
	bc_b2 = document.step01.bc_b2_input.value
	bc_b3 = (bc_b1 * bc_b2)
	wk_b5 = bc_b3
	bc_b4 = (document.step01.bc_b4_input.value/100)
	qa_b7 = bc_b4
	wk_h40 = Math.ceil((qa_b7*wk_b5)*(1+qa_b12*(1-qa_b29)))
	wk_h21 = Math.ceil(((qa_b7*wk_b5/24*6)*(1+qa_b11*(1-qa_b29))))
	setup_time = 60
	perf_test = 15
	wk_e17 = perf_test
	wk_e16 = setup_time
	wk_f17 = (2*wk_e17/60)
	wk_f16 = (2*wk_e16/60)
	bc_b12 = document.step01.bc_b12_input.value
	qa_b16 = bc_b12
	wk_e19 = qa_b16
	bc_b11 = document.step01.bc_b11_input.value
	qa_b15 = bc_b11
	wk_d12 = qa_b15
	bc_f1 = document.step01.bc_f1_input.value
	qa_f3 = bc_f1
	wk_c12 = qa_f3
	wk_f19 = (wk_c12 * wk_d12)
	wk_g19 = (wk_f19/(wk_e19/60))
	wk_h19 = (wk_g19 - (4*(wk_f16+wk_f17)*60/wk_e19))
	wk_g40 = Math.floor(wk_h19-wk_h21)
	bc_f7 = Math.round(((wk_h40 / wk_g40) * 100))
	document.step01.bc_f7_output.value = bc_f7 + "%"
	if(bc_f7 >= 100){document.step01.bc_f7_overunder.value = "oversubscribed"} else{if(bc_f7 > 90){document.step01.bc_f7_overunder.value = "near maximum"} else{document.step01.bc_f7_overunder.value = "underutilized"}}
}

//Calculate GC/ECD capacity underutilized
function Step1GCECDUnderutilizedDaily()
{
	bc_b4 = (document.step01.bc_b4_input.value/100)
	if (bc_b4 == 1) {document.step01.bc_f8_output.value = 100 + "%"}
	else {
		be_b3 = 0
		qa_b29 = be_b3
		bc_b9 = (document.step01.bc_b9_input.value/100)
		qa_b13 = bc_b9
		bc_b1 = document.step01.bc_b1_input.value
		bc_b2 = document.step01.bc_b2_input.value
		bc_b3 = (bc_b1*bc_b2)
		qa_b5 = bc_b3
		wk_b5 = qa_b5
		bc_b4 = (document.step01.bc_b4_input.value/100)
		bc_b5 = (1 - bc_b4)
		qa_b8 = bc_b5
		wk_h41 = Math.round((qa_b8*wk_b5)*(1+qa_b13*(1-qa_b29)))
		be_b3 = 0
		qa_b29 = be_b3
		bc_b7 = (document.step01.bc_b7_input.value/100)
		qa_b11 = bc_b7
		bc_b1 = document.step01.bc_b1_input.value
		bc_b2 = document.step01.bc_b2_input.value
		bc_b3 = (bc_b1*bc_b2)
		qa_b5 = bc_b3
		wk_b5 = qa_b5
		bc_b4 = (document.step01.bc_b4_input.value/100)
		bc_b5 = (1 - bc_b4)
		qa_b8 = bc_b5
		wk_h34 = Math.round((qa_b8*wk_b5/24*6)*(1+qa_b11*(1-qa_b29)))
		perf_test = 15
		wk_e30 = perf_test
		wk_f30 = (2*wk_e30/60)
		setup_time = 60
		wk_e29 = setup_time
		wk_f29 = (wk_e29/60)
		bc_b14 = document.step01.bc_b14_input.value
		qa_b19 = bc_b14
		wk_e32 = qa_b19
		bc_b13 = document.step01.bc_b13_input.value
		wk_d25 = bc_b13
		bc_f4 = document.step01.bc_f4_input.value
		wk_c25 = bc_f4
		wk_f32 = (wk_c25*wk_d25)
		if(wk_f32 == 0){wk_g32 = 0} else{wk_g32 = (wk_f32/(wk_e32/60))}
		bc_b14 = document.step01.bc_b14_input.value
		qa_b19 = bc_b14
		wk_e32 = qa_b19
		if(wk_e32 == 0){wk_h32 = 0} else{wk_h32 = (wk_g32-(4*(wk_f29+wk_f30)*60/wk_e32))}
		if(wk_h32 <= 0){wk_h36 = 0} else{wk_h36 = Math.round(wk_h32-wk_h34)}
		wk_g41 = wk_h36
		if(wk_g41 == 0){wk_i41 = 100} else{wk_i41 = (1-(wk_h41/wk_g41))}
		qa_g7 = wk_i41
		bc_f8 = Math.floor(qa_g7*100)
		document.step01.bc_f8_output.value = bc_f8 + "%"
		if(bc_f8 >= 100){document.step01.bc_f8_overunder.value = "oversubscribed"} else{document.step01.bc_f8_overunder.value = "underutilized"}
	}
}

//Calcualte average daily sample backlog
function Step1AvgDailySampleBacklog()
{
	wk_g40 = wk_g40
	wk_g41 = wk_g41
	wk_h40 = wk_h40
	wk_h41 = wk_h41
	if(wk_g41 <= wk_h41){if(wk_h41 == 0){wk_g42 = -(wk_g40)} else{wk_g42 = -(wk_g40+wk_g41)}} else{wk_g42 = -(wk_h41+wk_g40)}
	if((wk_h40+wk_h41+wk_g42) <= 0){wk_g43 = 0} else{wk_g43 = (wk_h40+wk_h41+wk_g42)}
	if(wk_g43 > 0 ){qa_e11 = wk_g43} else{qa_e11 = 0}
	bc_f9 = qa_e11
	document.step01.bc_f9_output.value = bc_f9 + " samples"
}

//Calcualte average weekly 5-day sample backlog
function Step1AvgWkly5daySampleBacklog()
{
	wk_g43 = wk_g43
	if(wk_g43 > 0){wk_g44 = (5*wk_g43)} else{wk_g44 = 0}
	qa_e12 = wk_g44 
	bc_f10 = qa_e12
	document.step01.bc_f10_output.value = bc_f10 + " samples"
}

//Calcualte average weekly 7-day sample backlog
function Step1AvgWkly7daySampleBacklog()
{
	wk_g40 = wk_g40
	wk_g47 = -(wk_g40)
	wk_g43 = wk_g43
	wk_h40 = wk_h40
	wk_h41 = wk_h41
	wk_g42 = wk_g42
	if(wk_g43 <= 0){wk_g52 = Math.abs((wk_h40+wk_h41+wk_g42))} else{wk_g52 = 0}
	wk_g53 = (5*wk_g52)
	wk_h19 = wk_h19
	wk_h21 = wk_h21
	wk_h23 = Math.round((wk_h19-wk_h21))
	wk_g41 = wk_g41
	wk_g44 = wk_g44
	if(wk_g44 <= wk_h23){wk_g45_interum1 = -wk_h23+wk_g53} else{wk_g45_interum1 = -(wk_h23)}
	if(wk_g41 >= wk_h41){wk_g45_interum2 = wk_g45_interum1} else{wk_g45_interum2 = (-wk_h23+wk_g53-(wk_h41-wk_g41))}
	if(wk_g44 <= 0){wk_g45 = -(wk_g40)} else{wk_g45 = wk_g45_interum2}
	wk_g46 = (wk_g44 + wk_g45)
	wk_g48 = (wk_g46 + wk_g47)
	if(wk_g48 > 0){qa_e13 = wk_g48} else{qa_e13 = 0}
	bc_f11 = qa_e13
	document.step01.bc_f11_output.value = bc_f11 + " samples"
}

//Calcualte average daily sample capacilty increase
function Step1AvgDailySampleCapacityIncrease()
{
	wk_g52 = wk_g52
	qa_e14 = wk_g52
	bc_f12 = qa_e14
	document.step01.bc_f12_output.value = bc_f12 + " samples"
}

//Calcualte weekly 5-day sample capacity
function Step1AvgWeekly5daySampleCapacity()
{
	wk_g53 = wk_g53
	qa_e15 = wk_g53
	bc_f13 = qa_e15
	document.step01.bc_f13_output.value = bc_f13 + " samples"
}

//Calcualte weekly 7-day sample capacity
function Step1AvgWeekly7daySampleCapacity()
{
	wk_g48 = wk_g48
	wk_g40 = wk_g40
	wk_g41 = wk_g41
	wk_g44 = wk_g44
	wk_g48 = wk_g48
	if(2*(wk_g40+wk_g41) <= wk_g44){wk_g54interum1 = 0} else{wk_g54interum1 = Math.abs(wk_g48)}
	if(wk_g48 >= 0){wk_g54 = 0} else{wk_g54 = wk_g54interum1}
	wk_g53 = wk_g53
	wk_g55 = (wk_g53 + wk_g54)
	qa_e16 = wk_g55
	bc_f14 = qa_e16
	document.step01.bc_f14_output.value = bc_f14 + " samples"
}
