<?php
  function retval($inv) {
    if (strpos($inv, "E-") !== false) return "0";
    return $inv;
  }
?>

<html>
  <head>
    <title>Calendar Chart - RJM Programming - http://www.rjmprogramming.com.au (Copyright &copy; 2014 rjmprogramming.com.au all rights reserved.)</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 <script type="text/javascript" src="http://yui.yahooapis.com/2.9.0/build/yahoo/yahoo.js"></script> 
 <script type="text/javascript" src="http://yui.yahooapis.com/2.9.0/build/event/event.js" ></script> 
 <script type="text/javascript" src="http://yui.yahooapis.com/2.9.0/build/dom/dom.js" ></script> 
 <script type="text/javascript" src="http://yui.yahooapis.com/2.9.0/build/calendar/calendar.js"></script> 
<link type="text/css" rel="stylesheet" href="http://yui.yahooapis.com/2.9.0/build/calendar/assets/skins/sam/calendar.css"> 
    <script type="text/javascript" src="https://www.google.com/jsapi?autoload={'modules':[{'name':'visualization','version':'1.1','packages':['calendar']}]}"></script>
    <script type="text/javascript">
    var assumenumber = -1;
    var num = 0;
    var cdone = 0;
    var retval = "";
    var ttitle = "";
    var ttask = "";
	    YAHOO.namespace("example.calendar"); 	 
	    //YAHOO.example.calendar.init = function() { 
	    // YAHOO.example.calendar.cal1 = new YAHOO.widget.Calendar("cal1","cal1SContainer"); 
	    // YAHOO.example.calendar.cal1.render(); 
	    //} 	 
	    //YAHOO.util.Event.onDOMReady(YAHOO.example.calendar.init); 	    
<?php 
      $GETtitle = "Red Sox Attendance";
      $GETtask = ""; //"Task";
      $GETdesc = "Won/Loss";
      $GETdata = "[ new Date(2012, 3, 13), 37032 ],
          [ new Date(2012, 3, 14), 38024 ],
          [ new Date(2012, 3, 15), 38024 ],
          [ new Date(2012, 3, 16), 38108 ],
          [ new Date(2012, 3, 17), 38229 ],
          [ new Date(2013, 9, 4), 38177 ],
          [ new Date(2013, 9, 5), 38705 ],
          [ new Date(2013, 9, 12), 38210 ],
          [ new Date(2013, 9, 13), 38029 ],
          [ new Date(2013, 9, 19), 38823 ],
          [ new Date(2013, 9, 23), 38345 ],
          [ new Date(2013, 9, 24), 38436 ],
          [ new Date(2013, 9, 30), 38447 ]";
      if (isset($_GET['data'])) {
       //$GETtitle = str_replace("~~", "##", $_GET['title']);
       $GETtitle = str_replace("~~", "'", str_replace('~', '"', str_replace("`", "'", $_GET['title'])));
       //$GETtitle = str_replace("##", "'", $GETtitle);
       $GETtask = $_GET['task'];
       //$GETdesc = str_replace("~~", "##", $_GET['desc']);
       $GETdesc = str_replace("~~", "'", str_replace('~', '"', str_replace("`", "'", $_GET['desc'])));
       //$GETdesc = str_replace("##", "'", $GETdesc);
       $GETdata = $_GET['data'];
      }
      
      $gdata = str_replace("~~", "'", str_replace("newDate", "new Date", str_replace("%2c", ",", str_replace("%27", "'", str_replace("%20", " ", str_replace("%28", "(", str_replace("%29", ")", str_replace("%5b", "[", str_replace("`", "'",str_replace("%5d", "]",str_replace('~,', '",', str_replace('[~', '["', str_replace(",]", ",0]", str_replace(",]", ",0]", str_replace(",]", ",0]", $GETdata)))))))))))))));
      //echo "\n var xassumenumber = '" . $gdata . "'; \n";
      $thing = "number";
      if (strpos($gdata, "'") !== false) {
        $thing = "string";
        echo "\n assumenumber = 0; \n";
      } else if (strpos($gdata, '"') !== false) {
        $thing = "string";
        echo "\n assumenumber = 0; \n";
      } else if (strpos($gdata, '~') !== false) {
        $thing = "string";
        echo "\n assumenumber = 0; \n";
      }
      
      //echo ' google.load("visualization", "1", {packages:["corechart"]}); ' . "\n";
      echo ' google.setOnLoadCallback(drawChart); ' . "\n";
      echo ' function drawChart() { ' . "\n";
      echo " var container = document.getElementById('chart_div'); \n";

      echo " var chart = new google.visualization.Calendar(container); \n";

      echo ' var dataTable = new google.visualization.DataTable(); ' . "\n";
      //echo " dataTable.addColumn({ type: 'string', id: '" . $GETdesc . "' }); \n";
      echo " dataTable.addColumn({ type: 'date', id: 'Date' }); \n";
      echo " dataTable.addColumn({ type: '" . $thing . "', id: '" . $GETdesc . "' }); \n";

      echo ' dataTable.addRows([' . "\n";
      if ($thing == "number") {
      echo str_replace("~~", "'", str_replace("newDate", "new Date", str_replace("%2c", ",", str_replace("%27", "'", str_replace("%20", " ", str_replace("%28", "(", str_replace("%29", ")", str_replace("%5b", "[", str_replace("`", "'",str_replace("%5d", "]",str_replace(',~', ',"', str_replace('~]', '"]', str_replace(",]", ",0]", str_replace(",]", ",0]", str_replace(",]", ",0]", $GETdata)))))))))))))));
      } else {
      echo str_replace("~~", "'", str_replace("newDate", "new Date", str_replace("%2c", ",", str_replace("%27", "'", str_replace("%20", " ", str_replace("%28", "(", str_replace("%29", ")", str_replace("%5b", "[", str_replace("`", "'",str_replace("%5d", "]",str_replace(',~', ',"', str_replace('~]', '"]', str_replace(",]", ",\"\"]", str_replace(",]", ",\"\"]", str_replace(",]", ",0]", $GETdata)))))))))))))));
      }
      echo "]);\n";

      //echo " var chart = new google.visualization.Calendar(document.getElementById('chart_div')); \n";
      echo " chart.draw(dataTable); \n } \n";
      
      $ic = 1;
      
      for ($ic=1; $ic<100; $ic++) {
 echo ' function cals' . $ic . '(inhuh,mode) {' . "\n";
 echo ' if (inhuh > ' . $ic . ') { return cals' . ($ic + 1) . '(inhuh,mode); } else if (inhuh < ' . $ic . ') { return cals' . ($ic - 1) . '(inhuh,mode); } else { ' . "\n";
 echo ' if (mode == 0) {YAHOO.example.calendar.cals' . $ic . ' = new YAHOO.widget.Calendar("cals' . $ic . '","cal' . $ic . 'SContainer");  ' . "\n";
 echo ' YAHOO.example.calendar.cals' . $ic . '.render();  ' . "\n";
 echo ' YAHOO.example.calendar.cale' . $ic . ' = new YAHOO.widget.Calendar("cals' . $ic . '","cal' . $ic . 'EContainer");  ' . "\n";
 echo ' YAHOO.example.calendar.cale' . $ic . '.render(); ' . "\n"; 
 echo ' } else { ' . "\n"; 
 echo ' retval = "";  ' . "\n"; 
 echo ' var iput = document.getElementById("i' . $ic . 'put"); ' . "\n"; 
 echo " retval = retval + '[" . '"' . "' + iput.value + '" . '"' . ",'; " . "\n"; 
 echo ' var pDates = YAHOO.example.calendar.cals' . $ic . '.getSelectedDates()[0]; ' . "\n"; 
 echo ' var pDatee = YAHOO.example.calendar.cals' . $ic . '.getSelectedDates()[0]; ' . "\n"; 
 echo ' if (pDates) { ' . "\n"; 
 echo ' retval = retval + "newDate(" + eval(1900 + pDates.getYear()) + ","; ' . "\n"; 
 echo ' retval = retval + eval(0 + pDates.getMonth()) + ","; ' . "\n"; 
 echo ' retval = retval + pDates.getDate() + "),"; ' . "\n"; 
 //echo ' retval = retval + pDates.getDate() + ".";	         ' . "\n"; 
 echo '      } else { ' . "\n"; 
 echo '  pDates = YAHOO.example.calendar.cals' . ($ic - 1) . '.getSelectedDates()[0]; ' . "\n"; 
 echo ' if (pDates) { ' . "\n"; 
 echo ' retval = retval + "newDate(" + eval(1900 + pDates.getYear()) + ","; ' . "\n"; 
 echo ' retval = retval + eval(0 + pDates.getMonth()) + ","; ' . "\n"; 
 echo ' retval = retval + pDates.getDate() + "),"; ' . "\n"; 
 //echo ' retval = retval + pDates.getDate() + ".";	         ' . "\n"; 
 echo '      }  ' . "\n"; 
 echo '      } ' . "\n"; 
 echo ' if (pDatee) { ' . "\n"; 
 echo ' retval = retval + "newDate(" + eval(1900 + pDatee.getYear()) + ","; ' . "\n"; 
 echo ' retval = retval + eval(0 + pDatee.getMonth()) + ","; ' . "\n"; 
 echo ' retval = retval + pDatee.getDate() + ")]"; ' . "\n"; 
 //echo ' retval = retval + pDatee.getDate() + ".";	         ' . "\n"; 
 echo '     } else { ' . "\n"; 
 echo '  pDatee = YAHOO.example.calendar.cals' . ($ic + 1) . '.getSelectedDates()[0]; ' . "\n"; 
 echo ' if (pDatee) { ' . "\n"; 
 echo ' retval = retval + "newDate(" + eval(1900 + pDatee.getYear()) + ","; ' . "\n"; 
 echo ' retval = retval + eval(0 + pDatee.getMonth()) + ","; ' . "\n"; 
 echo ' retval = retval + pDatee.getDate() + ")]"; ' . "\n"; 
 //echo ' retval = retval + pDatee.getDate() + ".";	         ' . "\n"; 
 echo '     }  ' . "\n"; 
 echo '      }  ' . "\n"; 
 echo '  return rework(retval);  } ' . "\n"; 
 echo ' } return ""; } ' . "\n";
      }
      
?>
   function cals0(huh,huh2) {
   }
   function cals100(huh,huh2) {
   }
   
   function rework(huh) {
      //alert(huh);
      var maptozero = 0;
      var huhs = huh.split(",");
      var huhzero = huhs[0].replace("[","").replace('~','').replace('~','').replace('"','').replace('"','');
      if (assumenumber == -1) {
          if (isNaN(parseInt(huhzero))) {
            assumenumber = 0;
            maptozero = 1;
          } else {
            assumenumber = 1;
          }
      } else {
          if (isNaN(parseInt(huhzero))) {
            maptozero = 1;
          } else {
            maptozero = 0;
          }
      }
      if (maptozero == 1) {
        huhs[0] = "0";
        if (cdone == 0) {
          cdone = 1;
          alert("Non-numerics will be mapped to 0");
        }
      }
      //alert("[" + huhs[1] + ","  + huhs[2] + "," + huhs[3] + "," + huhs[0].replace("[","").replace('"','').replace('"','') + "]");
      if (assumenumber == 0 && 1 == 2) {
        return "[" + huhs[1] + ","  + huhs[2] + "," + huhs[3] + "," + huhs[0].replace("[","") + "]";
      }
      return "[" + huhs[1] + ","  + huhs[2] + "," + huhs[3] + "," + huhs[0].replace("[","").replace('"','').replace('"','') + "]";
   }

   function goforth() {
   //alert(99);
     var ii=1;
     var dt = "";
     var ci = "";
     while (ii <= num) {
       dt = dt + ci + cals1(ii,1);
       dt = dt.replace("'", "~~").replace('"', '~');
       dt = dt.replace("'", "~~").replace('"', '~');
       dt = dt.replace("'", "~~").replace('"', '~');
       dt = dt.replace("'", "~~").replace('"', '~');
       ttitle = ttitle.replace("'", "~~").replace('"', '~');
       ttitle = ttitle.replace("'", "~~").replace('"', '~');
       ci = ",";
       ii = ii + 1;
       //alert(dt);
     }
     window.location = "./calendar_chart.php?title=" + ttitle.replace("'", "~~").replace('"', '~') + "&desc=" + ttitle.replace("'", "~~").replace('"', '~') + "&data=" + dt.replace("'", "~~").replace('"', '~');
   }
<?php
      echo " </script> \n";
      echo " </head> \n";
      echo " <body class='yui-skin-sam' onload='setTimeout(later, 2 * 1000);'> \n";
      echo " <h1>" . $GETtitle . " Calendar Chart</h1> \n";
?>
    <div id="chart_div" style="width: 920px; height: 200px; background-color: yellow;"></div>
    <div id="calendar_table"></div>
    <a title="Another Calendar Chart" href="./calendar_chart.php">Another calendar chart?</a>
    <?php 
      if (!isset($_GET['desc'])) {
      
        echo '<' . 'script' . '>' . "\n " . " function later() { \n" . ' var datalineprefix = " "; ' . "\n";
        echo ' var datalinesuffix = ""; ' . "\n";
        echo ' var extra = ""; ' . "\n";
        echo ' var bits = ""; ' . "\n";
        echo ' var task = ""; ' . "\n";
        echo ' var ict = 0; ' . "\n";
        echo ' var thisline = 1; ' . "\n";
        echo ' var totalleft = 100.0; ' . "\n";
        echo ' var title = prompt("Enter Calendar Chart Title", "' . $GETtitle . '"); ' . "\n";
        
        echo ' if (title != null) { ' . "\n";
        echo ' ttitle = title; ' . "\n" . ' task = prompt("Enter Number of " + title, "0"); ttask = task; ' . "\n";
        
        
        echo ' if (task == null) { ' . "\n";
        echo '  title = title; ' . "\n";
        echo ' } else if (task != "0" && task.indexOf("-") == -1 && (task.length == 1 || task.length == 2)) { ' . "\n";
        echo '  bits = "<br><a href=# onclick=' . "'" . 'goforth();' . "'" . ' title=' . "'" . 'Show' . "'" . '>Click here to Show Chart when All Filled out Below ...</a><br><table border=1><tr><td>From</td><td>" + title + " (non-numerics mapped to 0)</td><td style=\'display:none;\'>To</td></tr>";' . "\n";

        echo '  num = task;' . "\n" . 'while (ict != task) { ' . "\n";
        echo '    bits = bits + "<tr>";' . "\n";
        echo '    ict = ict + 1;' . "\n";
        echo '    bits = bits + "<td><div id=cal" + ict + "SContainer></div></td>";' . "\n";
        echo '    bits = bits + "<td><input id=i" + ict + "put type=text></input></td>";' . "\n";
        echo '    bits = bits + "<td style=\'display:none;\'><div id=cal" + ict + "EContainer></div></td>";' . "\n";
        echo '    bits = bits + "</tr>";' . "\n";
        //echo '  alert(ict + " -- " + bits);' . "\n";
        echo '    } ' . "\n";

        echo '  } else { alert("Can only handle 99 or less."); window.location = "./calendar_chart.php"; }' . "\n";
        echo '  bits = bits + "</table>";' . "\n";
        //echo '  alert(bits);' . "\n";
        echo ' var ct = document.getElementById("calendar_table"); ' . "\n";
        echo '  ct.innerHTML = bits;' . "\n";
        //echo '  alert(ct.innerHTML);' . "\n";
        echo '    if (ict != 0) { ict = 0; ' . "\n";
        echo '  while (ict != task) { ' . "\n";
        echo '    ict = ict + 1;' . "\n";
        echo '    cals1(ict,0);' . "\n";
        echo '    } } ' . "\n";
        echo ' } ' . "\n";
        

        echo "} \n" . '</' . 'script' . '>' . "\n";
      } 
    ?>
  </body>
</html>
