<?php
//echo "<script>alert('". 'TESTE 1' ."');</script>";


REQUIRE_ONCE('./global/phplot/phplot.php');

$sNomeIdJan1 = 'iJan_G_Principal';
$sNomeIdJan2 = 'iJan_G_Grafico';
$sCorBarraInf = '#E8E3CE';
$sData_Trabalho = SQLVarConfig('DATA_DE_TRABALHO');
//
//  ** VISUALIZAR Grafico **
If ( $sSubModulo=="GRAFICO" ) {
    // Criar objeto Janela
    $oJanelaPrinc = New R_Janela();
    $oJanelaPrinc->sIdObj  = $sNomeIdJan2;
    $oJanelaPrinc->nTop    = 8;
    $oJanelaPrinc->nLeft   = 1;
    $oJanelaPrinc->nWidth  = $nTela_W-10;   // Largura
    $oJanelaPrinc->nHeight = 0;     // Altura
	$oJanelaPrinc->nLeft  += ($nTela_W/2)-($oJanelaPrinc->nWidth/2);
    $oJanelaPrinc->sTitulo = 'Visualizar gráfico';
	$oJanelaPrinc->sJavOnClick = "document.getElementById('in_VisGraF_Tecla').focus();";
	$oJanelaPrinc->sJavKeyDown = "";
	$oJanelaPrinc->nIndicePos  = 2;
    //
	$sJavaTravarJ = "document.getElementById('".$oJanelaPrinc->sIdObj."_Travar').style.visibility='visible'; ";
	$sJavaFechaEr = 'document.location.href = "./car_js.php?mod='.$sModulo.'&submod='.$sSubModulo.'&nomeacs='.$sNomeAcesso.'&acao=FECHAR";';
	//
    $oJanelaPrinc->sJavOnClickF =
         $sJavaTravarJ.
		 "document.forms.fmVisGraF.acao.value='FECHAR'; ".
         "document.forms.fmVisGraF.submit();";
	//
		//
    // GERA O GRAFICO
    If ( $sAcao=="GERAR" ) {
	   $nGeraOpcao   = @$_REQUEST['G_Opcao']+0;  // (0=Na tela , 1=Imprimir)
	   $nTipoGra     = @$_REQUEST['Tipo_Graf']+0; // 0-area 1-bars 2-lines 3-pie 4-linepoints 5-squared 6-thinbarline 
	   
	   If ($nGeraOpcao==0) {                   // Mostra Grafico na tela
         
		 $sHTML_Grafico =
		   '<div align="center">'.
			  '<table border="0" cellspacing="0" cellpadding="0">'.
                 '<tr>'.
                   '<td align="center" style="font-size:13px; font-family:Courier New,Courier,mono;">'.
			          '<img border="0" src="./car_js.php?mod='.$sModulo.'&submod='.$sSubModulo.'&nomeacs='.$sNomeAcesso.'&acao=GERAR_IMG&Tipo_Graf='.$nTipoGra.'&DTHR='.DATE("d_m_Y_H_i_s",TIME()).'" style="width:'.($oJanelaPrinc->nWidth-14).'px;">'.
                   '</td>'.
                 '</tr>'.
              '</table>'.
		   '</div>';
         
         $sRet_Javs .=
           "var oJan = parent.frames['VisGraF_Print'];".
           "var oPrt = parent.document.getElementById('dv_VisGraF_BarInf');".
           "oPrt.innerHTML=".JAVA_CharCode($sHTML_Grafico).";".
           "oJan.document.write('<html><head><title>Grafico</title></head><body>');".
           "oJan.document.write(oPrt.innerHTML);".
           "oJan.document.write('</body></html>');".
           "";
	   
        //$aSessao['IMG_GRAFICO'] = JAVA_CharCode($sHTML_Grafico).';';
       //
	   } ElseIf ($nGeraOpcao==1) {             // Gera Grafico para a Impressão
		 
         $sRet_Javs .= 
           "var oPrint, oJan;".
           "oPrint = parent.document.getElementById('dv_VisGraF_BarInf');".
           //"oJan = window.open('','RET_GRATICOS');".
           "oJan = parent.frames['VisGraF_Print'];".
           //"oJan.document.write('<html><head><title>Grafico</title></head><body>');".
           //"oJan.document.write(oPrint.innerHTML);".
           //"oJan.document.write('</body></html>');".
           //"setTimeout( function () {".
	            "oJan.window.print();".
           //     "oJan.document.close();".
           //"} , 2000);".
           "";
       }
   
    //
    } ElseIf ( $sAcao=="GERAR_IMG" ) {
      ERROR_REPORTING(0);
      
      $aDataValues  = $aSessao['DataValues'];
      $aLegend      = $aSessao['Legend'];
      $sTituloX     = $aSessao['TituloX'];
      $sTituloY     = $aSessao['TituloY'];
      $sTituloG     = $aSessao['TituloG'];
      $nCasasDec    = $aSessao['CasasDec'];      
      
      /*$aDataValues  = array(
                                 array('Jan', 40, 2,3,4,5), array('Fev', 30, 3,2,1,0), array('Mar', 20, 4,3,2,1),
                                 array('Abr', 10, 5,3,4,5), array('Mai',  3, 6,3,4,9), array('Jun',  7, 7,2,3,2),
                                 array('Jul', 10, 8,5,2,6), array('Ago', 15, 9,10,20,7), array('Set', 20, 5,8,7,6),
                                 array('Out', 18, 4,6,6,7), array('Nov', 16, 7,6,5,20), array('Dez', 14, 3,3,2,7),
                               );
       $aLegend      = array( 'Refeição', 'Coca-Cola', 'Salgado Frito', 'Salgado Assado','Self-Service');*/

      $nTam_Alt     = 380;
      $nTam_Lar     = $nTela_W-14;
      $nBorder      = 1;                         // 0-raised 1-plain
      $nTipoGra     = @$_REQUEST['Tipo_Graf']+0; // 0-area 1-bars 2-lines 3-pie 4-linepoints 5-squared 6-thinbarline 
      $sTitle       = 'Vendas por '.$sTituloG;  
      
      $sTickLab     = 'none';     // 1-plotdown 2-plotup 3-both 4-xaxis 5-none
      $sTickPos     = 'none';     // 1-plotdown 2-plotup 3-both 4-xaxis 5-none'
      Montar_Grafico( $aDataValues, $nTam_Alt, $nTam_Lar,$nBorder, $nTipoGra, $sTitle, $aLegend, $sTickLab, $sTickPos, $sTituloX, $sTituloY , $nCasasDec );
      EXIT;
	  
    // FECHAR
    } ElseIf ( $sAcao=="FECHAR" ) {
	   
	   //
       $sRet_Javs .=
	       "parent.Car_".$sNomeAcesso."3.location.href='about:blank';".
	       "if (parent.document.getElementById('".$oJanelaPrinc->sIdObj."') != null) { ".               
                "parent.RmElem('".$oJanelaPrinc->sIdObj."');". 
           "}".
		   "parent.document.getElementById('".$sNomeIdJan1."_Travar').style.visibility='hidden';".
		   "parent.Disabled_In_Elems('".$sNomeIdJan1."',false);".
		   "";
        
       UNSET( $aSessao['Legend'] );   
       UNSET( $aSessao['DataValues'] );
       UNSET( $aSessao['TituloX'] );   
       UNSET( $aSessao['TituloY'] );   
       UNSET( $aSessao['TituloG']);  
       UNSET( $aSessao['CasasDec']);   
    //
    // JANELA TELA PRINCIPAL
    } Else {
	   //
	   $oJanelaPrinc->sJavKeyDown = "return Car_".$sNomeAcesso."2.Teclas_F(this,event);";	   
	   //
       // Tela HTML
       $sRet_TelaJ_HTML =
    	  $oJanelaPrinc->MontaJanHTML(True).
		  // Teclas
		  '<input id="in_VisGraF_Tecla" style="position:absolute; top:-100; left:-100; width:1px; height:1px;">'.
		  //
          '<iframe name="VisGraF_Print"></iframe>'.
          '<form name="fmVisGraF" accept-charset="utf-8" method="post" action="./car_js.php" target="car_'.$sNomeAcesso.'3">'.
           '<input name="mod" type="hidden" value="'.$sModulo.'">'.
           '<input name="submod" type="hidden" value="'.$sSubModulo.'">'.
           '<input name="acao" type="hidden" value="">'.
    	   '<input name="nomeacs" type="hidden" value="'.$sNomeAcesso.'">'.
           '<input name="G_Opcao" type="hidden" value="">'.
		   '<input name="Tipo_Graf" type="hidden" value="0">'.
          '</form>'.
		  // 0-area 1-bars 2-lines 3-pie 4-linepoints 5-squared 6-thinbarline 
		  MontarGuiasHTML('Gra_Indicador', "",
		   '** [{Area}] **'.
		    ''.
		   '** {[FIM]} **'.
		   '** [{Barras}] **'.
		    ''.
		   '** {[FIM]} **'.
		   '** [{Linhas}] **'.
		    ''.
		   '** {[FIM]} **'.
		   '** [{Pizza}] **'.
		    ''.
		   '** {[FIM]} **',
		   "parent.document.getElementById('in_VisGraF_Tecla').focus(); ".
           "parent.document.forms.fmVisGraF.Tipo_Graf.value='<COD_GUIA>'-1;".
		   "setTimeout( function () { Car_".$sNomeAcesso."2.Mostrar_Grafico('0'); } , 500); "
		  
		  ).
		  '<div id="dv_VisGraF_BarInf" style="height:450px; background:#FFFFFF; border-style:solid; border-width:1px; border-color:#CCCCCC; overflow:auto;">'.
		  '</div>'.
		  //
          '<table width="100%" style="background-color:'.$sCorBarraInf.';" border="0" cellspacing="0" cellpadding="0"></tr>'.
           '<td width="4px" height="40px" align="left">&nbsp;</td>'.
           '<td width="130px" align="left">'.
            HTML_Botao( 3, 'VisGraF_BT_Imp', "Car_".$sNomeAcesso."2.Mostrar_Grafico(1); "
                         , 'Imprimir (F9)','images/btimg_imp.png').
		   '</td>'.
       	   '<td>'.
		    '&nbsp;'.
       	   '</td>'.
           '<td width="120px" align="right">'.
           HTML_Botao( 3, 'VisGraF_BT_Fch', $oJanelaPrinc->sJavOnClickF
		                                   // "Car_".$sNomeAcesso."1.Atualiza();"
                        , 'Sair (ESC)' ,'images/btimg_fechar.png').
       	   '</td>'.
           '<td width="4px" height="40px" align="left">&nbsp;</td>'.
          '</tr></table>'.
		  //
		  $oJanelaPrinc->MontaJanHTML(False);
	   // Java anterior
       $sRet_Javs .=
          "function Mostrar_Grafico(sOpcImp) {".
		    "parent.document.forms.fmVisGraF.acao.value='GERAR'; ".
            "parent.document.forms.fmVisGraF.G_Opcao.value=sOpcImp; ".
			
		  	"if (sOpcImp != '0') { ".
			    //"parent.JanEspera(true, 'Imprimindo Grafico... aguarde...');".
                "setTimeout( function () { parent.document.forms.fmVisGraF.submit();} , 500); ".
			"} else {".
                "parent.document.forms.fmVisGraF.submit();".
			"}".
		  "}".
          '';
       // Java posterior
       $sRet_JavsPos .=
	      "parent.document.getElementById('in_VisGraF_Tecla').focus(); ".
          "setTimeout( function () { Mostrar_Grafico('0'); } , 500); ".
		  //
		  "function Teclas_F( Objeto, Evento ) {".
             "vNumTecla = parent.Tecla_Apertada(Evento);".
             "if ( vNumTecla==120) { ".        //  ** [F9] **          // (Imprimir)
                 "setTimeout( parent.document.getElementById('VisGraF_BT_Imp').onclick , 100);".
		     "} else if ( vNumTecla==116) { ".  // ** [F5] **     Não atualizar
                 //
		     "} else if ( vNumTecla==27) { ".  //  ** [ESC] **         // (SAIR)
                 "setTimeout( parent.document.getElementById('VisGraF_BT_Fch').onclick , 100);".
			 "} else {".
			     "return true;".
			 "}".
			 "return false;".
          '}'.
		  //
		  "";
    }
//
//
//  ** TELA PRINCIPAL **
} Else {
    //
    // Criar objeto Janela
    $oJanelaPrinc = New R_Janela();
    $oJanelaPrinc->sIdObj  = $sNomeIdJan1; 
    $oJanelaPrinc->nTop    = 5;
    $oJanelaPrinc->nLeft   = 5;
    $oJanelaPrinc->nWidth  = 750;   // Largura
    $oJanelaPrinc->nHeight = 0;     // Altura
	$oJanelaPrinc->nLeft   += ($nTela_W/2)-($oJanelaPrinc->nWidth/2);
    $oJanelaPrinc->sTitulo = 'Consulta de Indicadores';
    $oJanelaPrinc->sJavKeyDown = "return Car_".$sNomeAcesso."1.Teclas_F(this,event);";
	//
	$oJanelaPrinc->aIdsObjList =
	   ARRAY(
	    'in_Gra_DatIni','in_Gra_DatFim',
		'sl_Gra_ResPor',
        'sl_Gra_FilGru',
     	'sl_Gra_OpcaoR',
		'sl_Gra_ResPorDtaHor',
		'sl_Gra_SinAna'
	   );

    //
	$sJavaTravarJ = "parent.document.getElementById('".$oJanelaPrinc->sIdObj."_Travar').style.visibility='visible';". 
                    "parent.Disabled_In_Elems('".$oJanelaPrinc->sIdObj."',true);";
    
    $oJanelaPrinc->sJavOnClickF =
          $sJavaTravarJ.
		  "document.forms.fmPVisGra.acao.value='FECHAR'; ".
          "document.forms.fmPVisGra.submod.value=''; ".
          "document.forms.fmPVisGra.submit();";
    //
    // ATUALIZA TELA
    If ( $sAcao=="ATUALIZA" ) {
       $sFil_DataIni = @$_REQUEST['Fil_DataIni'];          // Data inicial
	   $sFil_DataFim = @$_REQUEST['Fil_DataFim'];          // Data Final
	   
	   $d_Fil_DataIni = ConvertDataSTR( ConvertDataBRUS($sFil_DataIni) );
	   $d_Fil_DataFim = ConvertDataSTR( ConvertDataBRUS($sFil_DataFim) );
	   $sSQLParm = '';
       $nResPor = @$_POST['ResPor']+0;    // Resumo por produto ou grupo
       $aV_Sessao['Fil_Cod_Gru'] = (@$_REQUEST['FilGru']+0);          // Filtrar o grupo
       $nOpcaoR = @$_POST['OpcaoR']+0;    // Por Valor ou Quantidade  
       $nDtaHor = @$_POST['ResPorDtaHor']+0; // visualizar por 0-data ou 1-hora 
       $nSinAna = @$_POST['SinAna']+0; // 0-Sintético ou 1-Analítico 
       //
	   $aV_Sessao['DataIni'] = $sFil_DataIni;
	   $aV_Sessao['DataFim'] = $sFil_DataFim;
	   
	   
	   
	   If ($d_Fil_DataIni>0) {
	       If (STRLEN($sSQLParm)>0) { $sSQLParm .= ' AND '; }
	          //If ($nDtaHor==0 ) {
		        $sSQLParm .= '(FAT_DATAINI>="'.DATE('Y-m-d',$d_Fil_DataIni).'")';             // Comparando (Inicial)
		      //} Else {
              //  $sSQLParm .= '(FAT_DAT_HOR>="'.DATE('Y-m-d',$d_Fil_DataIni).' 00:00:00")';             // Comparando (Inicial) 		   
		      //}
	   }
	   If ($d_Fil_DataFim>0) {
	       If (STRLEN($sSQLParm)>0) { $sSQLParm .= ' AND '; }
	          //If ($nDtaHor==0 ) {
		         $sSQLParm .= '(FAT_DATAINI<="'.DATE('Y-m-d',$d_Fil_DataFim).'")';             // Comparando (Final)
		      //} Else {
              //   $sSQLParm .= '(FAT_DAT_HOR<="'.DATE('Y-m-d',$d_Fil_DataFim).' 23:59:59")';             // Comparando (Final)
              //}
       }
	   //
	   $sSQLRequest = 'SELECT GRU_CODIGO, GRU_DESCRI '. 
                      'FROM cad_grupo_produtos '.
                      'ORDER BY GRU_DESCRI;';

	   $Rows_Temp = MYSQL_QUERY($sSQLRequest) or die(MYSQL_ERROR().'<br>'.$sSQLRequest);
	   $aGrupos = ARRAY();
	   While ( $Row_Temp = MYSQL_FETCH_OBJECT($Rows_Temp) ) {
	      $aGrupos[$Row_Temp->GRU_CODIGO] = $Row_Temp->GRU_DESCRI;
       }
	   //
       If ( ($aV_Sessao['Fil_Cod_Gru']+0) > 0 ) {
        If (STRLEN($sSQLParm)>0) { $sSQLParm .= ' AND '; } 
        $sSQLParm .= "pro1.ITE_COD_GRU = ".($aV_Sessao['Fil_Cod_Gru']+0)." ";

       }

       If (STRLEN($sSQLParm)>0) { $sSQLParm .= ' AND '; }
       $sSQLParm .="Length(ftd.FAT_CANITEM)<2 AND ftg.FAT_CANCELA=0 ";
       
	      
       //
	      
       $sSQLRequest =
        "SELECT pro1.ITE_CODIGOL as LIVRE_01, ".
               "pro2.ITE_CODIGOL as LIVRE_02, ".
               "pro3.ITE_CODIGOL as LIVRE_03, ".
               "pro4.ITE_CODIGOL as LIVRE_04, ".
               "pro1.ITE_DESCRIC as DESCRI01, ".
               "pro2.ITE_DESCRIC as DESCRI02, ".
               "pro3.ITE_DESCRIC as DESCRI03, ".
               "pro4.ITE_DESCRIC as DESCRI04, ".
               "gru.GRU_DESCRI, ".
               "pro1.ITE_COD_GRU, ".
               "ftd.FAT_CODITE1, ftd.FAT_CODITE2, ftd.FAT_CODITE3, ftd.FAT_CODITE4, ".
           "sum(ftd.FAT_QTD_ITE) as QTDE_VEND, ".
           "sum(ftd.FAT_PRE_TOT + ftd.FAT_PRE_OPC) as VALO_VEND, ".
               "TIME_FORMAT(ftd.FAT_DAT_HOR, '%H') as HORA, ". 
			   "ftd.FAT_DAT_HOR, ".
			   "ftg.FAT_DATAINI  ".
        "FROM fat_item as ftd ".
        "left       join cad_produto as pro1 ON pro1.ITE_CODIGOI = ftd.FAT_CODITE1 ".
        "left outer join cad_produto as pro2 ON pro2.ITE_CODIGOI = ftd.FAT_CODITE2 ".
        "left outer join cad_produto as pro3 ON pro3.ITE_CODIGOI = ftd.FAT_CODITE3 ".
        "left outer join cad_produto as pro4 ON pro4.ITE_CODIGOI = ftd.FAT_CODITE4 ".
        "left outer join cad_grupo_produtos as gru on gru.GRU_CODIGO = pro1.ITE_COD_GRU ".
        "left outer join fat_geral as ftg ON ftd.FAT_CFATGER = ftg.FAT_CODIGOI ".
        (STRLEN($sSQLParm) > 0 ? "WHERE ".$sSQLParm : '')."  ".
        "group by ".
               //Analítico
			   ( $nSinAna == 1 ? 
			      ( $nDtaHor == 1 ? 
				       "HORA, " 
				  : 
				       "" ).
			      "pro1.ITE_CODIGOI, ".
                  "pro2.ITE_CODIGOI, ".
                  "pro3.ITE_CODIGOI, ".
                  "pro4.ITE_CODIGOI, ".
                  "pro1.ITE_COD_GRU  ".
			      ( $nDtaHor == 0 ? 
				       ",ftg.FAT_DATAINI ORDER BY ftg.FAT_DATAINI, pro1.ITE_DESCRIC ASC;" 
				  : 
				       "ORDER BY HORA ASC;" 
				  )
			   //Sintético
			   :  
			      ( $nDtaHor == 1 ?  
				       "HORA, ".
					   "pro1.ITE_CODIGOI, ".
                       "pro2.ITE_CODIGOI, ".
                       "pro3.ITE_CODIGOI, ".
                       "pro4.ITE_CODIGOI, ".
                       "pro1.ITE_COD_GRU  ".
					   "ORDER BY HORA ASC;" 
					   
					   //"ORDER BY ftg.FAT_DATAINI,HORA ASC;" 
					   
				  :
                       "pro1.ITE_CODIGOI, ".
                       "pro2.ITE_CODIGOI, ".
                       "pro3.ITE_CODIGOI, ".
                       "pro4.ITE_CODIGOI, ".
                       "pro1.ITE_COD_GRU,  ".
					   "ftg.FAT_DATAINI ".
					   "ORDER BY ftg.FAT_DATAINI ASC;"
                  )					   
			   ).
               "";
       
	   
       $sLstProHtml = '';
	   $sLstGruHtml = '<option value="0">** Todos os Grupos **</option>';

       $sLst_Prod = "";
	   $sLst_SelP = "";
       $sLst_Grup = "";
	   $nContItem = 0;
       $nGru_Codigo = 0;

       //
       //*************************************************************************
       //*************************************************************************
       //*************************************************************************
       //*************************************************************************
       //*************************************************************************
       // 
       $aDados_Geral= ARRAY();  // Estrutura da Matriz:  ( '01/01/99', ( 'cod.Prod', 'Descricao', qtde_acumulada, Valor Acumulado ) ) 
       $aLstProCod  = ARRAY(); //MATRIZ CODIGO LIVRE
       $aLstProDes  = ARRAY(); //MATRIZ DESCRIÇÃO DO PRODUTO

       $aItems    = Array(); // por produto
       $aGrupoItem= Array(); // por Grupo
       $nQtd_Total= 0;  // Qtd Acumulada
	   $nVal_Total= 0;  // Valor Acumulado
       $Data_Venda= '';
       $Rows_FatIte = MYSQL_QUERY($sSQLRequest) or die(MYSQL_ERROR().'<br>'.$sSQLRequest);
	   While ( $Row_FatIte = MYSQL_FETCH_ARRAY($Rows_FatIte) ) {
          //echo "<script>alert('". 'Posicão: '. $Row_FatIte['DESCRI01']  ."');</script>";
	      //
          // Pega a DATA da Venda
          //
          If ($nDtaHor==0) {		  
             $Data_Venda  = DATE( 'd-m-Y', ConvertDataSTR($Row_FatIte['FAT_DATAINI']) );
             $Data_VenTmp = DATE( 'd-m-Y', ConvertDataSTR($Row_FatIte['FAT_DATAINI']) );
		  } Else {
		     $Data_Venda  = DATE( 'H'    , ConvertDtHrSTR($Row_FatIte['FAT_DAT_HOR']) );
             $Data_VenTmp = DATE( 'H'    , ConvertDtHrSTR($Row_FatIte['FAT_DAT_HOR']) ).":00";
		  
		  }
	      //
          // calcula quantidade de sabores 
          //
          For ($nContador = 1; $nContador<=4; $nContador++) {
		    $nIte_Codigo = $Row_FatIte['FAT_CODITE'.$nContador];
		    If ( $nIte_Codigo==0 ) { BREAK; }
          }
          $nQtd_Partes = $nContador-1;
          
          //Se por produto entra aqui 
          If( $nResPor==0 ) { 
          
             //Processa os quatro sabores/codigo
             For ($nContador = 1; $nContador<=4; $nContador++) {
		        
                $nIte_Codigo = $Row_FatIte['FAT_CODITE'.$nContador];
		   	   
                // Verifica se TEM produto 
                $bAdicionarProd = ($nIte_Codigo>0);
                //
                // Verifica se o Produto pertence ao Grupo FILTRADO 
                // Se SIM ele Pega o produto 
                //  
		  	    If ($bAdicionarProd && ($aV_Sessao['Fil_Cod_Gru']+0)>0) {
                   $bAdicionarProd = ($aV_Sessao['Fil_Cod_Gru']+0) == ($Row_FatIte['ITE_COD_GRU']+0);
		 	    }
          
                //
                // Caso possa PEGAR o produto, Guarda dados para a Matriz
                //   
                If ($bAdicionarProd) {
				   $nQtd_Total = ROUND( $Row_FatIte['QTDE_VEND']/$nQtd_Partes, 3);
		   	       $nVal_Total = ROUND( $Row_FatIte['VALO_VEND']/$nQtd_Partes, 2);
                   
                   $nContItem ++; 
                   $sNomeItem = "Item".$nIte_Codigo;
                   $bChckItem = @$_POST[$sNomeItem]+0;
                   If ( $bChckItem ) {
                     $sLst_SelP .= '('.$nIte_Codigo.')';
                   }
                  
                   If ( ! EMPTY( $Row_FatIte['DESCRI01'] ) ) {
                      $bExistePro = ISSET($aLstProCod[$nIte_Codigo]);
                      
                      // Se nao existir na tela acrescenta na matriz da Tela 
                      If( !$bExistePro ) {
                        $sLst_Prod .= '('.$nIte_Codigo.')';
                        $aLstProCod[$nIte_Codigo] = $Row_FatIte['LIVRE_0'.$nContador];
                        $aLstProDes[$nIte_Codigo] = SUBSTR($Row_FatIte['DESCRI0'.$nContador],0,25);
                      }

                      //
                      // Procura ( Data + Código do Produto )
						 //
                      $pos_ascan = ascan_simsoft( $aItems, 0, $Data_Venda.$nIte_Codigo ) ;
                      IF ( $pos_ascan >= 0 ){
                         $aItems[$pos_ascan][4] += $nQtd_Total;
                         $aItems[$pos_ascan][5] += $nVal_Total;

	                     //echo "<script>alert('".'Achado...: ' . $Data_Venda.$nIte_Codigo.' = '.$aItems[$pos_ascan][0] ."');</script>";
						    //
                      // Se nao existir, ADD na Matriz
						 //
                      } Else {
                        $aItems[] = Array($Data_Venda.$nIte_Codigo,
										  $Data_VenTmp,
						                  $nIte_Codigo,                           
										  SUBSTR($Row_FatIte['DESCRI0'.$nContador],0,25),
                                          $nQtd_Total,
                                          $nVal_Total );      

                        //echo "<script>alert('".'Tam Matriz: '. count( $aItems )  ."');</script>";
                        /*for ( $cont = 0; $cont <= count( $aItems )-1; $cont++ ) {
                                  echo "<script>alert('".'Matriz: ' . $nIte_Codigo.' = '.$aItems[$cont][0] ."');</script>";
                               }
                             */
                      }

                      // Verifica se tem grupo no item e guarda o codigo do grupo 
                      If ( ($Row_FatIte['ITE_COD_GRU']+0) > 0 ) {
                        $nGru_Codigo = ($Row_FatIte['ITE_COD_GRU']+0) ;
		              }
                      
                      //check box do grupo 
                      If ( $nGru_Codigo>0 && STRPOS(" ".$sLst_Grup, '('.$nGru_Codigo.')' )==0 ) {
	                     $sLst_Grup .= '('.$nGru_Codigo.')';
                         $sLstGruHtml .=
                             '<option value="'.$nGru_Codigo.'" '.
          	                    ($nGru_Codigo==($aV_Sessao['Fil_Cod_Gru']+0) ? 'selected' : '').'>'.Str_Zero($nGru_Codigo,3).' '.$aGrupos[$nGru_Codigo].
                             '</option>';
		  
		              } // fim check box grupo
                   
                   } // fim  se a descrição em branco
                
                } // fim do caso possa pegar o produto   
           
             } // Fim do FOR/NEXT dos 4 Códigos 

          //**********************************************************************
          //**********************************************************************
          //**********************************************************************
          //**********************************************************************
          //
          //Se por Grupo entra aqui 
			//
          } Else {  
             // Verifica se tem grupo no item e guarda o codigo do grupo 
             If ( ($Row_FatIte['ITE_COD_GRU']+0) > 0 ) {
                 $nGru_Codigo = ($Row_FatIte['ITE_COD_GRU']+0) ;
		     }     
             //check box do grupo 
             If ( $nGru_Codigo>0 && STRPOS(" ".$sLst_Grup, '('.$nGru_Codigo.')' )==0 ) {
	            $sLst_Grup .= '('.$nGru_Codigo.')';
                $sLstGruHtml .=
                    '<option value="'.$nGru_Codigo.'" '.
          	           ($nGru_Codigo==($aV_Sessao['Fil_Cod_Gru']+0) ? 'selected' : '').'>'.Str_Zero($nGru_Codigo,3).' '.$aGrupos[$nGru_Codigo].
                    '</option>';
		  
		     } // fim check box grupo

             //
             // Verifica se o Grupo pertence ao Grupo FILTRADO 
             // Se SIM ele adiciona o grupo 
             //  
             $bAdicionarGru = True;
             If (($aV_Sessao['Fil_Cod_Gru']+0)>0) {
                   $bAdicionarGru = ($aV_Sessao['Fil_Cod_Gru']+0) == ($Row_FatIte['ITE_COD_GRU']+0);
		 	}

             If ($bAdicionarGru) {
                
				$nQtd_Total = ROUND( $Row_FatIte['QTDE_VEND'], 3);
		   	    $nVal_Total = ROUND( $Row_FatIte['VALO_VEND'], 2);    
                				
                //
                // se existir no grupo
				   //
				$pos_ascan = ascan_simsoft( $aGrupoItem, 0, $Data_Venda.$nGru_Codigo ) ;
                IF ( $pos_ascan >= 0 ){
                   $aGrupoItem[$pos_ascan][4] += $nQtd_Total;
                   $aGrupoItem[$pos_ascan][5] += $nVal_Total;
					  
                   //echo "<script>alert('".'Achado Grupo...: ' . $Data_Venda.$nGru_Codigo.' = '.$aGrupoItem[$pos_ascan][0] ."');</script>";												  
				      //
                // Se nao existir 
				   //
                } Else {
                   $aGrupoItem[] = Array( $Data_Venda.$nGru_Codigo,
					                      $Data_VenTmp,
					  					  $nGru_Codigo,
										  $Row_FatIte['GRU_DESCRI'],
					                      $nQtd_Total,
                                          $nVal_Total  );      
               }
            
            } // fim do adiciona grupo

          }  //fim do por grupo 

		  
       } // Fim do While
       //
       // Caso seja Filtro: por produto 
	   //
       If( $nResPor==0 ) { 
           $aDados_Geral= $aItems;
          
       } 
		//
        //Caso seja Filtro: Por Grupo
        //		  
	    Else { 
           $aDados_Geral= $aGrupoItem;
       }
	   
       /*
       $vv_qtd = 0;
       $vv_val = 0;
       for ( $cont = 0; $cont <= count( $aDados_Geral )-1; $cont++ ) {
        echo "<script>alert('".'Matriz Final  Data+Código: ' .  $aDados_Geral[ $cont ][ 0 ]. 
          ' Data: ' . $aDados_Geral[ $cont ][ 1 ] . 
          ' Código: ' . $aDados_Geral[ $cont ][ 2 ] . 
          ' Nome: ' . $aDados_Geral[ $cont ][ 3 ] .    
          ' Qtde: ' . $aDados_Geral[ $cont ][ 4 ] .
          ' Valor: ' . $aDados_Geral[ $cont ][ 5 ] ."');</script>";
   
          $vv_qtd += $aDados_Geral[ $cont ][ 4 ];
          $vv_val += $aDados_Geral[ $cont ][ 5 ];
       }
       echo "<script>alert('".'Total de QTDE: ' .  $vv_qtd . '     Total $$: ' . $vv_val  ."');</script>";
       */
//
// CICERO 
//
// Aqui em cima fiz um LOOP na matriz só para mostrar o RESULTADO que ela acumulou e você
// Conferir com os Valores do Sql ou do Rel. Curva ABC
//
//
//------------- Gustavo, Alinhar o Código Acima e Continuar daqui pra baixo
//
// a Matriz: aDados_Geral ficou assim:
//
//   ( Data + Código, Data, Código, Descrição, Qtde, Vr. Total )
//
// Ela está igual para Produtos ou Grupos
       $aLstSemA = ARRAY();
       ForEach ( $aLstProDes as $nCodPro => $sDescPro ) {
         $aLstSemA[$nCodPro] = RemoveAcentos($sDescPro);
       }
       ASORT($aLstSemA);
       ForEach ( $aLstSemA as $nCodPro => $sDescPro ) {
          $sNomeItem = "Item".$nCodPro;
          $bChckItem = STRPOS(" ".$sLst_SelP, '('.$nCodPro.')' )>0;
          $sLstProHtml .=
	    	 '<input type="checkbox" name="'.$sNomeItem.'" value="1" '.($bChckItem ? "checked" : "").'/>'.
               $aLstProCod[$nCodPro].' '.$aLstProDes[$nCodPro].
               '<br>'; 
        }
       If ( $nResPor==1) {
           $sLstProHtml = '';
       }
       //
        
	   //
       $sRet_Javs .=
	      "parent.JanEspera(true); ".
          'parent.document.getElementById("in_Gra_DatIni").value="'.$sFil_DataIni.'"; '.
		  'parent.document.getElementById("in_Gra_DatFim").value="'.$sFil_DataFim.'"; '.
		  'parent.document.getElementById("sl_Gra_FilGru").innerHTML = '.JAVA_CharCode_Mini($sLstGruHtml).'; '.
          'parent.document.getElementById("dv_Gra_FilPro").innerHTML = '.JAVA_CharCode_Mini($sLstProHtml).'; '.
	      "parent.JanEspera(false); ".
          '';
       // Chamada de Processamento dos dados para montagem do grafico
       
       If ( (@$_POST['GerGrafico']+0)>0 ) {
          $sSQLRequest = "SELECT ITE_CODIGOI, ITE_CODIGOL, ITE_DESCRIC, ".
                                "ITE_COD_GRU, ITE_COD_ORI, ITE_ITEM_ATIVO_, ". 
                                "ITE_REG_TRAVADO ".
                         "FROM cad_produto ".
                       ( ($aV_Sessao['Fil_Cod_Gru']+0) > 0 ?
                         "WHERE ".
                                "ITE_COD_GRU= ".($aV_Sessao['Fil_Cod_Gru']+0)." "
                        :
                         ""
                       ).
                       ";";
	  
          $Rows_Temp = MYSQL_QUERY($sSQLRequest) or die(MYSQL_ERROR().'<br>'.$sSQLRequest);
	      $aProdutos = ARRAY();
	      $aGruposG  = ARRAY();
          While ( $Row_Temp = MYSQL_FETCH_OBJECT($Rows_Temp) ) {
	        If( $nResPor==0 ) { // por produto
               $aProdutos[$Row_Temp->ITE_CODIGOI] =
		         ARRAY( 0=>$Row_Temp->ITE_DESCRIC,
			            1=>$Row_Temp->ITE_CODIGOI, 
			            2=>$Row_Temp->ITE_CODIGOL
				      );
       
            } Else { // por grupo
               $aGruposG[$Row_Temp->ITE_COD_GRU] =
		         ARRAY( 0=>$Row_Temp->ITE_DESCRIC,
			            1=>$Row_Temp->ITE_COD_GRU, 
			            2=>$Row_Temp->ITE_CODIGOL
				      );
            }


          }         

          // ** INDICADORES **
          /* Exemplo da matriz de indicadores
             $aIndicadores =
               array(
                       Rodapé   1ª Barra   2ª Barra  3ª Barra...
                 array('Jan'  , 40,        2,        3),
                 array('Fev'  , 30,        3,        2)
               );
            */
          $aIndicadores = ARRAY();
          //
          // ** LEGENDAS **
          /*
             $aLengendas =
                     1ª Barra   2ª Barra    3ª Barra...
               array('Refeição','Coca-Cola','Salgado Frito');
            */
          $aLengendas   = ARRAY();
          //
          $nContPeriodo = -1;
          $sData_Alt = ''; //vai decidir quando mudar o indicador(jan-fev-dia 01-02)
          $sTituloX  = ($nDtaHor==0 ?'POR DIA '.( $nSinAna == 1 ? 'ANALÍTICO': 'SINTÉTICO' ) : 'POR HORA '.( $nSinAna == 1 ? 'ANALÍTICO': 'SINTÉTICO' ) ) ;
          $sTituloY  = '';
          $sTituloG  = '';
          $nDecimal  = 2;
		  
          //valor ou quantidade
          If($nOpcaoR==1) {
            $sTituloY = 'VALOR';
          } ElseIf ($nOpcaoR==0) {
            $nDecimal = 3;
            $sTituloY = 'QUANTIDADE';
          }
          // TITULO GERAL
          If( $nResPor==1 ) {
            $sTituloG = 'Grupo';
          } ElseIf ($nResPor==0) {
            $sTituloG = 'Produto';
          }
                       //0        1     2        3         4       5
          //MATRIZ( Data + Código, Data, Código, Descrição, Qtde, Vr. Total )
          //as $nCodPro => $sDescPro 
          If( $nSinAna == 1 ) { //Analitico 
		  
		    ForEach ($aDados_Geral as $aGeralPro) {
               //$aProduto = $aProdutos[$aGeralPro[2]]; // $aGeralPro[0] Codigo interno do produto ou grupo      
               
               //echo "<script>alert('".'  '.$aGeralPro[ 3 ]."');</script>";
          
               If ( $nResPor==0 ) { // 0-Produto
                 $aProduto = $aProdutos[$aGeralPro[2]]; // $aGeralPro[0] Codigo interno do produto ou grupo      
                 $nCodPro = $aGeralPro[2];
                 $bChckItem = STRPOS(" ".$sLst_SelP, '('.$nCodPro.')' )>0;
                 If ($bChckItem) {        // Está selecionado
                   
                   // Se a data mudar $aGeralPro[1] Data de trabalho 
                   If ($sData_Alt<>$aGeralPro[1]) {
                      $nContPeriodo++;
                      $sData_Alt = $aGeralPro[1];
                      
                      //$strDataBR = ConvertDtHrSTR( $aGeralPro[1] );
                      //$strDataBR = DATE("d/m",$strDataBR );
                      $strDataBR = $sData_Alt; 
                      // Novos indicadores zerados
                      $aIndicadores[$nContPeriodo][0] = $strDataBR;
                      
                      ForEach ( $aProdutos as $nCodPro => $aItemPro ) {
                        If (STRPOS(" ".$sLst_SelP, '('.$nCodPro.')' )>0) {
                           $aLengendas[$aItemPro[1]] = $aItemPro[0];      // $aItemPro[0] Nome do Produto 
					       $aIndicadores[$nContPeriodo][$aItemPro[1]] = 0;
						}
						  
                      }
                      
						
                   } // fim if data
					 
					 
                   If ( $nOpcaoR==1 ) { // 1-Valor
                     $aIndicadores[$nContPeriodo][$aProduto[1]] = $aGeralPro[5];  //$aGeralPro[5] valor do item
                   } ElseIf ( $nOpcaoR==0 ) { // Quantidade
                     $aIndicadores[$nContPeriodo][$aProduto[1]] = $aGeralPro[4];  //$aGeralPro[4] qtde do item
                   }
                
                 } // fim se esta selecionado
          
               } ElseIf ( $nResPor==1 ){        // 1-Grupo
                  $aGrupo = $aGruposG[$aGeralPro[2]]; // $aGeralPro[0] Codigo interno do produto ou grupo      
                  // Se a data mudar $aGeralPro[1] Data de trabalho 
                  If ($sData_Alt<>$aGeralPro[1]) {
                     $nContPeriodo++;
                     $sData_Alt = $aGeralPro[1];
                     //$strDataBR = ConvertDtHrSTR( $aGeralPro[1] );
                     //$strDataBR = DATE("d/m", $strDataBR );
                     $strDataBR = $sData_Alt; 
                     // Novos indicadores zerados
                     $aIndicadores[$nContPeriodo][0] = $strDataBR;
          
                     ForEach ( $aGruposG as $nCodGru => $aItemGru ) {
                       If (STRPOS(" ".$sLst_Grup, '('.$nCodGru.')' )>0) {
                          //$aLengendas[$aItemGru[1]] = $aItemGru[0];      //  Codigo do Grupo
                      	$aLengendas[$aItemGru[1]] = $aGrupos[$aItemGru[1]];  
                      	$aIndicadores[$nContPeriodo][$aItemGru[1]] = 0;
                       }
                       
                     }
					   //
					   
                  }
                  If ( $nOpcaoR==1 ) { // 1-Valor
                    $aIndicadores[$nContPeriodo][$aGrupo[1]] = $aGeralPro[5];  //$aGeralPro[5] valor do item
                  } ElseIf ( $nOpcaoR==0 ) { // Quantidade
                    $aIndicadores[$nContPeriodo][$aGrupo[1]] = $aGeralPro[4];  //$aGeralPro[4] quantidade do item 
                  }
                  //
          
                } //fim do if por Grupo
            
            } // fim do for 
          } Else { //Sintetico
		    $nHor_Qtd = 0;
            $nHor_Val = 0;
            $sHora = '';
			$sHora_Alt= '';
	        For ( $cont = 0; $cont <= Count( $aDados_Geral )-1; $cont++ ) {
              If ( $nResPor==0 ){  // por produto
			     $nCodPro = $aDados_Geral[ $cont ][2];
			     $bChckItem = STRPOS(" ".$sLst_SelP, '('.$nCodPro.')' )>0;
			  } Else { // por grupo
                 $nCodGru = $aDados_Geral[ $cont ][2];
                 $bChckItem = STRPOS(" ".$sLst_Grup, '('.$nCodGru.')' )>0;
			  }			  
			  
			  
              If ($bChckItem) {        // Está selecionado
		         If ($sHora <> $aDados_Geral[ $cont ][ 1 ]) { 
                    $nContPeriodo++;			  
                    $sHora_Alt = $aDados_Geral[ $cont ][ 1 ];
                    $sHora = $sHora_Alt; 
					 
					 $nHor_Qtd = $aDados_Geral[ $cont ][ 4 ];
                     $nHor_Val = $aDados_Geral[ $cont ][ 5 ];
					 
					 $aIndicadores[$nContPeriodo][0] = $sHora;
					 If ( $nResPor==1 ){ 
					    $aLengendas[1] = 'Todos os Grupos';      // $aHora[0] Hora 
					 } Else {
					    $aLengendas[1] = 'Todos os Produtos';      // $aHora[0] Hora 
					 }
					 $aIndicadores[$nContPeriodo][1] = 0;
					
			     } Else {
		            $nHor_Qtd += $aDados_Geral[ $cont ][ 4 ];
                    $nHor_Val += $aDados_Geral[ $cont ][ 5 ];
		         }
		         //
				 If ( $nOpcaoR==1 ) { // 1-Valor
                    $aIndicadores[$nContPeriodo][1] = $nHor_Val;  // valor do item
                 } ElseIf ( $nOpcaoR==0 ) { // Quantidade
                    $aIndicadores[$nContPeriodo][1] = $nHor_Qtd;  //quantidade do item 
                 }
			  }
            }
			
			//If ( $nOpcaoR==1 ) { // 1-Valor
            //   $aIndicadores[$nContPeriodo][1] = $nHor_Val;  // valor do item
            //} ElseIf ( $nOpcaoR==0 ) { // Quantidade
            //   $aIndicadores[$nContPeriodo][1] = $nHor_Qtd;  //quantidade do item 
            //}
			
		  }
          
          //Guarda numa variavel de sessão para poder mostrar o grafico   
          
          $aSessao['Legend']     = $aLengendas;
          $aSessao['DataValues'] = $aIndicadores;
          $aSessao['TituloX']    = $sTituloX;
          $aSessao['TituloY']    = $sTituloY; 
          $aSessao['TituloG']    = $sTituloG;  
          $aSessao['CasasDec']   = $nDecimal;  

          If(! EMPTY($aLengendas)) {
            
            $sRet_Javs .=  
               $sJavaTravarJ.
               "parent.document.forms.fmPVisGra.acao.value='';".
               "sAntSubMod = parent.document.forms.fmPVisGra.submod.value;".
               "parent.document.forms.fmPVisGra.submod.value='GRAFICO';".
               "parent.document.forms.fmPVisGra.submit();".
               "parent.document.forms.fmPVisGra.submod.value=sAntSubMod;".
               "";

          } Else {

            $sRet_Javs .= 
		      "parent.sIdHasFocus='in_Gra_DatIni';".
              Info_Evento('Não há movimento para gerar este gráfico.',0).
              "";

          } 

       }   
      
    //
          
    } ElseIf ( $sAcao=="FECHAR" ) {
       $sRet_Javs .=
	      'parent.document.getElementById("dv_MenuL_Barra").style.visibility="visible";'.
	      "parent.RmElem('".$oJanelaPrinc->sIdObj."');";
    //
    // JANELA TELA PRINCIPAL
    } Else {
       
    $oJanelaPrinc->sJavKeyDown = "return Car_".$sNomeAcesso."1.Teclas_F(this,event);";
	   //
       // Tela HTML
       $sRet_TelaJ_HTML =
    	  $oJanelaPrinc->MontaJanHTML(True).
          '<form name="fmPVisGra" accept-charset="utf-8" method="post" action="./car_js.php" target="car_'.$sNomeAcesso.'2">'.
           '<input name="mod" type="hidden" value="'.$sModulo.'">'.
           '<input name="submod" type="hidden" value="">'.
           '<input name="acao" type="hidden" value="">'.
    	   '<input name="nomeacs" type="hidden" value="'.$sNomeAcesso.'">'.
		   '<input name="GerGrafico" type="hidden" value="0">'.
		   '<input name="DtaAnt" type="hidden" value="0">'.
           '&nbsp;'.
		  '<table width="100%" border="0">'.
           '<tr>'.
            '<td width="4px" height="20px">&nbsp;</td>'.
            '<td width="120px" align="right">'.
             'Período de trabalho:'.
            '</td>'.
            '<td align="left">'.
       	     '<table border="0" cellspacing="0" cellpadding="0"><tr>'.
			  '<td width="28px" align="center"><img onclick="'."sIdHasFocus='in_Gra_DatIni';".'" src="images/bimg_calendario.png" border="0" id="bt_Gra_DatIni" style="cursor:pointer;"></td>'.
			  '<td width="77px">'.
			   '<input id="in_Gra_DatIni" name="Fil_DataIni" type="text" maxlength="10" onchange="return Car_'.$sNomeAcesso.'1.Atualiza();" value="'.ConvertDataUSBR($sData_Trabalho).'" style="font-size:12px; width:99%;">'.
			  '</td>'.
			  '<td align="center" width="10px">'.
			   '-'.
			  '</td>'.
			  '<td width="28px" align="center"><img onclick="'."sIdHasFocus='in_Gra_DatFim';".'" src="images/bimg_calendario.png" border="0" id="bt_Gra_DatFim" style="cursor:pointer;"></td>'.
			  '<td width="77px">'.
			   '<input id="in_Gra_DatFim" name="Fil_DataFim" type="text" maxlength="10" onchange="return Car_'.$sNomeAcesso.'1.Atualiza();" value="'.ConvertDataUSBR($sData_Trabalho).'" style="font-size:12px; width:99%;">'.
			  '</td>'.
			 '</tr></table>'.
            '</td>'.
            '<td width="4px" height="20px">&nbsp;</td>'.
		   '</tr>'.
		  '</table>'.
		  '<table width="100%" border="0">'.
		   '<tr>'.
			'<td align="right">'.
			 'Resumo por:'.
			'</td>'.
		    '<td align="left">'.
			 '<select id="sl_Gra_ResPor" name="ResPor" onchange="return Car_'.$sNomeAcesso.'1.Atualiza();" style="width:100px; font-size:11px; font-family:Courier New,Courier,mono;">'.
			  '<option value="0">Produtos</option>'.
			  '<option value="1">Grupos</option>'.
			 '</select>'.
			'</td>'.
		   '</tr>'.
           '<tr>'.
			'<td align="right">'.
			 'Filtrar grupo:'.
			'</td>'.
		    '<td align="left">'.
			 '<select id="sl_Gra_FilGru" name="FilGru" style="width:200px; font-size:11px; font-family:Courier New,Courier,mono;" onchange="return Car_'.$sNomeAcesso.'1.Atualiza();">'.
			 '</select>'.
			'</td>'.
		   '</tr>'.
		   '<tr>'.
			'<td align="right" width="128px" height="20px">'.
			 'Filtrar produto:'.
			'</td>'.
		    '<td align="left">'.
			 '<div id="dv_Gra_FilPro" style="width:280px; height:100px;border: 1px solid; overflow-y:auto;font-size:11px; font-family:Courier New,Courier,mono;">'.
			 '</div>'.
			'</td>'.
		   '</tr>'.
		   '<tr>'.
			'<td align="right">'.
			 'Opção por:'.
			'</td>'.
		    '<td align="left">'.
			 '<select id="sl_Gra_OpcaoR" name="OpcaoR" style="width:100px; font-size:11px; font-family:Courier New,Courier,mono;">'.
			  '<option value="0">Quantidade</option>'.
			  '<option value="1">Valor</option>'.
			 '</select>'.
			'</td>'.
		   '</tr>'.
		   
		   '<tr>'.
		      '<td align="right">'.
			     'Visualizar Venda por:'.
			  '</td>'.
		      '<td align="left">'.
			     '<select id="sl_Gra_ResPorDtaHor" name="ResPorDtaHor" style="width:100px; font-size:11px; font-family:Courier New,Courier,mono;" _onchange="return Car_'.$sNomeAcesso.'1.Atualiza();">'.
			        '<option value="0">Data</option>'.
			        '<option value="1">Hora</option>'.
			     '</select>'.
			  '</td>'.
		   '</tr>'.
		   '<tr>'.
		      '<td align="right">'.
			     'Opçäo: '.
			  '</td>'.
		      '<td align="left">'.
			     '<select id="sl_Gra_SinAna" name="SinAna" style="width:100px; font-size:11px; font-family:Courier New,Courier,mono;" _onchange="return Car_'.$sNomeAcesso.'1.Atualiza();">'.
			        '<option value="1">Analítico</option>'.
					'<option value="0">Sintético</option>'.
			     '</select>'.
			  '</td>'.
		   '</tr>'.
		   
		   
		  '</table>'.
		  '</form>'.
		  //
          '<table width="100%" style="background-color:'.$sCorBarraInf.';"></tr>'.
           '<td width="4px" height="40px">&nbsp;</td>'.
           '<td align="left">'.
            HTML_Botao( 3, 'objGra_BT_Abr', "return Car_".$sNomeAcesso."1.GerGrafico();"
                         , 'Visualizar (F8)' ,'images/btimg_docs.png',120).		    
		   '</td>'.
           '<td align="right">'.
            HTML_Botao( 3, 'objGra_BT_Fch', $oJanelaPrinc->sJavOnClickF
                         , 'Sair (ESC)' ,'images/btimg_fechar.png').		    
		   '</td>'.
           '<td width="4px">&nbsp;</td>'.
		   '</tr></table>'.		   
		  //
    	  $oJanelaPrinc->MontaJanHTML(False);
       //
	   // Java anterior
       $sRet_Javs .=
	     'parent.document.getElementById("dv_MenuL_Barra").style.visibility="hidden";'.
         "function Teclas_F( Objeto, Evento ) { ".
           "vNumTecla = parent.Tecla_Apertada(Evento); ".
           "if ( vNumTecla==119) { ".         // ** [F8] **
               "if (parent.document.getElementById('objGra_BT_Abr').style.display!='none') {".           // (Visualizar)
                  "parent.".$sJava_Desfoca_Input.
                  "setTimeout( parent.document.getElementById('objGra_BT_Abr').onclick , 10);".
         	  "}".
		   "} else if ( vNumTecla==116) { ".  // ** [F5] **     Não atualizar
               //
           "} else if ( vNumTecla==27 ) { ".  // [ESC]
               "parent.".$sJava_Desfoca_Input.
               "setTimeout( parent.document.getElementById('objGra_BT_Fch').onclick , 10);".
		   "} else {".
		     "return true;".
		   "} ".
	       "return false;".
		 '}'.
	     "";
       // Java posterior
       
       $sRet_JavsPos .=
	     "var _Fm = parent.document.forms.fmPVisGra;".
	     "parent.document.getElementById('in_Gra_DatIni').focus();".
	     "function Atualiza() {".
			"stmp = _Fm.target;".
			"_Fm.target='car_".$sNomeAcesso."5';".
	        "_Fm.acao.value='ATUALIZA';".
	        "_Fm.submit();".
			"_Fm.target = stmp;".
		 "}".
		 "Atualiza();".
         "function GerGrafico() {".
	        "_Fm.GerGrafico.value='1';".
            "Atualiza();".
	        "_Fm.GerGrafico.value='0';".
         "}".
        
 		 //
         'parent.Calendar.setup({ '.
           'inputField : "in_Gra_DatIni", '.
           'trigger    : "bt_Gra_DatIni", '.
           'onSelect   : function() { this.hide(); parent.sIdHasFocus=""; Atualiza(); }, '.
           'showTime   : 0, '.
           'dateFormat : "%d/%m/%Y" '.
         '});'.
         'parent.Calendar.setup({ '.
           'inputField : "in_Gra_DatFim", '.
           'trigger    : "bt_Gra_DatFim", '.
           'onSelect   : function() { this.hide(); parent.sIdHasFocus=""; Atualiza(); }, '.
           'showTime   : 0, '.
           'dateFormat : "%d/%m/%Y" '.
         '});'.
		 //
         "";
	}
	   

}

// MONTAR Grafico
Function Montar_Grafico( $aDataValues, $nTam_Alt, $nTam_Lar,$nBorder, $nTipoGra, $sTitle, $aLegend, $sTickLab, $sTickPos, $sTituloX, $sTituloY, $nCasasDec ) {
   #Instancia o objeto e setando o tamanho do grafico na tela
   $plot = new PHPlot($nTam_Lar,$nTam_Alt); 
   
   #Tipo de borda                    0           1     
   $aImageBorderType = ARRAY('raised', 'plain');
   $plot->SetImageBorderType($aImageBorderType[$nBorder]);   
   
   #Tipo de grafico               0      1        2       3        4                5         6    
   $aSetPlotType = ARRAY( 'area','bars','lines','pie','linepoints','squared','thinbarline');
   $plot->SetPlotType($aSetPlotType[$nTipoGra]);
   
   #Tipo de dados, texto que esta no array
   $plot->SetDataType('text-data');

   #Setando os valores com os dados do array
   $plot->SetDataValues($aDataValues);
   
   #Titulo do grafico
   $plot->SetTitle($sTitle);

   
   # Legenda
   $plot->SetLegend($aLegend);

   # colocar a lergenda fora da area do grafico
   //$plot->SetLegendPixels(500, 30);
   //$plot->SetMarginsPixels(120, 120);   

   # valores dentro das colunas
   $plot->SetYDataLabelPos('plotin');
   
   #casas decimais
   $plot->SetPrecisionY($nCasasDec);
   
   # titulo na escala X
   $plot->SetXTitle($sTituloX);

   # titulo na escala Y
   $plot->SetYTitle($sTituloY);



   # Metodos utilizados para marcar labes:
   $plot->SetXTickLabelPos($sTickLab);
   $plot->SetXTickPos($sTickPos);

# Specify Y range of these data sets:
//$plot->SetPlotAreaWorld(NULL,0,NULL,1000);
//$plot->SetYTickIncrement(20);



   #Gera o grafico na tela
   $plot->DrawGraph();
   
}

//
//****************************************************************************************
//
function ascan_simsoft( $aMatriz, $nColuna, $sProcurar ) {
   $nPosicao_encontrada = -1;

// echo "<script>alert('". '  Procurar: ' . $sProcurar .'  -  Tam Matriz: ' . count( $aMatriz ) ."');</script>";      

   For ($nCon_asc = 0; $nCon_asc <=  (count( $aMatriz  )-1); $nCon_asc++) {   

//echo "<script>alert('". 'Indice: '.$nCon_asc. '  linha: ' . $aMatriz[ $nCon_asc ][ $nColuna ] . ' Procurar: ' . $sProcurar ."');</script>";      
     
      if ( $aMatriz[ $nCon_asc ][ $nColuna ] == $sProcurar ){
//         echo "<script>alert('". 'Achei.: ' . $nCon_asc .' -- '. $aMatriz[ $nCon_asc ][ $nColuna ] ."');</script>";      
         
         $nPosicao_encontrada = $nCon_asc;
         break;
      }
   }

   return $nPosicao_encontrada ;
}


?>
