<?php
require_once("config.php");

session_start();

if (!isset($_POST["password"])) {
    header("Location: login.php");
    exit();
}

if ($_POST["password"] != $conf["password"]) {
    header("Location: login.php?msg=wrong");
    exit();
}
?>
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Graf alternatiu FME</title>

    <meta name=viewport content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
    <link rel="manifest" href="manifest.json">

    <link rel="stylesheet" href="css/styles.css">
      
    <!-- Seach Bar CSS files -->  
    <link rel="stylesheet" href="./css/modal.css"></link>
    <link rel="stylesheet" href="./css/autocomplete.css"></link>

    <link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
    <link rel="stylesheet" href="https://code.getmdl.io/1.3.0/material.blue_grey-blue.min.css" />

    <!-- Apple web app -->
    <link rel="apple-touch-icon" href="img/graf.png">
    <meta name="apple-mobile-web-app-title" content="Graf FME">
    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta name="apple-mobile-web-app-status-bar-style" content="black">
  </head>
  <body>
	<button id="searchButton"class="mdl-button mdl-js-button mdl-button--fab mdl-button--mini-fab mdl-js-ripple-effect mdl-button--colored"><i class="material-icons">search</i></button>
	<button id="zoomin" class="mdl-button mdl-js-button mdl-button--fab mdl-button--mini-fab mdl-js-ripple-effect mdl-button--colored"><i class="material-icons">zoom_in</i></button>
    <button id="zoomout" class="mdl-button mdl-js-button mdl-button--fab mdl-button--mini-fab mdl-js-ripple-effect mdl-button--colored"><i class="material-icons">zoom_out</i></button>
	
    <div id="backdrop-container" style="display: none;">
      <div id="backdrop"></div>
    </div>
    <div id="dialog" class="mdl-shadow--2dp" style="display: none;">
      <button id="quit-dialog" class="mdl-button mdl-js-button mdl-button--icon mdl-js-ripple-effect"><i class="material-icons">close</i></button>
      <button id="min-dialog" class="mdl-button mdl-js-button mdl-button--icon mdl-js-ripple-effect"><i class="material-icons">remove</i></button>
      <div id="dialog-vertex">
        <h2 data-fill="name"></h2>
        <ul>
          <li><b>Any:</b> <span data-fill="year"></span></li>
          <li><b>Sexe:</b> <span data-fill="sex"></span></li>
          <li><b>ID:</b> <span data-fill="id"></span></li>
        </ul>
        <h3>Arestes (<span data-fill="n-edges"></span>):</h3>
        <ul data-fill="edges">
        </ul>
      </div>
      <div id="dialog-edge" style="display: none;">
      </div>
    </div>
    <div id="summary-dialog" class="mdl-shadow--2dp" style="display: none;">
      <button id="quit2-dialog" class="mdl-button mdl-js-button mdl-button--icon mdl-js-ripple-effect"><i class="material-icons">close</i></button>
      <button id="max-dialog" class="mdl-button mdl-js-button mdl-button--icon mdl-js-ripple-effect"><i class="material-icons">add</i></button>
      <div id="summary-vertex">
        <h2 data-fill="name"></h2>
        <p><span data-fill="year"></span>, <span data-fill="sex"></span>, <span data-fill="id"></span></p>
      </div>
    </div>
    <!-- Search Box -->
    <div id="searchBox" class="modal">
      <!-- Search Box Content -->
      <div class="modal-content">
        <span class="closeBox">&times;</span>

        <div class="in-box-content">
            <center>
                <form autocomplete="off">
                  <div class="autocomplete">
                    <input id="searchInput" type="text" placeholder="Busca una persona al graf">
                  </div>
                </form>
            </center>
        </div>
      </div>
    </div>
       
    <div id="graf"></div>
    
    <script src="https://cdnjs.cloudflare.com/ajax/libs/sigma.js/1.2.0/sigma.min.js"></script>
    <script>
		// Initialize the graph and the sigma
		var s, graf;
	</script>
	   
    <!-- Search Bar JS files -->
    <script src="./js/modal.js"></script>
    <script src="./js/autocomplete.js" ></script>
	
	<script src="js/script.js"></script>
	
    <script defer src="https://code.getmdl.io/1.3.0/material.min.js"></script>
    <!--<script src="js/service-worker.js"></script>-->
  </body>
</html>
