#!/usr/bin/python

import datetime

data = open('weight.txt').readlines()
events = open('events.txt').readlines()
print "Content-type: text/html\n"
print """\
<html>
    <head>
        <title>Weight loss</title>
        <script type="text/javascript" src="/mochi/MochiKit.js"></script>
        <script type="text/javascript" src="/plot/excanvas.js"></script>
        <script type="text/javascript" src="/plot/Base.js"></script>
        <script type="text/javascript" src="/plot/Layout.js"></script>
        <script type="text/javascript" src="/plot/Canvas.js"></script>
        <script type="text/javascript" src="/plot/SweetCanvas.js"></script>
        <style>
          ol { list-style: none; }
          li { font: 9pt/14pt Verdana; }
        </style>
    </head>
    <body>
        <div><canvas id="graph" height="500" width="970"></canvas></div>
        <script type="text/javascript">
"""
start = None
weight = "["
labels = "["
points = len(data)
interval = points / 11
counter = 0 
for item in data:
    d,w = item.strip().split(',')
    year = d[0:4]
    month = d[4:6]
    day = d[6:8]
    dt = datetime.datetime(int(year), int(month), int(day))
    if start is None:
        start = dt
    delta = dt - start
    weight += "[" + str(delta.days) + "," + w + "],"
    if (counter % interval == 0):
        labels += "{v:" + str(delta.days) + ", label:\"" + year + "-" + month + "-" + day + "\"},"
    counter += 1
weight = weight[0:-1] + "]"
labels = labels[0:-1] + "]"
print "var weights = " + weight + ";"
print "var ticks = " + labels + ";"
print """\
            var options = {
                "IECanvasHTC": "/plot/iecanvas.htc",
                "xTicks": ticks,
                "yAxis": [95.0,145.0]
            };
            var layout = new PlotKit.Layout("line", options);
            layout.addDataset("weight", weights);
            layout.evaluate();
            var canvas = MochiKit.DOM.getElement("graph");
            var plotter = new PlotKit.SweetCanvasRenderer(canvas, layout, {});
            plotter.render();
        </script>
"""
"""
<ol>
for item in events:
    d,e = item.strip().split(',', 1)
    year = d[0:4]
    month = d[4:6]
    day = d[6:8]
    print "<li>%s-%s-%s %s</li>" % (year, month, day, e)
</ol>
"""
print """\
        <script src="http://www.google-analytics.com/urchin.js" type="text/javascript"></script><script type="text/javascript">_uacct = "UA-1357868-1";urchinTracker();</script>
    </body>
</html>
"""

