﻿function OnKeyMaskCur(objTextBox, e)
{
    var key = '';
    var strCheck = '0123456789,.';
    var aux = '';
    var sepDecimal = false;
    var countDecimal = 0;
    var evt = getEvent(evt);
    var tecla = getKeyCode(evt);    
    if (teclaValida(tecla))
    {
        len = objTextBox.value.length;
        for(i=0; i < len; i++)
        {
            key = objTextBox.value.charAt(i);
            if (strCheck.indexOf(key) >= 0) 
            {
                if (key == ',' || key == '.')
                {
                   if (key == '.') 
                   {
                       key = ','
                   }               
                   if (!sepDecimal)
                   {
                       aux += key;
                       sepDecimal = true;
                   }
                }
                else
                {      
                    if (sepDecimal)
                    {
                        if (countDecimal < 2)
                        {
                            aux += key;
                            countDecimal++;
                        }
                    }
                    else
                    { 
                        aux += key;
                    }
                }
            }
        }
        objTextBox.value = aux;   
    } 
    return false;
}

function OnExitMaskCur(objTextBox, e)
{
    objTextBox.value = objTextBox.value.replace(",", ".");
    objTextBox.value = CurrencyFormatted(objTextBox.value).replace(".", ",");
}

function CurrencyFormatted(amount)
{
	var i = parseFloat(amount);
	if(isNaN(i)) { i = 0.00; }
	i = Math.abs(i);
	i = parseInt((i + .005) * 100);	
	i = i / 100;
	s = new String(i);
	if(s.indexOf('.') < 0) { s += '.00'; }
	if(s.indexOf('.') == (s.length - 2)) { s += '0'; }
	return s;
}

function teclaValida(tecla)
{
 if (  tecla == 8  //Backspace
    || tecla == 9  //TAB
    || tecla == 27 //ESC
    || tecla == 16 //Shif TAB 
    || tecla == 45 //insert
    || tecla == 46 //delete
    || tecla == 35 //home
    || tecla == 36 //end
    || tecla == 37 //esquerda
    || tecla == 38 //cima
    || tecla == 39 //direita
    || tecla == 40)//baixo
  return false;
 else
  return true;
}

function getEvent(evt)
{
 if (!evt) evt = window.event; //IE
 return evt;
}

function getKeyCode(evt)
{
 var code;
 if (typeof (evt.keyCode) == 'number')
  code = evt.keyCode;
 else if (typeof (evt.which) == 'number')
  code = evt.which;
 else if (typeof (evt.charCode) == 'number')
  code = evt.charCode;
 else
  return 0;
 return code;
}
