var KEY_DOWN = 40;
var KEY_UP = 38;
var KEY_ENTER = 13;



$(function(){
    
    // ########### DELETAR AMOSTRAS ###########
    $('.deletar_ajax').live("click",function(evt){
        evt.preventDefault();// Não seguir o link
 
        
        if(confirm("Você está prestes a deletar registros, tem certeza desta ação?")){
            valid = true;
            
            form = $("#"+$(this).attr("title"));
            attr = "action=deletar";
            
            if(form.length>0){
                if(form.serialize()!=""){
                    attr+= "&"+form.serialize();
                }
                else {
                    valid = false;
                }
                
            }
            else {
                if(form.serialize()!=""){
                    attr+= "&id="+$(this).attr("title");
                }
                else {
                    valid = false;
                }                
                
            } 
            if(valid){
                url = $(this).attr("href");
                
                ajax_logic(url,attr);                
            }
            else {
                alert("Erro!. Preencha os campos a serem deletados.");   
            }
        }
        
        
    })
    
    // ########### INSERIR AMOSTRAS ###########
 


    // AJAX PESQUISAR AMOSTRAS
    
    $('#fazenda_ajax_search').keydown(function(e){ 
        boxKeyControl($(this),"#ajax_box_prop",e);
    })        
    
    $('#fazenda_ajax_search').keyup(function(e){
        
        if($(this).val()!=""){
           if(!isArrowKey(e)){              
                pesquisar_prop($(this));
           }
        }
        else { 
            $('#ajax_box_prop').hide().html("");
        }
    })
    $('#fazenda_ajax_search').click(function(){
        if($(this).val()!=""){
           pesquisar_prop($(this));
        }
        else { 
            $('#ajax_box_prop').hide().html("");
        }   
   
    })    
    function pesquisar_prop(amostra_curr_obj){
        url = AJAX_URL+"/admin/propriedades.php";
        attr = "action=listas_propriedades&keyword="+amostra_curr_obj.val();

        if($('#cod_produtor').val()!=""){
            attr+= "&id="+$('#cod_produtor').val();
        }
    
        $.ajax({
            url: url,
            type: "POST",
            data: attr,
            dataType: "html",
            beforeSend: function(){
                 $('#ajax_box_prop').parent().find(".loading").text('Carregando...');
                 $('#ajax_box_prop').hide();
            },
            complete: function(){
                $('#ajax_box_prop').parent().find(".loading").text('');
                $('#ajax_box_prop').fadeIn(300);
            },
            success: function(ret){
                if(ret!=""){ 
                    $('#ajax_box_prop').fadeIn(600).html(ret);
                }
                else {
                    $('#ajax_box_prop').hide().html("");
                }
            }                                              
                    
        })               
    }
 
    
    
    
    
    
    
    
    
    
    
    
     $('#ajax_box_prop select').live("click",function(){
        
        id = $(this).find("option:selected").attr("title");
 
        attr = "action=find_propriedades_by_id&id="+id;
        url = AJAX_URL+"/admin/propriedades.php";
  
 
        $.ajax({
            url: url,
            type: "POST",
            data: attr,
            dataType: "json",
            error: function(){alert("Ajax Error!")},
            success: function(ret){
   
                $('#fazenda_ajax_search').val(ret["Nome"]);
                $('#IERural').val(ret["IE"]);
                $('#enderecoFazenda').val(ret["Endereco"]);
                $("#estadoFazenda option[value='"+ret["UF"]+"']").attr('selected','selected');
             
                $('#cidadeFazenda').val(ret["Cidade"]);
                $('#cepFazenda').val(ret["Cep"]);
                $('#foneFazenda').val(ret["Telefone"]);
                $('#faxFazenda').val(ret["Fax"]);
                $('#latitudeFazenda').val(ret["Latitude"]);
                $('#altitudeFazenda').val(ret["Longitude"]);
                
 
                $('#ajax_box_prop').fadeOut(500);
            },
            error: function(){
                alert('false');
            }
        })    
    })   
    
    
 
    
         
    
    
    
    
    
    
    
    
    
    
    
    // AJAX PESQUISAR AGENTES
    
    $('#classNome').keydown(function(e){ 
        boxKeyControl($(this),"#ajax_box_agentes",e);
    })          
    
    $('#classNome').keyup(function(e){ 
           if(!isArrowKey(e)){        
                pesquisar_agentes($(this));
           }
    })
    $('#classNome').click(function(){
        if($(this).val()!=""){              
            pesquisar_agentes($(this)); 
        }
        else {
            $('#ajax_box_agentes').hide().html("");
        }
    })    
    function pesquisar_agentes(amostra_curr_obj){
        url = AJAX_URL+"/admin/agentes.php";
        attr = "action=listas_agentes&keyword="+amostra_curr_obj.val();

        $.ajax({
            url: url,
            type: "POST",
            data: attr,
            dataType: "html",
            error: function() {alert('Erro!')},
            beforeSend: function(){
                 $('#ajax_box_agentes').parent().find(".loading").text('Carregando...');
                 $('#ajax_box_agentes').hide();
            },
            complete: function(){
                $('#ajax_box_agentes').parent().find(".loading").text('');
                $('#ajax_box_agentes').fadeIn(300);
            },
            success: function(ret){
                if(ret!=""){ 
                    $('#ajax_box_agentes').fadeIn(600).html(ret);
                }
                else {
                    $('#ajax_box_agentes').hide().html("");
                }
            }                                                
                    
        })               
    }
    
 
    
    $('.agentes_list_item').live('click',function(evt){
        evt.preventDefault();
        
        attr = "action=find_agentes_by_id&id="+$(this).attr("title");
        url = AJAX_URL+"/admin/agentes.php";
        
        $('#ajax_box_agentes').fadeOut(600);        
 
        ajax_logic(url,attr);        
    })
    
    
         
 
 
    
 
 
    // AJAX PESQUISAR PRODUTORES
    
    
    
    $('#ajax_nome_produtor').keydown(function(e){ 
        boxKeyControl($(this),"#ajax_box_produtor",e);
    })    
    
    
    $('#ajax_nome_produtor').keyup(function(e){ 
           if(!isArrowKey(e)){
                pesquisar_produtores($(this));
           } 
    })
    $('#ajax_nome_produtor').click(function(){
        
            if($(this).val()!=""){ 
                pesquisar_produtores($(this)); 
            }
            else {
                $('#ajax_box_produtor').hide().html("");
            }
        
    })    
    function pesquisar_produtores(pesquisa_curr_obj){
        url = AJAX_URL+"/admin/produtores.php";
        
        attr = "action=listas_produtores&keyword="+pesquisa_curr_obj.val();
        


        $.ajax({
            url: url,
            type: "POST",
            data: attr,
            dataType: "html",
            error: function() {alert('Erro!')},
            beforeSend: function(){
                 $('#ajax_box_produtor').parent().find(".loading").text('Carregando...');
                 $('#ajax_box_produtor').hide();
            },
            complete: function(){
                $('#ajax_box_produtor').parent().find(".loading").text('');
                $('#ajax_box_produtor').fadeIn(300);
            },
            success: function(ret){
                if(ret!=""){ 
                    $('#ajax_box_produtor').fadeIn(600).html(ret);
                }
                else {
                    $('#ajax_box_produtor').hide().html("");
                }
            }                                                
                    
        })               
    }
    
    
    
    
    $('#ajax_box_produtor select').live("click",function(){
        
        id = $(this).find("option:selected").attr("title");
 
        attr = "action=find_produtores_by_id&id="+id;
        url = AJAX_URL+"/admin/produtores.php";
        
  
        $('#cod_produtor').val(id);
        
        $('#ajax_box_produtor').fadeOut(600);        
 
        ajax_logic(url,attr);          
    })
 
    
 
 


 
 
})





 
function boxKeyControl(currElem,targetID,e){
        
        currIndex = $(targetID+' select').attr('selectedIndex');
 
 
        
        if(e.which==KEY_ENTER){
            currElem.blur();
            $(targetID+' select option:selected').click();
            return true;
        }
        
        if(e.which==KEY_UP && targetIndex>0) 
            targetIndex = currIndex-1;
     
        if(e.which==KEY_DOWN && currIndex<$(targetID+' select option').length-1)
            targetIndex = currIndex+1;
        
        
        $(targetID+' select').attr('selectedIndex', targetIndex);    
}



function isArrowKey(e){
    if(e.which==KEY_DOWN || e.which==KEY_UP){
        return true;
    }
    return false;     
}


