<html>
<head>
    <script src="https://unpkg.com/ag-grid-enterprise@13.2.0/dist/ag-grid-enterprise.js"></script>
</head>
<body>

<div id="myGrid" class="ag-fresh" style="height: 100%;"></div>
<script src="main.js"></script>
</body>
</html>
var irishAthletes = ['John Joe Nevin','Katie Taylor','Paddy Barnes','Kenny Egan','Darren Sutherland', 'Margaret Thatcher', 'Tony Blair', 'Ronald Regan', 'Barack Obama'];

var columnDefs = [
    {headerName: "Athlete", field: "athlete", width: 150, filter: 'text',
        },
  //  {headerName: "Age", field: "age", width: 90, filter: 'number'},
    {headerName: "Country", field: "country", width: 140,
        cellRenderer: countryCellRenderer, keyCreator: countryKeyCreator, filter: 'set', filterParams:{selectAllOnMiniFilter:true}},
    //{headerName: "Year", field: "year", width: 90},
    {headerName: "Date", field: "date", width: 260, filter:'date',
      cellRenderer: dateCellRenderer, 
    },
  //  {headerName: "Sport", field: "sport", width: 110, filter: 'set', filterParams:{suppressMiniFilter:true}},
  //  {headerName: "Gold", field: "gold", width: 100, filter: 'number'},
  //  {headerName: "Silver", field: "silver", width: 100, filter: 'number'},
  //  {headerName: "Bronze", field: "bronze", width: 100, filter: 'number'},
  //  {headerName: "Total", field: "total", width: 100, filter: 'number'}
];

var gridOptions = {
    columnDefs: columnDefs,
    rowData: null,
    enableFilter: true,
    enableColResize: true,
    floatingFilter:true
};

function countryCellRenderer(params) {
    return params.value.name;// + ' (' + params.value.code + ')';
}

function dateCellRenderer(params,second) {
  //console.log(params,second);
  var oneDay = 24*60*60*1000; // hours*minutes*seconds*milliseconds
var firstDate = params.data.date;
var secondDate = new Date();

var diffDays = Math.round(Math.abs((firstDate.getTime() - secondDate.getTime())/(oneDay)));

    return "Valli "+diffDays+ " days - " + params.data.date + "test";// + ' (' + params.value.code + ')';
}

function countryKeyCreator(params) {
    var countryObject = params.value;
    var key = countryObject.name;
    return key;
}

function onFilterChanged(value) {
    gridOptions.api.setQuickFilter(value);
}

function setDataIntoGrid(data) {
    // hack the data, replace each country with an object of country name and code
    data.forEach( function(row) {
        var countryName = row.country;
        var countryCode = countryName.substring(0,2).toUpperCase();
        row.country = {
            name: countryName,
            code: countryCode
        };
        var parts =row.date.split('/');
//please put attention to the month (parts[0]), Javascript counts months from 0:
// January - 0, February - 1, etc
var mydate = new Date(parts[2],parts[1]-1,parts[0]); 
        row.date=mydate;
    });
    gridOptions.api.setRowData(data);
}

// setup the grid after the page has finished loading
document.addEventListener('DOMContentLoaded', function() {
    var gridDiv = document.querySelector('#myGrid');
    new agGrid.Grid(gridDiv, gridOptions);

    // // do http request to get our sample data - not using any framework to keep the example self contained.
    // // you will probably use a framework like JQuery, Angular or something else to do your HTTP calls.
    // var httpRequest = new XMLHttpRequest();
    // httpRequest.open('GET', 'https://raw.githubusercontent.com/ag-grid/ag-grid-docs/master/src/olympicWinnersSmall.json');
    // httpRequest.send();
    // httpRequest.onreadystatechange = function() {
    //     if (httpRequest.readyState === 4 && httpRequest.status === 200) {
    //         var httpResult = JSON.parse(httpRequest.responseText);
           var httpResult = [
             {"athlete":"Michael Phelps","age":23,"country":"","year":2016,"date":"24/08/2016","sport":"Swimming","gold":8,"silver":0,"bronze":0,"total":8},{"athlete":"James Phelps","age":19,"country":"United States","year":2004,"date":"29/08/2004","sport":"Swimming","gold":6,"silver":0,"bronze":2,"total":8},
             {"athlete":"Valli Phelps","age":23,"country":"","year":2016,"date":"24/08/2016","sport":"Swimming","gold":8,"silver":0,"bronze":0,"total":8},{"athlete":"Michael Phelps","age":19,"country":"India","year":2004,"date":"29/08/2004","sport":"Swimming","gold":6,"silver":0,"bronze":2,"total":8},
              {"athlete":"Bala Phelps","age":23,"country":"","year":2016,"date":"24/08/2016","sport":"Swimming","gold":8,"silver":0,"bronze":0,"total":8},{"athlete":"Ibrahim Phelps","age":19,"country":"Swiss","year":2004,"date":"29/08/2004","sport":"Swimming","gold":6,"silver":0,"bronze":2,"total":8},
               ];
            setDataIntoGrid(httpResult);
    //     }
    // };
});