# -*- coding: utf-8 -*-
import sys
import os


def CreateHtml(tableId, dataType, fPath, rows, titles, pos):
    logstr = ""
    if len(rows) != 0:
        # convert the data into a table
        chart_table=""
        for row in rows[:-1]:
            rowstr="['{0}', {1}],\n".format(str(row[0]),str(row[pos]))
            chart_table+=rowstr
        row=rows[-1]
        rowstr="['{0}', {1}]\n".format(str(row[0]),str(row[pos]))
        chart_table+=rowstr
        table=chart_table
    else:
        print "No data found"
        return

    # start creating the html page
    logstr += "<html>"+'\n\r'
    logstr += "<head>"+'\n\r'
    logstr += "    </title>"+'\n\r'
    logstr += "    </title>"+'\n\r'
       
    # google chart snippet
    c_code_1 = """
    <script type="text/javascript" src="https://www.google.com/jsapi"></script>
    <script type="text/javascript">
      google.load("visualization", "1", {packages:["corechart"]});
      google.setOnLoadCallback(drawChart);
      function drawChart() {
          var data = google.visualization.arrayToDataTable(["""
    c_code_2 = str(titles)
    c_code_3 = """
    ,
            %s
            ]);

        var options = {
          title: """
    c_code_4 = dataType
    c_code_5 = """
        };
        var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
        chart.draw(data, options);
      }
    </script>"""
    c_code = c_code_1+c_code_2+c_code_3+'"'+c_code_4+'"'+c_code_5
    logstr += c_code % (table)
    logstr += '\n\r'
    logstr += "</head>"+'\n\r'
    logstr +=  "<body>"+'\n\r'
    logstr +=  "<h1>EventGhost Climate Data Calculation Graph</h1>"+'\n\r'
    logstr += "<hr>"+'\n\r'
    logstr += "<h2>"+tableId+"</h2>"+'\n\r'
    logstr += '<div id="chart_div" style="width: 900px; height: 500px;"></div>'+'\n\r'
    logstr += "</body>"+'\n\r'
    logstr += "</html>"+'\n\r'

    fName = tableId+'.html'
    fileHandle = None
    if not os.path.exists(fPath) and not os.path.isdir(fPath):
            os.makedirs(fPath)
    fileHandle = open(fPath+'/'+fName, 'a')
    fileHandle.seek(0)
    fileHandle.truncate()
    fileHandle.write(logstr.encode('utf-8'))
    fileHandle.close()


