<?php // content="text/plain; charset=utf-8"
/*
ViewResponse::getInstance()->setMethodAjax();
$data1y=array(12,8,19,3,10,5);
$data2y=array(8,2,11,7,14,4);
$data3y=array(8,2,11,7,14,4);

// Create the graph. These two calls are always required
$graph = new Graph(900,450);	
$graph->SetScale("textlin");
$graph->SetShadow();

$graph->img->SetMargin(60,60,60,60);

$xdata = array('2009-01-01','2009-01-02','2009-01-03','2009-01-04','2009-01-05','2009-01-06');

// Create the bar plots
$b1plot = new BarPlot($data1y);
$b1plot->SetFillColor("orange");
$b1plot->value->Show();
$b2plot = new BarPlot($data2y);
$b2plot->SetFillColor("blue");
$b2plot->value->Show();
$b3plot = new BarPlot($data3y);
$b3plot->SetFillColor("gray");
$b3plot->value->Show();

// Create the grouped bar plot
$gbplot = new GroupBarPlot(array($b1plot,$b2plot,$b3plot));
$gbplot->SetWidth(0.9);

// ...and add it to the graPH
$graph->Add($gbplot);

$graph->title->Set("Adjusting the width");
$graph->xaxis->title->Set("X-title");
$graph->yaxis->title->Set("Y-title");

$graph->title->SetFont(FF_FONT1,FS_BOLD);
$graph->yaxis->title->SetFont(FF_FONT1,FS_BOLD);
$graph->xaxis->title->SetFont(FF_FONT1,FS_BOLD);
$graph->xaxis->SetTickLabels($xdata);

//Legends
$b1plot->SetLegend("Plot 1");
$b2plot->SetLegend("Plot 2");
$b3plot->SetLegend("Plot 3");

// Display the graph
$graph->Stroke();*/

$a_colores[] = "orange";
$a_colores[] = "blue";
$a_colores[] = "gray";
$a_colores[] = "yellow1";
$a_colores[] = "pink";
$a_colores[] = "violetred4";
$a_colores[] = "plum3";
$a_colores[] = "gray5";
$a_colores[] = "silver";
$a_colores[] = "yellow2";
$a_colores[] = "silver";
$a_colores[] = "red";
$a_colores[] = "green";
$a_colores[] = "greenyellow";
$a_colores[] = "sienna";
$a_colores[] = "brown";
$a_colores[] = "maroon";
$a_colores[] = "purple";
$a_colores[] = "orange1";
$a_colores[] = "orange1";
$a_colores[] = "salmon4";
$a_colores[] = "gold1";
$a_colores[] = "azure4";
$a_colores[] = "violet";
$a_colores[] = "lightpink";
$a_colores[] = "blueviolet";
$a_colores[] = "mediumpurple";
$a_colores[] = "thistle";
$a_colores[] = "magenta";
$a_colores[] = "AntiqueWhite1";
$a_colores[] = "bisque1";
$a_colores[] = "navajowhite2";

ViewResponse::getInstance()->setMethodAjax();

$o_SucursalBean = new SucursalBean();
if($cboSucursal){
	$o_SucursalBean->setIdSucursal($cboSucursal);
}
$o_SucursalBL = new SucursalBL();
$a_Sucursal = $o_SucursalBL->busquedaSucursal($o_SucursalBean);


if(is_array($a_Sucursal)){
	foreach($a_Sucursal as $key => $o_sucursal){
		$idSucursal = $o_sucursal->getIdSucursal();
		$NombreSucursal = $o_sucursal->getDescripcion();
		$a_NombreSucursal[$idSucursal] = $NombreSucursal;		
		if($tipoPeriodo == 'diario'){
			$texto_periodo = "dias";
			$fechaActual = date('Y-m-d');
			
			$fechaFinal = date('Y-m-d',strtotime($txtFechaInicial .' +'.($intervalodias-1).' days'));
			if($fechaFinal > $fechaActual){
				$fechaFinal = $fechaActual;
			}
			//Calculo de datos por cada dia 
			$fechaFor = $txtFechaInicial;
			while($fechaFor <= $fechaFinal){
				
				$o_BalanceGeneralBean = new BalanceGeneralBean();
				$o_BalanceGeneralBean->setIdSucursal($idSucursal);
				$o_BalanceGeneralBean->setFecha($fechaFor);
				$o_BalanceGeneralBean->setFechaFinal($fechaFor);
				$o_BalanceGeneralDP = new BalanceGeneralDP($o_BalanceGeneralBean);
				$a_o_balance = $o_BalanceGeneralDP->select();
				if(is_array($a_o_balance)){
					foreach ($a_o_balance as $key_b => $o_balance){
						$a_totalBG[$idSucursal][$fechaFor] = $o_balance->getTotal();
					}
				}else{
					$a_totalBG[$idSucursal][$fechaFor] = 0;
				}
				$fechaFor = date('Y-m-d',strtotime($fechaFor .' +1 days'));
				
				
			}
			
		}elseif($tipoPeriodo == 'mensual'){
			$texto_periodo = "meses";
			$fechaActual = date('Y-m')."-01";
			
			$fechaFinal = date('Y-m-d',strtotime($periodoInicial.'-01 +'.($intervalomeses-1) .' months'));
			if($fechaFinal < $fechaActual){
				$fechaFinal = $fechaActual;
			}
			//Calculo de datos por cada dia 
			$fechaFor = $periodoInicial.'-01';
			while($fechaFor <= $fechaFinal){
				$fechaForFinalTemp = date('Y-m-d',strtotime($fechaFor.'+ 1 months'));
				$fechaForFinal = date('Y-m-d',strtotime($fechaForFinalTemp.'- 1 day'));
				$o_BalanceGeneralBean = new BalanceGeneralBean();
				$o_BalanceGeneralBean->setIdSucursal($idSucursal);
				$o_BalanceGeneralBean->setFecha($fechaFor);
				$o_BalanceGeneralBean->setFechaFinal($fechaForFinal);
				$o_BalanceGeneralDP = new BalanceGeneralDP($o_BalanceGeneralBean);
				$a_o_balance = $o_BalanceGeneralDP->select();
				if(is_array($a_o_balance)){
					foreach ($a_o_balance as $key_b => $o_balance){
						$a_totalBG[$idSucursal][substr($fechaFor,0,7)] += $o_balance->getTotal();
					}
				}else{
					$a_totalBG[$idSucursal][substr($fechaFor,0,7)] += 0;
				}
				$fechaFor = date('Y-m-d',strtotime($fechaFor .' +1 months'));
				
				
			}
			
		}
		
	}
}


if(is_array($a_totalBG)){
	foreach ($a_totalBG as $IdSucursal => $a_dia_valor) {
		$a_sucursales[] = $a_NombreSucursal[$IdSucursal];
		$a_fecha = null;
		$a_datos = null;
		foreach ($a_dia_valor as $fecha => $dato){
			$a_fecha[$fecha] = $fecha;
			$a_datos[] = $dato;
		}
		$a_conjunto_fechas[] = $a_fecha;
		$a_conjunto_datos[] = $a_datos;
	}
}


// Create the graph. These two calls are always required
if(count($a_fecha) == "6"){
	if(count($a_sucursales) >= 1 && count($a_sucursales) <= 4){
		$width = 5000/(count($a_sucursales)*count($a_fecha));
		$heigth = 5000/(count($a_sucursales)*count($a_fecha));
	}elseif(count($a_sucursales) >= 4 && count($a_sucursales) < 6){
		$width = 60000/(count($a_sucursales)*count($a_fecha));
		$heigth = 30000/(count($a_sucursales)*count($a_fecha));
	}elseif(count($a_sucursales) >= 6 && count($a_sucursales) < 11){
		$width = 40000/(count($a_sucursales)*count($a_fecha));
		$heigth = 30000/(count($a_sucursales)*count($a_fecha));
	}elseif(count($a_sucursales) >= 11 && count($a_sucursales) <= 15){
		$width = 40000/(count($a_sucursales)*count($a_fecha));
		$heigth = 30000/(count($a_sucursales)*count($a_fecha));
	}else{
		$width = 10000/(count($a_sucursales)*count($a_fecha));
		$heigth = 6000/(count($a_sucursales)*count($a_fecha));
	}
}elseif(count($a_fecha) == "1"){
	if(count($a_sucursales) >= 1 && count($a_sucursales) <= 4){
		$width = 1000/(count($a_sucursales)*count($a_fecha));
		$heigth = 1000/(count($a_sucursales)*count($a_fecha));
	}elseif(count($a_sucursales) >= 4 && count($a_sucursales) < 6){
		$width = 5000/(count($a_sucursales)*count($a_fecha));
		$heigth = 5000/(count($a_sucursales)*count($a_fecha));
	}elseif(count($a_sucursales) >= 6 && count($a_sucursales) < 11){
		$width = 20000/(count($a_sucursales)*count($a_fecha));
		$heigth = 10000/(count($a_sucursales)*count($a_fecha));
	}elseif(count($a_sucursales) >= 11 && count($a_sucursales) <= 15){
		$width = 40000/(count($a_sucursales)*count($a_fecha));
		$heigth = 30000/(count($a_sucursales)*count($a_fecha));
	}else{
		$width = 10000/(count($a_sucursales)*count($a_fecha));
		$heigth = 6000/(count($a_sucursales)*count($a_fecha));
	}
}elseif(count($a_fecha) == "4"){
	if(count($a_sucursales) >= 1 && count($a_sucursales) <= 4){
		$width = 5000/(count($a_sucursales)*count($a_fecha));
		$heigth = 5000/(count($a_sucursales)*count($a_fecha));
	}elseif(count($a_sucursales) >= 4 && count($a_sucursales) < 6){
		$width = 40000/(count($a_sucursales)*count($a_fecha));
		$heigth = 20000/(count($a_sucursales)*count($a_fecha));
	}elseif(count($a_sucursales) >= 6 && count($a_sucursales) < 11){
		$width = 40000/(count($a_sucursales)*count($a_fecha));
		$heigth = 30000/(count($a_sucursales)*count($a_fecha));
	}elseif(count($a_sucursales) >= 11 && count($a_sucursales) <= 15){
		$width = 40000/(count($a_sucursales)*count($a_fecha));
		$heigth = 30000/(count($a_sucursales)*count($a_fecha));
	}else{
		$width = 10000/(count($a_sucursales)*count($a_fecha));
		$heigth = 6000/(count($a_sucursales)*count($a_fecha));
	}
}elseif(count($a_fecha) == "3"){
	if(count($a_sucursales) >= 1 && count($a_sucursales) < 4){
		$width = 5000/(count($a_sucursales)*count($a_fecha));
		$heigth = 5000/(count($a_sucursales)*count($a_fecha));
	}elseif(count($a_sucursales) >= 4 && count($a_sucursales) < 6){
		$width = 40000/(count($a_sucursales)*count($a_fecha));
		$heigth = 20000/(count($a_sucursales)*count($a_fecha));
	}elseif(count($a_sucursales) >= 6 && count($a_sucursales) < 11){
		$width = 40000/(count($a_sucursales)*count($a_fecha));
		$heigth = 30000/(count($a_sucursales)*count($a_fecha));
	}elseif(count($a_sucursales) >= 11 && count($a_sucursales) <= 15){
		$width = 40000/(count($a_sucursales)*count($a_fecha));
		$heigth = 30000/(count($a_sucursales)*count($a_fecha));
	}else{
		$width = 10000/(count($a_sucursales)*count($a_fecha));
		$heigth = 6000/(count($a_sucursales)*count($a_fecha));
	}
}elseif(count($a_fecha) == "10"){
	if(count($a_sucursales) >= 1 && count($a_sucursales) <= 4){
		$width = 5000/(count($a_sucursales)*count($a_fecha));
		$heigth = 5000/(count($a_sucursales)*count($a_fecha));
	}elseif(count($a_sucursales) >= 4 && count($a_sucursales) < 6){
		$width = 80000/(count($a_sucursales)*count($a_fecha));
		$heigth = 38000/(count($a_sucursales)*count($a_fecha));
	}elseif(count($a_sucursales) >= 6 && count($a_sucursales) < 11){
		$width = 40000/(count($a_sucursales)*count($a_fecha));
		$heigth = 30000/(count($a_sucursales)*count($a_fecha));
	}elseif(count($a_sucursales) >= 11 && count($a_sucursales) <= 15){
		$width = 40000/(count($a_sucursales)*count($a_fecha));
		$heigth = 30000/(count($a_sucursales)*count($a_fecha));
	}else{
		$width = 10000/(count($a_sucursales)*count($a_fecha));
		$heigth = 6000/(count($a_sucursales)*count($a_fecha));
	}
}else{
	$width = 40000/(count($a_sucursales)*count($a_fecha));
	$heigth = 15000/(count($a_sucursales)*count($a_fecha));
}

$graph = new Graph($width,$heigth);	
	
$graph->SetScale("textlin");
$graph->SetShadow();

$graph->img->SetMargin(60,60,150,60);

foreach ($a_conjunto_datos as $key => $a_datos){
	$b1plot = new BarPlot($a_datos);
	$b1plot->SetFillColor($a_colores[$key]);
	$b1plot->value->Show();
	$b1plot->value->SetFont(FF_FONT0,FS_NORMAL);
	$a_b1plot[] = $b1plot;
}
// Create the grouped bar plot
$gbplot = new GroupBarPlot($a_b1plot);
$gbplot->SetWidth(0.95);

// ...and add it to the graPH
$graph->Add($gbplot);

$graph->title->Set("Balance General por Sucursal (".$tipoPeriodo.")");
$graph->yaxis->title->Set("X-Montos");
$graph->xaxis->title->Set("Y-".$texto_periodo);
$graph->yaxis->title->SetMargin(20);

$graph->title->SetFont(FF_FONT1,FS_BOLD);
$graph->yaxis->title->SetFont(FF_FONT1,FS_BOLD);
$graph->xaxis->title->SetFont(FF_FONT1,FS_BOLD);
$graph->xaxis->SetTickLabels(array_values($a_fecha));


//Legends
foreach ($a_b1plot as $key => $b1plot){
	
	$b1plot->SetLegend($a_sucursales[$key]);
}
$graph->legend->title;
$graph->legend->Pos("right","left","right","right");
//$graph->legend->SetTitle("Sucursales");
$graph->legend->SetShadow('darkgray@0.5');
$graph->legend->SetFillColor('lightblue@0.1');
// Display the graph
$graph->Stroke();



//Para Legenda

/*echo "<pre>";
print_r($a_sucursales);
echo "</pre>";

echo "<pre>";
print_r($a_conjunto_fechas);
echo "</pre>";


echo "<pre>";
print_r($a_conjunto_datos);
echo "</pre>";
*/

?>
