﻿// JScript File
//------------------------------------------------------------||
//                       Busca Produto                        ||  
//                                                            ||
//  Autor: Jorge Henrique Souza                               ||
//  Email: jorge.souza@webroom.com.br/jorgimsk8@hotmail.com   ||
//  Data de criação: 04/06/2009                               ||
//                                                            ||
//  Webroom Soluções Interativas                              ||  
//  http://www.webroom.com.br                                 ||  
//  webroom@webroom.com.br                                    ||
//------------------------------------------------------------||
var qtd_elementos_tipo_1 = 0;
var qtd_elementos_tipo_2 = 0;

var qtd_regioes_tipo_1 = 0;

var qtd_regioes_tipo_2 = 0;

function gerarChecks(idProduto)
{
    if(idProduto == 1 || idProduto == 3 || idProduto == 4)
    {
        if(document.getElementById('hd_etrutura_regiao_2').value == 'true')
        {
             document.getElementById('estrutura_regioes_2').style.display = 'none';
             document.getElementById('estrutura_regioes').style.display = '';
        }
        //gera checkbox para milho, girassol, sorgo
        gerarCheckTipo1();
        document.getElementById('hd_etrutura_regiao_1').value = "true";
        document.getElementById('hd_etrutura_regiao_2').value = "false";
       
    }
    else if(idProduto == 2 || idProduto == 5)
    {   
        if(document.getElementById('hd_etrutura_regiao_1').value == 'true')
        {                            
            document.getElementById('estrutura_regioes').style.display = 'none';
            document.getElementById('estrutura_regioes_2').style.display = '';
        }
       document.getElementById('estrutura_regioes_2').style.display = '';
        //gera checkbox para soja e super soja
        gerarCheckTipo2();
        document.getElementById('hd_etrutura_regiao_2').value = 'true';
        document.getElementById('hd_etrutura_regiao_1').value = 'false';
    }
    else
    {
    
    } 
}

//gera os checkboxes para milho, sorgo, girassol(elementos do tipo 1)
function gerarCheckTipo1()
{
    qtd_elementos_tipo_1 += 1;

    //busca todos elementos no banco do tipo 1
    var objetos_tipo_1 = busca_produto.BuscarElementoTipo_1().value;
    
    qtd_regioes_tipo_1 = objetos_tipo_1.length;
    
    //cria um estrutura do tipo UL
    var lista_regiao_tipo_1 = document.createElement("ul");
    //seta o id da estrutura
    lista_regiao_tipo_1.setAttribute("id","lista_regiao_tipo_1");
    
    //começa a gerar campos dinamicamente, conforme estrutra(array) retornado do banco
    var htmlRegiao_1 = "";
    
    htmlRegiao_1 = "<label for=\"form_regiao\">Regiões Recomendadas:</label><br />";
    
    for(var i = 0; i < objetos_tipo_1.length; i++)
    {
        htmlRegiao_1 += "<li><input type=\"checkbox\" name=\"checkboxEpocaTipo_1\" onChange=\"gerarEpocaTipo_1(this, this.value, 'div_epoca_"+objetos_tipo_1[i].Codigo_ProdutoRegiaoRecomendada+"', 'hd_vlr_epocas_regiao_"+objetos_tipo_1[i].Codigo_ProdutoRegiaoRecomendada+"');atualizaValorHidden(this,'hd_vlr_regiao_"+objetos_tipo_1[i].Codigo_ProdutoRegiaoRecomendada+"');\" value="+ objetos_tipo_1[i].Codigo_ProdutoRegiaoRecomendada +" id=\"checkboxTipo_1_" + objetos_tipo_1[i].Codigo_ProdutoRegiaoRecomendada + "\"/>";
        htmlRegiao_1 += "&nbsp;<strong>" + objetos_tipo_1[i].Regioes_recomendadas + "</strong>";
        htmlRegiao_1 += "<input type=\"hidden\" id=\"hd_vlr_regiao_" + objetos_tipo_1[i].Codigo_ProdutoRegiaoRecomendada + "\"/>";
        htmlRegiao_1 += "<input type=\"hidden\" id=\"hd_vlr_epocas_regiao_" + objetos_tipo_1[i].Codigo_ProdutoRegiaoRecomendada + "\"/>";
        htmlRegiao_1 += "<div id=\"div_epoca_" + objetos_tipo_1[i].Codigo_ProdutoRegiaoRecomendada + "\"></div>";  
        htmlRegiao_1 += "</li>"; 
    }
    if(qtd_elementos_tipo_1 <= 1)
    {
        //seta o local onde a estutura sera posicionada
        lista_regiao_tipo_1.innerHTML = htmlRegiao_1;
	    document.getElementById('estrutura_regioes').appendChild(lista_regiao_tipo_1);
	}
    
}

/** Gera checkboxes do tipo 1 para Epocas de Plantio
* check = checkbox que foi clicado
* valor_regiao = valor(id) da região selecionada
* div_região = div da criada para a regiao X, recebera a nova estrutura de epocas de plantio
* campoHidden = primeiramente recebe o valor da região selecionada, em seguida recebe os ids das epocas selecionados para aquela região
**/
function gerarEpocaTipo_1(check, valor_regiao, div_regiao, campoHidden)
{
    var objetos_epoca_tipo_1 = busca_produto.BuscarElementoEpocaTipo_1().value;
    
    qtd_epocas_regiao_1 = objetos_epoca_tipo_1.length;
    
    var campoHDF = "'" + campoHidden + "'";
    
    var lista_epoca_plantio_tipo_1 = document.createElement("ul");
    lista_epoca_plantio_tipo_1.setAttribute("id","lista_epoca_tipo_1_reg_" + valor_regiao);
    
    var htmlEpoca_1 = "";
    
    htmlEpoca_1 = " - <label for=\"form_epoca_reg_" + valor_regiao + "\">Épocas de Plantio:</label><br /><br />";
    
    var nome_checkbox = "" ;
    
    for(var i = 0; i < objetos_epoca_tipo_1.length; i++)
    {
        htmlEpoca_1 += "<label class=\"checkLabel\"><input type=\"checkbox\" name=\"checkbox_epoca_tipo_1_regiao_" +valor_regiao+"\" value="+ objetos_epoca_tipo_1[i].Codigo_ProdutoEpocaPlantio +" onChange=\"setaValorHiddenRegiao(this, this.value,"+ campoHDF +")\" id=\"checkboxEpocaTipo_1_" + objetos_epoca_tipo_1[i].Codigo_ProdutoEpocaPlantio + "\"/>";
        htmlEpoca_1 += "&nbsp;" + objetos_epoca_tipo_1[i].Epoca_plantio;
        htmlEpoca_1 += "</label>&nbsp;&nbsp;";   
    }
    if(check.checked)
    {
        lista_epoca_plantio_tipo_1.innerHTML = htmlEpoca_1;
        document.getElementById(div_regiao).appendChild(lista_epoca_plantio_tipo_1);  
    }
    else
    {
       remove_elemento('div_epoca_'+valor_regiao,'lista_epoca_tipo_1_reg_'+valor_regiao);
       document.getElementById(campoHidden).value = "";
    }
}

/**remove uma estrutura de epocas de plantio
* pai = DIV em que se encontra o elemento UL gerado
* filho = é o prorpio elemento UL gerado
**/
function remove_elemento(pai,filho)
{ 
    var elemento = document.getElementById(filho);

    document.getElementById(pai).removeChild(elemento);
}

/**Seta o valor do hidden com a regiao e as epocas selecionada para aquela regiao X
* O primeiro número é o ID da região 
* EX: X;x,x,x
* o restante depois do ; é os ids das epocas de plantio separados por virgula
* check = checkbox clicado
* valor = valor do checkbox clicado
* campoHidden = campo que recebera os ids
**/
function setaValorHiddenRegiao(check, valor, campoHidden)
{
    //document.getElementById().getAttribute("name")
    //alert(check.getAttribute("name"));
    var vlrAtual = document.getElementById(campoHidden).value;

    if(check.checked)
    {
        vlrAtual = vlrAtual + valor + ",";
        document.getElementById(campoHidden).value = vlrAtual;
    }
    else
    {
        var elementosCheckEpoca = document.getElementsByName(check.getAttribute("name"));
        var novosIds = "";
        for(var x = 0; x < elementosCheckEpoca.length; x++)
        {
            if(elementosCheckEpoca[x].checked)
            {
                novosIds += elementosCheckEpoca[x].value + ",";
            }
        }
        document.getElementById(campoHidden).value = novosIds; 
    }
}

/** Atualiza o valor do hidden da região
*   check = checkbox da regiao.
*   campoHidden = campo que recebera os valores.
**/
function atualizaValorHidden(check, campoHidden)
{
    if(check.checked)
    {
        document.getElementById(campoHidden).value = check.value;
    }
    else
    {
        document.getElementById(campoHidden).value = '';
    }
}
/****************************************************
* gerando elementos para o tipo 2 soja e super soja
****************************************************/

//gera os checkboxes para milho, sorgo, girassol(elementos do tipo 1)
function gerarCheckTipo2()
{
    qtd_elementos_tipo_2 += 1;
    
    //busca todos elementos no banco do tipo 1
    var objetos_tipo_2 = busca_produto.BuscarElementoTipo_2().value;
    
    qtd_regioes_tipo_2 = objetos_tipo_2.length;
    
    //cria um estrutura do tipo UL
    var lista_regiao_tipo_2 = document.createElement("ul");
    //seta o id da estrutura
    lista_regiao_tipo_2.setAttribute("id","lista_regiao_tipo_2");
    
    //começa a gerar campos dinamicamente, conforme estrutra(array) retornado do banco
    var htmlRegiao_2 = "";
    
    htmlRegiao_2 = "<label for=\"form_regiao\">Regiões Recomendadas:</label><br />";
    
    for(var x = 0; x < objetos_tipo_2.length; x++)
    {
        htmlRegiao_2 += "<li><input type=\"checkbox\" name=\"checkboxEpocaTipo_2\" onChange=\"gerarEpocaTipo_2(this, this.value, 'div_epoca_"+objetos_tipo_2[x].Codigo_ProdutoRegiaoRecomendada+"', 'hd_vlr_epocas_regiao_"+objetos_tipo_2[x].Codigo_ProdutoRegiaoRecomendada+"');atualizaValorHidden(this,'hd_vlr_regiao_"+objetos_tipo_2[x].Codigo_ProdutoRegiaoRecomendada+"');\" value="+ objetos_tipo_2[x].Codigo_ProdutoRegiaoRecomendada +" id=\"checkboxTipo_2_" + objetos_tipo_2[x].Codigo_ProdutoRegiaoRecomendada + "\"/>";
        htmlRegiao_2 += "&nbsp;<strong>" + objetos_tipo_2[x].Regioes_recomendadas + "</strong>";
        htmlRegiao_2 += "<input type=\"hidden\" id=\"hd_vlr_regiao_" + objetos_tipo_2[x].Codigo_ProdutoRegiaoRecomendada + "\"/>";
        htmlRegiao_2 += "<input type=\"hidden\" id=\"hd_vlr_epocas_regiao_" + objetos_tipo_2[x].Codigo_ProdutoRegiaoRecomendada + "\"/>";
        htmlRegiao_2 += "<div id=\"div_epoca_" + objetos_tipo_2[x].Codigo_ProdutoRegiaoRecomendada + "\"></div>";  
        htmlRegiao_2 += "</li>"; 
    }
    
    if(qtd_elementos_tipo_2 <= 1)
    {
        //seta o local onde a estutura sera posicionada
        lista_regiao_tipo_2.innerHTML = htmlRegiao_2;
	    document.getElementById('estrutura_regioes_2').appendChild(lista_regiao_tipo_2);  
	}
}

/** Gera checkboxes do tipo 2 para Epocas de Plantio
* check = checkbox que foi clicado
* valor_regiao = valor(id) da região selecionada
* div_região = div da criada para a regiao X, recebera a nova estrutura de epocas de plantio
* campoHidden = primeiramente recebe o valor da região selecionada, em seguida recebe os ids das epocas selecionados para aquela região
**/
function gerarEpocaTipo_2(check, valor_regiao, div_regiao, campoHidden)
{
    var objetos_epoca_tipo_2 = busca_produto.BuscarElementoEpocaTipo_2().value;
    
    var campoHDF = "'" + campoHidden + "'";
    
    var lista_epoca_plantio_tipo_2 = document.createElement("ul");
    lista_epoca_plantio_tipo_2.setAttribute("id","lista_epoca_tipo_2_reg_" + valor_regiao);
    
    var htmlEpoca_2 = "";
    
    htmlEpoca_2 = " - <label for=\"form_epoca_reg_" + valor_regiao + "\">Épocas de Plantio:</label><br /><br />";
    
    var nome_checkbox = "" ;
    
    for(var x = 0; x < objetos_epoca_tipo_2.length; x++)
    {
        htmlEpoca_2 += "<label class=\"checkLabel\"><input type=\"checkbox\" name=\"checkbox_epoca_tipo_2_regiao_" +valor_regiao+"\" value="+ objetos_epoca_tipo_2[x].Codigo_ProdutoEpocaPlantio +" onChange=\"setaValorHiddenRegiao(this, this.value,"+ campoHDF +")\" id=\"checkboxEpocaTipo_2_" + objetos_epoca_tipo_2[x].Codigo_ProdutoEpocaPlantio + "\"/>";
        htmlEpoca_2 += "&nbsp;" + objetos_epoca_tipo_2[x].Epoca_plantio;
        htmlEpoca_2 += "</label>&nbsp;&nbsp;";   
    }
    if(check.checked)
    {
        lista_epoca_plantio_tipo_2.innerHTML = htmlEpoca_2;
        document.getElementById(div_regiao).appendChild(lista_epoca_plantio_tipo_2);  
    }
    else
    {
       remove_elemento('div_epoca_'+valor_regiao,'lista_epoca_tipo_2_reg_'+valor_regiao);
       document.getElementById(campoHidden).value = "";
    }
}



function validaBusca()
{
    var sucesso = true;
    
    // Define os estilos padrões
    document.getElementById('dd_cultura').className = 'txtfield';
    document.getElementById('errodd_cultura').style.display = 'none';
    
    document.getElementById('dd_tipo').className = 'txtfield';
    document.getElementById('errodd_tipo').style.display = 'none';
    
    document.getElementById('dd_altitude').className = 'txtfield';
    document.getElementById('errodd_altitude').style.display = 'none';

    //Verificando se os campos estão corretamente preenchidos.
    if(document.getElementById('dd_cultura').value == 0)
    {
        sucesso = false;
        document.getElementById('dd_cultura').className = 'error';
        document.getElementById('errodd_cultura').style.display = '';
        document.getElementById('errodd_cultura').innerHTML = 'Por favor, selecione a cultura do produto.';  
    } 
    
    if(document.getElementById('dd_tipo').value == 0)
    {
        sucesso = false;
        document.getElementById('dd_tipo').className = 'error';
        document.getElementById('errodd_tipo').style.display = '';
        document.getElementById('errodd_tipo').innerHTML = 'Por favor, selecione o tipo de safra';  
    }
    
    if(document.getElementById('dd_altitude').value == 0)
    {
        sucesso = false;
        document.getElementById('dd_altitude').className = 'error';
        document.getElementById('errodd_altitude').style.display = '';
        document.getElementById('errodd_altitude').innerHTML = 'Por favor, selecione a altitude';  
    }

   
    if (!sucesso) 
    {
        alert('Alguns campos não foram preenchidos da forma devida. Por favor, verifique os campos marcados em vermelho.'); 
        return false;
    }
    
    //verificando qual produto foi selecionado
     var ids_regiao = new Array();
    if(document.getElementById('hd_etrutura_regiao_1').value == "true")
    {   
        var cont = 0;
        for(var i = 1; i <= qtd_regioes_tipo_1; i ++)
        {   
            if(document.getElementById('hd_vlr_regiao_' + i).value != '')
            {
               var val_regiao_1 = '';
               val_regiao_1 = document.getElementById('hd_vlr_regiao_' + i).value + ';' ;
                
               if(document.getElementById('hd_vlr_epocas_regiao_' + i).value != '')
               {
                   //alert(val_regiao_1);
                   val_regiao_1 += document.getElementById('hd_vlr_epocas_regiao_' + i).value;
                   val_regiao_1 = val_regiao_1.substring(0,val_regiao_1.length - 1);
                   ids_regiao[cont] = val_regiao_1 + "*";
                   cont += 1;
               }
            }
        }
    }
    else
    {
        var cont_2 = 0;
        for(var i = 7; i < qtd_regioes_tipo_2 + 7; i ++)
        {   
            if(document.getElementById('hd_vlr_regiao_' + i).value != '')
            {
               var val_regiao_2 = '';
               val_regiao_2 = document.getElementById('hd_vlr_regiao_' + i).value + ';' ;
                
               if(document.getElementById('hd_vlr_epocas_regiao_' + i).value != '')
               {
                   val_regiao_2 += document.getElementById('hd_vlr_epocas_regiao_' + i).value;
                   val_regiao_2 = val_regiao_2.substring(0,val_regiao_2.length - 1);
                   ids_regiao[cont_2] = val_regiao_2 + "*";
                   cont_2 += 1;
               }
            }  
        }
    }

    var cultura = document.getElementById('dd_cultura').value;
    var tipo = document.getElementById('dd_tipo').value;
    var altitude = document.getElementById('dd_altitude').value;

    window.location = 'resultado_busca.aspx?cult=' + cultura + '&tipo=' + tipo + '&alt=' + altitude + '&r=' + ids_regiao;
    //alert('cultura = ' + cultura + '\n tipo = ' + tipo + '\n altitude = ' + altitude + '\n regiao = ' + ids_reg) ;

}
