/* js_calculate */
// calculate the product of two variables, and return answer
function checkNum(strText) {
	var validChars = "0123456789.";
	var isNumber = true;
	var char;
	for (i = 0; i<strText.length && isNumber==true; i++) { 
    	char = strText.charAt(i); 
	    if (validChars.indexOf(char) == -1) {
			isNumber = false;
		}
	}
	return isNumber;
}
function calProduct(a,b,op,elId) {
	// op should have two operators for now, multiply and add
	// Fist, check to see if a and b are numeric
	if ((checkNum(a)==false) || (checkNum(b)==false))  {
		//alert("Only numeric values are allowed for Quantity and Unit Price fields");
		return false;
	}
	else {
		if (document.DTCLForm.DecisionBox[0].checked) {
			var ans=0;
			switch(op) {
				case "prod":
				{
					ans=eval(a)*eval(b);
					document.getElementById(elId).value=ans;
					break;
				}
				case "add":
				{
					ans=eval(a)+eval(b);
					document.getElementById(elId).value=ans;
					break;
				}
				default:
				{
					ans=eval(a)*eval(b);
					document.getElementById(elId).value=ans;
					//break;
				}
			}		
			// UPDATE total
			x=0;
			sub_total=0;
			var sub_surcharge = getRapidTurnMultiplier();
			for (i=1;i<=10;i++) 
			{
				tmp_var = "EstPrice" + i;
				if (document.getElementById(tmp_var).value > 0)
				{
					tmp_total = document.getElementById(tmp_var).value;
					sub_total = parseFloat(sub_total)+parseFloat(tmp_total);
				}
				else if (isNaN(document.getElementById(tmp_var).value))
				{
					document.getElementById(tmp_var).value = "";
					sub_total = sub_total+0;
				}
				total=sub_total;
			}	
			// sub_surcharge = 0;
			if (sub_surcharge > 0)
			{
				sub_surcharge = parseFloat(sub_total)*sub_surcharge;
				document.getElementById("RapidTurnardSurcharge").value=sub_surcharge;
				total=parseFloat(sub_total)+parseFloat(sub_surcharge);
			}
			else
			{
				sub_surcharge="";
				document.getElementById("RapidTurnardSurcharge").value=sub_surcharge;
				// total=parseFloat(sub_total)+parseFloat(sub_surcharge);
				total=parseFloat(sub_total);
			}
			document.getElementById("Total").value = total;
		}
		else if (document.DTCLForm.DecisionBox[1].checked) {
			
			// alert("Quote");
			// return false;
		}
	}
	
}

function getRapidTurnMultiplier() {
	var tmp_multiplier_list = document.getElementById("idReqTurnaround");
	var tmp_multiplier_tags = tmp_multiplier_list.getElementsByTagName("input");
	var tmp_multiplyby;
	for (i=0; i<tmp_multiplier_tags.length; i++) {
		// alert(tmp_multiplier_tags[i].value);
		if (tmp_multiplier_tags[i].checked) {
			// alert(tmp_multiplier_tags[i].value);
			if (tmp_multiplier_tags[i].value == "Urgent") {
				tmp_multiplyby = 0.5;
			}
			else if (tmp_multiplier_tags[i].value == "SuperUrgent") {
				tmp_multiplyby = 1;
			}
			else if (tmp_multiplier_tags[i].value == "NextInQ") {
				tmp_multiplyby = 2;
			}
			else {
				tmp_multiplyby = 0;
			}
		}
		else { 
			// tmp_multiplyby = 0;
		}
	} // for statement	
	// alert(tmp_multiplyby);
	return tmp_multiplyby;
}

function calSurcharge() {
	sub_total=0;
	var d = getRapidTurnMultiplier();
	for (i=1;i<=10;i++) 
	{
		tmp_var = "EstPrice" + i;
		if (document.getElementById(tmp_var).value > 0)
		{
			tmp_total = document.getElementById(tmp_var).value;
			sub_total = parseFloat(sub_total)+parseFloat(tmp_total);
		}
		else if (isNaN(document.getElementById(tmp_var).value))
		{
			document.getElementById(tmp_var).value = "";
			sub_total = sub_total+0;
		}
		total=sub_total;
	}
	// alert(total);
	var surcharge = total*d;
	document.getElementById("RapidTurnardSurcharge").value=surcharge;
	document.getElementById("Total").value=surcharge+total;
}

bAllow = true;
function limitinput(evt, strList, bAllow)
/*Limits the input to strList. If bAllow is true, then
only allow what is in strList. If bAllow is false,
then do not allow what is in strList.*/
{
	var charCode = evt.keyCode;
	if (charCode==0)
	{
		charCode = evt.which;
	}
	
	var strChar = String.fromCharCode(charCode);
	/*controlArray holds the ASCII codes for valid
	control commands (BS, CR, LF, etc)*/
	var controlArray = Array(0, 8, 9, 10, 13, 27);
	var intOut = 0;

	if (bAllow==true)
	{
		if (charCode==8 || charCode==9 || charCode==37 || charCode==39 || charCode==46 || charCode==116 || (strList.indexOf(strChar)!=-1))
		/*Valid*/
		{
			return true;
		}
		else
		{
			return false;
		}
	}
	else
	{
		if (charCode==8 || charCode==9 || charCode==37 || charCode==39 || charCode==46 || charCode==116 || (strList.indexOf(strChar)==-1))
		{
			return true;
		}
		else
		{
			return false;
		}
	}
}


