function getValue(theString)
{
    var noJunk = "";
    var withDollar = "";
    var foundDecimal = 0;
    var foundAlphaChar = 0;
    theString += "";

    for (i=0; i <= theString.length; i++)
    {
        var thisChar = theString.substring(i, i+1);

        if (thisChar == ".")
        {
          foundDecimal = 1;
          noJunk = noJunk + thisChar;
        }

        if ((thisChar < "0") || (thisChar > "9"))
        {
          if ((thisChar !=".") && (thisChar != ",") && (thisChar != " ") && (thisChar !="")) foundAlphaChar = 1;
        }
        else 
	    {
	      withDollar = withDollar + thisChar
	      noJunk = noJunk + thisChar
	    }

	    if ((thisChar == ".") || (thisChar == ","))
	    {
	      withDollar = withDollar + thisChar
	    }
      }

     if (foundDecimal) { return parseFloat(noJunk); }
     else if (noJunk.length > 0) { return parseInt(noJunk); }
     else return 0;
}

function getFieldValue(theString,theField)
{
    var noJunk = ""
    var withDollar = ""
    var foundDecimal = 0
    var foundAlphaChar = 0

    if (theString.length == 0) 
    {
	    eval ("document.forms[0]." + theField + ".value = 0")
	    return 0
    }

    for (i=0; i <= theString.length; i++)
    {
        var thisChar = theString.substring(i, i+1);

        if (thisChar == ".")
        {
            foundDecimal = 1;
            noJunk = noJunk + thisChar;
        }

        if ((thisChar < "0") || (thisChar > "9"))
        {
            if ((thisChar !=".") && (thisChar != ",") && (thisChar != " ") && (thisChar !="")) foundAlphaChar = 1;
        }
        else 
	    {
	        withDollar = withDollar + thisChar
	        noJunk = noJunk + thisChar
	    }

	    if ((thisChar == ".") || (thisChar == ","))
	    {
	        withDollar = withDollar + thisChar
	    }
     }

     if (foundAlphaChar)
     {
	     eval ("document.forms[0]." + theField + ".value = withDollar")
     }

     if (foundDecimal) { return parseFloat(noJunk); }
     else if (noJunk.length > 0) { return parseInt(noJunk); }
     else return 0;
}

function formatCurrency(theNumber) {
  var isNegative = 0
  if (theNumber != "") {

    var workingNumber = theNumber + "" // Evaluate to a string

    if (workingNumber.charAt(0) == "-") { 
      isNegative = 1;
      workingNumber = workingNumber.substring(1, workingNumber.length)
    }

    var withoutChars = ""
    for (x=0; x<=((workingNumber.length)-1); x++) {
      thisChar = workingNumber.charAt(x)
      charAsNum = parseInt(thisChar)
      if ( ((thisChar >= "0") & (thisChar <= "9")) || (thisChar == ".")  ) { 
	withoutChars += workingNumber.charAt(x) 
      }
    }
    workingNumber = withoutChars
    decimalPoint = workingNumber.indexOf(".")

    if (decimalPoint == -1) {
      dollarValue = workingNumber
      centsValue = "00"
      } else if (decimalPoint == 0) {
      dollarValue = "0"
      centsValue = workingNumber.substring(decimalPoint + 1, workingNumber.length)
    } else {
        dollarValue = workingNumber.substring(0, decimalPoint)
        if (decimalPoint == (workingNumber.length - 1)) {
	  centsValue = "00";
        } else {
          centsValue = getFieldValue(workingNumber.substring(decimalPoint + 1, workingNumber.length));
          centsValue += "0";
          centsValue = centsValue.charAt(0) + centsValue.charAt(1)
        }
    }

    var theString = dollarValue;
    var totalCommas = Math.floor((theString.length - 1) / 3)

    var dollarAmt = ""
    x=dollarValue.length
    position = 0
    while (x > 0) {
	x = x - 1
        thisChar = dollarValue.charAt(x)
	rounded = Math.round(position/3)
	if ( (position/3 == rounded ) & (position != 0) ) {
           dollarAmt = "," + dollarAmt
	}
        dollarAmt = thisChar +  dollarAmt
	position = position + 1
    }

    if (isNegative) {
      theString = dollarAmt + "." + centsValue
    } else { 
      theString = dollarAmt + "." + centsValue
    }
    return (theString);
  } else {
    return("0.00");
  }
}

function removeCents(theNumber) {
  var isNegative = 0

  if (theNumber != "") {
    var workingNumber = theNumber + "" // Evaluate to a string

    if (workingNumber.charAt(0) == "-") { 
      isNegative = 1;
      workingNumber = workingNumber.substring(1, workingNumber.length)
    }

    theNumber = getValue(workingNumber)
    theNumber = Math.round(theNumber * 100) / 100;
    theNumber = theNumber + ""
    decimalPoint = theNumber.indexOf(".")

    if (decimalPoint == -1) {
      dollarValue = theNumber
    } else if (decimalPoint == 0) {
      dollarValue = 0
    } else {
      dollarValue = theNumber.substring(0, decimalPoint)
    }

    var dollarAmt = ""
    x=dollarValue.length
    position = 0

    while (x > 0) {
	x = x - 1
        thisChar = dollarValue.charAt(x)
	rounded = Math.round(position/3)

	if ( (position/3 == rounded ) & (position != 0) ) {
           dollarAmt = "," + dollarAmt
	}
        dollarAmt = thisChar +  dollarAmt
	position = position + 1
    }

    if (isNegative == 1) {
      theString = "-" + dollarAmt
    } else { 
      theString = dollarAmt
    }
    dollarValue = dollarAmt
    return(theString)
  } else {
    return("0")
  }
}

function formatPercent(theNumber,decimalPlaces) {
  theNumber = getValue(theNumber);
  decimalPlaces = 2;
  with (Math) theNumber = (round(theNumber * pow(10,decimalPlaces))) / pow(10,decimalPlaces); 
  return(theNumber);
}

function FormatDigit(number) // if 100000 return 100,000.00
	{
	number = RoundUp(number * 100);
	var s = '';
	var lcRetVal='';
	var idigit;
	var DigitPos = 0; // we use this to mark every three digit to have a ','
	s = s + number;
	if (s.length < 3)
	    {
		lcRetVal = '0' + '.' + s; 
		}
	else 
	    {
    	for (idigit = s.length; idigit >= 0; idigit--)
	    	{
		    if (s.length - idigit > 2) DigitPos = DigitPos + 1;
			if (s.length - idigit == 3) lcRetVal = '.' + lcRetVal;
				lcRetVal = s.charAt(idigit) + lcRetVal;
			if (DigitPos == 3) 
				{
				if (idigit!=0) lcRetVal = ','+lcRetVal;
				DigitPos = 0;
				}
			}
		}
	return lcRetVal;
	}
	
function CountDigit(number) // if 100000 return 4
	{
	var lnRetVal = 0;
	for(;;)
		{
		if (number<100) break;
		number = number / 10;
		lnRetVal ++;
		}
	return lnRetVal;
	}

function RoundNumber(intNumber, DecimalPlace)
{
	var found;
	temp="" + intNumber
	for (var i=0; i<=temp.length;i++){
		var thisChar = temp.charAt(i);
		if (thisChar == "."){
			found = 0; break;}
		else{
			found = 1}
	}
	if (found == 0){
		temp=temp.substring(0, temp.indexOf(".")+ 1 + DecimalPlace)
		}
		
	return eval(temp);
}

function Round(number)
	{
	var DecimalPoint = 2;
	var MagicPoint = Math.pow(10,DecimalPoint);
	number = Math.round(number * MagicPoint);
	return number/MagicPoint;
	}

function RoundUp(number) // 4.3 becomes 5
	{
	var number1 = Integer(number);
	
	if (number > number1) number1 ++ ;
	return number1;
	}

function Integer(number) // Trancate all decimal no round up
	{
	var number1 = Math.round(number);
	if (number1>number) return number1-1
	else return number1;
	}
	
//function isNaN(intNumber)
//        {
//        if (intNumber > 0)
//          return false;
//        else           
//           return true;
//        }    

function isNaN(intNumber)
{
	var temp, i
	temp = "" + intNumber

	if (temp=="")
		return true;
		
//	if (temp.charAt(0) == "0" || temp.indexOf(".")!=temp.lastIndexOf("."))
//		return true;

	for (var i=0; i<=temp.length-1; i++)
	{
		 if ((temp.charAt(i) >= "0" && temp.charAt(i) <= "9") || temp.charAt(i) == "." )
		 {}
		 else
		 {
		   // 8/8/2001 SIR212 Kit Added this to allow for negative value
		   if (i==0 && temp.charAt(i) == "-") {}
		   else return true;
		 }
	}
	return false;	
}

function CurrencyToNumber(intCurrency)
	{
	var temp1, temp2
	
	temp2=""
	temp1="" + intCurrency
	for (var i=0;i <= temp1.length ; i++)
		{
		if (temp1.charAt(i)==",")
			temp2=temp2 + ""
		else
			temp2=temp2 + temp1.charAt(i)	  	
		}
	return temp2	
	}
	
function ClearField()
	{
	document.forms[0].elements[0].focus()
	}	

function submit_clear() 
	{		
	document.forms[0].reset();
	document.forms[0].elements[0].focus()
    }

function daysInMonth(month,year)
    {		
	var days = new Array(12);
	
	if (isLeapYear(year) && month == 2) {days[month] = 29} else {days[month] = 28}
	if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) {days[month] = 31}
	else if (month == 4 || month == 6 || month == 9 || month == 11 ) {days[month] = 30}
	return days[month];
	}	
	
function isLeapYear(year)
    {
	var leapYear;
	
	if (((year % 4) == 0) && ((year % 100) == 0) && ((year % 400) == 0)) {leapYear = true}
	else if (((year % 4) == 0) && ((year % 100) != 0) && ((year % 400) != 0)) {leapYear = true}
	else {leapYear = false}
	return leapYear;
	}

function update_number(input)
{
  var temp;

  if (input.value != null && input.value.length != 0)
    temp = "" + eval(input.value);
  else
    input.value = "0.00";
}
	
	
