<?php
require_once("../Settings.php");
require_once("../common.php");
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>

<form method="post" action="createclimate.php">
Input Date in yyyy-mm format:
<input type="text" name="reportdate" id="reportdate" size="35" value="<?php echo $_POST['reportdate'] ?>" />
<input type="submit" value="Submit" />
</form>
<div id="cal1Container"></div>


<?php
if ($_POST['reportdate'] != "") {
	if(strlen($_POST['reportdate']) != 7 OR !preg_match('/\d{4}-\d{2}/',$_POST['reportdate'])) {
		echo "Invalid date format, date must be in yyyy-mm format";
		goto invalid;
	}
	include("WCTtags.php");
	$tz = $SITE['tz'];
	date_default_timezone_set($tz);
	$reportdate = $_POST['reportdate'];
	$days_in_month = date('t', strtotime($reportdate));
	$s = $reportdate."-01 00:00:00";
	$e = $reportdate."-31 23:59:59";
	$db = mysql_connect("your_db_path", "your_db_user", "your_db_password"); 
	mysql_select_db("your_db_name",$db);
	$datesearch = "SELECT * FROM WeatherData WHERE CONVERT_TZ(Time,'UTC','$tz') BETWEEN '$s' AND '$e' ORDER BY Time ASC";
	$result = mysql_query($datesearch);
	$c = 0;
	$curr_day = "01";
	$tot_temp = 0;
	$tot_dew = 0;
	$tot_press = 0;
	$MaxHiT[1] = 0;
	$MinHiT[1] = 1000;
	$RainDay[$c_day] = 0;
	while ($row = mysql_fetch_assoc($result)) {
	
		$local_time = strtotime($row['Time'].'UTC');
		$local_date_time = date('Y-m-d H:i', $local_time);
		$local_date = date('Y-m-d', $local_time);
		$local_month_name = date('M', $local_time);
		$local_month_num = date('m', $local_time);
		$local_year = date('Y', $local_time);
		$local_day_2 = date('d', $local_time);
		$local_day_1 = date('n', $local_time);
		if ($local_day_2 == $curr_day) {
			$curr_day = $local_day_2;
			$c_day = sprintf("%1d",$curr_day); 
			if ($row['Temperature_C'] > $MaxHiT[$c_day]) $MaxHiT[$c_day] = $row['Temperature_C'];
			if ($row['Temperature_C'] < $MinHiT[$c_day]) $MinHiT[$c_day] = $row['Temperature_C'];
			if ($row['RawRain_mm'] > $RainDay[$c_day]) $RainDay[$c_day] = $row['RawRain_mm'];
			$tot_temp = $tot_temp + $row['Temperature_C'];
			$tot_dew = $tot_dew + $row['Dewpoint_C'];
			$tot_press = $tot_press + $row['Pressure_mB'];
			$c++;
		} else {
			$c_day = sprintf("%1d",$curr_day); 
			$MaxHiT[$c_day] = sprintf("%05.1f",9/5 * $MaxHiT[$c_day] + 32);
			$MinHiT[$c_day] = sprintf("%04.1f",9/5 * $MinHiT[$c_day] + 32);
			$RainDay[$c_day] = sprintf("%05.2f",$RainDay[$c_day]* 0.03937);
			$Ave_Temp[$c_day] = sprintf("%04.1f",9/5 * ($tot_temp/$c) + 32);
			$Ave_dew[$c_day] = sprintf("%04.1f",9/5 * ($tot_dew/$c) + 32);
			$Ave_press[$c_day] = $tot_press/$c;
			$Ave_press[$c_day] = sprintf("%05.2f",$Ave_press[$c_day]/33.8637526);
			$deg_days = $Ave_Temp[$c_day]-65;
			if ($deg_days < 0) $heat_days[$c_day] = sprintf("%04.1f",abs($deg_days)); else $heat_days[$c_day] = sprintf("%04.1f",0);
			if ($deg_days > 0) $cool_days[$c_day] = sprintf("%04.1f",$deg_days); else $cool_days[$c_day] = sprintf("%04.1f",0);
			$curr_day = $local_day_2;
			$c_day = sprintf("%1d",$curr_day); 
			$c = 0;
			$tot_temp = 0;
			$tot_dew = 0;
			$tot_press = 0;
			$MaxHiT[$c_day] = 0;
			$MinHiT[$c_day] = 1000;
			$RainDay[$c_day] = 0;
			if ($row['Temperature_C'] > $MaxHiT[$c_day]) $MaxHiT[$c_day] = $row['Temperature_C'];
			if ($row['Temperature_C'] < $MinHiT[$c_day]) $MinHiT[$c_day] = $row['Temperature_C'];
			if ($row['RawRain_mm'] > $RainDay[$c_day]) $RainDay[$c_day] = $row['RawRain_mm'];
			$tot_temp = $tot_temp + $row['Temperature_C'];
			$tot_dew = $tot_dew + $row['Dewpoint_C'];
			$tot_press = $tot_press + $row['Pressure_mB'];
			$c++;
			
		}
	
	
	}
			$c_day = sprintf("%1d",$curr_day); 
			$MaxHiT[$c_day] = sprintf("%05.1f",9/5 * $MaxHiT[$c_day] + 32);
			$MinHiT[$c_day] = sprintf("%04.1f",9/5 * $MinHiT[$c_day] + 32);
			$RainDay[$c_day] = sprintf("%05.2f",$RainDay[$c_day]* 0.03937);
			$Ave_Temp[$c_day] = sprintf("%04.1f",9/5 * ($tot_temp/$c) + 32);
			$Ave_dew[$c_day] = sprintf("%04.1f",9/5 * ($tot_dew/$c) + 32);
			$Ave_press[$c_day] = $tot_press/$c;
			$Ave_press[$c_day] = sprintf("%05.2f",$Ave_press[$c_day]/33.8637526);
			$deg_days = $Ave_Temp[$c_day]-65;
			if ($deg_days < 0) $heat_days[$c_day] = sprintf("%04.1f",abs($deg_days)); else $heat_days[$c_day] = sprintf("%04.1f",0);
			if ($deg_days > 0) $cool_days[$c_day] = sprintf("%04.1f",$deg_days); else $cool_days[$c_day] = sprintf("%04.1f",0);
	
	
	$datesearch = "SELECT * FROM WindData WHERE CONVERT_TZ(Time,'UTC','$tz') BETWEEN '$s' AND '$e' ORDER BY Time ASC";
	$result = mysql_query($datesearch);
	$c = 0;
	$curr_day = "01";
	$tot_wspd = 0;
	$ave_dir = 0;
	$gust[$c_day] = 0;
	while ($row = mysql_fetch_assoc($result)) {
	
		$local_time = strtotime($row['Time'].'UTC');
		$local_date_time = date('Y-m-d H:i', $local_time);
		$local_date = date('Y-m-d', $local_time);
		$local_month_name = date('M', $local_time);
		$local_month_num = date('m', $local_time);
		$local_year = date('Y', $local_time);
		$local_day_2 = date('d', $local_time);
		$local_day_1 = date('n', $local_time);
		
		if ($local_day_2 == $curr_day) {
			$c_day = sprintf("%1d",$curr_day); 
			$curr_day = $local_day_2;
			if ($row['WindspeedGust_kmh'] > $gust[$c_day]) {
				$gust[$c_day] = $row['WindspeedGust_kmh'];
				$gust_dir[$c_day] = sprintf("%03d",$row['WindDirGust']);
			}
			$tot_wspd = $tot_wspd + $row['Windspeed_kmh'];
			$ave_dir = $ave_dir + $row['WinddirAv'];
			$c++;
		} else {
			$c_day = sprintf("%1d",$curr_day); 
			$Ave_windspd[$c_day] = $tot_wspd/$c;
			$Ave_wind_dir[$c_day] = sprintf("%03d",$ave_dir/$c);
			$gust[$c_day] = sprintf("%03.0f",$gust[$c_day]*0.621371);
			$Ave_windspd[$c_day] = sprintf("%03.0f",$Ave_windspd[$c_day]*0.621371);
			$curr_day = $local_day_2;
			$c_day = sprintf("%1d",$curr_day); 
			$c = 0;
			$tot_wspd = 0;
			$ave_dir = 0;
			$gust[$c_day] = 0;
			if ($row['WindspeedGust_kmh'] > $gust[$c_day]) {
				$gust[$c_day] = $row['WindspeedGust_kmh'];
				$gust_dir[$c_day] = sprintf("%03d",$row['WindDirGust']);
			}
			$tot_wspd = $tot_wspd + $row['Windspeed_kmh'];
			$ave_dir = $ave_dir + $row['WinddirAv'];
			$c++;
			
		}
	
	
	}
			$c_day = sprintf("%1d",$curr_day); 
			$Ave_windspd[$c_day] = $tot_wspd/$c;
			$Ave_wind_dir[$c_day] = sprintf("%03d",$ave_dir/$c);
			$gust[$c_day] = sprintf("%03.0f",$gust[$c_day]*0.621371);
			$Ave_windspd[$c_day] = sprintf("%03.0f",$Ave_windspd[$c_day]*0.621371);
			
	
	$filename = "climatedataout".$local_day_1.$local_year.".html";
	
	$contents = "<HTML><HEAD>\n<TITLE>Climatological Data</TITLE>\n</HEAD><BODY>\n\n";
	
	$contents .= "<table width=\"900\" cellspacing=\"1\" cellpadding=\"5\" border=\"3\" style=\"font-family:Arial;font-size:8pt;color:windowtext\">\n
	    <tr>\n
	      <td colspan=\"7\" style=\"text-align: center; border-bottom-width: medium;\">\n
	        <span style=\"font-family: Arial; font-size: 12pt; font-weight: bold;\">LOCAL CLIMATOLOGICAL DATA <br /></span>\n
	      ".$WX['L']." <br />Month: ".$local_month_num." / ".$local_year."\n
	      </td>\n
	      <td colspan=\"13\" style=\"text-align: center; border-bottom-width: medium;\">\n
	        <span style=\"font-size:12pt; font-weight:bold;\">Station Location: ".$SITE['location']." <br /></span>\n
	        Lat.".$WX['Llat']." Long.".$WX['Llong']." <br />Elevation(Ground): ".$WX['Lelevf'].". above sea level\n
	      </td>\n
	    </tr>\n
	<tr>\n
	      <td colspan=\"7\" style=\"text-align: center; border-bottom-width: medium;\">Temperature <br /> (Farenheit)\n
	      </td>\n
	      <td colspan=\"2\" style=\"text-align: center; border-bottom-width: medium;\">Degree Days <br />Base 65 Degrees\n
	      </td>\n
	      <td colspan=\"2\" style=\"border-bottom-width: medium;\">\n
	        &nbsp;\n
	      </td>\n
	      <td colspan=\"1\" style=\"border-bottom-width: medium;\">\n
	        Snow/ <br />Ice on <br />Grnd. (in.) <br />\n
	      </td>\n
	      <td colspan=\"1\" style=\"border-bottom-width: medium;\">\n
	        Rain <br />(in.)\n
	      </td>\n
	      <td colspan=\"1\" style=\"text-align: center; border-bottom-width: medium;\">Pressure <br /> (inches)\n
	      </td>\n
	      <td colspan=\"7\" style=\": text-align: center; border-bottom-width: medium;\">Wind:Speed=mph <br />\n
	      </td>\n
	    </tr>\n
	    <tr>\n
	      <td colspan=\"1\"  align=\"right\">  D <br />A <br />Y</td>\n
	      <td colspan=\"1\"  align=\"center\"> Max. <br /></td>                     \n
	      <td colspan=\"1\"  align=\"center\"> Min.</td>                           \n
	      <td colspan=\"1\"  align=\"center\"> Avg.</td>\n
	      <td colspan=\"1\"  align=\"center\"> Dep <br />From <br />Normal</td>\n
	      <td colspan=\"1\"  align=\"center\"> Avg <br />Dew <br />pt.</td>\n
	      <td colspan=\"1\"  align=\"center\"> Avg <br />Wet <br />Bulb<br /></td>\n
	      <td colspan=\"1\" >                Heating</td>\n
	      <td colspan=\"1\"  >               Cooling</td>\n
	      <td colspan=\"1\"  align=\"center\"> Sig <br />Cond <br /></td>\n
	      <td colspan=\"1\"  align=\"center\"> Sun hrs </td>\n
	      <td colspan=\"1\" >                2400 <br />LST <br />_____ <br />Snow Fall</td>\n
	      <td colspan=\"1\" >                2400 <br />LST <br />_____ <br />Water <br />Equiv</td>\n
	      <td colspan=\"1\" align=\"center\" > Avg</br />Sea <br />Level</td>\n
	      <td colspan=\"1\" align=\"center\">  Avg <br />Spd</td>\n
	      <td colspan=\"1\" align=\"center\">  Avg<br />Dir</td>\n
	      <td colspan=\"1\" align=\"center\">  Max <br />Spd <br /></td>\n
	      <td colspan=\"1\" align=\"center\">  Max<br />Spd <br /> Dir </td>\n
	      <td colspan=\"1\"  align=\"left\">   D<br />A<br />Y<br /></td>\n
	    </tr>\n
	    <tr>\n
	    <td width=\"2%\" align=\"right\">\n
	      1 <br />2 <br />3 <br />4 <br />5 <br />6 <br />7 <br />8 <br />9 <br />10 <br />11 <br />12 <br />13 <br />14 <br />15 <br />
	      16 <br />17 <br />18 <br />19 <br />20 <br />21 <br />22 <br />23 <br />24 <br />25 <br />26 <br />27 <br />28 <br />29 <br />30 <br />31 <br />\n";
	
	$null = "";
	Put_row($MaxHiT,"<!-- Max -->");
	Put_row($MinHiT,"<!-- Min  -->");
	Put_row($Ave_Temp,"<!-- Average  -->");
	Put_row($null,"<!-- Dep From Normal -->");
	Put_row($Ave_dew,"<!-- Avg Dew pt -->");
	Put_row($null,"<!-- Avg Wet Bulb -->");
	Put_row($heat_days,"<!-- Heating -->");
	Put_row($cool_days,"<!-- Cooling-->");
	Put_row($null,"<!-- Sig Cond -->");
	Put_row($null,"<!-- Sun Hours -->");
	Put_row($null,"<!-- Snow Fall -->");
	Put_row($RainDay,"<!-- Water Equiv -->");
	Put_row($Ave_press,"<!-- Avg Sea Level-->");
	Put_row($Ave_windspd,"<!-- Avg Spd-->");
	Put_row($Ave_wind_dir,"<!-- Av Dir -->");
	Put_row($gust,"<!-- Max Spd -->");
	Put_row($gust_dir,"<!-- Max Spd Dir -->");
	
	$contents .= "    <td width=\"2%\" align=\"right\">\n
	      1 <br />2 <br />3 <br />4 <br />5 <br />6 <br />7 <br />8 <br />9 <br />10 <br />11 <br />12 <br />13 <br />14 <br />15 <br />
			  16 <br />17 <br />18 <br />19 <br />20 <br />21 <br />22 <br />23 <br />24 <br />25 <br />26 <br />27 <br />28 <br />29 <br />30 <br />31 <br />\n";
	$contents .= "</td>\n";
	$contents .= "</tr>\n";
	$contents .= "</table>\n";
	$contents .= "</BODY></HTML>";
	
//	file_put_contents('test.html', $contents) or die("Unable to create file. Verify the permissions of the directory where you are attempting to save the file.");
	file_put_contents($filename, $contents) or die("Unable to create file. Verify the permissions of the directory where you are attempting to save the file.");
	echo "<br /><br />".$filename." successfully written to directory with the following data:<br /><br />";
	echo $contents;	
	invalid:
}

	function Put_row($val,$reading) {
		global $contents, $days_in_month;
		$contents .= "\t<td width=\"6%\" align=\"right\">              ".$reading."\n";
		for ($i=1;$i<=31;$i++) {
			if ($val[$i] != "" AND $i <= $days_in_month) {
				$contents .= $val[$i]." <br /> ";
			} else {
				$contents .= " ----- <br /> ";
			}
		
		}
		$contents .= "\n</td>\n";
		
	}
?>
</body>
</html>