## The contents of this file are subject to the Common Public Attribution
## License Version 1.0. (the "License"); you may not use this file except in
## compliance with the License. You may obtain a copy of the License at
## http://code.reddit.com/LICENSE. The License is based on the Mozilla Public
## License Version 1.1, but Sections 14 and 15 have been added to cover use of
## software over a computer network and provide for limited attribution for the
## Original Developer. In addition, Exhibit A has been modified to be consistent
## with Exhibit B.
##
## Software distributed under the License is distributed on an "AS IS" basis,
## WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
## the specific language governing rights and limitations under the License.
##
## The Original Code is Reddit.
##
## The Original Developer is the Initial Developer.  The Initial Developer of
## the Original Code is CondeNet, Inc.
##
## All portions of the code written by CondeNet are Copyright (c) 2006-2010
## CondeNet, Inc. All Rights Reserved.
################################################################################
<%!
   from random import random
   import simplejson
 %>


<%
   _id = str(random()).split('.')[-1]
 %>
<div class="traffic-graph">
  <div class="title" style="width:${thing.width}px;">${thing.title}</div>
  <div id="placeholder-${_id}"
       style="width:${thing.width}px;height:${thing.height}px">
  </div>
</div>

<script id="source" language="javascript" type="text/javascript">
$(function () {
    if($.browser.msie) {
        var i = new Image();
        i.src = "${unsafe(thing.gc)}";
        $("#placeholder-${_id}").parent().html($(i));
    } else {
      $.plot($("#placeholder-${_id}"), [
        %for i, s in enumerate(thing.data):
        <%
           color = thing.colors[i] if i < len(thing.colors) else thing.colors[-1]
         %>
        {
            data: ${simplejson.dumps(s)},
            color: "#${color}",
            lines: { show: true, fill: ${"true" if len(thing.data) == 1 else "false"} }
        }${',' if i != len(thing.data)-1 else ''}
        %endfor
      ],
      {
       xaxis: { mode: "time"},
       yaxis: {min: 0,
               tickFormatter: function(val, axis) {
                 if (val >= 2000000) { 
                    return (val / 1000000).toFixed(axis.tickDecimals) + "M";
                 } else if (val >= 2000) {
                    return (val / 1000).toFixed(axis.tickDecimals) + "k";
                 } else if (val < 10) {
                    return val.toFixed(2);
                 }
                 return val.toFixed(axis.tickDecimals);
              }
       },
       selection: { mode: "x" }
      });
    }});
</script>
