<!--

/**
 * @description alapvető függvények
 * Hívás:
 *  Func.függvénynév();
 */
var Func = new Object();

/**
 * Func.urlencode()
 * @param <string>
 * @return <string>
 * @description a php urlencode() függvényével egyenértékű
 */
Func.urlencode = function(str){
	str = (str+'').toString();
	return encodeURIComponent(str).replace(/!/g, '%21').replace(/'/g, '%27').replace(/\(/g, '%28').
			replace(/\)/g, '%29').replace(/\*/g, '%2A').replace(/%20/g, '+');
}

/**
 * Func.displaysize()
 * @param <float> méret bájtokban
 * @param <int> pontosság (tizedesjegyek száma)
 * @return <string> olvasható érték
 * @description fájlméret kiírása
 */
Func.displaysize = function(size, precision){
	if (typeof(precision) == "undefined"){
		precision = 2;
	}
	var n = 1.0;
	for (var k = 0; k < precision; k++){
		n *= 10.0;
	}
	var pref = Array("", "", "k", "M", "G", "T", "P", "E", "Z", "Y");
	for (var i = 1; i < 9; i++){
		if (size < Math.pow(1024, i) / 2){
			return Math.round((size / Math.pow(1024.0, i - 1))*n)/n+" "+pref[i]+"B";
		}
	}
	return Math.round((size / Math.pow(1024.0, i - 1))*n)/n+" "+pref[i]+"B";
}

/**
 * Func.round()
 * @param <float> szám
 * @param <int> pontosság (tizedesjegyek száma)
 * @return <string> kerekített érték
 * @description szám kerekítése
 */
Func.round = function(num, precision){
	if (typeof(precision) == "undefined"){
		precision = 0;
	}
	var n = 1.0;
	for (var k = 0; k < precision; k++){
		n *= 10.0;
	}
	return Math.round(num * n) / n;
}

/**
 * Func.emaildecode()
 * @param <string> params paraméterek "valami,domain,hu" alakban
 * @return <string> e-mail cím (valami@domain.hu)
 * @description e-mail cím dekódolása (spam ellen)
 */
Func.emaildecode = function(params){
	var p = params.split(",");
	return p[0]+"@"+p[1]+"."+p[2];
}

/**
 * Func.trim()
 * @param <string> str karakterlánc
 * @return <string> karakterlánc kezdő és záró whitespace-k nélkül
 * @description a php trim() függvényével egyenértékű
 */
Func.trim = function(str){
	return str.replace(/^\s*/, "").replace(/\s*$/, "");
}

//-->

