_GET=document.location.href.split("#");
_URL=_GET[0];

_SETHASH=new Object();

if(_GET[1]){
	_GET=_GET[1].split("&");
	for(i=0;i<_GET.length;i++){
		vars=_GET[i].split("=");
		if(vars[0]){
			if(vars[1]==null){
				value=1;
			}
			else {
				value=vars[1];
			}
			_SETHASH[vars[0]]=vars[1];
		}
	}
}
_GET=_SETHASH;

function setJSGET(varname,value,unset){
	url=document.location.href.split("#");
	url=url[0]+"#";
	
	if(unset){
		_GET[varname]='[NULL]';
	}
	else {
		_GET[varname]=value;
	}

	for(i in _GET){
		if(_GET[i]!=='[NULL]'){
			url+=i+'='+_GET[i]+'&';
		}
	}
	if(url[(url.length-1)]=='&'){
		url=url.substr(0,(url.length-1));
	}
	document.location.href=url;	
}

function SeenMessage(MessageId,HideVar){
	if($(MessageId)){
		if(!_GET[HideVar]){
			$('#'+MessageId).show();
			setJSGET(HideVar,'true');
		}
	}
}


function number_format (number, decimals, dec_point, thousands_sep) {
    var n = number, prec = decimals;
    var toFixedFix = function (n,prec) {
        var k = Math.pow(10,prec);
        return (Math.round(n*k)/k).toString();
    };
    n = !isFinite(+n) ? 0 : +n;
    prec = !isFinite(+prec) ? 0 : Math.abs(prec);
    var sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep;
    var dec = (typeof dec_point === 'undefined') ? '.' : dec_point; 
    var s = (prec > 0) ? toFixedFix(n, prec) : toFixedFix(Math.round(n), prec); //fix for IE parseFloat(0.55).toFixed(0) = 0;
    var abs = toFixedFix(Math.abs(n), prec);
    var _, i;
    if (abs >= 1000) {
        _ = abs.split(/\D/);
        i = _[0].length % 3 || 3;
 
        _[0] = s.slice(0,i + (n < 0)) +
              _[0].slice(i).replace(/(\d{3})/g, sep+'$1');
        s = _.join(dec);
    } else {
        s = s.replace('.', dec);
    }
    var decPos = s.indexOf(dec);
    if (prec >= 1 && decPos !== -1 && (s.length-decPos-1) < prec) {
        s += new Array(prec-(s.length-decPos-1)).join(0)+'0';
    }
    else if (prec >= 1 && decPos === -1) {
        s += dec+new Array(prec).join(0)+'0';
    }
    return s;
}