var isNN = (navigator.appName.indexOf("Netscape")!=-1);
function autoTab(input,len, e)
{
    var keyCode = (isNN) ? e. which : e.keyCode;
    var filter = (isNN) ? [0,8,9] : [0,8,9,16,17,18,37,38,39,40,46];
    if(input.value.length >= len && !containsElement(filter,keyCode))
    {
        input.value = input.value.slice(0, len);
        input.form[(getIndex(input)+1) % input.form.length].focus();
    }
    function containsElement(arr, ele)
    {
        var found = false, index = 0;
        while(!found && index < arr.length)
            if(arr[index] == ele)
                found = true;
            else
                index++;
        return found;
    }
    function getIndex(input)
    {
        var index = -1, i = 0, found = false;
        while (i < input.form.length && index == -1)
            if (input.form[i] == input)index = i;
            else i++;
        return index;
    }
    return true;
}
function verfonte()
{
    if (event.button==2)
    {
        window.alert('Clique em Ok, para continuar.')
    }
}

//////////////////////////////////////////////////////

function Mascara_Fone(obj) 
{
    v = obj.value;
    v=v.replace(/\D/g,""); //Remove tudo o que não é dígito
    v=v.replace(/^(\d\d)(\d)/g,"($1)$2"); //Coloca parênteses em volta dos dois primeiros dígitos
    v=v.replace(/(\d{4})(\d)/,"$1-$2"); //Coloca hífen entre o quarto e o quinto dígitos
    obj.value = v;
}
	
function Mascara_Cnpj(obj) 
{
    v = obj.value;
    v=v.replace(/\D/g,""); //Remove tudo o que não é dígito
    v=v.replace(/^(\d{2})(\d)/,"$1.$2"); //Coloca ponto entre o segundo e o terceiro dígitos
    v=v.replace(/^(\d{2})\.(\d{3})(\d)/,"$1.$2.$3"); //Coloca ponto entre o quinto e o sexto dígitos
    v=v.replace(/\.(\d{3})(\d)/,".$1/$2"); //Coloca uma barra entre o oitavo e o nono dígitos
    v=v.replace(/(\d{4})(\d)/,"$1-$2"); //Coloca um hífen depois do bloco de quatro dígitos
    obj.value = v;
}
function Mascara_Maiusculo(obj) 
{
    obj.value = obj.value.toUpperCase();
}
function Mascara_SN(obj) 
{
    obj.value = obj.value.toUpperCase();
    if ((obj.value != 'S') && (obj.value != 'N')) {
        window.alert('Digite S ou N ');
        obj.value = '';
    }
}
function Mascara_Email(obj) 
{
    obj.value = obj.value.toLowerCase();
}
function Testa_Email(obj) 
{
    if (obj.value.indexOf('@') ==-1)
    {
        window.alert('E-mail invalido');
        obj.value = '';
    }	 
}
function Testa_Conta_Email(obj) 
{
    if ((obj.value.indexOf('.') !=-1)||(obj.value.indexOf('.br') !=-1)||(obj.value.indexOf('.com') !=-1)||(obj.value.indexOf('www') !=-1)||(obj.value.indexOf('@') !=-1))
    {
        window.alert('E-mail invalido');
        obj.value = '';
    }	 
}
function Mascara_Numero(obj) 
{
    len = obj.value.length - 1;
    for (x = len;x > -1;x--)
        if (obj.value.charAt(x) < 10)
            obj.value = obj.value;
        else obj.value = obj.value.slice(0,x)+obj.value.slice(x+1,obj.value.length); 
}
function Mascara_Numero_Decimal(obj) 
{
    len = obj.value.length - 1;
    for (x = len;x > -1;x--)
        if (obj.value.charAt(x) < 10)
            obj.value = obj.value;
        else if ((obj.value.charAt(x) == ",")||(obj.value.charAt(x) == "."))
            obj.value = obj.value.slice(0,x)+"."+obj.value.slice(x+1,obj.value.length); 
        else obj.value = obj.value.slice(0,x)+obj.value.slice(x+1,obj.value.length); 
}
function Mascara_Numero_Format(obj) 
{
    len = obj.value.length - 1;
    for (x = len;x > -1;x--)
        if (obj.value.charAt(x) < 10)
            obj.value = obj.value;
        else if ((obj.value.charAt(x) == ",")||(obj.value.charAt(x) == "."))
        {
            obj.value = obj.value.slice(0,x)+"."+obj.value.slice(x+1,obj.value.length)+"00"; 
            autoTab(obj,obj.value.length,1);
        }
        else obj.value = obj.value.slice(0,x)+obj.value.slice(x+1,obj.value.length); 
}
function Mascara_Cep(obj) 
{
    v = obj.value;
    v=v.replace(/\D/g,""); //Remove tudo o que não é dígito
    v=v.replace(/(\d{5})(\d{3})/,"$1-$2");
    obj.value = v;
}
function Mascara_Data(obj) 
{
    if (obj.value.length == 1)
        if (obj.value.charAt(0) < 4)
            obj.value = obj.value;
        else obj.value = "";
    if (obj.value.length == 2)
        if (((obj.value.charAt(1) < 10)&&(obj.value.charAt(0) < 3))||((obj.value.charAt(0) == 3)&&(obj.value.charAt(1) < 2)))
            obj.value = obj.value;
        else obj.value = ""+obj.value.charAt(0);  			 
    if (obj.value.length == 3)
        if (obj.value.charAt(2) != "/")
            if (obj.value.charAt(2) < 10)
                obj.value = ""+obj.value.charAt(0)+obj.value.charAt(1)+"/"+obj.value.charAt(2);
            else obj.value = ""+obj.value.charAt(0)+obj.value.charAt(1)+"/";
    if (obj.value.length == 4)
        if (obj.value.charAt(3) < 2)
            obj.value = obj.value;
        else obj.value = obj.value.charAt(0)+obj.value.charAt(1)+obj.value.charAt(2);
    if (obj.value.length == 5)
        if (((obj.value.charAt(4) < 10)&&(obj.value.charAt(3) == 0))||((obj.value.charAt(4) < 3)&&(obj.value.charAt(3) == 1)))
            obj.value = obj.value;
        else obj.value = obj.value.charAt(0)+obj.value.charAt(1)+obj.value.charAt(2)+obj.value.charAt(3);
    if (obj.value.length == 6)
        if (obj.value.charAt(5) != "/")
            if (obj.value.charAt(5) < 10)
                obj.value = obj.value.charAt(0)+obj.value.charAt(1)+obj.value.charAt(2)+obj.value.charAt(3)+obj.value.charAt(4)+"/"+obj.value.charAt(5);
            else obj.value = obj.value.charAt(0)+obj.value.charAt(1)+obj.value.charAt(2)+obj.value.charAt(3)+obj.value.charAt(4);
    if (obj.value.length == 7)
        if (obj.value.charAt(6) < 10)
            obj.value = obj.value;
        else obj.value = obj.value.charAt(0)+obj.value.charAt(1)+obj.value.charAt(2)+obj.value.charAt(3)+obj.value.charAt(4)+obj.value.charAt(5);
    if (obj.value.length == 8)
        if (obj.value.charAt(7) < 10)
            obj.value = obj.value;
        else obj.value = obj.value.charAt(0)+obj.value.charAt(1)+obj.value.charAt(2)+obj.value.charAt(3)+obj.value.charAt(4)+obj.value.charAt(5)+obj.value.charAt(6);
    if (obj.value.length == 9)
        if (obj.value.charAt(8) < 10)
            obj.value = obj.value;
        else obj.value = obj.value.charAt(0)+obj.value.charAt(1)+obj.value.charAt(2)+obj.value.charAt(3)+obj.value.charAt(4)+obj.value.charAt(5)+obj.value.charAt(6)+obj.value.charAt(7);
    if (obj.value.length == 10)
        if (obj.value.charAt(9) < 10)
            return autoTab(obj, 10, event);
        else obj.value = obj.value.charAt(0)+obj.value.charAt(1)+obj.value.charAt(2)+obj.value.charAt(3)+obj.value.charAt(4)+obj.value.charAt(5)+obj.value.charAt(6)+obj.value.charAt(7)+obj.value.charAt(9);
}
function isNum(str)
{
    var VBlnIsNum;
    VIntTam = str.length;
    VBlnIsNum = true;
    if (VIntTam == 0)
        return false;
    else
    {
        for (i=0; i < VIntTam; i++)
            if (str.substring(i,i+1) < '0' || str.substring(i,i+1) >'9')
                VBlnIsNum = false;
        return VBlnIsNum;
    }
}
//Função de validação de CPF
function isCPF(st)
{
    if (st == "")
        return (false);
    l = st.length;
    //aleterado para se usuário não digitar os zeros na frente do CPF, completar sozinho
    if ((l == 9) || (l == 8))
        for (i = l ; i < 10; i++)
            st = '0' + st
    l = st.length;
    st2 = "";
    for (i = 0; i < l; i++) 
    {
        caracter = st.substring(i,i+1);
        if ((caracter >= '0') && (caracter <= '9'));
        st2 = st2 + caracter;
    }
    if ((st2.length > 11) || (st2.length < 10))
        return (false);
    if (st2.length==10)
        st2 = '0' + st2;
    digito1 = st2.substring(9,10);
    digito2 = st2.substring(10,11);
    digito1 = parseInt(digito1,10);
    digito2 = parseInt(digito2,10);
    sum = 0;
    mul = 10;
    for (i = 0; i < 9 ; i++) 
    {
        digit = st2.substring(i,i+1);
        tproduct = parseInt(digit ,10) * mul;
        sum += tproduct;
        mul--;
    }
    dig1 = ( sum % 11 );
    if ( dig1==0 || dig1==1 )
        dig1=0;
    else  dig1 = 11 - dig1;
    if (dig1!=digito1)
        return (false);
    sum = 0;
    mul = 11;
    for (i = 0; i < 10 ; i++) 
    {
        digit = st2.substring(i,i+1);
        tproduct = parseInt(digit ,10)*mul;
        sum += tproduct;
        mul--;
    }
    dig2 = (sum % 11);
    if ( dig2==0 || dig2==1 )
        dig2=0;
    else dig2 = 11 - dig2;
    if (dig2 != digito2)
        return (false);
    return (true);
}

function Verifica_Cpf(obj)
{
    valor = obj.value;
    if (isCPF(valor))
        return (true);
    else
    {
        alert("CPF Inválido");
        obj.value = "";
    }
}
function Mascara_Nota(obj)
{
    if (((obj.value.charAt(0) == '0')||
        (obj.value.charAt(0) == '2')||	
        (obj.value.charAt(0) == '3')||	
        (obj.value.charAt(0) == '4')||	
        (obj.value.charAt(0) == '5')||	
        (obj.value.charAt(0) == '6')||	
        (obj.value.charAt(0) == '7')||	
        (obj.value.charAt(0) == '8')||	
        (obj.value.charAt(0) == '9')))
        {
        if (obj.value.charAt(1) != '.')
            obj.value = obj.value.charAt(0) + '.';
        if ((obj.value.charAt(2) == '0')||
            (obj.value.charAt(2) == '5'))
            obj.value = obj.value.charAt(0) + obj.value.charAt(1) + obj.value.charAt(2);
        else obj.value = obj.value.charAt(0) + obj.value.charAt(1);
    }
    else if (obj.value.charAt(0) == '1')
        if (obj.value.charAt(1) == '0')
            obj.value = obj.value.charAt(0) + obj.value.charAt(1);
        else
        {	 
            if (obj.value.charAt(1) == ',')
                obj.value = obj.value.charAt(0) + '.';
            if (obj.value.charAt(1) != '.')
                obj.value = obj.value.charAt(0);
            if ((obj.value.charAt(2) == '0')||
                (obj.value.charAt(2) == '5'))
                obj.value = obj.value.charAt(0) + obj.value.charAt(1) + obj.value.charAt(2);
            else obj.value = obj.value.charAt(0) + obj.value.charAt(1);				
        }
    else obj.value = '';	
}
function Mascara_Hora(obj) 
{
    if (obj.value.length == 1)
        if (obj.value.charAt(0) < 3)
            obj.value = obj.value;
        else obj.value = "";
    if (obj.value.length == 2)
        if (obj.value.charAt(1) < 10)
            obj.value = obj.value;
        else obj.value = ""+obj.value.charAt(0);  			 
    if (obj.value.length == 3)
        if (obj.value.charAt(2) != ":")
            if (obj.value.charAt(2) < 10)
                obj.value = ""+obj.value.charAt(0)+obj.value.charAt(1)+":"+obj.value.charAt(2);
            else obj.value = ""+obj.value.charAt(0)+obj.value.charAt(1)+":";
    if (obj.value.length == 4)
        if (obj.value.charAt(3) < 6)
            obj.value = obj.value;
        else obj.value = obj.value.charAt(0)+obj.value.charAt(1)+obj.value.charAt(2); 
    if (obj.value.length == 5)
        if (obj.value.charAt(4) < 10)
            obj.value = obj.value;
        else obj.value = obj.value.charAt(0)+obj.value.charAt(1)+obj.value.charAt(2)+obj.value.charAt(3);		
}
        
function Mascara_Mac(obj) 
{
    v = obj.value;
    v=v.toUpperCase() //Maiúsculas 
    v=v.replace(/[^ABCDEF0123456789]/g,"") //Remove tudo o que não for A, B, C, D, E, F ou Numeros
    v = v.replace(/(\w\w{1})(\w{12})$/, "$1:$2");
    v = v.replace(/(\w\w{1})(\w{10})$/, "$1:$2");
    v = v.replace(/(\w\w{1})(\w{8})$/, "$1:$2");
    v = v.replace(/(\w\w{1})(\w{6})$/, "$1:$2");
    v = v.replace(/(\w\w{1})(\w{4})$/, "$1:$2");
    v = v.replace(/(\w\w{1})(\w{2})$/, "$1:$2");
    obj.value = v;
}
	 
