$(document).ready(function(){
        
    // Mask
    $(".cpf").mask("999.999.999-99");
    $(".cnpj").mask("99.999.999/9999-99");
    $(".ie").mask("999.999.999.999");
    $(".data").mask("99/99/9999");
    $(".cep").mask("99.999-999");
    $(".nascimento").mask("99/99/9999");

    // Validate
    var container = $("#mensagem");
    var validator = $("#form").bind("invalid-form.validate", function() {
        $("#mensagem").html("<p>O formulário possue " + validator.numberOfInvalids() + " erros, veja mais informações abaixo:</p>");
        container.css("display","block");
    }).validate({
        errorElement: "span",
        success: function(label) {
            label.text("ok!").addClass("successo");
        },
        submitHandler: function(form) {
            form.submit();
        }
    });

    // Datepicker
    $.datepicker.regional['pt-BR'] = {
        closeText: 'Fechar',
        prevText: '',
        nextText: '',
        currentText: 'Hoje',
        monthNames: ['Janeiro','Fevereiro','Mar&ccedil;o','Abril','Maio','Junho',
        'Julho','Agosto','Setembro','Outubro','Novembro','Dezembro'],
        monthNamesShort: ['Jan','Fev','Mar','Abr','Mai','Jun',
        'Jul','Ago','Set','Out','Nov','Dez'],
        dayNames: ['Domingo','Segunda-feira','Ter&ccedil;a-feira','Quarta-feira','Quinta-feira','Sexta-feira','Sabado'],
        dayNamesShort: ['Dom','Seg','Ter','Qua','Qui','Sex','Sab'],
        dayNamesMin: ['Dom','Seg','Ter','Qua','Qui','Sex','Sab'],
        dateFormat: 'dd/mm/yy',
        firstDay: 0,
        isRTL: false
    };
    $.datepicker.setDefaults($.datepicker.regional['pt-BR']);
        
    $(".dp_icone").datepicker({
        showOn: 'button',
        buttonImage: 'imagens/ico_calendario.png',
        buttonImageOnly: true,
        showButtonPanel: true
    });

    // Corner
    $("#modulo_topo").corner("top 10px");
    $("#rodape").corner("bottom 10px");
    $('.bloco').corner("tl bl 5px");
    $(".mensagem_alerta, .mensagem_erro, .mensagem_sucesso").corner("5px");

    // dataTables
    $('#listar tbody tr').hover( function() {
        $('tr').addClass( 'highlighted' );
    }, function() {
        $('tr').removeClass('highlighted');
    } );

    $('#listar').dataTable( {
        "bSortClasses": false,
        "sPaginationType": "full_numbers",
        "oLanguage": {
            "sUrl": "img/traducao.txt"
        }
    } );

    $("#seleciona").toggle(function(){
        $(".display :checkbox").attr({
            checked : true
        });
        $(".display :checkbox").attr({
            checked : true
        });
        return false;
    },
    function(){
        $(".display :checkbox").attr({
            checked : false
        });
        return false;
    } );

    // Money
    $(".valor").maskMoney({
        symbol:"",
        decimal:",",
        thousands:"."
    });

    // Autocomplete
    function formatItem(row) {
        return row[0] + " (<strong>id: " + row[1] + "</strong>)";
    }
    function formatResult(row) {
        return row[0].replace(/(<.+?>)/gi, '');
    }

    $("#autocompleteFornecedor").autocomplete("FornecedorAutocomplete.php", {
        width: 260,
        selectFirst: false
    });

    $("#autocompleteFornecedor").result(function(event, data, formatted) {
        if (data)
            $("#idFornecedor").val(data[1]);
    });

    // Alphanumeric
    $('.numeroLetra').alphanumeric();
    $('.letrasNoCaps').alpha({nocaps:true});
    $('.letras').alpha({nocaps:false});
    $('.numeros').numeric();
    
});



/**
*
* @param idInputCep: String contendo o id do elemento INPUT(do CEP).
* @return Valores do banco : endereco,bairro,cidade,estado.
* Obs - Deve-se utilizar nos input as respectivas class = 'endereco','bairro','cidade','estado'
* e ter uma div #msgJson onde será alocado o img de de load.
*
* <code>
* <label for="cep">CEP:</label>
* <input type="text" name="cep" id="cepNumero" class="cep" size="10" />
* <input type="button" name="" value="Procurar"  onclick="buscacep('cepNumero')"/>
* <i id="msgJson"></i>
* <br />
* <label for="endereco">Endereço:</label>
* <input type="text" id="endereco" class="required endereco grande" name="endereco" />
* </code>
*
* @version 1.0
* @author Amaury Hideo Shimizu Higa <amaury@dmti.com.br>
* @copyright Copyright (c) 2010 DM Produções Ltda. ME
*/
function buscacep(idInputCep){
    var cep = ApenasNum($('#'+idInputCep).val());
    if(cep.length == 8){
        $('#msgJson').html('<img src="../img/ajax.gif" alt="carregando..." title="carregando..."/>');
        $.get("../PessoaBuscaCep.php",
        {
            cep : cep
        },
        function(data){
            var html = "";
            if(data['rua'] != ' '){
                $('.endereco').attr('value', data['rua']);
                $('.bairro').attr('value', data['bairro']);
                $('.cidade').attr('value', data['cidade']);
                $('.estado').attr('value', data['estado']);
                $('#msgJson').html('<img src="img/ico_peq_checked.gif" alt="ok" title="carregando..."/>');
            }else{
                $('#msgJson').html('<img src="img/ico_peq_unchecked.gif" alt="erro -" title="carregando..."/> cep não encontrado...');
            }
        },
        "json");
    }
}

//-- Retorna uma string apenas com os numeros da string enviada
function ApenasNum(strParm) {
    strParm = String(strParm);
    var chrPrt = "0";
    var strRet = "";
    var j=0;

    for (var i=0; i < strParm.length; i++) {
        chrPrt = strParm.substring(i, i+1);
        if ( chrPrt.match(/\d/) ) {
            if (j==0) {
                strRet = chrPrt;
                j=1;
            } else {
                strRet = strRet.concat(chrPrt);
            }
        }
    }
    return strRet;
}

/**
* Metodo de ajax generico
*
* @param url: arquivo php a ser processado
* @param div: div que será impresso o resultado do processamento
* @param valor: value a ser passado para o arquivo php
* @param valor2: value a ser passado para o arquivo php
* @param valor3: value a ser passado para o arquivo php
* @param valor4: value a ser passado para o arquivo php
*
* <code>
* <input type="radio" onClick="ajax('ImagemQtd.php','qtdAjax',this.value);" />
* </code>
*
* @version 1.0
* @author Eduardo Dotto Martucci <eduardo@dmti.com.br>
* @copyright Copyright (c) 2010 DM Produções Ltda. ME
*/
function ajax(url,div,valor,valor2,valor3,valor4,valor5){
    $('#'+div).html('<img src="img/ajax.gif" alt="carregando..." title="carregando..."/>');
    $.ajax({
        url: url,
        type: "GET",
        data: ({
            valor : valor,
            valor2 : valor2,
            valor3 : valor3,
            valor4 : valor4,
            valor5 : valor5
        }),
        dataType: "html",
        success: function(data){
            $('#'+div).slideUp('slow', function(){
                $('#'+div).html(data);
                $('#'+div).slideDown('slow');
                ajaxJQuery();
            });
        }
    });
}

/**
* Metodo de recuperar os scripts jQuery após um processamento Ajax
*
* @param
*
* <code>
* ajaxJQuery();
* </code>
*
* @version 1.0
* @author Eduardo Dotto Martucci <eduardo@dmti.com.br>
* @copyright Copyright (c) 2010 DM Produções Ltda. ME
*/
function ajaxJQuery(){
    //Máscaras [INPUT]
    $(function(){
        $(".cpf").mask("999.999.999-99");
        $(".cnpj").mask("99.999.999/9999-99");
        $(".ie").mask("999.999.999.999");
        $(".data").mask("99/99/9999");
        $(".cep").mask("99.999-999");
        $(".nascimento").mask("99/99/9999");
    });
}




