* Add a validateForm event listener and enforce CSP on the controlcap view
* filter.php: Use .validateFormOnSubmit
* server.php: Use .validateFormOnSubmit and fix makePopupButton condition check
* Use .validateFormOnSubmit and enforce CSP on the storage view
* monitor.php: Add nonce and move <script> inside </body>
* export_functions.php: Untested: Add @nonce to <script>
* blank.php: Add @nonce to <script> and add to CSP enforced views
* Enforce CSP on login and privacy views
* group.php: Add nonce and move <script> inside </body>
* filter.php: Add @nonce to <script>
* Fix updateButtons argument on the filter page upon change and page load
* events.php: Add @nonce to <script>
* Add Content-Security-Policy-Report-Only: script-src 'self' 'nonce-' policy
* Use @data-on-click-this to attach inline click event handlers which expect being called with 'this'
Only handle ones that don't return a value.
* Use @data-on-click to attach inline click event handlers with no args and no return value
* Use @data-on-click-true to attach inline click event handlers with 'true' as the only argument
* Enforce a script-src CSP on views without inline JS
* Convert some onchange attributes to data-on-change
* Move <script> before </body>
* Change makePopupLink to not use onclick
* Change makePopupButton to not use onclick
* Use .popup-link in control_functions.php
* Use makePopupButton in controlcaps.php
* Prevent double-encoding in makePopup*
* Use makePopupButton in devices.php
* Use makePopupButton in logout.php
* Use makePopupLink in monitor.php
* Use makePopupLink and .popup-link in montage.php
* Use makePopupButton in options.php
* Use makePopupButton, makePopupLink, and .popup-link in zones.php
* implement website monitor
* don't check certain fields when using website monitor
* continue to fix javascript errors for website monitors
* check $monitor, not $new_monitor here
* add website monitor documentation
was somehow left out of the initial commit
* fix corruption of functions.php
* add missing comma
* remove errors by testing for existence of key. If it's a new monitor, then none of the keys will be valid
* If the monitor type is WebSite, then default Status to Running.
* put back start function that got lost in merge. Don't start StreamCmd's if it's a WebSite
* Add midding comma
* Hide unrelated tabs when type is WebSite. Put back input fields for Type=WebSite
* Don't show control or any of the status fields for WebSite type monitors
* add some parenthesis to ensure order of operations, seems to fix fps and status fields not being shown for regular monitors