/**
 * JS Document. 
 * @author Sandro Jordão.
 */
var imgOk = '<img src="' + basepath + 'www/imagem/aba_ok.png" align="absmiddle" />';
var imgErro = '<img src="' + basepath + 'www/imagem/aba_erro.png" align="absmiddle" class="imgErro" />';

function validaAba()
{
	var tipo = $("input[name='formato']:radio:checked").val();
	var abaValidar = aba + 1;

	// PROPRIEDADES
	if(abaValidar == 1)
	{
		var validar = validaPropriedades();
		
		if(validar)
			return true;
		else
			return false;
	}
	// PERMISSÕES
	else if(abaValidar == 2)
	{
		$("#aba_1").html(imgOk);
		
		return true;
	}
	// FORMATO
	else if(abaValidar == 3)
	{
		if(tipo == 'D')
		{
			if( $('#camposDetail').length > 0  && $('#camposDetail').val() != '' )
			{
				$("#aba_2").html(imgOk);
				
				return true;
			}
			else
			{
				jAlert("Favor configurar o relacionamento master/detail.", "Alerta!", 
					function(){ 
						$("#aba_2").html(imgErro);
						return false; 
					});
			}
		}
		else
		{
			$("#aba_2").html(imgOk);
			
			return true;
		}	
	}
	// CAMPOS CALCULADOS
	else if(abaValidar == 4)
	{
		$("#aba_3").html(imgOk);
		
		// ADICIONAR CAMPOS CALCULADOS NOS COMBOS DOS FILTROS
		addCamposFiltros(tipo);
		
		return true;
	}
	// DADOS
	else if(abaValidar == 5)
	{
		var validar = validaDados(tipo);
		
		if(validar)
		{
			return true;
		}
		else
		{
			return false;
		}
	}
	// FILTROS
	else if(abaValidar == 6)
	{
		var validar = validaGravacao();
	
		if(validar)
			return true;
		else
			return false;
	}
}

/**
 *
**/
function addCamposFiltros(tipo)
{
	/* ** TODOS ** */
	var calcNome = new Array();
	$(".tbListaCampoCalculado1 input[name='campoCalculadoLegenda']").each(function(){ calcNome.push($(this).val()); });
	
	var calcFormula = new Array();
	$(".tbListaCampoCalculado1 input[name='campoCalculadoFormula']").each(function(){ calcFormula.push($(this).val()); });
	
	var calcTipoData = new Array();
	$(".tbListaCampoCalculado1 input[name='campoCalculadoTipo']").each(function(){ calcTipoData.push($(this).val()); });
	
	var calcIndice = new Array();
	$(".tbListaCampoCalculado1 input[name='campoCalculadoIndice']").each(function(){ calcIndice.push($(this).val()); });

	// Monta opcoes calculadas
	var option = '';
	var optionGraficos = '';
	var count = 0;
	for(var i = 0; i < calcIndice.length; i++)
	{
		var valor = '0,' + calcTipoData[i] + ':' + calcFormula[i] + ':' + calcIndice[i];
		option += '<option title="'+ calcNome[i] +'" value="'+ valor +'" class="optionGroup">'+ calcNome[i] +'</option>';
		
		var valorCampoGrafico = '0,' + calcTipoData[i] + ':' + calcFormula[i] + ':' + calcNome[i] + ':' + calcIndice[i];
		optionGraficos += '<option title="'+ calcNome[i] +'" value="'+ valorCampoGrafico +'" class="optionGroup">'+ calcNome[i] +'</option>';
		
		count++;
	}
	
	/* IMAGEM ADD MASTER */ 
	var imagemAdd = '<img src="'+ basepath +'www/imagem/adicionar.png" align="absmiddle" class="opacityImgAdd" onClick="adicionarFiltro()" title="Adicionar Filtro" alt="Adicionar Filtro" />';	

	// Filtros anteriores para reculculo
	var calcFiltrosAnteriores = new Array();
	$("select[name='filtroCampos']").each(function(){ calcFiltrosAnteriores.push($(this).val()); });
	
	var calcFiltrosUtilizados = new Array();
	for(i=0; i < calcFiltrosAnteriores.length; i++) {
		var arrayQuebra  = calcFiltrosAnteriores[i].split(',');
		var arrayquebra1 = new Array();
		arrayquebra1[0] = arrayQuebra[0];
		arrayQuebra.splice(0, 1);
		arrayquebra1[1] = arrayQuebra.join();
		var indexFiltro = 0;

		if(arrayquebra1[0] == 0) {
			// Caso seja um campo calculado
			arrayFiltro = arrayquebra1[1].split(":");

			indexFiltro = calcIndice.indexOf(arrayFiltro[2]);
			if(indexFiltro != -1) {
				if(arrayFiltro[0] == calcTipoData[indexFiltro]) {
					// Campo calculado ja  estava no filtro				
					calcFiltrosUtilizados.push(Array(arrayFiltro[2], "manter"));
				} else {
					calcFiltrosUtilizados.push(Array(arrayFiltro[2], "remover"));		
				}
			} else {
				calcFiltrosUtilizados.push(Array(arrayFiltro[2], "remover"));		
			}
		} else {
			calcFiltrosUtilizados.push(Array("", "naocalculado"));		
		}
	}
	
	$("select[name='filtroCampos'] .optFiltroCampoCalculado").remove();
	
	if(count > 0)
	{
		$("select[name='filtroCampos']").append('<optgroup label="Campos Calculados" class="optFiltroCampoCalculado">'+ option +'</optgroup>');	
	}
	
	// Monta os filtros calculados com campo
	i = 0;
	$(".fielFiltros select[name='filtroCampos']").each(function(){ 
		if(calcFiltrosUtilizados[i][1] == "remover") {
			var qtdFiltros = 0;
			$(".fielFiltros").each(function() { qtdFiltros++; }); 

			if (qtdFiltros > 1)
			{
				$(this).parent().remove();
				
				$('.btnDivAdd').html("");
	
				$('.btnDivAdd:last').html(imagemAdd);
			}
			else
			{
				$(".fielFiltros .resultFiltro").html("");
	
				$(".btnDivDel").html("");
	
				$(".fielFiltros select[name='filtroCampos'] option:first").attr("selected", "selected");
	
				$(".fielFiltros select[name='filtroCampos']").attr("id", "filtroCampos");
			}
		} else if(calcFiltrosUtilizados[i][1] == "manter") {
			// Caso seja um calculado que nao mudou
			idProcura = "#" + this.id + " option";
			$(idProcura).each(function() {
				var arrayQuebra  = $(this).val().split(',');
				var arrayquebra1 = new Array();
				arrayquebra1[0] = arrayQuebra[0];
				arrayQuebra.splice(0, 1);
				arrayquebra1[1] = arrayQuebra.join();
				
				if(arrayquebra1[0] == 0) {
					arrayFiltro = arrayquebra1[1].split(":");
					
					if(arrayFiltro[2] == calcFiltrosUtilizados[i][0]) {
						$(this).attr("selected", true);
					}					
				}
			});			
		}
		
		i++;
	});
	
	/* ** TABELA DETAIL ** */
	if(tipo == 'D')
	{
		/* IMAGEM ADD DETAIL */ 
		var imagemAddDetail = '<img src="'+ basepath +'www/imagem/adicionar.png" align="absmiddle" class="opacityImgAddDetail" onClick="adicionarFiltroDetail()" title="Adicionar Filtro" alt="Adicionar Filtro" />';	
		
		var calcNomeDetail = new Array();
		$(".tbListaCampoCalculado2 input[name='campoCalculadoLegenda']").each(function(){ calcNomeDetail.push($(this).val()); });
		
		var calcFormulaDetail = new Array();
		$(".tbListaCampoCalculado2 input[name='campoCalculadoFormula']").each(function(){ calcFormulaDetail.push($(this).val()); });
		
		var calcTipoDataDetail = new Array();
		$(".tbListaCampoCalculado2 input[name='campoCalculadoTipo']").each(function(){ calcTipoDataDetail.push($(this).val()); });
		
		var calcIndiceDetail = new Array();
		$(".tbListaCampoCalculado2 input[name='campoCalculadoIndice']").each(function(){ calcIndiceDetail.push($(this).val()); });
		
		var optionDetail = '';
		var countDetail = 0;
		for(var i = 0; i < calcIndiceDetail.length; i++)
		{
			var valorDetail = '0,' + calcTipoDataDetail[i] + ':' + calcFormulaDetail[i] + ':' + calcIndiceDetail[i];
			optionDetail += '<option title="'+ calcNomeDetail[i] +'" value="'+ valorDetail +'" class="optionGroup">'+ calcNomeDetail[i] +'</option>';
			countDetail++;
		}

		// Filtros anteriores para reculculo
		var calcFiltrosAnteriores = new Array();
		$("select[name='filtroCamposDetail']").each(function(){ calcFiltrosAnteriores.push($(this).val()); });
		
		var calcFiltrosUtilizados = new Array();
		for(i=0; i < calcFiltrosAnteriores.length; i++) {
			var arrayQuebra  = calcFiltrosAnteriores[i].split(',');
			var arrayquebra1 = new Array();
			arrayquebra1[0] = arrayQuebra[0];
			arrayQuebra.splice(0, 1);
			arrayquebra1[1] = arrayQuebra.join();
			var indexFiltro = 0;

			if(arrayquebra1[0] == 0) {
				// Caso seja um campo calculado
				arrayFiltro = arrayquebra1[1].split(":");

				indexFiltro = calcIndiceDetail.indexOf(arrayFiltro[2]);
				if(indexFiltro != -1) {
					if(arrayFiltro[0] == calcTipoDataDetail[indexFiltro]) {
						// Campo calculado ja  estava no filtro				
						calcFiltrosUtilizados.push(Array(arrayFiltro[2], "manter"));
					} else {
						calcFiltrosUtilizados.push(Array(arrayFiltro[2], "remover"));		
					}
				} else {
					calcFiltrosUtilizados.push(Array(arrayFiltro[2], "remover"));		
				}
			} else {
				calcFiltrosUtilizados.push(Array("", "naocalculado"));		
			}
		}
	
		$("select[name='filtroCamposDetail'] .optFiltroCampoCalculado").remove();
		
		if(countDetail > 0)
		{
			$("select[name='filtroCamposDetail']").append('<optgroup label="Campos Calculados" class="optFiltroCampoCalculado">'+ optionDetail +'</optgroup>');	
		}
		
		// Monta os filtros calculados com campo
		i = 0;
		$(".fielFiltrosDetail select[name='filtroCamposDetail']").each(function(){ 
			if(calcFiltrosUtilizados[i][1] == "remover") {
				var qtdFiltros = 0;
				$(".fielFiltrosDetail").each(function() { qtdFiltros++; }); 
		
				if (qtdFiltros > 1)
				{
					$(this).parent().remove();
					
					$('.btnDivAddDetail').html("");
			
					$('.btnDivAddDetail:last').html(imagemAddDetail);
				}
				else
				{
					$(".fielFiltrosDetail .resultFiltroDetail").html("");
			
					$(".btnDivDelDetail").html("");
			
					$(".fielFiltrosDetail select[name='filtroCamposDetail'] option:first").attr("selected", "selected");
			
					$(".fielFiltrosDetail select[name='filtroCamposDetail']").attr("id", "filtroCamposDetail");
				}
			} else if(calcFiltrosUtilizados[i][1] == "manter") {
				// Caso seja um calculado que nao mudou
				idProcura = "#" + this.id + " option";
				$(idProcura).each(function() {
					var arrayQuebra  = $(this).val().split(',');
					var arrayquebra1 = new Array();
					arrayquebra1[0] = arrayQuebra[0];
					arrayQuebra.splice(0, 1);
					arrayquebra1[1] = arrayQuebra.join();
					
					if(arrayquebra1[0] == 0) {
						arrayFiltro = arrayquebra1[1].split(":");
						
						if(arrayFiltro[2] == calcFiltrosUtilizados[i][0]) {
							$(this).attr("selected", true);
						}					
					}
				});			
			}
			
			i++;
		});
	}
	
	/* CAMPOS GRAFICOS */
	if(flagAlterarCampoCalculado)
	{
		// COLUNA, BARRA, LINHA
		if(tipo == 'C' || tipo == 'B' || tipo == 'L') 
		{
			/* ATUALIZA AGRUPAMENTO */
			
			// Verifica se algum valor foi selecionado
			var agrupamentoAntigo = $("#graficoCampo").val();
			var temAgrupamento = false;
			if($.trim(agrupamentoAntigo) != '')
			{
				var operadorHtml = $("#spanOperadores").html();
				var operador = $("#colOperador").val();
				
				temAgrupamento = true;
			}
			
			// Remove os options dos campos calculados
			$("#graficoCampo .optCampoCalculadoGrafico").remove();
			
			// Cria os options dos campos calculados
			if(count > 0)
			{
				$("#graficoCampo").append('<optgroup label="Campos Calculados" class="optCampoCalculadoGrafico">'+ optionGraficos +'</optgroup>');
			}

			// Mantem os valores antigos 
			if(temAgrupamento)
			{
				// Não Calculado
				var agrupamentoNovo = $("#graficoCampo").val();
				if($.trim(agrupamentoNovo) != '')
				{
					$("#spanOperadores").html(operadorHtml);
					$("#colOperador").val(operador);
				}
				// Campo Calculado
				else
				{
					// Quebra a legenda antiga
					var arrayQuebraAgrupamentoAntigo = agrupamentoAntigo.split(':');
					
					var alterarAgrupamento = true;
					
					// Loop dos novos campos calculados
					$("#graficoCampo .optCampoCalculadoGrafico option").each(function(){
						
						var valores = $(this).val();
					
						var arrayQuebraValores = valores.split(':');
						
						// ID do campo antigo e do novo
						if(arrayQuebraAgrupamentoAntigo[3] == arrayQuebraValores[3])
						{
							$(this).attr('selected', true);

							// Verifica se foi alterado
							if(arrayQuebraAgrupamentoAntigo[0] == arrayQuebraValores[0])
							{
								alterarAgrupamento = false;
							}
						}
					});
					
					// Se o campo calculado foi alterado
					if(alterarAgrupamento)
					{
						if(tipo == 'L')
						{
							previewChartY2("graficoCampo");
						}
						else
						{
							previewChartX1("graficoCampo");
						}
					}
					else
					{
						$("#spanOperadores").html(operadorHtml);
						$("#colOperador").val(operador);
					}
				}
			}

			/* ** ----------------------------------------- ** */
			
			/* ATUALIZA VALOR */
			
			// Verifica se algum valor foi selecionado
			var valorAntigo = $("#graficoValor").val();
			var temValor = false;
			if($.trim(valorAntigo) != '')
			{
				var sumario = $("#graficoSumario").val();
				var sumarioHtml = $("#graficoSumario").html();
				
				temValor = true;
			}
			
			// Remove os options dos campos calculados
			$("#graficoValor .optCampoCalculadoGrafico").remove();
			
			// Cria os options dos campos calculados
			if(count > 0)
			{
				$("#graficoValor").append('<optgroup label="Campos Calculados" class="optCampoCalculadoGrafico">'+ optionGraficos +'</optgroup>');
			}
			
			// Mantem os valores antigos 
			if(temValor)
			{
				// Não Calculado
				var valorNovo = $("#graficoValor").val();
				if($.trim(valorNovo) != '')
				{
					$("#graficoSumario").html(sumarioHtml);
					$("#graficoSumario").val(sumario);
				}
				// Campo Calculado
				else
				{
					// Quebra o valor antigo
					var arrayQuebraValorAntigo = valorAntigo.split(':');
					
					var alterarValor = true;
					
					// Loop dos novos campos calculados
					$("#graficoValor .optCampoCalculadoGrafico option").each(function(){ 
						
						var valores = $(this).val();
					
						var arrayQuebraValores = valores.split(':');
						
						// ID do campo antigo e do novo
						if(arrayQuebraValorAntigo[3] == arrayQuebraValores[3])
						{
							$(this).attr('selected', true);
			
							// Verifica se foi alterado
							if(arrayQuebraValorAntigo[0] == arrayQuebraValores[0])
							{
								alterarValor = false;
							}
						}
					});
					
					// Se o campo calculado foi alterado
					if(alterarValor)
					{
						previewChartY("graficoValor");
					}
				}
			}
			
			/* ** ----------------------------------------- ** */
			
			/* ATUALIZA LEGENDA */
			
			// Verifica se algum valor foi selecionado
			var legendaAntiga = $("#graficoCampo2").val();
			var temLegenda = false;
			if($.trim(valorAntigo) != '')
			{
				temLegenda = true;
			}

			// Remove os options dos campos calculados
			$("#graficoCampo2 .optCampoCalculadoGrafico").remove();
			
			// Cria os options dos campos calculados
			if(count > 0)
			{
				$("#graficoCampo2").append('<optgroup label="Campos Calculados" class="optCampoCalculadoGrafico">'+ optionGraficos +'</optgroup>');
			}
			
			// Mantem os valores antigos 
			if(temLegenda)
			{
				// Se Campo Calculado
				var legendaNova = $("#graficoCampo2").val();
				if($.trim(legendaNova) == '')
				{
					// Quebra a legenda antiga
					var arrayQuebraLegendaAntiga = legendaAntiga.split(':');

					// Loop dos novos campos calculados
					$("#graficoCampo2 .optCampoCalculadoGrafico option").each(function(){
						
						var valores = $(this).val();
					
						var arrayQuebraValores = valores.split(':');
						
						// ID do campo antigo e do novo
						if(arrayQuebraLegendaAntiga[3] == arrayQuebraValores[3])
						{
							$(this).attr('selected', true);
						}
					});
				}
			}
			
			previewChartX2("graficoCampo2");
		}
		// PIZZA
		else if(tipo == 'P') 
		{
			/* ATUALIZA LEGENDA */
			atualizaCampoGraficoLegenda(count, optionGraficos)

			/* ATUALIZA VALOR */
			atualizaCampoGraficoValor(count, optionGraficos);
		}
		// VELOCIMETRO
		else if(tipo == 'V') 
		{
			/* ATUALIZA VALOR */
			atualizaCampoGraficoValor(count, optionGraficos);
		}
	}
	
	// Atualiza o Multiselect
	$("select").multiselect('refresh');
	
	// Atualiza o Tip Tip
	$(".tipTip").tipTip({maxWidth: "auto", edgeOffset: 30, defaultPosition: "right"});
}

function atualizaCampoGraficoLegenda(count, optionGraficos)
{
	// Verifica se algum valor foi selecionado
	var legendaAntiga = $("#graficoCampo").val();
	var temLegenda = false;
	if($.trim(legendaAntiga) != '')
	{
		var operadorHtml = $("#spanOperadores").html();
		var operador = $("#colOperador").val();
		
		temLegenda = true;
	}
	
	// Remove os options dos campos calculados
	$("#graficoCampo .optCampoCalculadoGrafico").remove();
	
	// Cria os options dos campos calculados
	if(count > 0)
	{
		$("#graficoCampo").append('<optgroup label="Campos Calculados" class="optCampoCalculadoGrafico">'+ optionGraficos +'</optgroup>');
	}

	// Mantem os valores antigos 
	if(temLegenda)
	{
		// Não Calculado
		var legendaNova = $("#graficoCampo").val();
		if($.trim(legendaNova) != '')
		{
			$("#spanOperadores").html(operadorHtml);
			$("#colOperador").val(operador);
		}
		// Campo Calculado
		else
		{
			// Quebra a legenda antiga
			var arrayQuebraLegendaAntiga = legendaAntiga.split(':');
			
			var alterarLegenda = true;
			
			// Loop dos novos campos calculados
			$("#graficoCampo .optCampoCalculadoGrafico option").each(function(){
				
				var valores = $(this).val();
			
				var arrayQuebraValores = valores.split(':');
				
				// ID do campo antigo e do novo
				if(arrayQuebraLegendaAntiga[3] == arrayQuebraValores[3])
				{
					$(this).attr('selected', true);

					// Verifica se foi alterado
					if(arrayQuebraLegendaAntiga[0] == arrayQuebraValores[0])
					{
						alterarLegenda = false;
					}
				}
			});
			
			// Se o campo calculado foi alterado
			if(alterarLegenda)
			{
				previewChartFatia("graficoCampo");
			}
			else
			{
				$("#spanOperadores").html(operadorHtml);
				$("#colOperador").val(operador);
			}
		}
	}
}

function atualizaCampoGraficoValor(count, optionGraficos)
{
	// Verifica se algum valor foi selecionado
	var valorAntigo = $("#graficoValor").val();
	var temValor = false;
	if($.trim(valorAntigo) != '')
	{
		var sumario = $("#graficoSumario").val();
		var sumarioHtml = $("#graficoSumario").html();
		
		temValor = true;
	}
	
	// Remove os options dos campos calculados
	$("#graficoValor .optCampoCalculadoGrafico").remove();
	
	// Cria os options dos campos calculados
	if(count > 0)
	{
		$("#graficoValor").append('<optgroup label="Campos Calculados" class="optCampoCalculadoGrafico">'+ optionGraficos +'</optgroup>');
	}

	// Mantem os valores antigos 
	if(temValor)
	{
		// Não Calculado
		var valorNovo = $("#graficoValor").val();
		if($.trim(valorNovo) != '')
		{
			$("#graficoSumario").html(sumarioHtml);
			$("#graficoSumario").val(sumario);
		}
		// Campo Calculado
		else
		{
			// Quebra o valor antigo
			var arrayQuebraValorAntigo = valorAntigo.split(':');
			
			var alterarValor = true;
			
			// Loop dos novos campos calculados
			$("#graficoValor .optCampoCalculadoGrafico option").each(function(){ 
				
				var valores = $(this).val();
			
				var arrayQuebraValores = valores.split(':');
				
				// ID do campo antigo e do novo
				if(arrayQuebraValorAntigo[3] == arrayQuebraValores[3])
				{
					$(this).attr('selected', true);

					// Verifica se foi alterado
					if(arrayQuebraValorAntigo[0] == arrayQuebraValores[0])
					{
						alterarValor = false;
					}
				}
			});
			
			// Se o campo calculado foi alterado
			if(alterarValor)
			{
				previewChartValor("graficoValor");
			}
		}
	}
}

function validaPropriedades()
{
	var rNome = $.trim($("#nome").val());
	var rGrupo = $.trim($("#grupo").val());
	var rTabela = $.trim($("#tabela").val());
	
	$(".erroCriar").remove();
	var erro = 0;
	
	if(rNome == '')
	{
		erro++;
		var id = "nome";
		var msg = "Campo obrigatório, favor preencher o campo: <br/> <em>Nome do Relatório</em>.";
	} 
	else if(rGrupo == '')
	{
		erro++;
		var id = "grupo";
		var msg = "Não foi possível encontrar o <em>Grupo do Relatório</em>.";
	}
	else if(rTabela == '')
	{
		erro++;
		var id = "tabela";
		var msg = "Não foi possível encontrar a origem dos dados.";
	}
	
	if(erro == 0)
	{
		$("#aba_0").html(imgOk);
		return true;
	}
	else
	{
		jAlert(msg, "Alerta!", function(){ $("#aba_0").html(imgErro); $("#" + id).after('<span class="erroCriar">*</span>'); return false; });
	}
}

function validaDados(tipo)
{
	$(".erroCriar").remove();
	
	if(tipo == 'T')
	{
		var colunas = 0;
		$(".column").each(function(){ colunas++; });
		$(".selectedColumn").each(function(){ colunas++; });
		
		var ordenarColunas = 0;
		$("input[name='colOrdenar']").each(function(){ if($(this).val() != 'N') ordenarColunas++; });
		
		if(colunas < 1)
		{
			jAlert("Obrigatório no mínimo 1 (uma) coluna.", "Alerta!", 
				function(){ 
					$("#aba_4").html(imgErro);
					return false; 
				});
		}
		else if(ordenarColunas > 0)
		{
			var camposOrdenacao = '';
			var countCampos = 0;
			var posicaoColuna = 0;
			
			$("input[name='colOrdenar']").each(function() {
			
				posicaoColuna++;
				
				var valorCampo = $.trim($(this).val());
				
				if(valorCampo != 'N') 
				{
					if(countCampos != 0) camposOrdenacao += ':';

					valorCampo = valorCampo.split(':');

					camposOrdenacao += valorCampo[0] + ',' + valorCampo[1] + ',' + valorCampo[2] + ',' + posicaoColuna;
					
					countCampos++;
				}
			});
			
			$("#stringOrdenar").val(camposOrdenacao);
	
			modalOrdenar('T');
				
			$("#aba_4").html(imgOk);
				
			return false;
		}
		else
		{
			$("#stringOrdenar").val('');
			$("#colunasOrdenar").val('1');
			$("#ordemOrdenar").val('asc');
		
			$("#aba_4").html(imgOk);

			return true;
		}
	}
	else if(tipo == 'D')
	{
		var colunasMaster = 0;
		$("input[name='colField1']").each(function(){ colunasMaster++; });
		
		var colunaVisivel = $("input[name='colFunction1']:first").val();
		
		var colunasDetail = 0;
		$("input[name='colField2']").each(function(){ colunasDetail++; });
		
		var ordenarColunas = 0;
		$("input[name='colOrdenar1']").each(function(){ if($(this).val() != 'N') ordenarColunas++; });
		$("input[name='colOrdenar2']").each(function(){ if($(this).val() != 'N') ordenarColunas++; });

		if(colunasMaster == 1 && colunaVisivel == 'hide')
		{
			jAlert("Obrigatório no mínimo 1 (uma) coluna na <em>Tabela Master</em>.", "Alerta!", 
				function(){ 
					$("#aba_4").html(imgErro);
					return false; 
				});
		}
		else if(colunasDetail == 0)
		{
			jAlert("Obrigatório no mínimo 1 (uma) coluna na <em>Tabela Detail</em>.", "Alerta!", 
				function(){ 
					$("#aba_4").html(imgErro);
					return false; 
				});
		}
		else if(ordenarColunas > 0)
		{
			var camposOrdenacao = '';
			var countCampos = 0;
			var posicaoColuna = 0;
			
			// Loop nas colunas da tabela Master
			$("input[name='colOrdenar1']").each(function() {
			
				posicaoColuna++;
				
				var valorCampo = $.trim($(this).val());
				
				if(valorCampo != 'N') 
				{
					if(countCampos != 0) camposOrdenacao += ':';

					valorCampo = valorCampo.split(':');

					camposOrdenacao += valorCampo[0] + ',' + valorCampo[1] + ',' + valorCampo[2] + ',' + posicaoColuna;
					
					countCampos++;
				}
			});
			
			var camposOrdenacaoDetail = '';
			var countCamposDetail = 0;
			var posicaoColunaDetail = 0;
			
			// Loop nas colunas da tabela Detail
			$("input[name='colOrdenar2']").each(function() {
			
				posicaoColunaDetail++;
				
				var valorCampo = $.trim($(this).val());
				
				if(valorCampo != 'N') 
				{
					if(countCamposDetail != 0) camposOrdenacaoDetail += ':';

					valorCampo = valorCampo.split(':');

					camposOrdenacaoDetail += valorCampo[0] + ',' + valorCampo[1] + ',' + valorCampo[2] + ',' + posicaoColunaDetail;
					
					countCamposDetail++;
				}
			});
			
			$("#stringOrdenar").val(camposOrdenacao);
			$("#stringOrdenarDetail").val(camposOrdenacaoDetail);
	
			modalOrdenar('D');
				
			$("#aba_4").html(imgOk);
				
			return false;
		}
		else
		{
			$("#stringOrdenar").val('');
			$("#colunasOrdenar").val('1');
			$("#ordemOrdenar").val('asc');
			
			$("#stringOrdenarDetail").val('');
			$("#colunasOrdenarDetail").val('1');
			$("#ordemOrdenarDetail").val('asc');
			
			$("#aba_4").html(imgOk);
			
			return true;
		}
	}
	else if(tipo == 'P')
	{
		var erro = 0;
		
		var tipoGrafico	= $("input[name='tipoGrafico']:radio:checked").val();
		
		if(tipoGrafico == 'V')
		{
			if($("#graficoCampo").val() == '') 
			{
				$("#graficoCampo").next().after('<span class="erroCriar">&nbsp;*</span>');
				erro++;
			}
			
			if($("#graficoValor").val() == '') 
			{
				$("#graficoValor").next().after('<span class="erroCriar">&nbsp;*</span>');
				erro++;
			}
			
			var msgAlerta = "Obrigatório á seleção dos campos <em>'Legenda'</em> e <em>'Valor'</em>.";
		}
		else
		{
			var campos = 0;
			$(".tbListaColunasGrafico").each(function(){ campos++; });
			
			if(campos < 2)
			{
				var msgAlerta = 'Obrigatório informar no mínimo 2 (dois) campos.';
				erro++;
			}
		}
		
		if(erro == 0)
		{
			$("#aba_4").html(imgOk);
			return true;
		}
		else
		{
			jAlert(msgAlerta, "Alerta!", function(){ $("#aba_4").html(imgErro); return false; });
		}
	}
	else if(tipo == 'V')
	{
		var erro = 0;
		var vCor = 0;
		
		var vermelho = $("#inputValor1").val();
		var amarelo = $("#inputValor2").val();
		var verde = $("#inputValor3").val();
		
		if($("#graficoValor").val() == '') 
		{
			$("#graficoValor").next().after('<span class="erroCriar">&nbsp;*</span>');
			erro++;
		}
		
		if(vermelho == '' || amarelo == '' || verde == '')
		{
			if($("#inputValor1").val() == '') 
			{
				$("#inputValor1").after('<span class="erroCriar">*</span>');
				erro++;
			}
			
			if($("#inputValor2").val() == '') 
			{
				$("#inputValor2").after('<span class="erroCriar">*</span>');
				erro++;
			}
			
			if($("#inputValor3").val() == '') 
			{
				$("#inputValor3").after('<span class="erroCriar">*</span>');
				erro++;
			}
		} 
		else if(!validarFaixas(vermelho, amarelo, verde))
		{
			$("#inputValor1, #inputValor2, #inputValor3").after('<span class="erroCriar">*</span>');
			erro++;
			vCor++;
		}
		
		if(erro == 0)
		{
			$("#aba_4").html(imgOk);
			return true;
		}
		else
		{
			if(vCor == 0)
				var msg = 'Os campos com (<font size="2" color="red">*</font>) são obrigatórios.';
			else
				var msg = 'Os valores dos limites das faixas estão incorretos!';
			
			jAlert(msg, "Alerta!", function(){ $("#aba_4").html(imgErro); });
			
			return false;
		}
	}
	else
	{
		var erro = 0;
		
		var tipoGrafico	= $("input[name='tipoGrafico']:radio:checked").val();
		
		if(tipoGrafico == 'V')
		{
			if($("#graficoCampo").val() == '') 
			{	
				$("#graficoCampo").next().after('<span class="erroCriar">&nbsp;*</span>');
				erro++;
			}
			
			if($("#graficoValor").val() == '') 
			{
				$("#graficoValor").next().after('<span class="erroCriar">&nbsp;*</span>');
				erro++;
			}

			if(erro == 0)
			{
				if($("#graficoCampo").val() == $("#graficoCampo2").val()) {
					jAlert("Os dados do agrupamento e da legenda são iguais!", "Alerta!", 
						function(){ 
							$("#aba_4").html(imgErro);
							$("#graficoCampo").next().after('<span class="erroCriar">&nbsp;*</span>');
							$("#graficoCampo2").next().after('<span class="erroCriar">&nbsp;*</span>');
							return false;
						});
				}
				else
				{
					$("#aba_4").html(imgOk);
					return true;
				}
			}
			else
			{
				jAlert('Os campos com (<font size="2" color="red">*</font>) são obrigatórios.', "Alerta!", 
					function(){ 
						$("#aba_4").html(imgErro);
					});
				return false;
			}
		}
		else
		{
			if($("#graficoCampo").val() == '') 
			{	
				$("#graficoCampo").next().after('<span class="erroCriar">&nbsp;*</span>');
				erro++;
			}
			
			var campos = 0;
			$(".tbListaColunasGrafico").each(function(){ campos++; });
			
			if(erro == 0)
			{
				if(campos < 1)
				{
					$(".colunasList legend").append('<span class="erroCriar" style="margin-left: 2px;">*</span>');	
					
					jAlert('Obrigatório informar no mínimo 1 (um) campo.', "Alerta!", 
						function(){ 
							$("#aba_4").html(imgErro);						
							return false;
						});
				}
				else
				{
					$("#aba_4").html(imgOk);
					return true;
				}
			}
			else
			{

				jAlert('Os campos com (<font size="2" color="red">*</font>) são obrigatórios.', "Alerta!", 
				 	function(){ 
				 		$("#aba_4").html(imgErro);
				 		return false;
				 	});
			}
		}
	}
}

function validaGravacao()
{
	var abc = 0, xyz = 0; 
	$(".fielFiltros select[name='filtroCampos']").each(function(){ if($(this).val() != '') abc++; });
	$(".fielFiltros select[name='opcao']").each(function(){ xyz++; });
	
	var retorno;
	
	if(abc == xyz)
	{	
		$("#aba_5").html(imgOk);
		retorno = true;
	}
	else
	{
		$("#aba_5").html(imgErro);
		retorno = false;
	}
	
	// FINALIZAR
	if(retorno)
	{
		$("#previewGrid").html('');
		
		$("#aba_6").html('');
		var errosAba = 0;
		$(".imgErro").each(function(){ errosAba++; });
		if(errosAba == 0)
		{
			$("#aba_6").html(imgOk);
			
			$("#btnGravar").removeAttr('disabled');
			$("#btnGravar").removeClass('botaoDisabled').addClass('botao');

			gridPreview();
		}
		else
		{
			$("#aba_6").html(imgErro);
			
			$("#btnGravar").attr('disabled', true);
			$("#btnGravar").removeClass('botao').addClass('botaoDisabled');
		}
	}
	
	return retorno;
}

function gridPreview()
{
	// Inicializando - Master/Detail
	var tabelaDetail = '';
	var camposDetail = '';
	var	groupTableDetailTMP = new Array(); 
	var	groupCampoDetailTMP = new Array(); 
	var	groupCampoDetail 	= new Array(); 
	var	groupNomeDetail  	= new Array();	
	var	groupTipoDetail  	= new Array();	
	var	groupOperadorDetail	= new Array();
	var	colTableDetailTMP   = new Array();	
	var	colCampoDetailTMP   = new Array();	
	var	colCampoDetail   	= new Array();	
	var	colNomeDetail    	= new Array(); 
	var	colFuncaoDetail  	= new Array();
	var	colOperadorDetail	= new Array();
	var colTypeColumnDetail = new Array();
	var colTypeDataDetail   = new Array();
	var colFormulaDetail    = new Array();

	var	groupCampo 	  = new Array();  
	var	groupTableTMP = new Array();  
	var	groupCampoTMP = new Array();  
	var	groupNome 	  = new Array();
	var	groupTipo 	  = new Array();
	var	groupOperador = new Array();
	var	colTableTMP   = new Array();
	var	colCampoTMP   = new Array();
	var	colCampo 	  = new Array();
	var	colNome 	  = new Array(); 
	var	colFuncao 	  = new Array(); 
	var	colOperador   = new Array();	
	var colTypeColumn = new Array();
	var colTypeData   = new Array();
	var colFormula 	  = new Array();
	
	// Dados da aba "Propriedades"
	var nome 	  = $('#nome').val();
	var descricao = $('#descricao').val();
	var tabela 	  = $('#tabela').val();
	
	// Dados da ordenação dos campos
	var ordemColunas = $("#colunasOrdenar").val();
	var ordem = $("#ordemOrdenar").val();
	
	// Dados da ordenação dos campos tabela detail
	var ordemColunasDetail = $("#colunasOrdenarDetail").val();
	var ordemDetail = $("#ordemOrdenarDetail").val();
	
	// Dados da aba "Formato"
	var tipo = $("input[name='formato']:radio:checked").val();

	// Dados da aba "Dados"
	if(tipo == 'D')
	{
		tabelaDetail = $("#tabelaDetail").val();
		camposDetail = $("#camposDetail").val();
		
		var countGrid = $(".abaContentDetail").length;
		
		var indice = 1; 
		
		/* TABELA MASTER */ 
		$("input[name='groupTable"+ indice +"']").each(function(){ groupTableTMP.push($(this).val()); }); 		
		$("input[name='groupField"+ indice +"']").each(function(){ groupCampoTMP.push($(this).val()); }); 
		for(i = 0; i < groupCampoTMP.length; i++) {
			groupCampo.push(groupTableTMP[i] + ',' + groupCampoTMP[i]);
		}
		
		$("input[name='groupLegend"+ indice +"']").each(function(){ groupNome.push($(this).val()); }); 
		$("input[name='groupTipo"+ indice +"']").each(function(){ groupTipo.push($(this).val()); });
		$("input[name='groupOperador"+ indice +"']").each(function(){ groupOperador.push($(this).val()); });
		
		$("input[name='colTable"+ indice +"']").each(function(){ colTableTMP.push($(this).val()); }); 
		$("input[name='colField"+ indice +"']").each(function(){ colCampoTMP.push($(this).val()); }); 
		for(i = 0; i < colCampoTMP.length; i++) {
			colCampo.push(colTableTMP[i] + ',' + colCampoTMP[i]);
		}	
		
		$("input[name='colLegend"+ indice +"']").each(function(){ colNome.push($(this).val()); }); 
		$("input[name='colFunction"+ indice +"']").each(function(){ colFuncao.push($(this).val()); });
		$("input[name='colOperador"+ indice +"']").each(function(){ colOperador.push($(this).val()); });
		
		$("input[name='colTypeColumn"+ indice +"']").each(function(){ colTypeColumn.push($(this).val()); });
		$("input[name='colTypeData"+ indice +"']").each(function(){ colTypeData.push($(this).val()); });
		$("input[name='colFormula"+ indice +"']").each(function(){ colFormula.push($(this).val()); });
		
		indice++;
		
		/* TABELA DEATIL */	
		$("input[name='groupTable"+ indice +"']").each(function(){ groupTableDetailTMP.push($(this).val()); });
		$("input[name='groupField"+ indice +"']").each(function(){ groupCampoDetailTMP.push($(this).val()); });  
		for(i = 0; i < groupCampoDetailTMP.length; i++) {
			groupCampoDetail.push(groupTableDetailTMP[i] + ',' + groupCampoDetailTMP[i]);
		}
		
		$("input[name='groupLegend"+ indice +"']").each(function(){ groupNomeDetail.push($(this).val()); }); 
		$("input[name='groupTipo"+ indice +"']").each(function(){ groupTipoDetail.push($(this).val()); });
		$("input[name='groupOperador"+ indice +"']").each(function(){ groupOperadorDetail.push($(this).val()); });
		
		$("input[name='colTable"+ indice +"']").each(function(){ colTableDetailTMP.push($(this).val()); });
		$("input[name='colField"+ indice +"']").each(function(){ colCampoDetailTMP.push($(this).val()); });
		for(i = 0; i < colCampoDetailTMP.length; i++) {
			colCampoDetail.push(colTableDetailTMP[i] + ',' + colCampoDetailTMP[i]);
		}	
		$("input[name='colLegend"+ indice +"']").each(function(){ colNomeDetail.push($(this).val()); }); 
		$("input[name='colFunction"+ indice +"']").each(function(){ colFuncaoDetail.push($(this).val()); });
		$("input[name='colOperador"+ indice +"']").each(function(){ colOperadorDetail.push($(this).val()); });
		
		$("input[name='colTypeColumn"+ indice +"']").each(function(){ colTypeColumnDetail.push($(this).val()); });
		$("input[name='colTypeData"+ indice +"']").each(function(){ colTypeDataDetail.push($(this).val()); });
		$("input[name='colFormula"+ indice +"']").each(function(){ colFormulaDetail.push($(this).val()); });	
	}
	else
	{	
		/* TABELA */
		$("input[name='groupTable']").each(function(){ groupTableTMP.push($(this).val()); }); 		
		$("input[name='groupField']").each(function(){ groupCampoTMP.push($(this).val()); }); 

		for(i = 0; i < groupCampoTMP.length; i++) {
			groupCampo.push(groupTableTMP[i] + ',' + groupCampoTMP[i]);
		}
		$("input[name='groupLegend']").each(function(){ groupNome.push($(this).val()); });
		$("input[name='groupTipo']").each(function(){ groupTipo.push($(this).val()); });
		$("input[name='groupOperador']").each(function(){ groupOperador.push($(this).val()); });
		  
		$("input[name='colTable']").each(function(){ colTableTMP.push($(this).val()); });
		$("input[name='colField']").each(function(){ colCampoTMP.push($(this).val()); });

		for(i = 0; i < colCampoTMP.length; i++) {
			colCampo.push(colTableTMP[i] + ',' + colCampoTMP[i]);
		}	
		$("input[name='colLegend']").each(function(){ colNome.push($(this).val()); });
		$("input[name='colFunction']").each(function(){ colFuncao.push($(this).val()); });
		$("input[name='colOperador']").each(function(){ colOperador.push($(this).val()); });
		
		$("input[name='colTypeColumn']").each(function(){ colTypeColumn.push($(this).val()); });
		$("input[name='colTypeData']").each(function(){ colTypeData.push($(this).val()); });
		$("input[name='colFormula']").each(function(){ colFormula.push($(this).val()); });
	}

	/* GRAFICO */
	var campoGrafico1 	= $("#graficoCampo").val();
	var tituloGrafico1 	= $("#graficoLegendaCampo").val();
	var tituloGrafico2 	= $("#graficoLegendaValor").val();
	
	// Exibir total e porcentagem nos gráficos
	var mostrarTotal = ($("#mostrarTotal").length > 0) ? $("#mostrarTotal").val() : '';
	var mostrarPorcentagem = ($("#mostrarPorcentagem").length > 0) ? $("#mostrarPorcentagem").val() : '';
	
	// Inicializando
	var acampoGrafico   = new Array();
	var asumarioGrafico = new Array();
	var legendaGrafico  = new Array();
	var campoGrafico2 	= "";
	var campoGrafico3 	= "";
	var sumarioGrafico 	= "";	
	var operadorGrafico = $("#colOperador").val();
	var nomeValor		= $("#graficoValor option:selected").text();
	
	// Pizza ou Rosca
	var donut = '';
	if(tipo == 'P') donut = $("#donut").val();
	
	// Velocimetro
	var faixas = new Array();
	faixas.push($("#inputValor1").val());
	faixas.push($("#inputValor2").val());
	faixas.push($("#inputValor3").val());
	
	// Orientação do Grafico - Vertical ou Horizontal
	var tipoGrafico	    = $("input[name='tipoGrafico']:radio:checked").val();

	// Grafico Horizontal ou Vertical
	if(tipoGrafico == 'V' || tipo == 'V')
	{
		campoGrafico2 	= $("#graficoCampo2").val();
		campoGrafico3 	= $("#graficoValor").val();
		sumarioGrafico 	= $("#graficoSumario").val();
	}
	else if(tipoGrafico == 'H')
	{	
		if(tipo == 'L') campoGrafico2 = $("#graficoCampo2").val();
		
		$("input[name='legendaGraficoHorizontal']").each(function(){ legendaGrafico.push($(this).val()); });
		$("input[name='campoGraficoHorizontal']").each(function(){ acampoGrafico.push($(this).val()); });
		$("input[name='funcaoGraficoHorizontal']").each(function(){ asumarioGrafico.push($(this).val()); });
	}

	// Dados da aba "Filtros"	
	var	filtroCampo = new Array(); 
	$(".fielFiltros select[name='filtroCampos']").each(function(){ if($(this).val() != '') { filtroCampo.push($(this).val()); }});
	var	filtroCampoID = new Array(); 
	$(".fielFiltros select[name='opcao']").each(function(){ filtroCampoID.push(this.id); });
	var	filtroOpcao = new Array(); 
	$(".fielFiltros select[name='opcao']").each(function(){ filtroOpcao.push($(this).val()); });
	var	filtroValor1 = new Array(); 
	$(".fielFiltros input[name='valorFiltro1']").each(function(){ filtroValor1.push($(this).val()); });
	var	filtroValor2 = new Array(); 
	$(".fielFiltros input[name='valorFiltro2']").each(function(){ filtroValor2.push($(this).val()); });
	
	var kkCont, aid;
	for(kkCont=0; kkCont < filtroOpcao.length; kkCont++) 
	{
		if(filtroOpcao[kkCont] == 'selecionar' || filtroOpcao[kkCont] == 'filtrar') 
		{
			aid = filtroCampoID[kkCont].split("_");	
			
			filtroValor1[kkCont] = $("#inputSelect_" + aid[1]).val();
			
			filtroValor2[kkCont] = '';
		}
	}
	
	// Dados da aba "Filtros" Detail
	var	filtroCampoDetail = new Array();	
	var	filtroOpcaoDetail = new Array(); 
	var	filtroValorDetail1 = new Array();
	var	filtroValorDetail2 = new Array();
	var filtroCampoIDDetail = new Array();
	if(tipo == 'D')
	{
		$(".fielFiltrosDetail select[name='filtroCamposDetail']").each(function(){ if($(this).val() != '') { filtroCampoDetail.push($(this).val());  }});
		$(".fielFiltrosDetail select[name='opcao']").each(function(){ filtroCampoIDDetail.push(this.id); });
		$(".fielFiltrosDetail select[name='opcao']").each(function(){ filtroOpcaoDetail.push($(this).val()); });
		$(".fielFiltrosDetail input[name='valorFiltro1']").each(function(){ filtroValorDetail1.push($(this).val()); });
		$(".fielFiltrosDetail input[name='valorFiltro2']").each(function(){ filtroValorDetail2.push($(this).val()); });
		
		for(kkCont=0; kkCont < filtroOpcaoDetail.length; kkCont++) 
		{
			if(filtroOpcaoDetail[kkCont] == 'selecionar' || filtroOpcaoDetail[kkCont] == 'filtrar') 
			{
				aid = filtroCampoIDDetail[kkCont].split("_");
				
				filtroValorDetail1[kkCont] = $("#inputSelectDetail_" + aid[1]).val();
				
				filtroValorDetail2[kkCont] = '';
			}
		}		
	}
	
	$("#previewGrid").html('<div id="loadingPreview"> <img src="' + basepath + 'www/imagem/loadingReport.gif" width="80px" height="80px"  /> <br /> <br /> <span style="margin-left:3px;"> Carregando... </span> </div>');

	$.post(basepath + "principal/gridPreview", {
		nome 			 		: nome,
	    descricao  		 		: descricao,
		tabela			 		: tabela,
		tipo			 		: tipo,
		tipoGrafico				: tipoGrafico,
		nomeValor				: nomeValor,
		ordemColunas			: ordemColunas,
		ordem					: ordem, 
		ordemColunasDetail		: ordemColunasDetail,
		ordemDetail				: ordemDetail, 
		'groupCampo[]' 	 	    : groupCampo,
		'groupNome[]' 	 		: groupNome,
		'groupTipo[]' 	 		: groupTipo,
		'groupOperador[]' 		: groupOperador,
		'colCampo[]' 	 		: colCampo,
		'colNome[]' 	 		: colNome,
		'colFuncao[]' 	 		: colFuncao,
		'colOperador[]' 		: colOperador,
		'colTypeColumn[]'		: colTypeColumn,
		'colTypeData[]'			: colTypeData, 
		'colFormula[]'	 		: colFormula,
		'filtroCampo[]'  		: filtroCampo,
		'filtroOpcao[]'  		: filtroOpcao,
		'filtroValor1[]' 		: filtroValor1,
		'filtroValor2[]' 		: filtroValor2,
		'filtroCampoDetail[]'  	: filtroCampoDetail,
		'filtroOpcaoDetail[]'  	: filtroOpcaoDetail,
		'filtroValorDetail1[]' 	: filtroValorDetail1,
		'filtroValorDetail2[]' 	: filtroValorDetail2,
		'LegendaGrafico[]'  	: legendaGrafico,
		'acampoGrafico[]'   	: acampoGrafico,
		'asumarioGrafico[]' 	: asumarioGrafico,
		campoGrafico1	 		: campoGrafico1,
		campoGrafico2    		: campoGrafico2,
		tituloGrafico1	 		: tituloGrafico1,
		campoGrafico3    		: campoGrafico3,
		sumarioGrafico   		: sumarioGrafico,
		operadorGrafico			: operadorGrafico,
		tituloGrafico2   		: tituloGrafico2,
		mostrarTotal			: mostrarTotal,
		mostrarPorcentagem		: mostrarPorcentagem,
		tabelaDetail	 		: tabelaDetail,
		camposDetail     		: camposDetail,
		'groupCampoDetail[]'	: groupCampoDetail,
		'groupNomeDetail[]' 	: groupNomeDetail,
		'groupTipoDetail[]' 	: groupTipoDetail,
		'groupOperadorDetail[]' : groupOperadorDetail,
		'colCampoDetail[]'  	: colCampoDetail,
		'colNomeDetail[]'   	: colNomeDetail, 
		'colFuncaoDetail[]' 	: colFuncaoDetail,
		'colOperadorDetail[]' 	: colOperadorDetail,
		'colTypeColumnDetail[]'	: colTypeColumnDetail,
		'colTypeDataDetail[]'	: colTypeDataDetail, 
		'colFormulaDetail[]'	: colFormulaDetail,
		'faixas[]'				: faixas,
		donut					: donut
	}, function(data){ 
		$("#previewGrid").html(data);
	});
}

/**
 * Valida as faixas no grafico de velocidade
**/
function validarFaixas(vermelho, amarelo, verde)
{
	if(parseFloat(vermelho) > parseFloat(verde))
		return (parseFloat(amarelo) <= parseFloat(vermelho) && parseFloat(amarelo) >= parseFloat(verde));
	else
		return (parseFloat(amarelo) >= parseFloat(vermelho) && parseFloat(amarelo) <= parseFloat(verde));
}

function init() 
{ 	
	// GRADIENTE DOS GRAFICOS
	Highcharts.getOptions().colors = $.map(Highcharts.getOptions().colors, function(color) { return { radialGradient: { cx: 0.9, cy: 0.6, r: 1.0 }, stops: [[0, color],[1, Highcharts.Color(color).brighten(-0.15).get('rgb')]]}; });
}

$(document).ready(init);