String.prototype.trim = function() 
{
	return this.replace(/(^\s*)|(\s*$)/g,"");
}

function gE(e_name) 
{	
	if (document.getElementById && document.getElementById(e_name)) {		
		return document.getElementById(e_name);
    } else if (document.all && document.all[e_name]) {
		return document.all[e_name];
	} else if (document.layers && document.layers[e_name]) {
		return document.layers[e_name];
	} else {
		return null;
    } 
}

function gE_OPENER(e_name) 
{
	if (opener.document.getElementById && opener.document.getElementById(e_name)) {
		return opener.document.getElementById(e_name);
    } else if (opener.document.all && opener.document.all[e_name]) {
		return opener.document.all[e_name];
	} else if (opener.document.layers && opener.document.layers[e_name]) {
		return opener.document.layers[e_name];
	} else {
		return null;
    } 
}

function __F(f_name) 
{
	return gE(f_name).value.trim();
}

function number_format( number, decimals, dec_point, thousands_sep ) {
    var n = number, c = isNaN(decimals = Math.abs(decimals)) ? 2 : decimals;
    var d = dec_point == undefined ? "." : dec_point;
    var t = thousands_sep == undefined ? "," : thousands_sep, s = n < 0 ? "-" : "";
    var i = parseInt(n = Math.abs(+n || 0).toFixed(c)) + "", j = (j = i.length) > 3 ? j % 3 : 0;
    
    return s + (j ? i.substr(0, j) + t : "") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : "");
}