//
// Copyright (c) 2000-2001 by experITy
//       All Rights Reserved
//

function Currency_int_onChange(field)
{
	field.value = Currency_int_Format(field.value);
}


function Currency_int_Format(strInput)
{		
	var strReturnVal;
	var strTail;
	var strMid;
	var strTemp;
	var intCounter;
	var intTempCode;
			
	if(strInput.length == 0)
	{
		strReturnVal = strInput;
	}
	else 
	{
		if(strInput.substring(0, 1) != "$")
		{
			strInput = "$" + strInput;
		}
		
		// ok, NOW we know that we have something of the form: $[-]xxxxxx.cc
	
		strMid = strInput;  
	
		if(strInput.indexOf("-", 0) == 1)
		{
			strHead = strMid.substring(0, 2);
			strMid = strMid.substring(2); 		
		}
		else
		{
			strHead = strMid.substring(0, 1);	
			strMid = strMid.substring(1); 
		}	

		if (strMid.length == 0)
		{
			strMid = "0";
		}

		// Now, let's strip off any non-numeric characters that are left (i.e. commas)
		//  so we know we're starting with a known format.
		
		strTemp = "";
		for (intCounter = 0; intCounter < strMid.length; intCounter++)
		{
			intTempCode = strMid.charCodeAt(intCounter);
			if(intTempCode >= 48 && intTempCode <= 57)
			{
				strTemp += String.fromCharCode(intTempCode);
			}			
		}
		strMid = strTemp;

		strTail = ""
		if(strMid.length > 3) 
		{	
			while(strMid.indexOf("0", 0) == 0)	// strip leading zeros
			{
				strMid = strMid.substring(1);
			}
		
			while(strMid.length > 3)
			{
				pos = strMid.length - 3		
				strTail = "," + strMid.substring(pos) + strTail;		
				strMid = strMid.substring(0, pos);		
			}
		}
	
		strReturnVal = strHead + strMid + strTail;		
	}
	return strReturnVal;
}


function Currency_int_onInput(inputChar, field, bPositive)
{	
	var strInput = field.value;
	var blnReturnVal = true;
	
	if((inputChar < 48 || inputChar > 57) &&	// not a number 
		((!bPositive && inputChar!= 45) || bPositive))// If allow Negative and not "-"
	{
		blnReturnVal = false;
	} 
	else if( inputChar == 45 && strInput.length >1) // "-" only allow at the beginning
		
	{
		blnReturnVal = false;
	}	
		
	return blnReturnVal;
}


