
var sSpacer = ' ';
var decimalNum = 2;
var bChange = false;
var bSpaces = true;
var bZeros = true;
var sCurrency = 'руб';
var sChange = 'коп';

function formatNumber (num,dec,zeros)
{
    var tmpNum = isNaN(num)? 0 : num;

    // Return the right number of decimal places
    tmpNum *= Math.pow(10,dec);
    tmpNum = Math.round(tmpNum);
    tmpNum /= Math.pow(10,dec);

    var tmpStr = new String(tmpNum);    
    var part = tmpStr.split('.');
    if(!part[1])
          part[1]='';
          
    // add spacers
    if (bSpaces)
    {
        var tmpLength = part[0].length;
        for (var i = Math.floor(tmpLength/3); i > 0; i--)
        {
            var breakAt = tmpLength%3+(i-1)*3;
            if(breakAt == 0)
                continue;
            
            part[0]= part[0].substring(0,breakAt)
                     +sSpacer
                     +part[0].substring(breakAt,part[0].length);
        }   
    }
    
    // trace with zeros
    if (dec > 0 || zeros)
    {
        if (part[1] || zeros)
            part[1]='.'+part[1];
        if (zeros)
            for (var i = (dec - part[1].length + 1); i > 0; i--)
                part[1]+='0';
    }
    
    return part[0]+part[1];
}

function formatInt (num)
{
    return formatNumber(num,0,false);
}

function toInt(toconvert)
{
    var temp = new String(toconvert);
    if(!temp)
      return 0;
    temp = temp.replace(/[^0-9\-\+]/g,'');
    return parseInt(temp);
}

function connect_nice_on(elementid)
{
 el = document.getElementById(elementid);
 el.value = formatInt(el.value);

 el.onfocus = function ()
 {
  this.value = toInt(this.value);
 }

 el.onblur = function ()
 {
  this.value = formatInt(this.value);
 }
}
