<script src="{{ STATIC_URL }}/js/vendor/underscore-min.js"></script>
<script src="{{ STATIC_URL }}/js/vendor/backbone.js"></script>
<script src="{{ STATIC_URL }}/js/vendor/backbone.syphon.js"></script>
<script src="{{ STATIC_URL }}/js/vendor/backbone.wreqr.js"></script>
<script src="{{ STATIC_URL }}/js/vendor/backbone.babysitter.js"></script>
<script src="{{ STATIC_URL }}/js/vendor/backbone.marionette.js"></script>

<link rel="stylesheet" href="//code.jquery.com/ui/1.11.2/themes/smoothness/jquery-ui.css">
<link rel="stylesheet" type="text/css" href="{% static 'css/xosTenantDashboard.css' %}" media="all" >
<link rel="stylesheet" type="text/css" href="{% static 'css/xosAdminSite.css' %}" media="all" >

<script src="{{ STATIC_URL }}/js/xoslib/xos-util.js"></script>
<script src="{{ STATIC_URL }}/js/xoslib/xos-defaults.js"></script>
<script src="{{ STATIC_URL }}/js/xoslib/xos-validators.js"></script>
<script src="{{ STATIC_URL }}/js/xoslib/xos-backbone.js"></script>
<script src="{{ STATIC_URL }}/js/xoslib/xosHelper.js"></script>
<script src="{{ STATIC_URL }}/js/picker.js"></script>
<script src="{{ STATIC_URL }}/js/xosTenant.js"></script>

<script type="text/template" id="xos-tenant-buttons-template">
  <div class="box save-box">
    <button class="btn btn-high btn-tenant-create">Create New Slice</button>
    <button class="btn btn-high btn-tenant-delete">Delete Slice</button>
    <button class="btn btn-high btn-tenant-add-user">Edit Users</button>
    <button class="btn btn-high btn-tenant-save">Save</button>
  </div>
</script>

<script type="text/template" id="xos-tenant-buttons-noslice-template">
  <div class="box save-box">
    <button class="btn btn-high btn-tenant-create">Create New Slice</button>
  </div>
</script>

<script type="text/template" id="xos-log-template">
  <tr id="<%= logMessageId %>" class="xos-log xos-<%= statusclass %>">
     <td><%= what %><br>
         <%= status %> <%= statusText %>
     </td>
  </tr>
</script>

<script type="text/template" id="tenant-edit-users">
    <%= xosPickerTemplate({pickedItems: model.usersBuffer,
                          unpickedItems: array_subtract(xos.tenant().current_user_site_users, model.usersBuffer),
                          id: "users",
                          fieldName: "users",
                          detailView: detailView,
                          lookupFunc: function(x) { return array_pair_lookup(x,
                                                     $.merge($.merge([], xos.tenant().current_user_site_user_names), model.user_namesOrig),
                                                     $.merge($.merge([], xos.tenant().current_user_site_users), model.usersOrig)); },
                          } ) %>
</script>

<div id="xos-confirm-dialog" title="Confirmation Required">
  Are you sure about this?
</div>

<div id="tenant-addslice-dialog" title="Create New Slice">
<div id="tenant-addslice-interior"></div>
</div>

<div id="tenant-edit-users-dialog" title="Edit Users">
<div id="tenant-edit-users-interior"></div>
</div>

<div id="xos-error-dialog" title="Error Message">
</div>

<div id="xos-tenant-view-panel"> <!-- contentPanel"> -->
<div id="contentTitle">
</div>
<div id="contentButtonPanel">

<div id="rightButtonPanel"></div>

<div class="box" id="logPanel">
<table id="logTable">
<tbody>
</tbody>
</table> <!-- end logTable -->
</div> <!-- end logPanel -->
</div> <!-- end contentButtonPanel -->

<div id="contentInner">

<div id="tenantSliceSelector">
</div>
<div id="tenantSummary">
</div>
<div id="tenantSiteList">
</div>
<div id="tenantButtons">
</div>

</div> <!-- end contentInner -->
</div> <!-- end contentPanel -->

{% include 'xosAdmin.html' %}
