var scripts = document.getElementsByTagName('script');
var myScript = scripts[ scripts.length - 1 ];

function auto_format(textObj) {
   var newValue = textObj.value;
   var decAmount = "";
   var dolAmount = "";
   var decFlag = false;
   var aChar = "";
   if(newValue != ""){
       // ignore all but digits and decimal points.
       for(i=0; i < newValue.length; i++) {
          aChar = newValue.substring(i,i+1);
          if(aChar >= "0" && aChar <= "9") {
             if(decFlag) {
                decAmount = "" + decAmount + aChar;
             }
             else {
                dolAmount = "" + dolAmount + aChar;
             }
          }
          if(aChar == ".") {
             if(decFlag) {
                dolAmount = "";
                break;
             }
             decFlag=true;
          }
       }
       
       // Ensure that at least a zero appears for the dollar amount.

       if(dolAmount == "") {
          dolAmount = "0";
       }
       // Strip leading zeros.
       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(decAmount.length == 1) {
          decAmount = decAmount + "0";
       }
       if(decAmount.length == 0) {
          decAmount = decAmount + "00";
       }
       
       // Check for negative values and reset textObj
       if(newValue.substring(0,1) != '-' ||
             (dolAmount == "0" && decAmount == "00")) {
          textObj.value = dolAmount + "." + decAmount;

       }
       else{
          textObj.value = '-' + dolAmount + "." + decAmount;
       }
    }
}
