<script>
    function escapeHtml(unsafe) {
        return unsafe
             .replace(/&/g, "&amp;")
             .replace(/</g, "&lt;")
             .replace(/>/g, "&gt;")
             .replace(/"/g, "&quot;")
             .replace(/'/g, "&#039;");
    }

    var curFrom = 0;

    function getNextPage() {
        curFrom += 15;
        return curFrom;
    }

    function getPrevPage() {
        if ((curFrom - 15) >= 0) {
            curFrom -= 15;
            return (curFrom);
        }
        else {
            curFrom = 0;
            return 0;
        }
    }

    function formatHidden(data, authed) {
        var p = "<div class=\"hiddenWrapper\"><span>Expand</span><div class=\"hiddenElements\">";

        if (authed) {
            if (data == undefined || data.length == 0)
                p += "Not Loaded"
            $.each(data, function (i, dat) {
                p += "<span>" +  escapeHtml(dat) + "</span><br/>"
            })
        }

        else
            p += "Hidden";

        p += "</div></div>"

        return p;
    }

    function printPlayer(player, i) {
        var p = "";
        p +=
          "<div class=\"playerInfo table alternate_" + i % 2 + "\"> \
       <div class=\"tableCell\"><a href=\"/players?id=" + player['playerID'] + "\">" + escapeHtml(player['playerName']) + "</a></div> \
       <div class=\"tableCell\">" + formatHidden(player['playerAliases'], player.authed) + "</div> \
       <div class=\"tableCell\">" + formatHidden(player['playerIPs'], player.authed) + "</div> \
       <div class=\"tableCell\">" + getColorForLevel(player['playerLevel'], player['playerLevel']) + "</div> \
       <div class=\"tableCell\">" + player['playerConnections'] + "</div>";


        p +=
            "<div class=\"tableCell\" style='width: 2em;'><a href=\"/chat?clientid=" + player.playerID + "\"><i class=\"fa fa-comments\" aria-hidden=\"true\"></i></a></div>"

        p +=
            "<div class=\"tableCell alignRight\">" + checkJustNow(player['lastSeen']) + "</div> \
    </div>";

        $("#playersTable").append(p);

    }

    function getPlayer(ident, identValue) {
        $("#playersTable").html("");
        $(".loader").fadeIn();

        $.getJSON("/getplayer?" + ident + "=" + identValue, function (result) {
            $.each(result, function (i, player) {
                printPlayer(player, i);
            });
        }).done(function (data) { $(".loader").fadeOut(); });
    }

    function getRecentPlayers(offset) {
        $("#playersTable").html("");
        $(".loader").fadeIn();

        $.getJSON("/getplayer?recent=1&offset=" + offset, function (result) {
            $.each(result, function (i, player) {
                printPlayer(player, i);
            });
        }).done(function (data) { $(".loader").fadeOut(); })
        .error(function (data) { $(".loader").fadeOut(); })
    }

    $(document).ready(function () {
        if (parseGet('id') != "undefined")
            getPlayer('id', parseGet('id'));
        else if (parseGet('name') != "undefined")
            getPlayer('name', parseGet('name'));
        else {
            getRecentPlayers(0);
        }
    });

    $('#content').on('click', 'div.hiddenWrapper span', function () {
        $(this).parent().find('.hiddenElements').toggle()
    });

</script>

<div class="playerSearchWrap">
    <input type="button" class="searchButton" name="Search" value="Search" />
    <input type="text" class="search" placeholder="Player Name..." />
</div>

<div class="contentHeader table">
    <div class="contentColumn tableCell">Name</div>
    <div class="contentColumn tableCell">Aliases</div>
    <div class="contentColumn tableCell">IP</div>
    <div class="contentColumn tableCell">Level</div>
    <div class="contentColumn tableCell">Connections</div>
    <div class="contentColumn tableCell" style="width: 1em;">Chat</div>
    <div class="contentColumn tableCell alignRight">Last Seen</div>
</div>
<div id="playersTable">
</div>
<hr />

<div id="paginationButtons" class="table">
    <div id="previousPage" class="tableCell"><a href=# onclick="getRecentPlayers(getPrevPage())"><<</a></div>
    <div id="nextPage" class="tableCell"><a href=# onclick="getRecentPlayers(getNextPage())">>></a></div>
</div>

<script>
    $('.searchButton').click(function () {
        if ($('.search').val().length > 0)
            getPlayer('name', $('.search').val());
    });

    $(document).keypress(function (e) {
        if (e.which == 13) {
            $('.searchButton').click();
        }
    });
</script>