LSF.Math = {
	
	round : function (number, after_decimal) {
		after_decimal = after_decimal || 0;
		
		var isNegative = number < 0 ? '-' : '';
		
		number = parseFloat (Math.abs (number));
		for (var i = 0; i < after_decimal; i++) {
			number *= 10;
		}
		number += 0.5;
		number = parseInt (number);
		var numberStr = String (number);
		var strLen = numberStr.length;
		var part1, part2;
		if (strLen > after_decimal) {
			var breakPoint = strLen - after_decimal;
			part1 = numberStr.substr (0, breakPoint);
			part2 = numberStr.substr (breakPoint);
		} else {
			part1 = 0;
			part2 = LSF.String.repeat ('0', after_decimal - strLen) + numberStr;
		}
		return isNegative + (part2.length > 0 ? part1 + '.' + part2 : part1);
	}
		
};