<!DOCTYPE html>
<!-- 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. -->
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" id="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=0.5">
    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
    
    <!-- Left empty on purpose!-->
    <title></title>

    <!-- Bootstrap -->
    
    <link href="css/bootstrap.min.css" rel="stylesheet" media="all">
    <link href="css/scaffolding.css" rel="stylesheet" media="all">
    <link href="css/modal.css" rel="stylesheet" media="all">
    <link href="css/spinner.css" rel="stylesheet" media="all">
    <link rel="alternate" href="/api/static.lua"/>
    <link rel="stylesheet" href="//cdn.jsdelivr.net/font-hack/2.013/css/hack.min.css">

    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
    <!--[if lt IE 9]>
      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
    <![endif]-->
  </head>
  
  <body onload="parseURL();">
    <div id="portrait_notice" style="display: none;" class="card">Switch to landscape mode on your device for the best experience</div>
    <header class="navbar navbar-default" style="margin-bottom: 0px; background: linear-gradient(to bottom, rgba(229,229,229,1) 0%,rgba(191,191,191,1) 100%);">
      
    <div class="container-fluid">
      <!-- Brand and toggle get grouped for better mobile display -->
      <div class="navbar-header collapse navbar-collapse">
      <a class="navbar-brand" href="./" onclick="location.href='./';"><span><img src="images/logo_large.png" style="margin-top: -10px !important;" height="30" width="32"/>&nbsp;<span class='hidden-xs title'>Pony Mail!</span></a>
      </div>
    
    
    <!-- Quick search -->
    
            
      
      <form class="quickform" style="padding-top: 8px; float: left; page-break-before: avoid; page-break-after: avoid;" id="quickform" action="list.html" method="get" onsubmit="return search(this.elements['q'].value,this.elements['d'].getAttribute('data'), false, this.elements['checkall'].checked);">
        <div class="unifiedsearch">
        
        <input type="checkbox" style="display: none" id="checkall" name="checkall"/>
        
        <ul id="advanced_search">
          <li><b>Where to search:</b></li>
          <li><a href="javascript:void(0);" class="searchlistoption checked" onclick="search_set_list('this');" id="search_list_this">This list</a></li>
          <li><a href="javascript:void(0);" class="searchlistoption" onclick="search_set_list('domain');" id="search_list_domain">This domain</a></li>
          <li><a href="javascript:void(0);" class="searchlistoption" onclick="search_set_list('global');"  id="search_list_global">All lists</a></li>
          <li class="divider"></li>
          <li><b>Date range:</b>
            <span id='drh'><input title="Click to change the date range" style="padding-left: 20px; border: none; cursor: url(images/daterange.ico), text; min-width: 200px; margin-right: 10px; background-color: transparent; font-size: 9pt;" name="d" id='d' data="lte=1M" value="Less than 1 month ago" onclick="datePicker(this);" readonly="readonly"/></span>
          </li>
        </ul>
        
        <input type="text" name="q" id="q" placeholder="Search this list..." style="border-top: none; border-bottom: none;"/>
        <button type="submit" title="Search!" value="Search!" class="btn btn-primary"><span class="glyphicon glyphicon-search"> </span></button>
        <div id="q-dropdown" onclick="toggleView('advanced_search');"><span class="glyphicon glyphicon-chevron-down" title="Search settings..."> </span></div>
        </div>
        
      </form>
      <form id="project_select_form">
        <select style="float: left; margin-top: 12px; display: none;" id="project_select" onchange='switch_project(this.value);'></select>
      </form>
           
    <div id="prefs" style="float: left;">
      
      
      <ul class="nav navbar-nav" id="userprefs" style="position: absolute; right: 18px;">
        <li class="dropdown navbar-right">
          <!-- themes -->
          <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"><img id="timg" src="images/themes.png" style="width: 32px;" title="Theme selector"/>
            <span class="caret"></span>
          </a>
            <ul class="dropdown-menu" id="themes_dropdown">
              <li><a href="javascript:void(0)" onclick="set_theme('threaded')">Threaded view</a></li>
              <li><a href="javascript:void(0)" onclick="set_theme('flat')">Flat view</a></li>
              <li><a href="javascript:void(0)" onclick="set_theme('treeview')">Treview</a></li>
              <li><a href="api/static.lua/" onclick="location.href='/api/static.lua/' + xlist;return false;">Static HTML lists</a></li>
          </ul>
        </li>
      <li id="threading_mobile" class="navbar-right" style="display: none;">
          <img onclick="set_theme( (current_listmode == 'threaded') ? 'flat' : 'threaded');" title="Enabl or disable threaded view" id="threaded_mobile_img" src="images/threading_disabled.png" style="width: 32px;"/>
        </li>
      <li class="dropdown navbar-right" id="login">
          
          <!-- user prefs -->
          <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"><img id="uimg" src="images/user_loggedout.png" style="width: 32px; margin-top: -4px;"  title="Not logged in"/>
            <span class="caret"></span></a>
            <ul class="dropdown-menu" id="prefs_dropdown">
            
          </ul>
      </li>
      
      
      <li>
        <div title="Enable/disable social rendering" onclick="set_skin('chatty');" id="chatty_link" > </div>
      </li>
      </ul>
      
    </div>
    
    </div>
    </header>
    
    <!-- quick-nav -->
    <header id="listview_header" class="navbar navbar-default" style="margin: 0px; height: 32px; margin-bottom: 10px; background: #FFF !important;">
      <!-- ML/search title -->
      <span id="listview_title"></span>
      <!-- ML nav chevrons -->
      <span id="listview_chevrons"> &nbsp;</span>
    </header>
    
    <div>
       <noscript>
          <div class="bs-callout bs-callout-alert">
            This site requires JavaScript enabled. Please enable it.
          </div>
      </noscript>
      
    <div>
      <div id="sidebar" class="hidden-xs hidden-sm col-md-3 col-lg-2" style="float: left;">&nbsp;
        <div id="sidebar_calendar"></div>
        <div id="sidebar_stats"></div>
        <div id="sidebar_wordcloud"></div>
      </div>
      
      <!--
      <div id="datepicker_mobile_parent" style="margin-bottom: 5px;" class="col-xs-10 col-sm-10 hidden-md hidden-lg" style="float: left;">
          Pick a month: <select onchange="toggleEmail(this.value);" id="datepicker_mobile"></select>
      </div>
      -->
      <div id="list_picker" class="col-xs-12 col-md-8 col-lg-10" style="float: left;">
        <ul id="list_picker_ul">
          
        </ul>
      </div>
      <div id="emails_parent" class="col-xs-12 col-md-8 col-lg-10" style="float: left;">
        <div id="emails">
          
        </div>
      </div>
      </div>
    </div>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
  <script src="//code.jquery.com/mobile/1.5.0-alpha.1/jquery.mobile-1.5.0-alpha.1.min.js"></script>
    <!-- Include all compiled plugins (below), or include individual files as needed -->
    <script src="js/bootstrap.min.js"></script>
    <script src="js/config.js"></script>
    <script src="js/wordcloud.js"></script>
    <script src="js/weburl.js"></script>
    <script src="js/d3.min.js"></script>
    <script src="js/ponymail.js"></script>
    <div id="splash" class="splash fade-in"> &nbsp; </div>
    <div style="clear: both;"></div>
    <script type="text/javascript">
      $.event.special.swipe.scrollSupressionThreshold = 20;
      $.event.special.swipe.verticalDistanceThreshold = 30;
      $( "#emails" ).on( "swipe", ponymail_swipe );
    </script>
  </body>
</html>
