// General function to receive a string of characters and interpret them as dollars and cents
// This function removes all characters except the digits {0 1 2 ... 9} and a decimal point
// This function rounds all numbers to dollars and cents (two decimal points)
// If zero or no valid number is passed to this function, it returns "0.00"
// This function returns a string value, not an integer or float value

function Currency(textObj) { 

  var newValue = textObj.value;
  var decAmount = "";
  var dolAmount = "";
  var decFlag = false;
  var aChar = "";

//ignores all but digits and decimal points 

  for(var i=0; i < newValue.length; i++)  { 
    aChar = newValue.substring(i,i+1); 

    if(aChar >= "0" && aChar <= "9")  {   // Finds valid digits 0 through 9
      if(decFlag)  { 
        decAmount = "" + decAmount + aChar; 
      } 
      else  { 
        dolAmount = "" + dolAmount + aChar; 
      } 
    } 
    if(aChar == ".")  {                   // Finds exactly one decimal point
      if(decFlag)  { 
        dolAmount = ""; 
        break; 
      } 
      decFlag = true; 
    } 
  } 

//Ensure that at least a zero appears for the dollar amount if only cents are entered
  if(dolAmount == "")  { 
    dolAmount = "0"; 
  } 

//Strips out any possible leading zeros (converts 0xx.yy into xx.yy)
  if(dolAmount.length > 1)  { 
    while(dolAmount.length > 1 && dolAmount.substring(0,1) == "0") { 
      dolAmount = dolAmount.substring(1,dolAmount.length); 
    } 
  } 

//Round the decimal amount 
  if(decAmount.length > 2) { 
    if(decAmount.substring(2,3) > "4") { 
      decAmount = parseInt(decAmount.substring(0,2)) + 1; 
      if(decAmount < 10) { 
        decAmount = "0" + decAmount; 
      } 
      else { 
        decAmount = "" + decAmount; 
      } 
    } 
    else { 
      decAmount = decAmount.substring(0,2); 
    } 
    if(decAmount == 100) { 
      decAmount = "00"; 
      dolAmount = parseInt(dolAmount) + 1; 
    } 
  } 

//Pad right side of decAmount if there are no cents entered
  if(decAmount.length == 1) { 
    decAmount = decAmount + "0"; 
  } 
  if(decAmount.length == 0) { 
    decAmount = decAmount + "00"; 
  } 

//Commit our changes to our little LetterAmount text 
  textObj.value = dolAmount + "." + decAmount; 
  return true;
} 
