var ONE_KB = 1024;
var FILE_UNITS = ["b", "kb", "mb", "gb"];
var FILE_UNITS_SIZES = {};

var ONE_MIN = 60;
var TIME_UNITS = ['s', 'm', 'h'];
var TIME_UNITS_SIZES = {};

var Units = {
	init: function()
	{
		// filesize
		var size = 1, i = 0;
		for (i = 0; i < FILE_UNITS.length; i++)
		{
			FILE_UNITS_SIZES[FILE_UNITS[i]] = size;
			size *= ONE_KB;
		}
		// time
		var size = 1, i = 0;
		for(i = 0; i < TIME_UNITS.length; i++)
		{
			TIME_UNITS_SIZES[TIME_UNITS[i]] = size;
			size *= ONE_MIN;
		};
	},
	getFileSize: function(fileSize)
	{
		var i = 0;
		for (i = FILE_UNITS.length - 1; i >= 0; i--)
		{
			us = FILE_UNITS_SIZES[FILE_UNITS[i]];
			r = fileSize / us;
			if ((i == 0) || (r >= 1))
			{
			 	return {
			   		'size': r.toFixed((i<2)?i:2),//Math.round(Math.pow(10, i-1) * r) / Math.pow(10, i-1),
			 		'units': FILE_UNITS[i]
			 	}
			}
		}
	},
	getTimeReadable: function(time)
	{
		var i = 0;
		var digits = [];
		var units = [];
		for (i = TIME_UNITS.length - 1; i >= 0; i--)
		{
			us = TIME_UNITS_SIZES[TIME_UNITS[i]];
			r = Math.floor(time / us);
			if ((i == 0) || (r >= 1))
			{
				digits.push(r);
				units.push(TIME_UNITS[i]);
				time -= r*us;
			}
		}
		return {
		   	'digits': digits,
		 	'units': units
		}
	}
}

$(document).ready(function()
{
	Units.init();
});
