// javascript function
// for new_transaction.php





function isCurrencyDirty(f)
{
return true;
}



function isCurrency(f, fname)

{

	var nNum = 0;			// Total numbers for currency value.

	var nDollarSign = 0;	// Total times a dollar sign occurs.

	var nDecimal = 0;		// Total times a decimal point occurs.

	var nCommas = 0;		// Total times a comma occurs.

	var txtLen;				// Length of string passed.

	var xTxt;				// Assigned object passed.

	var sDollarVal;			// Assigned dollar amount with or without commas.

	var bComma;				

	var decPos;				// Assigned value of numbers or positions after decimal point.

	var nNumCount = 0;		// Total number between commas.

	var i;					// For forloop indexing.

	var x;					// Assigned each indivual character in string.

	

	// Set the xTxt variable to the object passed to this function.

	// Assign the length of the string to txtLen.
	var inputName = fname;

	xTxt = inputName;

	txtLen = xTxt.value.length



	for(i = 0; i < txtLen; i++)

	{

		// Assign charater in substring to x.

		x = xTxt.value.substr(i, 1);

		

		

		if(x == "$")

			nDollarSign = nDollarSign + 1; // Sum total times dollar sign occurs.

		else if(x == ".")

			nDecimal = nDecimal + 1; // Sum total times decimal point occurs.

		else if(x == ",")

			nCommas = nCommas + 1; // Sum total times comma occurs.

		else if(parseInt(x) >= 0 || parseInt(x) <= 9)

			nNum = nNum + 1; // If the character is a number sum total times a number occurs.

		else

		{

			// Error occurs if any other character value is in the string

			// othere then the valid characters.

			alert("ERROR! nnYou have entered an illegal value!nPlease enter only: Dollar" +

				  " Signs, Commas, Decimal Points, and numbers between 0...9!");

			return false;

		} // end else

	} // end for



	if(nDollarSign > 1)

	{

		alert("ERROR! nnYou have entered more then one dollar sign!nPlease only enter one!");

		return false;

	} // end if

		

	if(nDecimal > 1)

	{

		alert("ERROR! nnYou have entered more then one decimal point!nPlease only enter one!");

		return false;

	} // end if

		

	if(nDollarSign == 1)

	{

		// Make sure dollar sign in the first character in string

		// if there is a dollar sign present.

		if(xTxt.value.indexOf("$") != 0)

		{

			alert("ERROR!  nnThe dollar sign you entered is not in the correct position!");

			return false;

		} // end if

	}// end if

	

	if(nDecimal == 1)

	{

		// Get the number of numbers after the decimal point in

		// the string if there is a decimal point present

		decPos = (txtLen - 1) - xTxt.value.indexOf(".");

		

		// Floating point cannot be more then two.

		// Valid format after decimal point.

		/**********************************/

		/*   $#.##, $#.#, $.#, $#., $.##  */

		/**********************************/

		if(decPos > 2)

		{

			alert("ERROR! nnThe decimal point you entered is not in the correct position!");

			return false;

		} // end if

	} // end if

	

	if(nCommas == 0)

	{

		// If no commas are present value is a valid US

		// currency.

		return true;

	}

	else

	{

		// Get total number of dollar number(s), removing

		// floating point numbers or cents.

		nNum = nNum - decPos;

		

		// Determine if dollar sign is in string so to be 

		// removed.

		// After determining dollar sign, assign sDollarVal

		// numbers and comma(s)

		if(xTxt.value.indexOf("$", 0) == 0)

			sDollarVal = xTxt.value.substr(1, (nNum + nCommas));

		else

			sDollarVal = xTxt.value.substr(0, (nNum + nCommas));

		

		

		// Determine if a zero is the first number or if a

		// comma is the first or last character in the string.

		if(sDollarVal.lastIndexOf("0", 0) == 0 )

		{

			alert("ERROR! nnYou cannot start the dollar amount out with a zero!");

			return false;

		}

		else if(sDollarVal.lastIndexOf(",", 0) == 0)

		{

			alert("ERROR! nnYou cannot start the dollar amount out with a comma!");

			return false;

		}

		else if(sDollarVal.indexOf(",", (sDollarVal.length - 1)) == (sDollarVal.length - 1))

		{

			alert("ERROR! nnIf you are going to use a comma, you have to include the decimal places. Example 1,000.00, not 1,000");

			return false;

		}

		else

		{

			// Initialize bComma indicating a comma has not been

			// occured yet.

			bComma = false;

			for(i = 0; i < sDollarVal.length; i++)

			{

				// Assign charater in substring to x.

				x = sDollarVal.substr(i, 1);

				

				if(parseInt(x) >= 0 || parseInt(x) <= 9)

				{

					// If x is a number add one to the number counter.

					nNumCount = nNumCount + 1;

					

					// Sense comma(s) are present number counter cannot

					// be more then three before the first or next comma.

					if(nNumCount > 3)

					{

						alert("ERROR! nnYou have a mis-placed comma!");

						return false;

					} // end if

				}

				else

				{

					// If the number counter is less then three and

					// the comma indicator is true the comma is either

					// mis-placed or there are not enough values.

					if(nNumCount != 3 && bComma)

					{

						alert("ERROR! nnYou have a mis-placed comma!");

						return false;

					} // end if

					

					// Reset the number counter back to zero.

					nNumCount = 0;

					

					// Set the comma indicator to true indicating

					// that the first comma has been found and that

					// there now MUST be three numbers after each

					// comma until the loop hits the end.

					bComma = true;

				} // end if

			} // end for

			

			// Determine if after the loop ended that there

			// was a total of three final numbers after the

			// last comma.

			if(nNumCount != 3 && bComma)

			{

				alert("ERROR! nnYou have a mis-placed comma!");

				return false;

			} // end if

		} // end if

	} // end if

	

	// Return true indicating that the value is a valid

	// currency.

	return true;

}