<?php
	
	/* (C) DairyWindow 2012-2017 */
	
	require "inc/connect.php";
	$title = "Dashboard";
	require "inc/head.php";
	$menu = "home";
	require "inc/menu.php";
	
	if($debug) showdebug();
	
	function time_to_decimal($time){
		if(stristr($time, ':')){
			$timeArr = explode(':', $time);
			$decTime = 0;
			if(isset($timeArr[0])) $decTime += $timeArr[0]*60; //hours
			if(isset($timeArr[1])) $decTime += $timeArr[1];    //minutes
			if(isset($timeArr[2])) $decTime += $timeArr[2]/60; //seconds
			if(is_numeric($decTime)) return $decTime;
			else return 0;
		}else{
			return 0;
		}
	}
	
?>
	
	<div id="topDIV" class="page-header">
		<h1 class="text-center"><?php echo $title; ?></h1>
	</div>
	
	<div id="main" role="main" >
		<div class='row'>
			<div id="rms_vol"        style="height:350px;" class="col-lg-4 text-center"></div>
			<div id="rms_age"        style="height:350px;" class="col-lg-4 text-center"></div>
			<div id="evap_vol"       style="height:350px;" class="col-lg-4 text-center"></div>
		</div>
		<div class='row'>
			<div id="dryer_tonnes"   style="height:350px;" class="col-lg-4 text-center"></div>
			<div id="packing_tonnes" style="height:350px;" class="col-lg-4 text-center"></div>
			<div id="specs_made"     style="height:350px;" class="col-lg-4 text-center"></div>
		</div>
	</div>
	
	<script src="https://www.gstatic.com/charts/loader.js"></script>
	<script ><!-- DATA WILL GO HERE -->
		<?php
			
			//$data[area][day][title] = value
			$data = array();
			
			for($area=1; $area<6; $area++){
				for($day=-7; $day<0; $day++){
					$sql="
						# get titles for the area
						Select
							dw_dash_settings.dashSite,
							dw_dash_settings.dashArea,
							dw_dash_settings.dashValue,
							dw_sn_field.fieldID,
							dw_sn_field.fieldTitle
						From
							dw_dash_settings Left Join
							dw_sn_field
								On dw_dash_settings.dashValue = dw_sn_field.fieldID
						Where
							dw_dash_settings.dashSite = ? And
							dw_dash_settings.dashArea = ?
					";
					if(!$qry = mysqli_prepared_query($link, $sql, "ii", array($_SESSION['userSite'], $area), __FILE__, __LINE__)) reporterror(get_error(), $sql, $_SERVER['REQUEST_URI'], __FILE__, __LINE__);
					foreach($qry as $xtitle){
						//echo "data[".$area."][".date('Y-m-d',strtotime($day.' days'))."][".$xtitle['fieldTitle']."] = 0;\r\n";
						$data[$area][date('Y-m-d',strtotime($day.' days'))][$xtitle['fieldTitle']] = 0;
					}
				}
			}
			
			$sql="
				# get all data
				Select distinct
					dw_dash_settings.dashArea,
					dw_sn_field.fieldTitle,
					dw_sn_value.valueDay,
					dw_sn_value.valueValue,
					dw_sn_field.fieldOrder
				From
					dw_sn_value Left Join
					dw_sn_field
						On dw_sn_value.valueField = dw_sn_field.fieldID Inner Join
					dw_dash_settings
						On dw_dash_settings.dashValue = dw_sn_field.fieldID
				Where
					dw_dash_settings.dashSite = ? And
					dw_sn_value.valueDay > ? And
					dw_sn_value.valueDay < ?
				Order by
					dw_dash_settings.dashArea,
					dw_sn_value.valueDay,
					dw_sn_field.fieldOrder
			";
			if(!$qry = mysqli_prepared_query($link, $sql, "iss", array($_SESSION['userSite'], date('Y-m-d', strtotime('-7 days')), date('Y-m-d')), __FILE__, __LINE__)) reporterror(get_error(), $sql, $_SERVER['REQUEST_URI'], __FILE__, __LINE__);
			
			foreach($qry as $array){
				$data[$array['dashArea']][$array['valueDay']][$array['fieldTitle']] = $array['valueValue'];
			}
			
		?>
		google.charts.load('current', {'packages':['corechart','bar','line']});
		google.charts.setOnLoadCallback(drawChart);
		function drawChart() {
			
			var data_rmsvol = google.visualization.arrayToDataTable([
<?php
				// RMS VOL
				echo "['Date',";
				foreach($data[1][date('Y-m-d', strtotime('-7 days'))] as $xtitle=>$value){
					echo "'".$xtitle."',";
				}
				echo "],\r\n";
				
				foreach($data[1] as $key=>$date){
					echo "['".date('d/m/y',strtotime($key))."',";
					foreach($date as $value){
						if(stristr($value, ":")) echo time_to_decimal($value).",";
						else echo str_replace('m3','',$value).",";
					}
					echo "],\r\n";
				}
				?>]);
			var options_rmsvol = {
				legend:{position:'bottom'},
				height:350
			};
			
			var data_rmsage = google.visualization.arrayToDataTable([
<?php
				// RMS AGE
				echo "['Date',";
				foreach($data[2][date('Y-m-d', strtotime('-7 days'))] as $xtitle=>$value){
					echo "'".$xtitle."',";
				}
				echo "],\r\n";
				
				foreach($data[2] as $key=>$date){
					echo "['".date('d/m/y',strtotime($key))."',";
					foreach($date as $value){
						if(stristr($value, ":")) echo time_to_decimal($value).",";
						else echo $value.",";
					}
					echo "],\r\n";
				}
				?>]);
			var options_rmsage = {
				legend:{position:'bottom'},
				height:350
			};
			
			var data_evapvol = google.visualization.arrayToDataTable([
<?php
				// EVAP VOL
				echo "['Date',";
				foreach($data[3][date('Y-m-d', strtotime('-7 days'))] as $xtitle=>$value){
					echo "'".$xtitle."',";
				}
				echo "],\r\n";
				
				foreach($data[3] as $key=>$date){
					echo "['".date('d/m/y',strtotime($key))."',";
					foreach($date as $value){
						if(stristr($value, ":")) echo time_to_decimal($value).",	";
						else echo $value.",	";
					}
					echo "],\r\n";
				}
				?>]);
			var options_evapvol = {
				legend:{position:'bottom'},
				height:350
			};
			
			var data_dryertonnes = google.visualization.arrayToDataTable([
<?php
				// DRYER TONNES
				echo "['Date',";
				foreach($data[4][date('Y-m-d', strtotime('-7 days'))] as $xtitle=>$value){
					echo "'".$xtitle."',";
				}
				echo "],\r\n";
				
				foreach($data[4] as $key=>$date){
					echo "['".date('d/m/y',strtotime($key))."',";
					foreach($date as $value){
						if(stristr($value, ":")) echo time_to_decimal($value).",";
						else echo $value.",";
					}
					echo "],\r\n";
				}
				?>]);
			var options_dryertonnes = {
				legend:{position:'bottom'},
				height:350,
				isStacked:true,
				colors:['#3366cc', '#dc3912', '#ff9900', '#109618', '#990099', '#0099c6', '#dd4477', '#66aa00', '#b82e2e', '#316395', '#994499', '#22aa99', '#aaaa11', '#6633cc', '#e67300', '#8b0707', '#329262', '#5574a6', '#3b3eac', '#b77322', '#16d620']
			};
			
			var data_packingtonnes = google.visualization.arrayToDataTable([
<?php
				// PACKING TONNES
				echo "['Date',";
				foreach($data[5][date('Y-m-d', strtotime('-7 days'))] as $xtitle=>$value){
					echo "'".$xtitle."',";
				}
				echo "],\r\n";
				
				foreach($data[5] as $key=>$date){
					echo "['".date('d/m/y',strtotime($key))."',";
					foreach($date as $value){
						if(stristr($value, ":")) echo time_to_decimal($value).",";
						else echo $value.",";
					}
					echo "],\r\n";
				}
				?>]);
			var options_packingtonnes = {
				legend:{position:'bottom'},
				height:350,
				isStacked:true,
				colors:['#3366cc', '#dc3912', '#ff9900', '#109618', '#990099', '#0099c6', '#dd4477', '#66aa00', '#b82e2e', '#316395', '#994499', '#22aa99', '#aaaa11', '#6633cc', '#e67300', '#8b0707', '#329262', '#5574a6', '#3b3eac', '#b77322', '#16d620']
			};
			
      var data_products = new google.visualization.DataTable();
      data_products.addColumn('string', 'Product');
      data_products.addColumn('number', 'Count');
      data_products.addRows([
				<?php
					$sql="
						# Six
						Select
							dw_spec.specText,
							Count(dw_spec.specID) As spec_count
						From
							dw_spec Right Join
							dw_cypher
								On dw_spec.specID = dw_cypher.cypherSpec
						Where
							dw_cypher.cypherManuDate >= ? And
							dw_cypher.cypherSite = ?
						Group By
							dw_spec.specID
						Order By
							spec_count desc, dw_spec.specOrder
					";
					if(!$qry = mysqli_prepared_query($link, $sql, "si", array(date("Y-m-d",strtotime("last week")), $_SESSION['userSite']), __FILE__, __LINE__)) reporterror(get_error(), $sql, $_SERVER['REQUEST_URI'], __FILE__, __LINE__);
					if(mysqli_prepared_num_rows($qry)>0){
						foreach($qry as $array){
							echo "['".$array['specText']."',".$array['spec_count']."],\r\n";
						}
					}else{
						echo "['None',0]";
					}
				?>
      ]);

      var options_products = {
        sliceVisibilityThreshold: .05,
				is3D:true
      };
			
			var chart_rmsvol = new google.charts.Bar(document.getElementById('rms_vol'));
			chart_rmsvol.draw(data_rmsvol, google.charts.Bar.convertOptions(options_rmsvol));
			
			var chart_rmsage = new google.charts.Line(document.getElementById('rms_age'));
			chart_rmsage.draw(data_rmsage, google.charts.Bar.convertOptions(options_rmsage));
			
			var chart_evapvol = new google.charts.Bar(document.getElementById('evap_vol'));
			chart_evapvol.draw(data_evapvol, google.charts.Bar.convertOptions(options_evapvol));
			
			var chart_dryertonnes = new google.charts.Bar(document.getElementById('dryer_tonnes'));
			chart_dryertonnes.draw(data_dryertonnes, google.charts.Bar.convertOptions(options_dryertonnes));
			
			var chart_packingtonnes = new google.charts.Bar(document.getElementById('packing_tonnes'));
			chart_packingtonnes.draw(data_packingtonnes, google.charts.Bar.convertOptions(options_packingtonnes));
			
			var chart_products = new google.visualization.PieChart(document.getElementById('specs_made'));
      chart_products.draw(data_products, google.charts.Bar.convertOptions(options_products));
		}
	</script><!-- ^ DATA IS IN HERE -->

<?php require "inc/footer.php"; ?>