function lectnb(si) {
 var result="";
 for (var pi=0;pi<si.length;pi++) {
  var ci=si.charAt(pi);
  if ((ci!="0")||(result!=""))
   if (ci>="0" && ci<="9")
    result+=ci
   else if ((ci==",")||(ci=="."))
    result+="."
   else if ((ci=="-")&&(result==""))
    result+="-";
 }
 if (result=="") result="0";
 return result;
}

function strtoint(si) {
 return parseInt(lectnb(si));
}

function strtofloat(sf) {
 return parseFloat(lectnb(sf));
}

function inttostr(i) {
 var result="";
 i=Math.round(parseFloat(i));
 si=i.toString();
 if (isNaN(si)) si="0";
 bi = 0;
 for (pi=si.length-1;pi>=0;pi--) {
  ci = si.charAt(pi);
  if ((bi==0)&&(pi!=si.length-1)&&(ci!="-")) {
   result=ci+" "+result;
  } else {
   result=ci+result;
  }
  bi=(bi+1)%3;
 }
 return result;
}

function floattostr(f) {
 f=Math.round(f*100)/100;
 var sf = f.toString();
 var result = "";
 for (pi=0;pi<sf.length;pi++) {
  cf = sf.charAt(pi);
  if (cf=='.')
   result += ','
  else
   result += cf;
 }
 return result;
}



function number_format(src,nv) {
	nv=parseInt(nv,10);
	if (nv<0||nv>9) nv=0; 
	cm = Math.pow(10,nv);
	s = src.value;
	
	if (cm>1) {	
		f= strtofloat(s);
		f2= parseFloat(Math.round(f*cm)) / cm;
		i2= Math.floor(f2);
		v2= Math.round(cm * (f2-i2));
		sv2= "0000000000"+v2;
		sv2d=sv2.length-nv;
		sv2f=sv2.length;
		sv2= sv2.substring(sv2d,sv2f);
		
		sf = inttostr(i2)+","+sv2;
	} else {
		i=strtoint(s);
		sf=inttostr(i);
	}
	src.value=sf;
}	

