<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
    <meta name="description" content="">
    <meta name="author" content="">
    <link rel="icon" href="favicon.ico">

    <title>Apache Joshua Machine Translation Demonstration</title>

    <!-- Bootstrap core CSS -->
    <link href="bootstrap/css/bootstrap.min.css" rel="stylesheet">

    <style type="text/css">
      /* Move down content because we have a fixed navbar that is 50px tall */
      body {
        background-image: url("apache_joshua_logo_faded.png");
        background-repeat: no-repeat;
        background-position: -300px -300px;
      }

      .oov {
        color: red;
        font-weight: bold;
        text-decoration: underline;
      }

      .navbar-brand {
        font-weight: bold;
      }
    </style>
  </head>

  <body>

    <nav class="navbar navbar-static-top">
      <div class="container">
        <div class="navbar-header">
          <a class="navbar-brand" href="#">
            Apache Joshua Machine Translation Demonstration
          </a>
        </div>
        <div id="navbar" class="navbar-collapse collapse">
          <!-- <form class="navbar-form navbar-right"> -->
          <!--   <div class="form-group"> -->
          <!--     <input type="text" placeholder="Email" class="form-control"> -->
          <!--   </div> -->
          <!--   <div class="form-group"> -->
          <!--     <input type="password" placeholder="Password" class="form-control"> -->
          <!--   </div> -->
          <!--   <button type="submit" class="btn btn-success">Sign in</button> -->
          <!-- </form> -->
        </div><!--/.navbar-collapse -->
      </div>
    </nav>

    <!-- Main jumbotron for a primary marketing message or call to action -->

    <div class="container">
      <div>
        <ul class="nav nav-tabs">
          <li class="active"><a data-toggle="tab" href="#translate">Translate</a></li>
          <li><a data-toggle="tab" href="#rules">Rules</a></li>
          <li><a data-toggle="tab" href="#params">Parameters</a></li>
          <li><a data-toggle="tab" href="#instructions">Instructions</a></li>
        </ul>
      </div>

      <div class="tab-content">
        <div id="translate" class="tab-pane fade in active">
          <div class="panel panel-default">
            <div class="panel-heading">
              <h3 class="panel-title">Input</h3>
            </div>

            <div class="panel-body">
              <div class="row">
                <div class="col-lg-12">
                  <fieldset class="form-group">
                    <textarea class="form-control" id="sourceTxt" rows="5" placeholder="Enter sentences one per line and type ^-return or ⌘-return to submit" autofocus="autofocus"></textarea>
                  </fieldset>
                </div>
                <!-- <div class="col-lg-1"> -->
                <!--   <button class="btn btn-primary" type="submit" onclick="translate_default()">Translate</button> -->
                <!-- </div> -->
              </div>
              <div class="row">
                <div class="col-lg-8">
                  <form class="form-inline">
                    <div class="form-group">
                      Add New Phrase:
                      <input type="text" class="form-control" placeholder="source side" id="addPhrase_source" size=20 />
                      <input type="text" class="form-control" placeholder="target side" id="addPhrase_target" size=20 />
                      <button type="button" class="btn btn-primary" id="add_rule">Add</button>
                    </div>
                  </form>

                  <!-- <input type="text" class="form-control" placeholder="Enter text to paraphrase" -->
                              <!--        id="sourceTxt" autofocus="autofocus" size=100 /> -->
                </div>
              </div>
            </div>

            <div class="panel-heading">
              <h3 class="panel-title">Output</h3>
            </div>
            <div class="panel-body">
              <div class="row">
                <div class="col-lg-8" id="output">
                </div>
              </div>
            </div>
          </div>
        </div>
            
              <!--
              <select id="ppdb_size">
                <option value="S">S</option>
                <option value="M">M</option>
                <option value="L">L</option>
                <option value="XL" selected="selected">XL</option>
                <option value="XXL">XXL</option>
                <option value="XXXL">XXXL</option>
              </select>
              <select id="ppdb_type">
                <option value="all" selected="selected">All</option>
                <option value="lex">Lexical</option>
                <option value="phrasal">Phrasal</option>
                <option value="syntactic">Syntactic</option>
              </select>
              -->

        <div id="rules" class="tab-pane fade">
          <div class="panel panel-default">
            <div class="panel-heading">
              <h3 class="panel-title">Rules</h3>
            </div>

            <div class="panel-body">
              <div class="row">
                <div class="col-md-8 col-xs-12">
                  <table class="table table-striped table-condensed" id="ruletable">
                    <thead>
                      <tr>
                        <th width="5%"></th>
                        <th>Source</th>
                        <th>Target</th>
                      </tr>
                    </thead>
                    <tbody>
                    </tbody>
                  </table>
                </div>
              </div>
            </div>
          </div>
        </div>

        <div id="params" class="tab-pane fade">
          <div class="panel panel-default">
            <div class="panel-heading">
              <h3 class="panel-title">Parameters</h3>
            </div>
            <div id="params" class="panel-body">
              <div class="panel-body">
                <div class="col-md-6">
                  <div class="input-group">
                    <span class="input-group-addon" id="label-host">Host</span>
                    <input type="text" class="form-control" value="127.0.0.1" size="40" id="server_host"
                           aria-describedby="label-host" />
                    <span class="input-group-addon" id="label-port">Port</span>
                    <input type="text" class="form-control" value="" size="5" id="server_port"
                           aria-describedby="label-port" />
                  </div>
                  <br/>

                  <h5>Feature weights</h5>
                  <div id="feature_weights">
                    <div class="input-group">
                      <span class="input-group-addon" id="label-lm_0">lm_0</span>
                      <input type="text" class="form-control weights" value="1.0" size="4" id="lm_0"
                             aria-describedby="label-lm_0" />
                    </div>
                    <div class="input-group">
                      <span class="input-group-addon" id="label-WordPenalty">WordPenalty</span>
                      <input type="text" class="form-control weights" value="1.0" size="4" id="WordPenalty"
                             aria-describedby="label-WordPenalty" />
                    </div>
                    <div class="input-group">
                      <span class="input-group-addon" id="label-PhrasePenalty">PhrasePenalty</span>
                      <input type="text" class="form-control weights" value="1.0" size="4" id="PhrasePenalty"
                             aria-describedby="label-PhrasePenalty" />
                    </div>
                    <div class="input-group">
                      <span class="input-group-addon" id="label-OOVPenalty">OOVPenalty</span>
                      <input type="text" class="form-control weights" value="1.0" size="4" id="OOVPenalty"
                             aria-describedby="label-OOVPenalty" />
                    </div>
                      <!-- WordPenalty, OOVPenalty, PhrasePenalty, GoogleNgramSim, AGigaSim -->
                  </div>
                </div>
              </div>
            </div>
          </div>
        </div>

        <div id="instructions" class="tab-pane fade">
          <div class="panel panel-default">
            <div class="panel-heading">
              <h3 class="panel-title">Instructions</h3>
            </div>

            <div class="panel-body">
              <div class="col-md-10 col-xs-12">
                <div class="panel panel-info">
                  <div class="panel-heading">Adding rules</div>
                  <div class="panel-body">
                    <p>
                      To enter a rule, type its source and target sides in the boxes above.
                      For example, you might enter:
                    </p>

                    <div class="well well-sm">
                      source="ne peux pas" target="can't"
                    </div>

                    <p>
                      Then click "Add Rule" to have the rule added.
                      The rule will appear in the list above, and any data in the input box on the first tab will be retranslated.
                    </p>

                    <p>
                      For more advanced usage, you can add hierarchical rules.
                      These are rules with a variable inside them.
                      The variable serves as a substitution point for the source and target sides.
                      For example:
                    </p>

                    <div class="well well-sm">
                      source="ne X pas" target="do not X"
                    </div>

                    <p>
                      X here will be replaced with another phrase pair that you have entered.
                      If you have another entry for "veux" and "want", for example, the decoder can use these two rules to translate the source phrase "do not want".
                    </p>

                    <p>
                      Up to two variables are permitted: X and Y.
                    </p>
                  </div>
                </div>
              </div>
            </div>
          </div>
        </div>
        
      </div>

    </div>

    <hr/>

    <!-- <footer> -->
    <!--   <p>&copy;  Johns Hopkins University</p> -->
    <!-- </footer> -->

    <!-- Bootstrap core JavaScript
    ================================================== -->
    <!-- Placed at the end of the document so the pages load faster -->
    <script src="bootstrap/js/jquery-2.2.0.min.js"></script>
    <script src="bootstrap/js/bootstrap.min.js"></script>
    <script src="demo.js" type="text/javascript"></script>
  </body>
</html>
