<script src="/static/oxjs/min/Ox.js"></script>
<script>
function pandora_api(action, data, callback) {
    var url = '/api/';
    var xhr = new XMLHttpRequest();
    xhr.addEventListener('load', function (evt) {
        var data = JSON.parse(evt.target.responseText);
        callback(data);
    });
    var formData = new FormData();
    formData.append('action', action);
    formData.append('data', JSON.stringify(data));
    xhr.open('POST', url);
    xhr.send(formData);
}

function render() {
    var hash = document.location.hash.slice(1).split('/')
    if (hash.length == 2) {
        var item = hash[0],
            time = hash[1].split(','),
            in_ = time[0],
            out = time[1];

        in_ = Ox.parseDuration(in_);
        out = Ox.parseDuration(out);
        pandora_api('get', {
            id: item,
            keys: ['title', 'layers']
        }, function(result) {
            var html = ''
            var url = document.location.protocol + '//' + document.location.host + '/' + item + '/' + time[0] + ',' + time[1];
            html += '<h1>' + result.data.title + ': ' + time[0] + ' - ' + time[1] + '</h1>'
            html += url + '<br><br>'
            html += '<a href="' + url + '"><img src="/' + item + '/240p'+in_+'.jpg"></a><br>'
            var current
            Ox.sortBy(result.data.layers.keywords, 'value').forEach(function(keyword) {
                if (keyword['in'] <= out && keyword['out'] >= in_) {
                    var section = keyword['value'].split(': ')[0]
                    if (section != current) {
                        current = section
                            html += '<br><b>' + section + ':</b><br>';
                    }
                    html += keyword['value'].split(': ')[1] + '<br>';
                }
            })
            document.body.innerHTML = html;
        });
    } else {
    }
}
window.onhashchange = render

render()
</script>
<style>
body {
    font-family: sans-serif;
}
</style>