function file_size_format (filesize) {
	if (filesize >= 1073741824) {
			return number_format(filesize / 1073741824, 2, '.', '') + ' GB';
	}
	
	if (filesize >= 1048576) {
		return number_format(filesize / 1048576, 2, '.', '') + ' MB';
	}
	
	if (filesize >= 1024) {
		return number_format(filesize / 1024, 0) + ' KB';
   }

   return number_format(filesize, 0) + ' B';

};


/**
 * Removes all children of the given element
 *
 * @param aElement {DOMElement}
 */
function remove_all_children(aElm) {
	if(aElm) {
		while(aElm.hasChildNodes()) {
			aElm.removeChild(aElm.lastChild);
		}
	}
}

function onFocusHide(ID){
	var elem = dijit.byId(ID);
	if(elem){
		var val = elem.getValue();
		if(!elem.isValid() || isNaN(val) || val <= 0){
			elem.setValue("");
		} 
	} else {
		elem=dojo.byId(ID);
		if(!elem) return;
		var val = parseInt(elem.value);
		if(isNaN(val) || val == 0){
			elem.value="";
		}
	}
}

function onBlurRestore(ID, defaultValue, allowNegative){
	if(typeof(defaultValue) == "undefined"){
		defaultValue=0;
	}
	if(typeof(allowNegative) == "undefined"){
		allowNegative=false;
	}
	var elem = dijit.byId(ID);
	if(elem){
		var val = elem.getValue();
		if(!dojo.byId(ID).value.length || !elem.isValid()){
			elem.setValue(defaultValue);
		}
	} else {
		elem=dojo.byId(ID);
		if(!elem) return;
		var val = parseInt(elem.value);
		if(elem.value.length == 0 || isNaN(val) || (!allowNegative && val < 0)){
			elem.value=defaultValue;
		}
	}
}
