<?php
  $data0 = "";
  if (isset($_GET['data0'])) {
   $data0 = "&data0=" . $_GET['data0'];
  }

?>
<html>
  <head> <script type="text/javascript" src="http://www.rjmprogramming.com.au/gchartgen.js"></script>
    <title>Scatter Chart (Differences) - RJM Programming - http://www.rjmprogramming.com.au (Copyright &copy; 2013 rjmprogramming.com.au all rights reserved.)</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=0.5, maximum-scale=4, user-scalable=yes" />
    <script type="text/javascript" src="https://www.google.com/jsapi"></script>
    <script type="text/javascript">
<?php 
      $sq = "'";
      $sq2 = "'";
      $GETtitle = "Age vs. Weight comparison";
      $GETtask = "Age";
      $GETdesc = "Weight";
      $GETdata = ",[ 8,12],[ 4,5.5],[ 11,14],[ 4,5],[ 3,3.5],[ 6.5,7]";
      if (isset($_GET['desc'])) {
       $GETtitle = $_GET['title'];
       $GETtask = str_replace("\\","",$_GET['task']);
       if (strlen(str_replace("minValue", "", $GETtask)) < strlen($GETtask)) $sq = "";
       $GETdesc = str_replace("\\","",$_GET['desc']);
       if (strlen(str_replace("minValue", "", $GETdesc)) < strlen($GETdesc)) $sq2 = "";
       $GETdata = $_GET['data'];
      }
      $gt = explode("'", $GETtask);
      $gd = explode("'", $GETdesc);
      
       if (isset($_GET['data0'])) { 
       
             echo ' google.load("visualization", "1", {packages:["corechart"]}); ' . "\n";
      echo ' google.setOnLoadCallback(drawChart); ' . "\n";
      echo ' function drawChart() { ' . "\n";
      echo ' var data = google.visualization.arrayToDataTable([ ' . "\n";
      echo " ['" . $gt[0] . "','" . $gd[0] . "'] \n";
      echo str_replace("~,", "',", str_replace("[~", "['", str_replace(",]", ",0]", str_replace(",]", ",0]", str_replace(",]", ",0]", $GETdata)))));
      echo "        ]);\n";
      echo ' var data0 = google.visualization.arrayToDataTable([ ' . "\n";
      echo " ['" . $gt[0] . "','" . $gd[0] . "'] \n";
      echo str_replace("~,", "',", str_replace("[~", "['", str_replace(",]", ",0]", str_replace(",]", ",0]", str_replace(",]", ",0]", $_GET['data0'])))));
      echo "        ]);\n";

      echo " var scatterChartBefore = new google.visualization.ScatterChart(document.getElementById('scatterchart_before')); \n";
      echo " var scatterChartAfter = new google.visualization.ScatterChart(document.getElementById('scatterchart_after')); \n";
      echo " var scatterChartDiff = new google.visualization.ScatterChart(document.getElementById('scatterchart_diff')); \n";

      echo " var opts = { diff: { data0: { opacity: 1.0 }, diff: { data: { opacity: 1.0 } } } }; \n";
      echo "        var options = { \n";
      echo "        title: '" . $GETtitle . "', \n";
      echo "        hAxis: {title:  '" . $GETtask . $sq . "}, \n";
      echo "        vAxis: {title:  '" . $GETdesc . $sq2 . "}, \n";
      echo "        legend: 'none', \n";
      echo "        }; \n";

      echo " scatterChartBefore.draw(data0, options); \n";
      echo " scatterChartAfter.draw(data, options); \n";

      echo " var diffData = scatterChartDiff.computeDiff(data0, data); \n";
      echo " scatterChartDiff.draw(diffData, opts);  \n } \n";
      
      echo " </script> \n";
      echo " </head> \n";
      echo " <body> \n";
      echo " <h1>" . $GETtitle . " Scatter Chart</h1> \n";

 
      echo " <span id='scatterchart_before' style='width: 450px; height: 250px; display: inline-block'></span>\n";
      echo " <span id='scatterchart_after' style='width: 450px; height: 250px; display: inline-block'></span>\n";
      echo " <span id='scatterchart_diff' style='width: 450px; height: 250px; display: inline-block'></span>\n";
       } else {
      echo ' var data0 = "";' . "\n";
      echo ' google.load("visualization", "1", {packages:["corechart"]}); ' . "\n";
      echo ' google.setOnLoadCallback(drawChart); ' . "\n";
      echo ' function drawChart() { ' . "\n";
      echo ' var data = google.visualization.arrayToDataTable([ ' . "\n";
      echo " ['" . $GETtask . "','" . $GETdesc . "'] \n";
      echo str_replace("~,", "',", str_replace("[~", "['", str_replace(",]", ",0]", str_replace(",]", ",0]", str_replace(",]", ",0]", $GETdata)))));
      echo "        ]);\n";
      echo "        var options = { \n";
      echo "        title: '" . $GETtitle . "', \n";
      echo "        hAxis: {title:  '" . $GETtask . "'}, \n";
      echo "        vAxis: {title:  '" . $GETdesc . "'}, \n";
      echo "        legend: 'none', \n";
      echo "        }; \n";

      echo " var chart = new google.visualization.ScatterChart(document.getElementById('chart_div')); \n";
      echo " chart.draw(data, options); \n } \n";
      
      echo " </script> \n";
      echo " </head> \n";
      echo " <body onload='setTimeout(later, 2 * 1000);'> \n";
      echo " <h1>" . $GETtitle . " Scatter Chart</h1> \n";
      echo '<div id="chart_div" style="width: 900px; height: 500px; background-color: yellow;"></div>' . "\n";
      }
?>
    <a title="Another Scatter Chart to show differences for" href="./scatter_chart_diff.php">Another scatter chart to show differences for?</a>
    <?php 
       if (!isset($_GET['desc']) || $data0 == "") {
         if (isset($_GET['data'])) $data0 = "&data0=" . $_GET['data'];
      
        echo '<' . 'script' . '>' . "\n " . " function later() { \n" . ' var datalineprefix = " "; ' . "\n";
        echo ' var datalinesuffix = ""; ' . "\n";
        echo ' var extra = ""; ' . "\n";
        echo ' var thisline = 1; ' . "\n";
        echo ' var totalleft = 100.0; ' . "\n";
        if (isset($_GET['data'])) {
          echo " var title = '" . $GETtitle . "'; " . "\n";
        } else {
        echo ' var title = prompt("Enter Scatter Chart Title", "' . $GETtitle . '"); ' . "\n";
        }
        echo ' if (title != null) { ' . "\n";
        if (isset($_GET['data'])) {
          echo " var task = '" . $GETtask . "'; " . "\n";
          echo " var desc = '" . $GETdesc . "'; " . "\n";
        } else {
        echo ' var task = prompt("Enter Horizontal Axis Title", "' . $GETtask . '"); ' . "\n";
        echo ' var desc = prompt("Enter Vertical Axis Title", "' . $GETdesc . '"); ' . "\n";
        }
        echo ' var datac = ""; ' . "\n";
        echo ' var sq = "' . "'" . '"; ' . "\n";
        echo ' datalineprefix = prompt("Enter " + task + " Value " + thisline, "0"); ' . "\n";
        echo ' while (datalineprefix.length != 0 && (desc.indexOf("ercent") == (0 - 1) || desc.indexOf("  ercent ") != (0 - 1) || (desc.indexOf("ercent") != (0 - 1) && totalleft > 0))) { ' . "\n";
        echo ' if (datalinesuffix.length != 0) datalineprefix = prompt("Enter " + task + " Value " + thisline + " (for no more hit Cancel button)", ""); ' . "\n";
        echo ' if (datalineprefix == null) { ' . "\n";
        echo '     datalineprefix = ""; ' . "\n";
        echo '     totalleft = 0; ' . "\n";
        echo ' } else if (datalineprefix.length != 0) { ' . "\n";
        echo '     extra = "";  ' . "\n";
        echo '     if (desc.indexOf("ercent") != (0 - 1) && desc.indexOf("  ercent ") == (0 - 1)) extra = " (for " + totalleft + " enter nothing or hit Cancel button)";  ' . "\n";
        echo '     datalinesuffix = prompt("Enter " + desc.replace("  ercent ", "") + " Value " + thisline + extra, "0"); ' . "\n";
        echo '     if (datalinesuffix == null && desc.indexOf("ercent") != (0 - 1) && desc.indexOf("  ercent ") == (0 - 1)) datalinesuffix = totalleft; ' . "\n";
        echo '     if (datalinesuffix == null) datalinesuffix = "0"; ' . "\n";
        echo '     if (datalinesuffix.length == 0) { ' . "\n";
        echo '       datalinesuffix = eval(totalleft); ' . "\n";
        echo '       totalleft = 0; ' . "\n";
        echo '     } else if (eval(totalleft) == eval(datalinesuffix) && desc.indexOf("ercent") != (0 - 1) && desc.indexOf("  ercent ") == (0 - 1)) { ' . "\n";
        echo '       totalleft = 0; ' . "\n";
        echo '     } else if (eval(datalinesuffix) > eval(totalleft) && desc.indexOf("ercent") != (0 - 1) && desc.indexOf("  ercent ") == (0 - 1)) { ' . "\n";
        echo '       datalinesuffix = eval(totalleft); ' . "\n";
        echo '       totalleft = 0; ' . "\n";
        echo '     } else if (eval(datalinesuffix) > eval(totalleft) && desc.indexOf("ercent") == (0 - 1) && desc.indexOf("  ercent ") == (0 - 1)) { ' . "\n";
        echo '       desc = desc + "  ercent "; ' . "\n";
        echo '     } else { ' . "\n";
        echo '       totalleft = eval(totalleft) - eval(datalinesuffix); ' . "\n";
        echo '     } ' . "\n";
        echo '     datac = datac + ", [" + datalineprefix + "," + datalinesuffix + "] "; ' . "\n";
        echo '     thisline++; ' . "\n";
        echo '   } ' . "\n";
        echo ' } ' . "\n";
        echo ' window.location = "./scatter_chart_diff.php?title=" + title + "&task=" + task + "&desc=" + desc.replace("  ercent ", "") + "' . $data0 . '&data=" + datac; ' . "\n";
        echo "} \n" . "} \n" . '</' . 'script' . '>' . "\n";
      } 
    ?>
  </body>
</html>

