function NumericOnKeyPress(e)
{
	var editctrl = e.srcElement;
	if(editctrl != null)
	{
		var currentValue = editctrl.value;
		var decimalPlaces = editctrl.getAttribute("decimalPlaces");
		if (decimalPlaces == null) 
			decimalPlaces = 2;

		var currency = editctrl.getAttribute("currency");
		if (currency == null) 
			currency = false;

		var keycode = (window.event) ? e.keyCode : e.which;
		if (keycode == 46) /* 46 is "." */
		{
			if (currentValue.indexOf('.') >= 0)
			{
				e.keyCode = 0;
				return;
			}
		}
		else if (keycode == 45) /* 47 is "-" */
		{
			if (currentValue.indexOf('-') == 0)
			{
				e.keyCode = 0;
				return;
			}
		}
		else if (keycode < 48 || keycode > 57) /* 48-57 are Numbers*/
		{
			e.keyCode = 0;
			return;
		}
	}
}

function NumericFormat(editctrl)
{
	if(editctrl != null)
	{
		var currentValue = editctrl.value;
		if(currentValue.length > 0 && currentValue.charAt(0) == "$")
			currentValue = currentValue.substr(1);
		var decimalPlaces = editctrl.getAttribute("decimalPlaces");
		if (decimalPlaces == null) 
			decimalPlaces = 2;

		var currency = editctrl.getAttribute("currency");
		if (currency == null) 
			currency = false;			
			
		var mult = Math.pow(10,decimalPlaces); //Multiplier
		currentValue = Math.round(currentValue * mult) / mult;
		currentValue = currentValue + "";
		
		var decIndex = currentValue.indexOf(".");
		if (decimalPlaces > 0)
		{
			var numToAdd;
			if(decIndex >= 0)
			{
				numToAdd = decimalPlaces - (currentValue.length - decIndex -1);
			}
			else
			{
				numToAdd = decimalPlaces;
				currentValue = currentValue + ".";
			}
			for (n=1;n<=numToAdd;n++)
				currentValue = currentValue + "0";
		}
		if(currency.toLowerCase() == "true")
			currentValue = "$" + currentValue;
		editctrl.value = currentValue;
	}
}

function NumericAutoPostBack(editctrl)
{
	if(document.forms[0] != null)
		document.forms[0].submit();
}	
