<!--

function submitform()
{
	document.myform.submit();
}

function checkInteger(thevalue)
{
	thevalue = Math.floor(thevalue);
	return thevalue;
}

function formatCurrency(num) 
{
	num = num.toString().replace(/\$|\,/g,'');
	if(isNaN(num))
	{	
		num = "0";
	}
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	cents = num%100;
	num = Math.floor(num/100).toString();
	if(cents<10)
	{
		cents = "0" + cents;
	}
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
	{	
		num = num.substring(0,num.length-(4*i+3))+','+ num.substring(num.length-(4*i+3));
	}
	return (((sign)?'':'-') + num + '.' + cents);
}

function getWastedDNA(plasmid_size,useful_DNA_size)
{
	size = plasmid_size - useful_DNA_size;
	return size;
}

function getPlasmidTotalCost(plasmid_unit_price, amount_ordered)
{
	cost = plasmid_unit_price * amount_ordered;
	return cost;
}

function getUsefulDNACostPerUnitMass(plasmid_price, useful_DNA_quantity)
{
	useful_unit_cost = plasmid_price/useful_DNA_quantity;	
	return useful_unit_cost;
}

function getUsefulDNACost(useful_DNA_size, plasmid_size, plasmid_price)
{
	useful_cost = (useful_DNA_size/plasmid_size)*plasmid_price;
	return useful_cost;
}

function getWastedMoney(useful_DNA_size, plasmid_size, plasmid_price)
{
	waste = (1-(useful_DNA_size/plasmid_size))*plasmid_price;
	return waste;
}

function getUsefulDNAQuantity(useful_DNA_size, plasmid_size, amount_ordered)
{
	useful_quantity = (useful_DNA_size/plasmid_size)*amount_ordered;
	return useful_quantity;
}

function calculateAll(form) 
{
	var plasmid_total_cost=0;
	var plasmid_size=0;
	var useful_DNA_size=0;
	var amount_ordered=0;
	var plasmid_unit_price=0;
	var stop = false;	
	var alert_codes = new Array();

	//validate the user's input
	if(form.txtplasmid_size.value == "" || form.txtplasmid_size.value == "0")
	{
		alert_codes[0] = "Plasmid size is missing.";
		stop = true;
	}
	else
	{
		alert_codes[0] = "";
		plasmid_size = eval(form.txtplasmid_size.value);
	}
	if(form.txtuseful_DNA_size.value == "" || form.txtuseful_DNA_size.value == "0")
	{
		alert_codes[1] = "Size of active DNA sequence is missing.";
		stop = true;
	}
	else
	{
		alert_codes[1] = "";
		useful_DNA_size = eval(form.txtuseful_DNA_size.value);
	}
	if(form.txtamount_ordered.value == "" || form.txtamount_ordered.value == "0")
	{
		alert_codes[2] = "Amount of plasmid needed is missing.";
		stop = true;
	}
	else
	{
		alert_codes[2] = "";
		amount_ordered = eval(form.txtamount_ordered.value);
	}
	if(form.txtplasmid_unit_price.value == "" || form.txtplasmid_unit_price.value == "0.00")
	{
		alert_codes[3] = "Plasmid unit price is missing.";
		stop = true;
	}
	else
	{
		alert_codes[3] = "";
		plasmid_unit_price = eval(form.txtplasmid_unit_price.value);
	}

	//if the form fields are correct, go ahead and calculate everything
	if(stop == false)
	{
		plasmid_total_cost = getPlasmidTotalCost(plasmid_unit_price, amount_ordered);
		var wasted_money = getWastedMoney(useful_DNA_size, plasmid_size, plasmid_total_cost);
		var useful_DNA_quantity = getUsefulDNAQuantity(useful_DNA_size, plasmid_size, amount_ordered);
		var DNA_cost_per_unit = getUsefulDNACostPerUnitMass(plasmid_total_cost, useful_DNA_quantity);
		var wasted_DNA_length = getWastedDNA(plasmid_size,useful_DNA_size);
		plasmid_total_cost = getPlasmidTotalCost(plasmid_unit_price, amount_ordered);
		var useful_DNA_quantity = getUsefulDNAQuantity(useful_DNA_size, plasmid_size, amount_ordered);
		
		form.txtwasted_money.value = formatCurrency(Math.round(wasted_money*100)/100);
		form.txtuseful_DNA_unit_cost.value = formatCurrency(Math.round(DNA_cost_per_unit*100)/100);
		form.txtwasted_DNA_length.value = Math.round(wasted_DNA_length*100)/100;
		form.txtplasmid_DNA_cost.value = formatCurrency(Math.round(plasmid_total_cost*100)/100);
		form.txtuseful_DNA_quantity.value = Math.round(useful_DNA_quantity*100)/100;
		var waste_percentage = Math.round((100-(100*(useful_DNA_size/plasmid_size)))*100)/100;
		//round useful DNA quantity before inserting into the textual summary
		useful_DNA_quantity = Math.round(useful_DNA_quantity*1000)/1000;
		form.txtsummary.value = "Your construct, which is " + plasmid_size + "bp, contains a "
					+ useful_DNA_size + "bp insert.  Approximately " 
					+ waste_percentage + "% of your construct is not being used.  Therefore, you should only need approximately "
					+ useful_DNA_quantity + "mg of linear DNA from Vandalia to perform the same experiments that you would need "
					+ amount_ordered + "mg of plasmid DNA to perform.";
		
		x = document.getElementById('cost_text');
		x.innerHTML = 'Total cost for ' + amount_ordered + 'mg of plasmid DNA ($):';
		
	}
	else
	{
		var alert_string = "";
		for(i=0; i<4; i++)
		{
			if(alert_codes[i] != "")
			{
				alert_string = alert_string + "\n" + alert_codes[i];
			}
		}
		alert(alert_string);
	}
}

function resetAll(form)
{
	form.txtplasmid_size.value = "";
	form.txtuseful_DNA_size.value = "";
	form.txtamount_ordered.value = "";
	form.txtplasmid_unit_price.value = "";
	form.txtplasmid_DNA_cost.value = "";
	form.txtwasted_money.value = "";
	form.txtwasted_DNA_length.value = "";
	form.txtuseful_DNA_quantity.value = "";
	form.txtuseful_DNA_unit_cost.value = "";
	form.txtsummary.value = "";

	x = document.getElementById('cost_text');
	x.innerHTML = 'Total cost for your plasmid DNA ($):';
}

//-->