// formatting currency

function parseFloatLocale(strVar)
{
	if ((strVar == "undefined") || (strVar == null))
		return 0;
	else
	{
		strVar = strVar.toString();
		if (strVar.length == 0)
			return 0;

		strVar = strVar.replace(/,/g, ".");
		strVar = strVar.replace(/ /g, "");
		if ((g_strFloatSeparator != ".") && (g_strFloatSeparator != ","))
			eval("strVar = strVar.replace(/" + g_strFloatSeparator + "/g, \".\");");
		if (strVar.charAt(0) == '.')
			strVar = '0' + strVar;

		return parseFloat(strVar);
	}
}

function getPrecision(nVar, nDec)
{
   var i, strVar, nSepPos, nDecNum;
   var strZero = "0000000000000000";

   if ((nVar == "undefined") || (nVar == null) || (nVar.length == 0))
       nVar = "0";

   //fTmp = parseFloat(1) / 10;
   //g_strFloatSeparator = fTmp.toLocaleString().substr(1, 1);
   g_strFloatSeparator = ".";
   strVar = ((Math.round(parseFloatLocale(nVar) * Math.pow(10, nDec))) / Math.pow(10, nDec)).toString();
   nSepPos = strVar.indexOf(".");
      //nDecNum = strVar.substr(nSepPos + 1).length;
   nDecNum = strVar.length - nSepPos;

   if (nSepPos == -1)
   {
       var arrT = new Array(strVar, g_strFloatSeparator, strZero.substr(0, nDec));
       strVar = arrT.join("");
       /*
       strVar += g_strFloatSeparator;
       for (i = 0; i < nDec; i++)
       {
           strVar += "0";
       }
       */
   }
   else
   {
       var arrT = new Array(strVar.substr(0, nSepPos), g_strFloatSeparator, strVar.substr(nSepPos + 1), strZero.substr(0, nDec - nDecNum + 1));
       strVar = arrT.join("");
       /*
       strVar = strVar.substr(0, nSepPos) + g_strFloatSeparator + strVar.substr(nSepPos + 1);
       if (nDecNum < nDec)
       {
           for (i = nDecNum; i < nDec; i++)
           {
               strVar += "0";
           }
       }
       */
   }

   fTmp = 1000;
   strTmp = fTmp.toLocaleString();
   fTmp = 1;

   if (strTmp.length - 4 > fTmp.toLocaleString().length - 1)
   {
       g_strGroupSeparator = strTmp.substr(1, 1);

       i = strVar.indexOf(g_strGroupSeparator);
       nLast = -1;
       if (g_strGroupSeparator == g_strFloatSeparator)
           nLast = strVar.lastIndexOf(g_strGroupSeparator);

       while ((i >= 0) && (i != nLast))
       {
           strVar = strVar.substr(0, i) + strVar.substr(i + 1);
           i = strVar.indexOf(g_strGroupSeparator);
           nLast--;
       }
   }

   return strVar;
}

// end formatting currency
