<!doctype html>
<html>
    <head>
        <meta name=charset value=utf-8>
        <title>Snake</title>
        <link href='http://fonts.googleapis.com/css?family=Exo+2:400,900' rel='stylesheet' type='text/css'>
        <link href="snake.css" type="text/css" rel="stylesheet">
        <script src="snake.js" type="application/javascript"></script> 
    </head>
    <body>
        <header><h1>Snake</h1></header>
        <section id=controls>
            <label>Rows</label>
            <input id=rows type=text placeholder="Rows" value=20><br>
            <label>Columns</label>
            <input id=cols type=text placeholder="Columns" value=40><br>
            <label>Speed (higher = faster)</label>
            <input id=fps type=text placeholder="Speed (higher = faster)" value=10><br>
            <input name=editor type=radio value="Game" checked>Game</input>
            <input id=useEditor name=editor type=radio value="Editor">Editor</input>
            <input id=reset type=button value="Apply">
        </section>
        <section id=gameData>
            <label> Custom Level:</label><br>
            <textarea class=boardData></textarea>
        </section>
        <section id=editorControls>
            <textarea class=boardData></textarea>
            <input type=button value=Reload>
        </section>
        <section id=help>
            Arrow keys change direction.<br>
            Pause key pauses the game.<br>
            Enter restarts the game.<br>
        </section>

        <br>
        <canvas id=gameCanvas width=800 height=400 tabIndex=100></canvas>

        <script type="application/javascript">
            var canvas = document.getElementById("gameCanvas");
            var resetButton = document.getElementById("reset");
            var customLevelData = document.querySelector("#gameData textarea");

            Snake.initialize({ rows: parseInt(document.getElementById("rows").value),
                               cols: parseInt(document.getElementById("cols").value),
                               fps: parseInt(document.getElementById("fps").value)});

            resetButton.onclick = function() {
                if (customLevelData.value.trim().length > 0) {
                    Snake.initialize(JSON.parse(customLevelData.value)); }
                else { Snake.initialize({
                    editor: document.getElementById("useEditor").checked,
                    rows: parseInt(document.getElementById("rows").value),
                    cols: parseInt(document.getElementById("cols").value),
                    fps: parseInt(document.getElementById("fps").value)}); } }; 
        </script>
    </body>
</html>