// Funções de Mudar cor da Linha sob o mouse
function Mov(obj){
	obj.style.backgroundColor = '#E1E7CF';
}

function Mou(obj){
	obj.style.backgroundColor = '';
}
// Fim da Função

//----------------------------------------------------------------------------

// Janela Popup - Baseado Dreamweaver 
function winpopup(URL,Nome,Atributos){ 
  window.open(URL,Nome,Atributos);
}
// --------------------------------------------------------------------------

// Função Máscara
/*
    * "#" - 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');
}


// -------------------------------------------------------------------------

// Função Valida Data
function validaData(str, vTipo) { 

	dia = (str.value.substring(0,2)); 
    mes = (str.value.substring(3,5)); 
	ano = (str.value.substring(6,10)); 
	cons = true; 

	var vData = dia+mes+ano;

	if ((vData == "") && (vTipo > 0)){
		alert("Preenchimento da data obrigatorio."); 
		str.value = "";
		return false;
	} else if ((vData == "") && (vTipo == 0)){
		return;
	}
	
	// verifica se foram digitados números
	if (isNaN(dia) || isNaN(mes) || isNaN(ano)){
		alert("Preencha a data somente com números."); 
		str.value = "";
		str.focus(); 
		return false;
	}
		
    // verifica o dia valido para cada mes 
    if ((dia < 01)||(dia < 01 || dia > 30) && (  mes == 04 || mes == 06 || mes == 09 || mes == 11 ) || dia > 31) { 
    	cons = false; 
	} 

	// verifica se o mes e valido 
	if (mes < 01 || mes > 12 ) { 
		cons = false; 
	} 

	// verifica se e ano bissexto 
    if (mes == 2 && ( dia < 01 || dia > 29 || ( dia > 28 && (parseInt(ano / 4) != ano / 4)))) { 
		cons = false; 
	} 
   
	if (cons == false) { 
		alert("A data inserida não é válida: " + str.value); 
		str.value = "";
		str.focus(); 
		return false;
	} 
}
// ------------------------------------------------------------------------------------------------

// Função Valida Hora
function validaHora(str, vTipo) { 

	hora = (str.value.substring(0,2)); 
    minu = (str.value.substring(3,5)); 
	segu = (str.value.substring(6,8)); 
	cons = true; 

	var vHora = hora+minu+segu;

	if ((vHora == "") && (vTipo > 0)){
		alert("Preenchimento da hora obrigatorio."); 
		str.value = "";
		return false;
	} else if ((vHora == "") && (vTipo == 0)){
		return;
	}
	
	// verifica se foram digitados números
	if (isNaN(hora) || isNaN(minu) || isNaN(segu)){
		alert("Preencha a data somente com números."); 
		str.value = "";
		str.focus(); 
		return false;
	}
		
    // verifica a hora 
    if (hora < 00 || hora > 23) { 
    	cons = false; 
	} 

    // verifica o minuto 
    if (minu < 00 || minu > 59) { 
    	cons = false; 
	} 

	// verifica o segundo
    if (segu < 00 || segu > 59) { 
    	cons = false; 
	} 

	if (cons == false) { 
		alert("A hora inserida não é válida: " + str.value); 
		str.value = "";
		str.focus(); 
		return false;
	} 
}
// -----------------------------------------------------------------------------------------------------

// Resolucao do Video
function resVideo(tipo) {
	var aAlt = screen.height;
	var aLarg = screen.width;
	if (tipo=="A") {
		var oRetorno = aAlt;
	} else if (tipo=="L") {
		var oRetorno = aLarg;
	} else if (tipo=="LA") {
		var oRetorno = aLarg+"x"+aAlt;
	}
	return oRetorno;
}
// -------------------------------------------------------------------------------------------------------

// Mover para Caixa Alta
function Maiusc(coluna) { 
    qcampo = eval (coluna);
    qcampo.value = qcampo.value.toUpperCase() 
} 
// ---------------------------------------------------------------------------------------------------------

// Valida e-mail
function ValidaEmail(emailad){
    var exclude=/[^@\-\.\w]|^[_@\.\-]|[\._\-]{2}|[@\.]{2}|(@)[^@]*\1/;
    var check=/@[\w\-]+\./;
    var checkend=/\.[a-zA-Z]{2,3}$/;
	if (emailad!=""){
	    if(((emailad.search(exclude) != -1)||(emailad.search(check)) == -1)||(emailad.search(checkend) == -1)){
			alert("Verificar o e-mail!");
			return false;
		} else {
        	return true;
    	}
	} else {
		return true;
	}
}
// -------------------------------------------------------------------------------------------------------

// CPF CNPJ
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;
}

// --------------------------------------------------------------------------------------------------------

// Função Trim 
function trim(s){
  while ((s.substring(0,1) == ' ') || (s.substring(0,1) == '\n') || (s.substring(0,1) == '\r')){
    s = s.substring(1,s.length);
  }
  while ((s.substring(s.length-1,s.length) == ' ') || (s.substring(s.length-1,s.length) == '\n') || (s.substring(s.length-1,s.length) == '\r')){
    s = s.substring(0,s.length-1);
  }
  return s;
}
// ---------------------------------------------------------------------------------------------------------

// Formata Decimal ------------------------------------------------------------------
function MascaraMoeda(objTextBox, SeparadorMilesimo, SeparadorDecimal, e){
    var sep = 0;
    var key = '';
    var i = j = 0;
    var len = len2 = 0;
    var strCheck = '0123456789';
    var aux = aux2 = '';
    var whichCode = (window.Event) ? e.which : e.keyCode;
    if (whichCode == 13) return true;
    key = String.fromCharCode(whichCode); // Valor para o código da Chave
    if (strCheck.indexOf(key) == -1) return false; // Chave inválida
    len = objTextBox.value.length;
    for(i = 0; i < len; i++)
        if ((objTextBox.value.charAt(i) != '0') && (objTextBox.value.charAt(i) != SeparadorDecimal)) break;
    aux = '';
    for(; i < len; i++)
        if (strCheck.indexOf(objTextBox.value.charAt(i))!=-1) aux += objTextBox.value.charAt(i);
    aux += key;
    len = aux.length;
    if (len == 0) objTextBox.value = '';
    if (len == 1) objTextBox.value = '0'+ SeparadorDecimal + '0' + aux;
    if (len == 2) objTextBox.value = '0'+ SeparadorDecimal + aux;
    if (len > 2) {
        aux2 = '';
        for (j = 0, i = len - 3; i >= 0; i--) {
            if (j == 3) {
                aux2 += SeparadorMilesimo;
                j = 0;
            }
            aux2 += aux.charAt(i);
            j++;
        }
        objTextBox.value = '';
        len2 = aux2.length;
        for (i = len2 - 1; i >= 0; i--)
        objTextBox.value += aux2.charAt(i);
        objTextBox.value += SeparadorDecimal + aux.substr(len - 2, len);
    }
    return false;
}

function Limpar(valor, validos) {
	// retira caracteres invalidos da string
	var result = "";
	var aux;
	for (var i=0; i < valor.length; i++) {
		aux = validos.indexOf(valor.substring(i, i+1));
		if (aux>=0) {
			result += aux;
		}
	}
	return result;
}

//Formata número tipo moeda usando o evento onKeyDown
function Formata(campo,tammax,teclapres,decimal) {
	var tecla = teclapres.keyCode;
	vr = Limpar(campo.value,"0123456789");
	tam = vr.length;
	dec=decimal

	if (tam < tammax && tecla != 8){ tam = vr.length + 1 ; }

	if (tecla == 8 ){ tam = tam - 1 ; }

	if ( tecla == 8 || tecla >= 48 && tecla <= 57 || tecla >= 96 && tecla <= 105 ){

		if ( tam <= dec ){ campo.value = vr ; }
	
		if ( (tam > dec) && (tam <= 5) ){ 
			campo.value = vr.substr( 0, tam - 2 ) + "," + vr.substr( tam - dec, tam ) ; 
		}
		if ( (tam >= 6) && (tam <= 8) ){ 
			campo.value = vr.substr( 0, tam - 5 ) + "." + vr.substr( tam - 5, 3 ) + "," + vr.substr( tam - dec, tam ) ; 
		}
		if ( (tam >= 9) && (tam <= 11) ){ 
			campo.value = vr.substr( 0, tam - 8 ) + "." + vr.substr( tam - 8, 3 ) + "." + vr.substr( tam - 5, 3 ) + "," + vr.substr( tam - dec, tam ) ; 
		}
		if ( (tam >= 12) && (tam <= 14) ){ 
			campo.value = vr.substr( 0, tam - 11 ) + "." + vr.substr( tam - 11, 3 ) + "." + vr.substr( tam - 8, 3 ) + "." + vr.substr( tam - 5, 3 ) + "," + vr.substr( tam - dec, tam ) ; 
		}
		if ( (tam >= 15) && (tam <= 17) ){
			campo.value = vr.substr( 0, tam - 14 ) + "." + vr.substr( tam - 14, 3 ) + "." + vr.substr( tam - 11, 3 ) + "." + vr.substr( tam - 8, 3 ) + "." + vr.substr( tam - 5, 3 ) + "," + vr.substr( tam - 2, tam ) ;
		}
	} 
}

