// Global user functions

//valida o CPF informado
function ew_CheckCPF(cpf)
      {
      var numeros, digitos, soma, i, resultado, digitos_iguais;
      digitos_iguais = 1;
      if (cpf.length < 11)
            return false;
      for (i = 0; i < cpf.length - 1; i++)
            if (cpf.charAt(i) != cpf.charAt(i + 1))
                  {
                  digitos_iguais = 0;
                  break;
                  }
      if (!digitos_iguais)
            {
            numeros = cpf.substring(0,9);
            digitos = cpf.substring(9);
            soma = 0;
            for (i = 10; i > 1; i--)
                  soma += numeros.charAt(10 - i) * i;
            resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
            if (resultado != digitos.charAt(0))
                  return false;
            numeros = cpf.substring(0,10);
            soma = 0;
            for (i = 11; i > 1; i--)
                  soma += numeros.charAt(11 - i) * i;
            resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
            if (resultado != digitos.charAt(1))
                  return false;
            return true;
            }
      else
            return false;
}

//valida o CNPJ informado
function ew_CheckCNPJ(cnpj){
      var numeros, digitos, soma, i, resultado, pos, tamanho, digitos_iguais;
      digitos_iguais = 1;
      if (cnpj.length < 14 && cnpj.length < 15)
            return false;
      for (i = 0; i < cnpj.length - 1; i++)
            if (cnpj.charAt(i) != cnpj.charAt(i + 1)){
                  digitos_iguais = 0;
                  break;
            }
      if (!digitos_iguais){
            tamanho = cnpj.length - 2
            numeros = cnpj.substring(0,tamanho);
            digitos = cnpj.substring(tamanho);
            soma = 0;
            pos = tamanho - 7;
            for (i = tamanho; i >= 1; i--){
                  soma += numeros.charAt(tamanho - i) * pos--;
                  if (pos < 2)
                        pos = 9;
            }
            resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
            if (resultado != digitos.charAt(0))
                  return false;
            tamanho = tamanho + 1;
            numeros = cnpj.substring(0,tamanho);
            soma = 0;
            pos = tamanho - 7;
            for (i = tamanho; i >= 1; i--){
                  soma += numeros.charAt(tamanho - i) * pos--;
                  if (pos < 2)
                        pos = 9;
            }
            resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
            if (resultado != digitos.charAt(1))
                  return false;
            return true;
      } else
            return false;
} 

// Check DDD	
function ew_CheckDDD(ddd) {
	if (ddd.length < 2 && ddd.length > 0)
            return false;
	return true;
}

// Check telefone, fax, celular	
function ew_CheckFone(fone) {
	if (fone.length < 8 && fone.length > 0)
            return false;
	return true;
}

// Check CEP	
function ew_CheckCEP(cep) {
	if (cep.length < 8 && cep.length > 0)
            return false;
	return true;
}

// Check Inscriçao Estadual	
function ew_CheckInscricaoEstadual(valor) {
	if (ew_CheckInteger(valor) || valor == "ISENTO")
            return true;	
	return false;
}

function ew_msgCampoObrigatorio(campo){
	return "É necessário preencher o campo " + campo;
}

function ew_msgCampoInvalido(campo){
	return "O valor informado no campo " + campo + " está incorreto";
}

function ew_msgValidacao(){
	return "É necessário preencher todos os campos obrigatórios";
}

function roundNumber(num, dec) {
	var result = Math.round(num*Math.pow(10,dec))/Math.pow(10,dec);
	return result;
}

/*INICIO - MASCARAS UTILIZADAS NO EVENTO ONKEYPRESS*/

function mascara(o,f){
    v_obj=o
    v_fun=f
    setTimeout("execmascara()",1)
}

function execmascara(){
    v_obj.value=v_fun(v_obj.value)
}

function leech(v){
    v=v.replace(/o/gi,"0")
    v=v.replace(/i/gi,"1")
    v=v.replace(/z/gi,"2")
    v=v.replace(/e/gi,"3")
    v=v.replace(/a/gi,"4")
    v=v.replace(/s/gi,"5")
    v=v.replace(/t/gi,"7")
    return v
}

function soNumeros(v){
    return v.replace(/\D/g,"")
}

function telefone(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
}

function telefone2(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
}

function cpf(v){
    v=v.replace(/\D/g,"")                    //Remove tudo o que não é dígito
    v=v.replace(/(\d{3})(\d)/,"$1.$2")       //Coloca um ponto entre o terceiro e o quarto dígitos
    v=v.replace(/(\d{3})(\d)/,"$1.$2")       //Coloca um ponto entre o terceiro e o quarto dígitos
                                             //de novo (para o segundo bloco de números)
    v=v.replace(/(\d{3})(\d{1,2})$/,"$1-$2") //Coloca um hífen entre o terceiro e o quarto dígitos
    return v
}

function cep(v){
	
	v=soNumeros(v) 

    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{3})(\d)/,"$1-$2")    //Esse é tão fácil que não merece explicações
    return v
}

function cnpj(v){
    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
    return v
}


function data(v){
    v=v.replace(/\D/g,"") 
    v=v.replace(/(\d{2})(\d)/,"$1/$2") 
    v=v.replace(/(\d{2})(\d)/,"$1/$2") 
    return v
}
    
function hora(v){
    v=v.replace(/\D/g,"") 
    v=v.replace(/(\d{2})(\d)/,"$1:$2")  
    return v
}
    
function valor(v){
    v=v.replace(/\D/g,"") //Remove tudo o que não é dígito
    v=v.replace(/^([0-9]{3}\.?){3}-[0-9]{2}$/,"$1.$2");
    v=v.replace(/(\d)(\d{2})$/,"$1.$2") //Coloca ponto antes dos 2 últimos digitos
    return v
}

function plano_contas(v){
	
	v=soNumeros(v) 

    v=v.replace(/D/g,"")                   //Remove tudo o que não é dígito
    v=v.replace(/(\d{2})(\d)/,"$1.$2")     
    v=v.replace(/(\d{2})(\d)/,"$1.$2")    
    v=v.replace(/(\d{2})(\d)/,"$1.$2")     
    v=v.replace(/(\d{2})(\d)/,"$1.$2")    

    return v
}

function SomenteNumero(e){
    var tecla=(window.event)?event.keyCode:e.which;
    if((tecla > 47 && tecla < 58) || tecla == 0 || tecla == 8 || tecla == 9) return true;
    else{
    if (tecla != 8) return false;
    else return true;
    }
}

/*FIM - MASCARAS UTILIZADAS NO EVENTO ONKEYPRESS*/

function ew_WaitAlert(){
	jMessage("Aguarde um momento por favor...","IBF Vendor Web");
}

function limitTextarea(el,maxLines,maxChar){

	if(!el.x){
		//el.x=uniqueInt();
		el.onblur=function(){clearInterval(window['int'+el.x])}
	}

	window['int'+el.x]=setInterval(function(){
		var lines=el.value.replace(/\r/g,'').split('\n'),
		i=lines.length,
		lines_removed,
		char_removed;
		
		result = false;
		
		if(maxLines&&i>maxLines){
			result = true;
			lines=lines.slice(0,maxLines);
			lines_removed=1
		}

	if(char_removed||lines_removed)el.value=lines.join('\n')
	},50);
	
	return result;
	
}

function foco(campo){
	globalvar = campo;
	setTimeout("globalvar.focus()",250);
}

function setUpperCase(obj)
{
        var str = new String(obj.value);
        var acentos = new String('abcdefghijklmnopqrstuvwxyz');
        var SemAcento = new String('ABCDEFGHIJKLMNOPQRSTUVWXYZ');
        var c = new String();
        var i = new Number();
        var x = new Number();
        var res = '';
        
        for (i = 0; i<str.length; i++)
        {
                c = str.substring(i,i+1);
                for (x=0; x< acentos.length; x++)
                {
                        if (acentos.substring(x,x+1) == c)
                        {
                                c = SemAcento.substring(x,x+1);
                        }
                        
                
                }
                res += c;
        }
        obj.value = res;
}

function alpha(e) {
     var k;
     document.all ? k = e.keyCode : k = e.which;
     return ((k > 47 && k < 58) || 
	 	(k > 64 && k < 91) || 
		(k > 96 && k < 123) || 
		k == 8 || k == 32 || k == 46 || k == 38 || k == 0);
}

function extractAlpha(str) {
	return str.replace(/[^a-zA-z 0-9 . &]/gi,"");
}


