function mdxFormatNumber(num)
{
	if (typeof num == 'string')
	{
		num = parseFloat(num);
	}
	
	if (num < 0)
	{
		var sign = '-';
		num = -num;
	}
	else
	{
		var sign = '';
	}

	num = num.toString();

	var decPoint = num.indexOf('.');
	if (decPoint != -1)
	{
		var intPlaces = num.substr(0, decPoint);
		var decPlaces = num.substr(decPoint + 1);
	}
	else
	{
		var intPlaces = num;
		var decPlaces = '';
	}

	if (intPlaces.length > 3)
	{		
		var intPlacesOut = intPlaces.substr(intPlaces.length - 3);
	}
	else
	{
		var intPlacesOut = intPlaces;
	}
	for (var i = intPlaces.length - 6; i >= -2; i -= 3)
	{
		if (i >= 0)
		{
			intPlacesOut = intPlaces.substr(i, 3) + '.' + intPlacesOut;
		}
		else
		{
			intPlacesOut = intPlaces.substr(0, 3 + i) + '.' + intPlacesOut;
			break;
		}
	}
	return sign + intPlacesOut + (decPoint != -1 ? ',' + decPlaces : '');
}
