/*
'------------------------------------------------------------------
'Developer      Date            Remark
'---------      -----------     ------
'Kelmen			03/Sep/2001		Refined to cater for Netscape browser.
'
'Dependencies :
'	common.js
'	form.js
'------------------------------------------------------------------
*/
var mc_strAttr_FormatCurrency		= 'formatcurrency';
var mc_strAttr_NoThousandSeparator	= 'nothousandseparator';

var blnThousandSeparator = true;

//====================================
function gfvoid_InpNum_Init(v_objForm)
{
	var lngIdx;
	var objInput;
	
	with(v_objForm)
	{
		for(lngIdx = 0; lngIdx < elements.length; lngIdx++)
		{
			
			objInput = elements[lngIdx];
			with(objInput)
			{
				if(gfvnt_getAttribute(objInput, mc_strAttr_Numeric) != null || gfvnt_getAttribute(objInput, mc_strAttr_Positive_Numeric) != null)
				{
					blnThousandSeparator = (gfvnt_getAttribute(objInput, mc_strAttr_NoThousandSeparator) == null);
					
					gfvoid_InpNum_FmtNum(objInput);
					
					if(gc_Browser_IE)
						objInput.attachEvent('onblur', event_InpNum_IE_onBlur);
					else
						objInput.onBlur = event_InpNum_NC_onBlur;
				}
			}
			
		}
		
		objInput = null;
	}
}

//=======================================
function gfvoid_InpNum_FmtNum(v_objInput)
{
	var vntFormatCurrency;
	var vntFormatNoComma;
	var posDec;
	var lngDec;
	var strFmted;
	
	with(v_objInput)
	{
		if(!IsBlank(value) && IsNumber(value))
		{
			lngDec = 0;
			
			vntFormatCurrency = gfvnt_getAttribute(v_objInput, mc_strAttr_FormatCurrency);
			if (vntFormatCurrency != null)
			{
				vntFormatCurrency = vntFormatCurrency.toString(10);
				posDec = vntFormatCurrency.indexOf('.');
				if (posDec > 0)
					lngDec = CNum(vntFormatCurrency.substr(++posDec));
			}
			
			strFmted = FmtNum(value, lngDec);
			
			vntFormatNoComma = gfvnt_getAttribute(v_objInput, mc_strAttr_NoComma);
						if (vntFormatNoComma != null)
							{
							blnThousandSeparator = false;
							}
						else
							{
							blnThousandSeparator = true;
							}
			
			if(!blnThousandSeparator) strFmted = strFmted.replace(/,/g, '');
			value = strFmted;
		}
	}
}

//-------------------------------
function event_InpNum_NC_onBlur()
{
	gfvoid_InpNum_FmtNum(this);
}

//-------------------------------
function event_InpNum_IE_onBlur()
{
	gfvoid_InpNum_FmtNum(window.event.srcElement);
}
