<!DOCTYPE html>
<html lang="en">
<head>
<meta name="description" content="ASTERIX WEB PAGE" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href='http://fonts.googleapis.com/css?family=Bitter|PT+Sans+Caption|Open+Sans' rel='stylesheet' type='text/css'>
<script src="/webui/static/js/jquery.min.js"></script>

<link href="//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.1/css/bootstrap-combined.no-icons.min.css" rel="stylesheet">
<link href="//netdna.bootstrapcdn.com/font-awesome/3.1.1/css/font-awesome.css" rel="stylesheet">

<link href="/webui/static/css/bootstrap.min.css" rel="stylesheet" type="text/css" />
<link href="/webui/static/css/bootstrap-responsive.min.css" rel="stylesheet" type="text/css" />

<script src="/webui/static/js/bootstrap.min.js"></script>

<link href="/webui/static/css/style.css" rel="stylesheet" type="text/css" />

<script type="text/javascript">
$(document).ready(function(){

    $('#checkboxes-on').click(function() {
        $('#queryform :input').prop('checked', true);
        return false;    
    });

    $('#checkboxes-off').click(function() {
        $('form#queryform :input').removeAttr('checked');
        return false;    
    });

    $('#clear-query-button').click(function() {
        $("#qry").val('');
        return false;
    });

   $("#run-btn").click(function() {
     $('#output-message').html("");
     $.post("/", $("form#queryform").serialize(), function(data) {
         
         $('#output-message').html(data);

         var contentString = data.toString();
         if (contentString.indexOf("<PRE>Duration") !== -1) {
            $("<div/>")
                .addClass("alert alert-success")
                .html("Success: Query Complete")
                .appendTo('#output-message');
         }
     });
     return false;
   });
});
</script>

<meta charset=utf-8 />
<title>AsterixDB Web Interface</title>
</head>

<body>
  <div class="navbar navbar-fixed-top">
    <div class="navbar-inner">
      <div class="container">
        <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
        </a>

        <!-- Temporary logo placeholder -->
        <!-- <a class="brand" href="#"><img src="/webui/static/img/finalasterixlogo.png"></a> -->
        <a class="brand" href="#"><img src="http://db.tt/J1MTCdKs"></a>
        
        <div class="nav-collapse collapse">
          <ul class="nav">
            <li><a href="http://code.google.com/p/asterixdb/source/browse/" target="_blank">Open source<i class="icon-external-link"></i></a></li>
            <li><a href="http://code.google.com/p/asterixdb/issues/list" target="_blank">File issues<i class="icon-external-link"></i></a></li>
            <li><a href="https://groups.google.com/forum/?fromgroups#!forum/asterixdb-userst" target="_blank">Contact<i class="icon-external-link"></i></a></li>
          </ul>
        </div><!--/.nav-collapse -->
      </div>
    </div>
  </div>

  <div class="content">
    <div class="container">
      <div class="row-fluid">

        <div class="span6">

          <form id="queryform" class="form-horizontal" method="post">
            <div style="margin-bottom: 1em;">
              <label class="query">Query</label>
              <textarea rows="10" id="qry" name="query" class="query" value="%s" placeholder="Type your AQL query ..."></textarea>
              <button id="clear-query-button" style="float:right;" class="btn">Clear Query</button>
            </div>
            
          <div class="btn-group">
            <button id="checkboxes-on" class="btn">Select All Options</button>
            <button id="checkboxes-off" class="btn">Clear All Options</button>
          </div>

            <div>
              <label class="checkbox"><input type="checkbox" class="btn" checked="checked" name="print-expr-tree" value="true" /> Print parsed expressions</label>
              <label class="checkbox"><input type="checkbox" checked="checked" name="print-rewritten-expr-tree" value="true" /> Print rewritten expressions</label>
              <label class="checkbox"><input type="checkbox" checked="checked" name="print-logical-plan" value="true" /> Print logical plan</label>
              <label class="checkbox"><input type="checkbox" checked="checked" name="print-optimized-logical-plan" value="true" /> Print optimized logical plan</label>
              <label class="checkbox"><input type="checkbox"
                  checked="checked" name="print-job" value="true" /> Print Hyracks job</label>
            </div>
            <button type="submit" id="run-btn" class="btn btn-custom-darken">Run</button>
          </form>
       </div>

       <div class="span6">
         <div class="output">
           <label class="heading">Output</label>
           <div id="output-message" class="message">
           </div>
         </div>
       </div>

      </div>
    </div>
</div>
  <div class="footer">
    <section class="line"><hr></section>
    <section class="content">
      <section class="left">
      </section>
      <section class="right">
        &copy; Copyright 2013 University of California, Irvine
      </section>
    </section>
  </div>
</body>
</html>

