// JavaScript Document

//  FORMATO DE ENTRADA : dd/mm/aaaa
function checkDate(obj) {

	var myDayStr = obj.value.substr(0,2);
	var myMonthStr = obj.value.substr(3,2);
	var myYearStr = obj.value.substr(6,4);
	
	var myMonth = new Array('Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec');
	var myDateStr = myDayStr + ' ' + myMonth[myMonthStr] + ' ' + myYearStr;

	/* Using form values, create a new date object
	using the setFullYear function */
	var myDate = new Date();
	myDate.setFullYear( myYearStr, myMonthStr, myDayStr );

	if ( myDate.getMonth() != myMonthStr ) {
		alert( 'Desculpe, mas "' + obj.value + '" NÃO é uma data válida.' );
		obj.value = '';
	} else {
		//alert( 'Congratulations! "' + myDateStr + '" IS a valid date.' );
	}

}


//function validar navegador
function validaNavegador(){
    var nom = navigator.appName;
    //alert(nom);
    if (nom == "Microsoft Internet Explorer")
        {
            var Navegador = '<object id="Navegador1" width="0" height="0" classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></object>';
            document.body.insertAdjacentHTML('beforeEnd', Navegador);
            Navegador1.ExecWB(7, 1);
            Navegador1.outerHTML = "";
        } else if (nom == "Netscape"){
        window.print();
    } else {
    window.print();
}
}

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 ) ;} 
        } 
        
    }
    
    
    
    
    
    
    
    //validar campos telefones
function mascara(o,f){
    v_obj=o
    v_fun=f
    setTimeout("execmascara()",1)
}

function execmascara(){
    v_obj.value=v_fun(v_obj.value)
}

function telefone1(v){
    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
    return v
}
    
    //validação data//
    if (navigator.appName.indexOf('Microsoft') != -1){
        clientNavigator = "IE";
    }else{
    clientNavigator = "Other";
}

function Bloqueia_Caracteres(evnt){
    if (clientNavigator == "IE"){
        if (evnt.keyCode < 48 || evnt.keyCode > 57){
            return false
        }
    }else{
    if ((evnt.charCode < 48 || evnt.charCode > 57) && evnt.keyCode == 0){
        return false
    }
}
}

function Ajusta_Data(input, evnt){
    if (input.value.length == 2 || input.value.length == 5){
        if(clientNavigator == "IE"){
            input.value += "/";
        }else{
        if(evnt.keyCode == 0){
            input.value += "/";
        }
    }
}
return Bloqueia_Caracteres(evnt);
}

/* modo de usar onkeyup="Data(this);" */
function Data(campo, e){
	
 	myVal = campo.value;
	if (myVal.length > 2 && !myVal.match(/\//)){
		myVal = '';
	} else {
		if (window.event){
			keycode = window.event.keyCode;
		} else if (e){
			keycode = e.which;
		}
					
		if (keycode < 48 || keycode > 57 && keycode < 96 || keycode > 105){
			myVal = myVal.substr(0, (myVal.length - 1));
		}
						
		if (myVal.length == 2){
			myVal += '/';
		}
						
		if (myVal.length == 5){
			myVal += '/';
		}
	}
	campo.value = myVal;
}



//formatar CEP
function MM_formtCep(e,src,mask) {
    if(window.event) { _TXT = e.keyCode; } 
    else if(e.which) { _TXT = e.which; }
    if(_TXT > 47 && _TXT < 58) { 
        var i = src.value.length; var saida = mask.substring(0,1); var texto = mask.substring(i)
        if (texto.substring(0,1) != saida) { src.value += texto.substring(0,1); } 
        return true; } else { if (_TXT != 8) { return false; } 
        else { return true; }
    }
}

//valida apenas texto
function VerifyText( str, chars ) {
    var ret = true;
    
    for (i = 0; i < str.length; i++) {
        for (j = 0; j < chars.length; j++) {
            if (str.substr(i, 1) == chars.substr(j, 1)) ret = false;
        }
    }
    return ret;
} 
function VerifyBlur( controle, chars, msg )
{
    if (!VerifyText( controle.value, chars ))
        {
            document.getElementById('mensagem').innerHTML = "<font color=\"#FF0000\">"+msg+"</font>";
            document.formenvio.nr.focus();
            controle.focus();
            controle.select( 0, (controle.value.length - 1) );
        } else {
        document.getElementById('mensagem').innerHTML = "";
    }
}


//-----> máscara cnpj:

function m_CNPJ(campo,tammax) {
    
    
    
    var vr = campo.value;
    vr = vr.replace( "-", "" );
    vr = vr.replace( "/", "" );
    vr = vr.replace( ".", "" );
    vr = vr.replace( ".", "" );
    var tam = vr.length;
    
    
    
    if (tam < tammax) { tam = vr.length + 1 ; }
    
    
    
    tam = tam - 1;
    if ( (tam > 2) && (tam <= 5) ) {
        vr = vr.substr( 0, tam - 1 ) + '-' + vr.substr( tam - 1, tam ) ; }
    if ( (tam >= 6) && (tam <= 8) ) {
        vr = vr.substr( 0, tam - 5 ) + '/' + vr.substr( tam - 5, 4 ) + '-' + vr.substr( tam - 1, tam ) ; }
    if ( (tam >= 9) && (tam <= 11) ) {
        vr = vr.substr( 0, tam - 8 ) + '.' + vr.substr( tam - 8, 3 ) + '/' + vr.substr( tam - 5, 4 ) + '-' + vr.substr( tam - 1, tam ) ; }
    if ( (tam >= 12) && (tam < 14) ) {
        vr = vr.substr( 0, tam - 11 ) + '.' + vr.substr( tam - 11, 3 ) + '.' + vr.substr( tam - 8, 3 ) + '/' + vr.substr( tam - 5, 4 ) + '-' + vr.substr( tam - 1, tam ) ; }
    campo.value = vr; 
    
}







//-----> máscara cpf: 

function m_CPF(campo,tammax) {
    
    
    
    var vr = campo.value;
    
    vr = vr.replace( "-", "" );
    
    vr = vr.replace( ".", "" );
    
    vr = vr.replace( ".", "" );
    
    var tam = vr.length;
    
    
    
    if (tam < tammax) { tam = vr.length + 1; }
    
    
    
    tam = tam - 1;
    
    if ( (tam > 2) && (tam <= 11) ) {
        
        vr = vr.substr( 0, tam - 1 ) + '-' + vr.substr( tam - 1, tam ); }
    
    if ( (tam == 10) ) {
        
        vr = vr.substr( 0, tam - 7 ) + '.' + vr.substr( tam - 7, 3 ) + '.' + vr.substr( tam - 4, tam ); }
    
    
    
    campo.value = vr;
    
}







//-----> máscara cep:

function m_CEP(campo,tammax) {
    
    
    
    var vr = campo.value;
    
    vr = vr.replace( "-", "" );
    
    vr = vr.replace( ".", "" );
    
    var tam = vr.length;
    
    
    
    if (tam < tammax) { tam = vr.length + 1; }
    
    
    
    tam = tam - 1;
    
    if ( (tam > 2) && (tam <= 8) ) {
        
        vr = vr.substr( 0, tam - 2 ) + '-' + vr.substr( tam - 2, tam ); }
    
    if ( (tam == 7) ) {
        
        vr = vr.substr( 0, tam - 5 ) + '.' + vr.substr( tam - 5, tam ); }
    
    
    
    campo.value = vr;
    
}







function mascaraData(e,campoData){
    if(window.event){
        _TXT = e.keyCode;
    } else if(e.which){
    _TXT = e.which;
}

if(_TXT > 47 && _TXT < 58){ 
    var i = src.value.length;
    var saida = mask.substring(0,1);
    var texto = mask.substring(i)
    if (texto.substring(0,1) != saida){
        src.value += texto.substring(0,1);
    } 
    return true;
} else { 
if (_TXT != 8){
    return false;
} else { 
return true;
}
}
/*
var data = campoData.value;
if(data.length == 2){
data = data + '/';
document.forms[0].data.value = data;
return true;
}
if (data.length == 5){
data = data + '/';
document.forms[0].data.value = data;
return true;
}*/
}







//-----> máscara hora:

function m_HORA(campo,tammax,tecla) {
    
    
    
    if(typeof(tecla) == 'undefined')
        
    var tecla = window.event;
    
    var codigo = (tecla.which ? tecla.which : tecla.keyCode ? tecla.keyCode : tecla.charCode);
    
    
    
    var vr = campo.value;
    
    vr = vr.replace( ":", "" );
    
    vr = vr.replace( ":", "" );
    
    var tam = vr.length;
    
    
    
    if (tam < tammax) { tam = vr.length + 1; }
    
    if (codigo == 8) { tam = tam - 1; }
    
    
    
    
    tam = tam - 1;
    
    if ( (tam >= 2) && (tam < 3) ) {
        
        vr = vr.substr( 0, tam - 0 ) + ':' + vr.substr( tam - 0, 2 ); }
    
    if ( (tam >= 3) && (tam < 4) ) {
        
        vr = vr.substr( 0, tam - 1 ) + ':' + vr.substr( tam - 1, 2 ); }
    
    if (tam == 4) {
        
        vr = vr.substr( 0, tam - 2 ) + ':' + vr.substr( tam - 2, 2 ) + ':' + vr.substr( tam - 0, 5 ); }
    
    if (tam == 5) {
        
        vr = vr.substr( 0, tam - 3 ) + ':' + vr.substr( tam - 3, 2 ) + ':' + vr.substr( tam - 1, 6 ); }
    
    
    
    campo.value = vr;
    
}

// ######################
//FORMATA VALOR EM REAIS
function FormataReais(fld, milSep, decSep, 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 = fld.value.length;
    for(i = 0; i < len; i++)
        if ((fld.value.charAt(i) != '0') && (fld.value.charAt(i) != decSep)) break;
    aux = '';
    for(; i < len; i++)
        if (strCheck.indexOf(fld.value.charAt(i))!=-1) aux += fld.value.charAt(i);
    aux += key;
    len = aux.length;
    if (len == 0) fld.value = '';
    if (len == 1) fld.value = '0'+ decSep + '0' + aux;
    if (len == 2) fld.value = '0'+ decSep + aux;
    if (len > 2) {
        aux2 = '';
        for (j = 0, i = len - 3; i >= 0; i--) {
            if (j == 3) {
                aux2 += milSep;
                j = 0;
            }
            aux2 += aux.charAt(i);
            j++;
        }
        fld.value = '';
        len2 = aux2.length;
        for (i = len2 - 1; i >= 0; i--)
            fld.value += aux2.charAt(i);
        fld.value += decSep + aux.substr(len - 2, len);
    }
    return false;
}


//valida CPF
function check_cpf(numcpf)
{
	x = 0;
	soma = 0;
	dig1 = 0;
	dig2 = 0;
	texto = "";
	numcpf1="";
	len = numcpf.length; x = len -1;
	// var numcpf = "12345678909";
	for (var i=0; i <= len - 3; i++) {
		y = numcpf.substring(i,i+1);
		soma = soma + ( y * x);
		x = x - 1;
		texto = texto + y;
	}
	dig1 = 11 - (soma % 11);
	if (dig1 == 10) dig1=0 ;
	if (dig1 == 11) dig1=0 ;
	numcpf1 = numcpf.substring(0,len - 2) + dig1 ;
	x = 11; soma=0;
	for (var i=0; i <= len - 2; i++) {
		soma = soma + (numcpf1.substring(i,i+1) * x);
		x = x - 1;
	}
	dig2= 11 - (soma % 11);
	if (dig2 == 10) dig2=0;
	if (dig2 == 11) dig2=0;
	//alert ("Digito Verificador : " + dig1 + "" + dig2);
	if ((dig1 + "" + dig2) == numcpf.substring(len,len-2)) {
		return true;
	}
	alert ("Numero do CPF invalido !!!");
	return false;
}