<!doctype html>
<!-- saved from url=(0044)http://kenedict.com/networks/worldcup14/vis/ , thanks Andre!-->
<html>
<head>
    <meta http-equiv="content-type" content="text/html; charset=UTF8">
    <title>Network | Static smooth curves - World Cup Network</title>

    <script type="text/javascript" src="../dist/vis.js"></script>
    <link type="text/css" rel="stylesheet" href="../dist/vis.css">


    <style type="text/css">
        #mynetwork {
            width: 800px;
            height: 800px;
            border: 1px solid lightgray;
        }
    </style>
    <script src="../../googleAnalytics.js"></script>
</head>

<body>

<h2>Performance - World Cup Network</h2>

<div style="width:700px; font-size:14px;">
    This example shows the performance of vis with a larger network. The edges in
    particular (~9200) are very computationally intensive
    to draw. Drag and hold the graph to see the performance difference if the
    edges are hidden.
    <br/><br/>
    We use the following physics configuration: <br/>
    <code>{barnesHut: {gravitationalConstant: -80000, springConstant: 0.001,
        springLength: 200}}</code>
    <br/><br/>
</div>

<div id="mynetwork"></div>

<script type="text/javascript">
    var network;

    function loadJSON(path, success, error) {
        var xhr = new XMLHttpRequest();
        xhr.onreadystatechange = function () {
            if (xhr.readyState === 4) {
                if (xhr.status === 200) {
                    success(JSON.parse(xhr.responseText));
                }
                else {
                    error(xhr);
                }
            }
        };
        xhr.open('GET', path, true);
        xhr.send();
    }


    function redrawAll(data) {

        // remove positoins
//        for (var i = 0; i < nodes.length; i++) {
//            delete nodes[i].x;
//            delete nodes[i].y;
//        }

        // create a network
        var container = document.getElementById('mynetwork');
        console.log(data)
        var options = {
            edges:{
//                smooth:false,
            },
            layout:{
                improvedLayout:false
            },
            interaction: {
                hideEdgesOnDrag: true,
                keyboard: true,
                multiselect: true
            },
            physics: {
                enabled: true,
                solver: 'forceAtlas2Based',
                forceAtlas2Based: {
                    gravitationalConstant: -100,
                    springConstant: 0.40,
                    springLength: 50,
                    damping: 0.1,
                    avoidOverlap: 0
                },
                stabilization: {
                    enabled: true,
                    iterations: 1000,
                    fit: true
                },
                timestep: 0.5
            }
        };

        // Note: data is coming from ./datasources/WorldCup2014.js
        network = new vis.Network(container, data, options);
        network.on("startStabilizing", function (params) {
            console.log("started")
        });
        network.on("stabilizationProgress", function (params) {
            console.log("progress:",params);
        });
        network.on("stabilizationIterationsDone", function (params) {
            console.log("finished stabilization interations");
        });
        network.on("stabilized", function (params) {
            console.log("stabilized!", params);
        });

    }

    loadJSON('./dataTest.json', redrawAll, function(err) {console.log('error')});
</script>
</body>
</html>