<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements.  See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.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://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<div id="replication" class="clearfix">

  <div id="frame">

    <div id="error"></div>

    <div class="replicating block">

      <div id="progress">

        <div id="start"><div class="info">

          <span>Wed May 11 19:41:48 UTC 2011</span>
                
        </div></div>

        <div id="speed"><div class="info">

          <span>5.1 MB</span>/s
                
        </div></div>

        <div id="bar">

          <div id="bar-info"><div class="info">

            <div class="files"><span>24</span> Files</div>
            <div class="size"><span>226.85 MB</span></div>

          </div></div>

          <div id="eta"><div class="info">

            ETA: <span>25s</span>
                    
          </div></div>

          <div id="done" style="width: 20.0%;">

            <div class="percent">

              <span>20</span>%

            </div>

            <div id="done-info"><div class="info">

              <div class="files"><span>2</span> Files</div>
              <div class="size"><span>91.76 MB</span></div>

            </div></div>

          </div>

        </div>

      </div>

      <div id="current-file" class="clearfix">

        <div class="label"><span class="loader">Current File:</span></div>
        <div class="file">_a.fdt</div>
        <div class="progress">
          <span class="done">84 MB</span> / <span class="total">102.98 MB</span> [<span class="percent">81</span>%]
        </div>

      </div>
        
    </div>

    <div id="iterations" class="slaveOnly block clearfix">

      <div class="label"><span class="">Iterations:</span></div>
      <div class="iterations">
        <ul>
        </ul>
        <a>
          <span class="expand">Show all Iterations</span>
          <span class="collapse">Hide past Iterations</span>
        </a>
      </div>
        
    </div>

    <div id="details" class="block clearfix">

      <table border="0" cellspacing="0" cellpadding="0">

        <thead>

          <tr>
                        
            <td><span>Index</span></td>
            <th>Version</th>
            <th><abbr title="Generation">Gen</abbr></th>
            <th>Size</th>
                    
          </tr>
                
        </thead>
        <tbody>

          <tr class="masterSearch">

            <th>Master (Searching)</th>
            <td class="version"><div></div></td>
            <td class="generation"><div></div></td>
            <td class="size"><div></div></td>

          </tr>

          <tr class="master">

            <th>Master (Replicable)</th>
            <td class="version"><div></div></td>
            <td class="generation"><div></div></td>
            <td class="size"><div></div></td>

          </tr>

          <tr class="slave slaveOnly">

            <th>Slave (Searching)</th>
            <td class="version"><div></div></td>
            <td class="generation"><div></div></td>
            <td class="size"><div></div></td>

          </tr>

        </tbody>

      </table>

    </div>

    <div id="settings" class="settings block clearfix slaveOnly">

      <div class="label"><span>Settings:</span></div>
      <ul>
        <li class="masterUrl"><dl class="clearfix">
          <dt>master url:</dt>
            <dd></dd>
        </dl></li>
        <li class="isPollingDisabled"><dl class="clearfix">
          <dt>polling enable:</dt>
            <dd class="ico">&nbsp;</dd>
        </dl></li>
      </ul>
        
    </div>

    <div id="master-settings" class="settings block clearfix">

      <div class="label"><span>Settings (Master):</span></div>
      <ul>
        <li class="replicationEnabled"><dl class="clearfix">
          <dt>replication enable:</dt>
            <dd class="ico">&nbsp;</dd>
        </dl></li>
        <li class="replicateAfter"><dl class="clearfix">
          <dt>replicateAfter:</dt>
            <dd></dd>
        </dl></li>
        <li class="confFiles"><dl class="clearfix">
          <dt>confFiles:</dt>
            <dd></dd>
        </dl></li>
      </ul>
        
    </div>
    
  </div>

  <div id="navigation">

    <div class="timer">

      <p>Next Run: <span class="approx">~</span><span class="tick">15m 8s</span></p>
      <small>Sat Mar 03 11:00:00 CET 2012</smalL>

    </div>

    <button class="refresh-status"><span>Refresh Status</span></button>

    <div class="slaveOnly">        
      <button class="optional replicate-now primary" data-command="fetchindex"><span>Replicate now</span></button>
      <button class="optional abort-replication warn" data-command="abortfetch"><span>Abort Replication</span></button>

      <button class="optional disable-polling" data-command="disablepoll"><span>Disable Polling</span></button>
      <button class="optional enable-polling" data-command="enablepoll"><span>Enable Polling</span></button>
    </div>

    <div class="masterOnly">
      <button class="optional disable-replication warn" data-command="disablereplication"><span>Disable Replication<span></button>
      <button class="optional enable-replication warn" data-command="enablereplication"><span>Enable Replication<span></button>
    </div>
    
  </div>

</div>
