//Função para disparar clique de um botão
function fDisparaBotao(e, buttonid)
{ 
	var bt = document.getElementById(buttonid); 
	if (typeof bt == 'object')
	{ 
		if (navigator.appName.indexOf("Netscape")>(-1))
		{ 
			if (e.keyCode == 13)
			{ 
				bt.click(); 
				return false; 
			} 
		} 
		if (navigator.appName.indexOf("Microsoft Internet Explorer")>(-1))
		{ 
			if (event.keyCode == 13)
			{ 
				bt.click(); 
				return false; 
			} 
		} 
	} 
} 

function fLimpaCampo(valorInicial, textid)
{
	var txt = document.getElementById(textid);
	if (typeof txt == 'object')
	{		
		if (txt.value == valorInicial)
			txt.value = "";
	}
}

function fSetaFocoOnTab(controle, codigoTecla)
{
    if(codigoTecla==9)
    {
        document.getElementById(controle).focus();
    }
}

function fSetaFocoOnShiftTab(controle, codigoTecla, shift)
{
    if(codigoTecla==9 && shift==true)
    {
        document.getElementById(controle).focus();
    }
}

function fDestacaCampoOnGotFocus(s, e) {
    ChangeBgColor(s, 'Yellow');    
}
function fDesfazDestaqueCampoOnLostFocus(s, e) {
    ChangeBgColor(s, 'White');
}
function fChangeBgColor(edit, color) {
    edit.GetMainElement().style.backgroundColor = color;
    edit.GetInputElement().style.backgroundColor = color;
}

function fValidaCpfCnpj(oSrc,args)
{
    if (args.Value.length == 11)
    {
        fValidaCPF(oSrc,args);
    }
    else if (args.Value.length == 14)
    {
        fValidaCNPJ(oSrc, args);
    }
    else
    {
        return args.IsValid = false;
    }
}

//Validação de CPF
function fValidaCPF(oSrc,args)
{
    s = args.Value;

    if (isNaN(s)) 
    {
        return args.IsValid = false;
    }

    var i;
    var c = s.substr(0,9);
    var dv = s.substr(9,2);
    var d1 = 0;
    
    for (i = 0; i < 9; i++) 
    {
        d1 += c.charAt(i)*(10-i);
    }

    if (d1 == 0)
    {
        return args.IsValid = false;
    } 

    d1 = 11 - (d1 % 11);

    if (d1 > 9) 
        d1 = 0;

    if (dv.charAt(0) != d1) 
    {
        return args.IsValid = false;
    }

    d1 *= 2;
    for (i = 0; i < 9; i++) 
    {
        d1 += c.charAt(i)*(11-i);
    }

    d1 = 11 - (d1 % 11);
    if (d1 > 9) 
        d1 = 0;

    if (dv.charAt(1) != d1) 
    {
        return args.IsValid = false;
    }

    return args.IsValid = true;
} 

//Validação de CNPJ

function fValidaCNPJ(oSrc, args)
{
    s = args.Value;

    if (isNaN(s)) 
    {
        return args.IsValid = false;
    }

    var i;
    var c = s.substr(0,12);
    var dv = s.substr(12,2);
    var d1 = 0;

    for (i = 0; i <12; i++)
    {
        d1 += c.charAt(11-i)*(2+(i % 8));
    }

    if (d1 == 0) 
    return args.IsValid = false;

    d1 = 11 - (d1 % 11);
    if (d1 > 9) 
        d1 = 0;

    if (dv.charAt(0) != d1)
    {
        return args.IsValid = false;
    }

    d1 *= 2;
    for (i = 0; i < 12; i++)
    {
        d1 += c.charAt(11-i)*(2+((i+1) % 8));
    }

    d1 = 11 - (d1 % 11);
    if (d1 > 9)
        d1 = 0;

    if (dv.charAt(1) != d1)
    {
        return args.IsValid = false;
    }

    return args.IsValid = true;
}
