/*********************************************************************
 * ////////// Sygenta SP1 Calculator JavaScript Library //////////// *
 *********************************************************************/
 
 /* globals */
 var dbFldr;
 var cdRom; //hold cd-rom drive letter for data connection string
 var accessConn_set; //contains ado connection object after OnLoad event initiated
 var connString_set; //connection string to access database
 
 /* global form results */
 var ratio; //populated when form is validated
 
 function repc(field)
 {
	 var strippedString = "";
	 
	 if (field.length > 0)
	 {
		 var regExComma = /,/gi;
		 var regExDollar = /\$/gi;
		 strippedString = field; //capture field
		 
		 strippedString = strippedString.replace(regExComma, ""); //replace all commas
		 strippedString = strippedString.replace(regExDollar, ""); //replace all $ symbols
	 }
	 
	 return strippedString;
 }
 
 function revStr(value) 
 {
   //if (!value) return null;
	 
   var revstr = "";
   for (i=value.length -1; i>=0; i--)
       revstr += value.charAt(i)
			 
   return revstr;
 }
 
 function addComma(value)
 {
	 if (value.indexOf("-") == -1)
	 {
		 if (value.length > 3)
		 {
			 var char = "";
			 var newStr = "";
			 var reversed = revStr(value); //reverse the string
			 //alert("reversed value: " + reversed);
			 
			 var triCnt = 0;
			 for (i=0; i<=reversed.length -1; i++)
			 {
				 char = reversed.charAt(i);
				 //alert("current char in loop: " + char);
				 
				 if (triCnt == 3) //every 3rd. character
				 {
					 newStr += ",";
					 triCnt = 0;
				 }
				 
				 newStr += char;
				 
				 triCnt++;
			 }
			 //alert("new string: " + newStr);
			 
			 return revStr(newStr); //turn string back around
		 }
		 else
		 {
			 return value;
		 }
	 }
	 else
	 {
		 if (value.length > 4)
		 {
			 var char = "";
			 var newStr = "";
			 var reversed = revStr(value); //reverse the string
			 //alert("reversed value: " + reversed);
			 
			 var triCnt = 0;
			 for (i=0; i<=reversed.length -1; i++)
			 {
				 char = reversed.charAt(i);
				 //alert("current char in loop: " + char);
				 
				 if (triCnt == 3) //every 3rd. character
				 {
					 newStr += ",";
					 triCnt = 0;
				 }
				 
				 newStr += char;
				 
				 triCnt++;
			 }
			 //alert("new string: " + newStr);
			 
			 return revStr(newStr); //turn string back around
		 }
		 else
		 {
			 return value;
		 }
	 }
 }

 /**
  * Validate required form fields
  */
 function Validate()
 {
	 //validate left-hand side
	 var frm = window.document.sp1CalcForm;
	 
	 var hasRatio = false;
	 for (i=0; i<=frm.ratioRdBttn.length -1; i++)
	 {
		 if (frm.ratioRdBttn[i].checked)
		 {
			 hasRatio = true;
			 ratio = frm.ratioRdBttn[i].value;
			 //alert(frm.ratioRdBttn[i].value);
		 }
	 }
	 
	 if (!hasRatio)
	 {
	 	alert("You must choose a ratio");
		return false;
	 }
	 
	 if (frm.totAcresPlantedBox.value == "")
	 {
	 	alert("You must answer question \"Total acres planted?\"");
		frm.totAcresPlantedBox.focus();
		return false;
	 }
	 
	 if (frm.numSeedlessPerAcreBox.value == "")
	 {
	 	alert("You must answer question \"How many seedless plants per acre?\"");
		frm.numSeedlessPerAcreBox.focus();
		return false;
	 }
	 
	 if (frm.estYieldLbsBox.value == "")
	 {
	 	alert("You must answer question \"Estimated yield in lbs/acre?\"");
		frm.estYieldLbsBox.focus();
		return false;
	 }
	 
	 if (frm.estMktPriceLbBox.value == "")
	 {
	 	alert("You must answer question \"Estimated market price per lb?\"");
		frm.estMktPriceLbBox.focus();
		return false;
	 }
	 
	 if (frm.estProdCostAcreBox.value == "")
	 {
	 	alert("You must answer question \"Estimated production cost per acre?\"");
		frm.estProdCostAcreBox.focus();
		return false;
	 }
	 
	 if (frm.regionList.value == "")
	 {
	 	alert("You must select a region");
		frm.regionList.focus();
		return false;
	 }
	 
	 if (frm.varietyList.value == "")
	 {
	 	alert("You must select a variety");
		frm.varietyList.focus();
		return false;
	 }
	 
	 if (frm.extendedAttributeList.value == "")
	 {
	 	alert("You must select Tray Cell Size");
		frm.extendedAttributeList.focus();
		return false;
	 }

	 if (frm.deliveryDateList.value == "")
	 {
	 	alert("You must select Delivery Date");
		frm.deliveryDateList.focus();
		return false;
	 }
 }
