[# This is the main header file that is included in all Monorail servlets that render a page.

   Args:
     arg0: Can be "showtabs", "showusertabs" or "showusergrouptabs" to select which top-plevel tabs are shown.
     arg1: String like "t1", "t2", "t3" to identify the currently active tab.
]
[define is_ezt]Yes[end]
[include "header-shared.ezt"]

[include "../webpack-out/ezt-element-package.ezt"]

<body class="[main_tab_mode] [if-any perms.EditIssue]perms_EditIssue[end]">

[# Tiny script used sitewide. ]
<script type="text/javascript" nonce="[nonce]">
   function _go(url, newWindow) {
     if (newWindow)
       window.open(url, '_blank');
     else
       document.location = url;
   }
   function $(id) { return document.getElementById(id); }

   var loadQueue = [];
   function runOnLoad(fn) { loadQueue.push(fn); }

   window.onload = function() {
     for (var i = 0; i < loadQueue.length; i++)
       loadQueue[[]i]();
     delete loadQueue;
   };
</script>

[include "maintabs.ezt" arg0 arg1]

[include "banner_message.ezt"]

<div id="maincol">
[include "alert.ezt"]
