<!DOCTYPE html>

<!-- Copyright 2012 United States Government, as represented by the Secretary of Defense, Under  -->
<!-- Secretary of Defense (Personnel & Readiness).                                               -->
<!--                                                                                             -->
<!-- Licensed 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>

<!-- The Virtual World Framework client is a collection of scripts and a world specification   -->
<!-- passed to an initialization call. In this sample, the world specification is provided     -->
<!-- inline for clarity, but it is normally provided by the reflector or may be specified as a -->
<!-- URI and loaded from a network-visible location.                                           -->

<head>

    <title>Virtual World Framework</title>
    <link rel="icon" type="image/x-icon" href="favicon.ico" />

    <meta name="viewport" content="initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />

    <script type="text/javascript" src="compatibilitycheck.js"></script>

    <script type="text/javascript" src="socket.io/socket.io.js"></script>
    <!-- <script type="text/javascript" src="socket.io-sessionid-patch.js"></script> -->
    <script src="vwf/view/webrtc/dist/adapter-latest.js"></script>


    <script type="text/javascript" src="vwf/view/lib/cell.js"></script>
    <script type="text/javascript" src="vwf/view/lib/he.js"></script>
    <script type="text/javascript" src="vwf/view/lib/draggabilly.pkgd.js"></script>
    <script type="text/javascript" src="js/screenfull.min.js"></script>
   <!-- <script type="text/javascript" src="vwf/view/lib/polyglot/polyglot.min.js"></script> -->
    

    <link rel="stylesheet" href="vwf/view/lib/mdc/dist/material-components-web.css">
    <script src="vwf/view/lib/mdc/dist/material-components-web.js"></script>

    <script type="text/javascript" src="require.js"></script>

    <script type="text/javascript" src="async.js"></script>


    <script type="text/javascript" src="crypto.js"></script>
    <script type="text/javascript" src="md5.js"></script>

    <script type="text/javascript" src="alea.js"></script>
    <script type="text/javascript" src="mash.js"></script>

    <script type="text/javascript" src="Class.create.js"></script>
    <script type="text/javascript" src="rAF.js"></script>
    <script type="text/javascript" src="performance.now-polyfill.js"></script>

    <!-- This is the main client library. vwf.js creates a framework manager and attaches it to  -->
    <!-- the global window object as window.vwf. All access to the framework is through that     -->
    <!-- reference, and no other objects are globally visible.                                   -->

    <script type="text/javascript" src="vwf.js"></script>

    <!-- The core framework manages the simulation and synchronizes it across worlds shared by   -->
    <!-- multiple users. But, the manner in which the simulation is expressed is controlled by   -->
    <!-- extension modules. There are two flavors. Models directly control the simulation but    -->
    <!-- cannot accept external input. The model configuration is identical for all participants -->
    <!-- in a shared world. Views may accept external input -such as pointer and key events or   -->
    <!-- directives from a connection to an outside engine that is not visible to all users- but -->
    <!-- may only affect the simulation indirectly through the synchronization server.           -->

    <script type="text/javascript">
        // Users can specify which libraries the application will load by adding parameters to the URL.
        // Model libraries are specified as a query parameter and view libraries as a hash fragment.

        var userLibraries = { model: {}, view: {} };
        var application;
        vwf.loadConfiguration(application, userLibraries, compatibilityCheck);
    </script>

    <!-- This is the common view implementation and an example view that summarizes the          -->
    <!-- simulation state in HTML on the main page.                                              -->

    <link rel="stylesheet" type="text/css" href="index.css" />

    <!-- Global Site Tag (gtag.js) - Google Analytics -->
    <script async src="https://www.googletagmanager.com/gtag/js?id=UA-11815598-9"></script>
    <script>
        window.dataLayer = window.dataLayer || [];
        function gtag() { dataLayer.push(arguments) };
        gtag('js', new Date());
        gtag('config', 'UA-11815598-9');
    </script>


</head>

<body class="mdc-typography">
    <!-- Generic clients may have nearly empty pages, but pages for custom clients may be laid   -->
    <!-- out in any manner desired. Any view and models that render to the page should be        -->
    <!-- instructed where to attach their content.                                               -->

    <!-- The main content renders to "#vwf-root", the item with the id "vwf-root".               -->

    <!-- The loading spinner -->
    <div id="vwf-loading-spinner" class="pace pace-active">
        <div class="pace-activity"></div>
    </div>

    <div id="incompatibleBrowser">
        <div>
            <span style="color:#3090C7;">
                <br/>
                <br/>Your browser does not support Virtual World Framework. Please review our
                <a href='https://virtual.wf/requirements.html'>requirements</a> for supported browser versions.</span>
        </div>
    </div>
    <div id="vwf-root"></div>

    <div id="ui-controls" class="guiwindow">
        <i id="hideui" class="mdc-icon-toggle material-icons" role="button" aria-pressed="true" aria-label="Hide Toollbar" tabindex="0"
        data-toggle-on='{"label": "Hide", "content": "grid_on"}' data-toggle-off='{"label": "Show", "content": "grid_off"}'>
        grid_on
        </i>

        <i id="fullscreenui" class="mdc-icon-toggle material-icons" role="button" aria-pressed="true" aria-label="Hide Toollbar" tabindex="0"
        data-toggle-on='{"label": "Hide", "content": "fullscreen"}' data-toggle-off='{"label": "Show", "content": "fullscreen_exit"}'>
        fullscreen
    </i>

    </div>


    <script>
        mdc.autoInit();
        window.addEventListener("load", function (event) {

            console.log("All resources finished loading!");

        });

        const iconEl = document.querySelector('#hideui');
        iconEl.addEventListener('MDCIconToggle:change', (e) => {

            let ui = document.querySelector('.mdc-toolbar');
            if (ui) {

            let chkAttr = e.detail.isOn;
            if (chkAttr) {
                ui.style.visibility = 'visible'
            } else {
                ui.style.visibility = 'hidden'
            }
        }

        });

       

        const fullScreenToggle = document.querySelector('#fullscreenui');
        fullScreenToggle.addEventListener('MDCIconToggle:change', (e) => {

            if (screenfull.enabled) {
                screenfull.toggle();
            } else {
                // Ignore or do something else
            }
        });

    </script>

</body>

</html>