function strtofloat(value) {
  sz = value + "";
  sz = sz.replace(/,| |\$|\%|[A-Z]|[a-z]/g, "");
  return parseFloat(sz);
}

function round2 (value) {
  if (value.toFixed) return value.toFixed(2);
  else return Math.round(value*100)/100;
}

function fmtProc(value, prec) {
  if (value.toFixed) {var result = value.toFixed(prec) + "";}
  else if (prec==0) {var result = Math.round(value) + "";}
  else  {var result = Math.round(value*Math.pow(10,prec))/Math.pow(10,prec) + "";}
  result = result + "\%";
  return result;
}

function fmtSum(value) {
  var decimalSeparator = ".";
  var thousandSeparator = ",";
  if (value.toFixed) {var sz = value.toFixed(2) + "";}
  else {var sz = value + "";}
  var szArr = sz.split(decimalSeparator);
  if (szArr[0]=="") szArr[0] = "0";

  var n = parseInt(szArr[0]);
  var arr=new Array("0"), i=0; 
  while (n>0) {arr[i]=""+n%1000; n=Math.floor(n/1000); i++;}
  arr=arr.reverse();
  for (var i in arr) if (i>0) //padding zeros
    while (arr[i].length<3) arr[i]="0"+arr[i];

  return "$" + arr.join(thousandSeparator) + decimalSeparator + szArr[1];
}

