function ValidateNumeric(thecontrol)
{
	var validChars = "0123456789.,";
	var ctrlText = document.getElementById(thecontrol).value;
	var newText = "";
	var caretPos = doGetCaretPosition(document.getElementById(thecontrol)) - 1
	
	for(var x = 0; x < ctrlText.length; x++)
	{
		if(validChars.indexOf(ctrlText.charAt(x)) != -1)
			newText = newText + ctrlText.charAt(x);
	}
	
	if(newText != document.getElementById(thecontrol).value)
	{
		document.getElementById(thecontrol).value = newText;

		setCaretPosition(document.getElementById(thecontrol), caretPos);
	}
}

function ConvertNullDec(stringToConvert)
{
	try
	{
		if(stringToConvert.length == 0)
			return 0.00
		else
			return parseFloat(stringToConvert);
	}
	catch(err)
	{
		return 0.00;
	}
}

function doGetCaretPosition (oField) 
{
	var iCaretPos = 0;
	
	if (document.selection) 
	{
		oField.focus ();
		
		var oSel = document.selection.createRange ();
		
		oSel.moveStart ('character', -oField.value.length);
		
		iCaretPos = oSel.text.length;
	}
	else if (oField.selectionStart || oField.selectionStart == '0')
		iCaretPos = oField.selectionStart;
		
	return (iCaretPos);
}

function setCaretPosition(ofield, caretPos)
{
	var range = ofield.createTextRange();
	range.collapse(true);
	range.moveEnd('character', caretPos);
	range.moveStart('character', caretPos);
	range.select();
}		