/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
Ajax = {
    
    loader : function(){
        campo = Ajax.campo;
        Ajax.timer = setTimeout("Ajax.loader()",250);

        if(campo.value == "[Aguarde   ]") return campo.value = "[Aguarde.  ]";
        if(campo.value == "[Aguarde.  ]") return campo.value = "[Aguarde.. ]";
        if(campo.value == "[Aguarde.. ]") return campo.value = "[Aguarde...]";
        if(campo.value == "[Aguarde...]") return campo.value = "[Aguarde   ]";
    }
}
Mascara = {
 gerar : function(objeto,tipo)
 {
     var objeto = document.getElementById(objeto);
     eval("objeto.onkeypress=function(evento){if(!evento) var evento = window.event; Mascara." + tipo + "(this,evento); return Mascara.soDigitos(evento);}");
 },
 ajax : function(campo)
 {  
   campo.value = "[Aguarde   ]";
   Ajax.campo = campo;
   Ajax.loader();
 },
 ajaxClear : function(){
   clearTimeout(Ajax.timer);
   Ajax.campo.value = "";
 },
 getTecla : function(teclaPress)
 {
    if(teclaPress == null) return false;
    if (window.event)
    {
        tecla = teclaPress.keyCode;
    } else {
        tecla = teclaPress.which;
    }
    return tecla;
 },
 strip : function(campo)
  {
    var s = new String(campo.value);
    // Remove todos os caracteres à seguir: ( ) / - . e espaço, para tratar a string denovo.
    s = s.replace(/(\.|\(|\)|\/|\-| )+/g,'');
    return s;


  },
 cpf : function(campo,tecla)
 {
    if(this.getTecla(tecla) == 9 || this.getTecla(tecla) == 8) return;
    var s = this.strip(campo);
    tam = s.length + 1;
    if (tam > 3 && tam < 7)
        campo.value = s.substr(0,3) + '.' + s.substr(3, tam);
    if (tam >= 7 && tam < 10)
        campo.value = s.substr(0,3) + '.' + s.substr(3,3) + '.' + s.substr(6,tam-6);
    if (tam >= 10 && tam < 12)
        campo.value = s.substr(0,3) + '.' + s.substr(3,3) + '.' + s.substr(6,3) + '-' + s.substr(9,tam-9);
 },
 soDigitos : function(evento)
 {
    key = this.getTecla(evento);
    if(key == 0) return true;
    if(key != null)
    {
        if ( key != 8 || key != 13 || key < 48 || key > 57)
            return ( ( ( key > 47 ) && ( key < 58 ) ) || ( key == 8 ) || ( key == 13 ) );
        return true;
    }
 },
 data : function(campo,tecla)
 {
    if(this.getTecla(tecla) == 9 || this.getTecla(tecla) == 8) return;
    var s = this.strip(campo);
    tam = s.length + 1;

    if (tam > 2 && tam < 4)
        campo.value = s.substr(0,2) + '/' + s.substr(2, tam);
    if (tam > 4 && tam < 11)
        campo.value = s.substr(0,2) + '/' + s.substr(2,2) + '/' + s.substr(4,tam-4);
 },
 telefone : function(campo, tecla)
 {
    if(this.getTecla(tecla) == 9 || this.getTecla(tecla) == 8) return;

    var s = this.strip(campo);
    tam = s.length + 1;

    if (tam > 2 && tam < 4)
        campo.value = '(' + s.substr(0,2) + ') ' + s.substr(2,tam);
    if (tam >= 7 && tam < 11)
        campo.value = '(' + s.substr(0,2) + ') ' + s.substr(2,4) + '-' + s.substr(6,tam-6);
 },
 cep : function(campo,tecla)
 {
    if(this.getTecla(tecla) == 9 || this.getTecla(tecla) == 8) return;

    var s = this.strip(campo);
    tam = s.length + 1;
    if (tam > 5 && tam < 7)
        campo.value = s.substr(0,5) + '-' + s.substr(5, tam);
 },
 cnpj : function(campo,tecla)
 {
    if(this.getTecla(tecla) == 9 || this.getTecla(tecla) == 8) return;

    var s = this.strip(campo);

    tam = s.length + 1;
    if (tam > 2 && tam < 6)
    campo.value = s.substr(0,2) + '.' + s.substr(2, tam);
    if (tam >= 6 && tam < 9)
        campo.value = s.substr(0,2) + '.' + s.substr(2,3) + '.' + s.substr(5,tam-5);
    if (tam >= 9 && tam < 13)
        campo.value = s.substr(0,2) + '.' + s.substr(2,3) + '.' + s.substr(5,3) + '/' + s.substr(8,tam-8);
    if (tam >= 13 && tam < 15)
        campo.value = s.substr(0,2) + '.' + s.substr(2,3) + '.' + s.substr(5,3) + '/' + s.substr(8,4)+ '-' + s.substr(12,tam-12);
 },
 dinheiro : function(campo,teclapres)
 {
    campo.value = campo.value.replace(/[^0-9]/,'');
    var tammax = 6;
    var decimal = '2';
    
    var tecla = teclapres.keyCode;
    vr = Mascara.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 ) ;}
    }

},
Limpar : function(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;
}

},
Tabela = {
 zebrar : function()
 {
    jQuery("tr:odd").css("background","#EEEEEE");
    jQuery("tr:even").css("background","#F8F8F8");
    jQuery("th").css("background","#DDDDDD");
 }
}

Validacao = {
    isNull : function(id)
    {
        if(document.getElementById(id).value == "")
        {
          document.getElementById(id).style.background = "#FFEEEE";
          return true;
        }
        else
        {
          document.getElementById(id).style.background = "#FFFFFF";
          return false;
        }
    },
    cpf : function(id)
    {
        
        var st = document.getElementById(id).value;
        
        st = st.replace(/\D/g,'');

        if(st == "") return false;
        var mesmo;
        for(var i=0;i<=9;i++){
            for(var x=0;x<st.length;x++){
                if(st.charAt(x) != i){
                    mesmo = false;
                    break;
                }else{
                    mesmo = true;
                }
            }
            if(mesmo == true)
                return false;
        }

            l = st.length;
            //aleterado para se usuário não digitar os zeros na frente do CPF, completar sozinho
            if ((l == 9) || (l == 8)) {
                for (i = l ; i < 10; i++) {
                    st = '0' + st
                }
            }
            l = st.length;
            st2 = "";
            for (i = 0; i < l; i++) {
                caracter = st.substring(i,i+1);
                if ((caracter >= '0') && (caracter <= '9'))
                    st2 = st2 + caracter;
                }
                if ((st2.length > 11) || (st2.length < 10))
                    return (false);
                if (st2.length==10)
                    st2 = '0' + st2;
                digito1 = st2.substring(9,10);
                digito2 = st2.substring(10,11);
                digito1 = parseInt(digito1,10);
                digito2 = parseInt(digito2,10);
                sum = 0; mul = 10;
                for (i = 0; i < 9 ; i++) {
                    digit = st2.substring(i,i+1);
                    tproduct = parseInt(digit ,10) * mul;
                    sum += tproduct;
                    mul--;
                }
                dig1 = ( sum % 11 );
                if ( dig1==0 || dig1==1 )
                    dig1=0;
                else
                    dig1 = 11 - dig1;
                if (dig1!=digito1)
                    return (false);
                    sum = 0;
                    mul = 11;
                    for (i = 0; i < 10 ; i++) {
                        digit = st2.substring(i,i+1);
                        tproduct = parseInt(digit ,10)*mul;
                        sum += tproduct;
                        mul--;
                    }
                    dig2 = (sum % 11);
                    if ( dig2==0 || dig2==1 )
                        dig2=0;
                    else
                        dig2 = 11 - dig2;
                    if (dig2 != digito2)
                        return (false);
                return (true);
    },
    camposIguais : function(id1,id2)
    {
        var obj1 = document.getElementById(id1);
        var obj2 = document.getElementById(id2);
        return obj1.value == obj2.value;
    },
   cnpj: function (id) {
    CNPJ = document.getElementById(id).value;
    erro = new String;
    /*if (false && CNPJ.length < 18 )
        erro += "É necessario preencher corretamente o número do CNPJ! \n\n";
    if ((CNPJ.charAt(2) != ".") || (CNPJ.charAt(6) != ".") || (CNPJ.charAt(10) != "/") || (CNPJ.charAt(15) != "-")){
       if (erro.length == 0)
            erro += "É necessário preencher corretamente o número do CNPJ! \n\n";
    }*/

        CNPJ = CNPJ. replace (".","");
        CNPJ = CNPJ. replace (".","");
        CNPJ = CNPJ. replace ("-","");
        CNPJ = CNPJ. replace ("/","");

    var nonNumbers = /\D/;
    if (nonNumbers.test(CNPJ))
        erro += "A verificação de CNPJ suporta apenas números! \n\n";
    if(CNPJ == "00000000000000") return false;
    var a = [];
    var b = new Number;
    var c = [6,5,4,3,2,9,8,7,6,5,4,3,2];
    for (i=0; i<12; i++){
        a[i] = CNPJ.charAt(i);
        b += a[i] * c[i+1];
    }
    if ((x = b % 11) < 2) { a[12] = 0 } else { a[12] = 11-x }
        b = 0;
        for (y=0; y<13; y++) {
        b += (a[y] * c[y]);
    }
    if ((x = b % 11) < 2) {
        a[13] = 0;
    } else {
        a[13] = 11-x;
    }
    if ((CNPJ.charAt(12) != a[12]) || (CNPJ.charAt(13) != a[13])){
        return false;
    }
    if (erro.length > 0){
        //alert(erro);
        return false;
    }
    return true;
},
    email: function (str){
        var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
        if (filter.test(str)) {
            return true;
        } else {
            return false;
        }
    }
}

function trim(str){
    return str.replace(/^\s+|\s+$/g,"");
}
