// ------------------------------------------------------------------------------
// Função Popup
function popUp(a, b, c, d) {
	var page = a;
	var lenX = b;
	var lenY = c;
	var scrl = d > 0 ? 'yes' : 'no';
	var posX = parseInt((screen.width / 2) - (lenX / 2));
	var posY = parseInt((screen.height / 2) - (lenY / 2));
	var name = 'POPUP';
	var attr = 'width=' + lenX + ',height=' + lenY + ',left=' + posX + ',top=' + posY + ',scrollbars=' + scrl;
	window.open(page, name, attr);
	void(0);
}
// Fim da Função Popup

// ------------------------------------------------------------------------------
// Função Remove Espaços em Branco 
function removeSpaces(string) {
	var tstring = "";
	string = '' + string;
	splitstring = string.split(" ");
	for(i = 0; i < splitstring.length; i++)
	tstring += splitstring[i];
	return tstring;
}
// Fim da Função Remove Espaços em Branco 

// ------------------------------------------------------------------------------
// Função Máscara - Versão B
/*
    * "#" - Numeros
    * "A" - Letras UpperCase
    * "a" - Letras LowerCase
    * "Z" - Letras
    * "*" - Qualquer Caracter
    * "/", ".", "-", " ", ":" - Caracteres Fixos
	onkeypress="return MaskCPF(this, event)"
	onkeypress="return MaskTelefone(this, event)" 
*/
function Mascara(objeto, evt, mask) {
 
	var LetrasU = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
	var LetrasL = 'abcdefghijklmnopqrstuvwxyz';
	var Letras  = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
	var Numeros = '0123456789';
	var Fixos  = '().-:/ ';
	var Charset = " !\"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_/`abcdefghijklmnopqrstuvwxyz{|}~";

	evt = (evt) ? evt : (window.event) ? window.event : "";
	var value = objeto.value;
	if (evt) {
		var ntecla = (evt.which) ? evt.which : evt.keyCode;
 		tecla = Charset.substr(ntecla - 32, 1);
 		if (ntecla < 32) return true;

 		var tamanho = value.length;
 		if (tamanho >= mask.length) return false;

 		var pos = mask.substr(tamanho,1);
 		while (Fixos.indexOf(pos) != -1) {
  			value += pos;
  			tamanho = value.length;
  			if (tamanho >= mask.length) return false;
  			pos = mask.substr(tamanho,1);
 		}

 		switch (pos) {
   			case '#' : if (Numeros.indexOf(tecla) == -1) return false; break;
   			case 'A' : if (LetrasU.indexOf(tecla) == -1) return false; break;
   			case 'a' : if (LetrasL.indexOf(tecla) == -1) return false; break;
   			case 'Z' : if (Letras.indexOf(tecla) == -1) return false; break;
   			case '*' : objeto.value = value; return true; break;
   			default : return false; break;
 		}
	}
	objeto.value = value;
	return true;
}
function MaskCEP(objeto, evt) {
	return Mascara(objeto, evt, '##.###-###');
}

function MaskTurno(objeto, evt) {
	return Mascara(objeto, evt, '#');
}

function MaskPlacar(objeto, evt) {
	return Mascara(objeto, evt, '##');
}

function MaskUF(objeto, evt) {
	return Mascara(objeto, evt, 'AA');
}

function MaskAno(objeto, evt) {
	return Mascara(objeto, evt, '####');
}

function MaskHora(objeto, evt) {
	return Mascara(objeto, evt, '##:##:##');
}

function MaskData(objeto, evt) {
	return Mascara(objeto, evt, '##/##/####');
}

function MaskTelefone(objeto, evt) {
	return Mascara(objeto, evt, '(##) ####-####');
}

function MaskCPF(objeto, evt) {
	return Mascara(objeto, evt, '###.###.###-##');
}

function MaskPlacaCarro(objeto, evt) {
	return Mascara(objeto, evt, 'AAA-####');
}
function MaskAbrPais(objeto, evt) {
	return Mascara(objeto, evt, 'AAA');
}
// Fim da Função Máscara

// ------------------------------------------------------------------------------
// Função Valida CPF
function validaCPFCNPJ(objeto) {
	campo = eval (objeto);
	var invalid, s;
	invalid = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/;
	var s;
	s = limpa_string(campo.value);
	
	// checa se é cpf	
	if (s.length == 11) {
		if (valida_CPF(campo.value) == false ) {
			alert("O CPF inválido !");
			setTimeout('campo.focus()',100)			
			return false;	
		}
        vc1 = s.substr(0,3);
        vc2 = s.substr(3,3);
        vc3 = s.substr(6,3);
		vc4 = s.substr(9,2);
		vcampo = vc1+"."+vc2+"."+vc3+"-"+vc4
		campo.value = vcampo
    }
     
    // checa se é cnpj
	else if (s.length == 14) {
		if (valida_CNPJ(campo.value) == false ) {
			alert("O CNPJ inválido !");
			setTimeout('campo.focus()',100)			
			//campo.focus();
			return false;	
		}
        vc1 = s.substr(0,2);
        vc2 = s.substr(2,3);
        vc3 = s.substr(5,3);
		vc4 = s.substr(8,4);
		vc5 = s.substr(12,2);
		vcampo = vc1+"."+vc2+"."+vc3+"/"+vc4+"-"+vc5
		campo.value = vcampo
	} else {
		if (s.length != 0) {
			alert("O CPF/CNPJ não é válido !");
			setTimeout('campo.focus()',100)			
			return false;
		}
	}
}

function limpa_string(S){
	var Digitos = "0123456789";
	var temp = "";
	var digito = "";
	for (var i=0; i<S.length; i++)	{
		digito = S.charAt(i);
		if (Digitos.indexOf(digito)>=0)	{
			temp=temp+digito	
		}
	} 
	return temp
}

function valida_CPF(s)	{
	var i;
	s = limpa_string(s);
	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 false;
	d1 = 11 - (d1 % 11);
	if (d1 > 9) d1 = 0;
	if (dv.charAt(0) != d1){
		return 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 false;
	}
    return true;
}

function valida_CNPJ(s){
	var i;
	s = limpa_string(s);
	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 false;
    d1 = 11 - (d1 % 11);
	if (d1 > 9) d1 = 0;
	if (dv.charAt(0) != d1){
		return 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 false;
	}
	return true;
}

// --------------------------------------------------------------------------------------------------------
// Fim da Função Valida CPF