function replaceText(myText, myFind, myReplace){
	this.myText = myText;
	this.myFind = myFind;
	this.myReplace = myReplace;
	this.replace = function replace(){
		this.myText = this.myText.replace(this.myFind, this.myReplace);
		if(this.myText.indexOf(this.myFind) != -1){
			this.replace();
		}
	}
	this.replace();
}

function jNumberFormat (myNumber, myDec){
	if((typeof myNumber)=="number")myNumber = myNumber.toString();
	var nagative = (myNumber.indexOf("-") == 0);
	var cNum = new replaceText(myNumber, "-", "");
	myNumber = cNum.myText;
	var cNum = new replaceText(myNumber, ",", "");
	myNumber = cNum.myText;
	myNumber = isNaN(parseFloat(myNumber)) ? 0 : parseFloat(myNumber);
	myNumber = myNumber.toFixed(myDec).toString();
	var aNumber = myNumber.split(".");
	var nDot = (aNumber[0].length > 3) ? aNumber[0].length / 3 : 0;
	var nFront = (nDot == parseInt(nDot)) ? 0 : aNumber[0].length - (parseInt(nDot) * 3);
	nDot = (nFront > 0) ? parseInt(nDot) : nDot - 1;
	if(nDot > 0){
		var tmp = "";
		var n = 0;
		for(i=0; i<nDot; i+=1){
			if(i==0 && nFront > 0){
				n = nFront;
				tmp += aNumber[0].substr(0, n) + ",";
			}else{
				tmp += aNumber[0].substr(n, 3) + ",";
				n += 3;
			}
		}
		tmp += aNumber[0].substr(n, 3) + ",";
		aNumber[0] = tmp.substr(0, tmp.length - 1);
	}
	return(((nagative) ? "-" : "") + aNumber[0] + "." + aNumber[1]);
}


