<?php
// <!-- This function limits the amount of words that apppear in the popup -->
require_once $_SERVER['DOCUMENT_ROOT']."/lib/initialize.php" ;

  function maxWords($textOrHtml, $maxWords) {
    $text=str_replace("<p>","*P*",$textOrHtml);
    $text= str_replace("</p>","*/P*",$text);
    $text = strip_tags($text);
    $words = preg_split("/\s+/", $text, $maxWords+1);
    if (count($words) > $maxWords) { unset($words[$maxWords]); }
    $output = join(' ', $words);
    $output=str_replace("*P*","<p>",$output);
    $output=str_replace("*/P*","</p>",$output);
    $output.="</p>";

    return $output;
  }
?>

<!DOCTYPE html>
<html>

<head>

<title>Calendar With Tips And Rounded Corners</title>

<link href="/css/calendar5.css" rel="stylesheet" type="text/css" media="all">

</head>

<body >

<!-- This viewer features tips with rounded corners on rollover, a limit on the amount of words shown in the tip and a click for more link to a detail page-->

<!-- calendar -->
<?php

  // <zickey> - get selected month
  $monthNames = Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");
  if (!isset($_REQUEST["month"])) $_REQUEST["month"] = date("n");
  if (!isset($_REQUEST["year"])) $_REQUEST["year"] = date("Y");

  $cMonth = $_REQUEST["month"];
  $cYear = $_REQUEST["year"];

  $prev_year = $cYear;
  $next_year = $cYear;

  $prev_month = $cMonth-1;
  $next_month = $cMonth+1;

  if ($prev_month == 0 ) {
  $prev_month = 12;
  $prev_year = $cYear - 1;
  }
  if ($next_month == 13 ) {
  $next_month = 1;
  $next_year = $cYear + 1;
  }
  // </zickey>

  // find all events which overlap with this month
  $this_month_date = sprintf("%04d-%02d-01 00:00:00", $cYear, $cMonth);
  $next_month_date = sprintf("%04d-%02d-01 00:00:00", $next_year, $next_month);
  list($eventsRecords, ) = getRecords(array(
    'tableName' => 'events',
    'where'     => mysql_escapef("start_date < ? AND IF(end_date != '0000-00-00', end_date >= ?, start_date >= ?)", $next_month_date, $this_month_date, $this_month_date),
    'loadUploads' => false,
    'debugSql' => false,
  ));

  // go through events and build up a mapping of dates to events, respecting repeated events
  $eventsByDay = array();
  $this_month_time = strtotime($this_month_date);
  $next_month_time = strtotime($next_month_date) - 1;
  foreach ($eventsRecords as $record) {
    if ($record['end_date'] != '0000-00-00 00:00:00') {
      $last_day     = null;
      $current_time = max($this_month_time, strtotime($record['start_date']));
      $end_time     = min($next_month_time, strtotime($record['end_date']));
      while ($current_time < $end_time || date("Y-m-d", $current_time) == date("Y-m-d", $end_time)) {
        $skip = false;

        $current_day = date("Y-m-d", $current_time);
        // skip if we've already seen this day (necessary because we're skipping forward by 23 hours)
        if ($current_day == $last_day) { $skip = true; }

        // skip if relevant weekday checkbox isn't checked
        $current_weekday = strtolower(date('l', $current_time));
        if (!$record[$current_weekday]) { $skip = true; }

        // add event to this day
        if (!$skip) {
          $day = intval(date('d', $current_time));
          if (!array_key_exists($day, $eventsByDay)) { $eventsByDay[$day] = array(); }
          $eventsByDay[$day][] = $record;
        }

        // advance current_time (but not by 24 hours, lest we skip over a springtime daylight-savings day)
        $current_time += 23*60*60;
        $last_day = $current_day;
      }
    } else {
      // no end_date, so this is a single-day event
      $day = intval(date('d', strtotime($record['start_date'])));
      if (!array_key_exists($day, $eventsByDay)) { $eventsByDay[$day] = array(); }
      $eventsByDay[$day][] = $record;
    }
  }
?>

<div id="calendar_div" name="calendar_div"><div align="center" class="heading-text">MOUSE OVER AN EVENT TITLE TO LEARN MORE<br /><br />
</div>
<table align="center" border="0" height="550" cellpadding="1" cellspacing="0" bgcolor="#0202D1">
  <tr align="center">
<td bgcolor="#0202D1"><table width="900"  border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="50%" align="left">&nbsp;&nbsp;<a href="<?php echo $_SERVER["PHP_SELF"] . "?month=". $prev_month . "&year=" . $prev_year; ?>" class="CalNextPrevious">Previous</a></td>
<td width="50%" align="right"><a href="<?php echo $_SERVER["PHP_SELF"] . "?month=". $next_month . "&year=" . $next_year; ?>" class="CalNextPrevious">Next</a>&nbsp;&nbsp;</td>
</tr>
</table></td>
</tr>
<tr>
<td align="center"><table width="100%" height="500" border="0" cellpadding="0" cellspacing="0" bgcolor="#087BA1">
<tr align="center">
<td colspan="7" class="CalMonth" ><?php echo $monthNames[$cMonth-1].' '.$cYear; ?></td>
</tr>
<tr>
<td class="CalDayofWeek">Sunday</td>
<td class="CalDayofWeek">Monday</td>
<td class="CalDayofWeek">Tuesday</td>
<td class="CalDayofWeek">Wednesday</td>
<td class="CalDayofWeek">Thursday</td>
<td class="CalDayofWeek">Friday</td>
<td class="CalDayofWeek">Saturday</td>
</tr>
<?php
$timestamp = mktime(0,0,0,$cMonth,1,$cYear);
$maxday = date("t",$timestamp);
$thismonth = getdate ($timestamp);
// To start the calendar on Monday instead of Sunday, switch out the next 2 lines
$startday = $thismonth['wday'];
// $startday = $thismonth['wday'] -1;
for ($i=0; $i<($maxday+$startday); $i++) {
if(($i % 7) == 0 ) echo "<tr>\n";
if($i < $startday) {
  echo "<td></td>\n";
}
else {
  $day = $i - $startday + 1;
  echo "<td class='CalDates'>". $day . "<br />";
  // check if there are any events for this day
  if (array_key_exists($day, $eventsByDay)) {
    // list all events for this day
    foreach ($eventsByDay[$day] as $record) {
      ?> <div id="calFonts">
       <a href="#" class="tip"><!--<h1>--><?php echo $record['title'] ?><!--</h1>-->
        <span><?php echo $record['title'] ?><br />Time: <?php echo date("g:i a", strtotime($record['start_date'])) ?><br /><br />Where: <?php echo $record['location:label'] ?><br /><br />What: <?php echo maxWords($record['content'], 25); ?>... more<br /></span></a>
         <!--<h3>Time: <?php echo date("g:i a", strtotime($record['start_date'])) ?></h3>-->
		 <!--<h3>Where: <?php echo $record['location:label'] ?></h3>-->
       <!-- <p><?php echo maxWords($record['content'], 9); ?>... -->
       <p> <a href="<?php echo $record['_link'] ?>" target="_blank">CLICK FOR DETAILS</a></p><br /><br /></div>
      <?php
    }
  }
  echo "</td>\n";
}
if(($i % 7) == 6 ) echo "</tr>\n";
}
?>

</table></td>
</tr>
</table>
<br />
<!-- /calendar --></div>
<!-- dump
<pre>
<?php
// print_r($eventsRecords);
 ?> -->
</pre>
</body>

</html>
