$( function() {

    /**
    * variavel que controla se ja foi alimentado
    * com o valor default os combos de busca rapida
    */
    var valordefault = { 'categoria':false, 'marca':false, 'modelo':false };

    /** funcao para limpar os campos */
    $.extend({
      limpaformbuscarapida:
      function ( input ) {
         switch (input) {
            case "categoria":
               $("#brmarca option").remove();
               $("#brmodelo option").remove();
               $("#brmodelo").attr("disabled","disabled");
               break;
            case "marca":
               $("#brmodelo option").remove();
               break;
         }
      }
    });


    /* tratamento de envio */
    $("#frm_buscarapida").submit(
    function() {
      var erro   = "";
      var tipo   = $("#brcategoria").val();
      var marca  = $("#brmarca").val();
      var modelo = $("#brmodelo").val();
      var ano1   = $("#brano1").val();
      var ano2   = $("#brano2").val();

      /* valida os campos (deve estar selecionado categoria e marca) */
      if ( tipo <= 0 ) {
        erro = "Selecione a categoria";
      } else if ( marca <= 0 && tipo != 7 ) {
        erro = "Selecione a marca";
      } else if ( tipo == 7 && modelo <= 0 ) {
        erro = "Selecione o modelo do implemento rodoviário";
      } else if ( (ano1 > 0 && ano2 > 0) && (ano2 < ano1) ) {
        erro = "O segundo ano deve ser maior que o primeiro";
      }

      /* verifica se encontrou erro */
      if ( erro != "" ) {
        alert( erro ); /* retorna o erro p/ o usuario */
      } else {
        marca = ( tipo != 7 ) ? marca : 0;
        /* realiza a consulta */
        location.href = "pesquisanova.php?tp=BAS&tipo=" + tipo + "&marca=" + marca +
        "&modelo=" + modelo + "&ano1=" + ano1 + "&ano2=" + ano2;
      }

      /* nunca efetua o post */
      return false;
    }
    );


    /* marcas */
    $("#brcategoria").change(
    function() {
      var categoria = $(this).val();
      $.limpaformbuscarapida( 'categoria' );
      if ( categoria > 0 ) {
        if ( categoria != 7 ) {
          $("#brmarca").append("<option value=\"0\">" + msg + "</option>");
          $.getJSON(
            "ajax/formtipomarcamodeloestoque.php",
            { input: 'marca', filtro: categoria },
            function(data) {
              $("#brmarca option:first").remove();
              $("#brmarca").removeAttr("disabled").append("<option value=\"0\">Selecione a marca</option>");
              $.each( data.rows, function(i,item) {
                /*if ( $("#brmarca_default").val() == item[0] && !valordefault['marca'] ) {
                    selected = ( $("#brmarca_default").val() == item[0] && !valordefault['marca'] ) ? " selected=\"selected\"" : "" ;
                } else { selected = ""; }*/
                selected = ( $("#brmarca_default").val() == item[0] && !valordefault['marca'] ) ? " selected=\"selected\"" : "" ;
                $("#brmarca").append("<option value=\"" + item[0] + "\"" + selected + ">" + item[1] + "</option>");
              });
              if ( ($("#brmodelo_default").val() != "" && $("#brmodelo_default").val() != "0" && !valordefault['modelo']) || $("#brmarca_default").val() > 0 )
                  $("#brmarca").trigger( "change" );

              /* controla para que a apos um reload de tela nao fique selecionando a mesma marca do post */
              valordefault['marca'] = true;
            }
          );

        } else if ( categoria == 7 ) {
          /* tratamento especial p/ implemento */
          $("#brmarca").attr("disabled","disabled");
          $("#brmodelo").removeAttr("disabled");
          $("#brmodelo").append("<option value=\"0\">"+ msg +"</option>");
          $.getJSON(
            "ajax/formtipomarcamodeloestoque.php",
            { categoria:7, input: 'modelo', filtro: categoria },
            function(data) {
              $("#brmodelo option:first").remove();
              $("#brmodelo").append("<option value=\"0\">Selecione o modelo</option>");
              $.each( data.rows, function(i,item) {
                selected = ( $("#brmodelo_default").val() == item[0] && !valordefault['modelo'] ) ? " selected=\"selected\"" : "" ;
                $("#brmodelo:first").append("<option value=\"" + item[0] + "\"" + selected + ">" + item[1] + "</option>");
              });
              valordefault['marca'] = true;
              valordefault['modelo'] = true;
              /*/if ( $("#brmodelo_default").val() != "" && $("#brmodelo_default").val() != "0" )
                  $("#brmarca").trigger( "change" );*/
            }
          );
        }
      } else {
        $("#brmarca").attr("disabled","disabled");
        $.limpaformbuscarapida('categoria');
      }
    }
    );


    /* modelos */
    $("#brmarca").change(
    function() {
      var marca = $(this).val();

      $.limpaformbuscarapida( 'marca' );

      if ( marca > 0 || $("#brcategoria").val() == 7 ) {
        $("#brmodelo").removeAttr("disabled");
        $("#brmodelo").append("<option value=\"0\">" + msg + "</option>");
        $.getJSON(
          "ajax/formtipomarcamodeloestoque.php",
          { input: 'modelo', filtro: marca },
          function(data) {
            $("#brmodelo option:first").remove();
            $("#brmodelo").append("<option value=\"0\">Selecione o modelo</option>");
            $.each( data.rows, function(i,item) {
              selected = ( $("#brmodelo_default").val() == item[0] && !valordefault['modelo'] ) ? " selected=\"selected\"" : "" ;
              $("#brmodelo").append("<option value=\"" + item[0] + "\"" + selected + " >" + item[1] + "</option>");
            });
            /* controla para que a apos um reload de tela nao fique selecionando o mesmo modelo do post */
            valordefault['modelo'] = true;
          }
        );
      } else {
        $("#brmodelo").attr("disabled","disabled");
      }
    }
    );

    /* modelos */
    $("#lnk_carregabuscaavancada a").click( function() {
      if ( $("#brcategoria").val() <= 0 ) {
        location.href = "/buscaavancada.php?categoria=0&tipo=0&cidade=0&marca=0&modelo=0&ano1=0&ano2=0&val1=0&val2=0&cor=0&combustivel=0&kmmax=0&porta=0&opcionais=";
      } else if ( $("#brcategoria").val() > 2 ) {
          alert("Busca avançada disponível apenas para CARROS e MOTOS.");
      } else {
        location.href = "/buscaavancada.php?tipo=" + parseInt($("#brcategoria").val()) + "&cidade=0&marca=" + parseInt($("#brmarca").val()) + "&modelo=" + parseInt($("#brmodelo").val()) + "&ano1=" + parseInt($("#brano1").val()) + "&ano2=" + parseInt($("#brano2").val()) + "&val1=0&val2=0&cor=0&combustivel=0&kmmax=0&porta=0&opcionais=";
      }
    });

    /* texto a ser exibido quando estiver alimentando form da busca rapida */
    var msg = "Carregando...";

    /* faz o carregamento inicial das categorias */
    $("#brcategoria option:first").remove();
    $("#brcategoria").append("<option value=\"0\">" + msg + "</option>");
    $.getJSON(
        "/ajax/formtipomarcamodeloestoque.php",
        { input:'tipo', filtro:'' },
        function(data) {
            $("#brcategoria option:first").remove();
            $("#brcategoria").append("<option value=\"0\">Categorias</option>");
            $.each( data.rows, function(i,item) {
                /*if ( $("#brcategoria_default").val() == item[0] && !valordefault['categoria'] ) {
                  selected = " selected=\"selected\"";
                  valordefault['categoria'] = true;
                } else { selected = ""; }*/
                //selected = ( $("#brcategoria_default").val() == item[0] && !valordefault['categoria'] && $.jqURL.get('tp') == 'BAS' ) ? " selected=\"selected\"" : "";
                selected = ( $("#brcategoria_default").val() == item[0] && !valordefault['categoria'] ) ? " selected=\"selected\"" : "";
                $("#brcategoria").append("<option value=\"" + item[0] + "\"" + selected + ">" + item[1] + "</option>");
            });
            //if ( $.jqURL.get('tp') == 'BAS' ) {
                if ( ($("#brmarca_default").val() != "" && $("#brmarca_default").val() != "0" && !valordefault['marca']) || ($("#brcategoria").val() == 7) ) {
                    $("#brcategoria").trigger( "change" );
                }
            //}

            /* controla para que a apos um reload de tela nao fique selecionando a mesma categoria do post */
            valordefault['categoria'] = true;
        }
    );


    /* alimenta combo de anos*/
    var data = new Date();
    var anoatual = ( typeof(_anoatual) == 'undefined' ) ? data.getFullYear()+1 : _anoatual+1;
    for(i=anoatual; i>=1900; i-- ) {
    selected1 = ( $("#brano1_default").val() == i ) ? " selected=\"selected\"" : "" ;
    selected2 = ( $("#brano2_default").val() == i ) ? " selected=\"selected\"" : "" ;
    $("#brano1").append("<option value=\"" + i + "\"" + selected1 + ">" + i + "</option>");
    $("#brano2").append("<option value=\"" + i + "\"" + selected2 + ">" + i + "</option>");
    }


    /*var valordefault = true;*/
});

