var vi = {
title: "Obsah přednášky",
cps: [
{ title: 'Úvod', time: 0, level: 1 },
{ title: 'Definiční obor', time: 14, level: 1 },
{ title: 'Sudost, lichost, průsečíky s osami', time: 85, level: 1 },
{ title: 'Intervaly monotonie', time: 159, level: 1 },
{ title: 'Animace 1', time: 369, level: 1 },
{ title: 'Inflexní body, konvexnost, konkávnost', time: 409, level: 1 },
{ title: 'Animace 2', time: 651, level: 1 },
{ title: 'Asymptoty', time: 690, level: 1 },
{ title: 'Animace 3', time: 1008, level: 1 },
{ title: 'Graf', time: 1036, level: 1 }
]
}
var playerReady = false;
var cp_times = []; // pole časů v sekundách všech odkazovaných bodů ukládaných od nuly
//
Úvodní slovo0:00:00
function createVideoToc() {
var list = document.querySelector(".videoindex ul");
if (!list) {
list = document.querySelector(".videoindex").appendChild(document.createElement("ul")) ;
}
list.innerHTML = "";
for (var i = 0; i < vi.cps.length; i++) {
var item = vi.cps[i];
var li = document.createElement("li");
li.className = "level" + item.level;
li.title = "Skočit ve videu na požadovanou část";
li.setAttribute("data-time", item.time);
li.addEventListener("click", seekTime);
li.id = "cp_" + item.time;
var hod = Math.floor(item.time/3600);
var min = Math.floor((item.time % 3600)/60);
if (min < 10) min = "0" + min;
var sek = item.time % 60;
if (sek < 10) sek = "0" + sek;
var title = li.appendChild(document.createElement("span"));
title.className = "title";
title.innerHTML = item.title;
title = li.appendChild(document.createElement("span"));
title.className = "time";
title.innerHTML = "" /*+ hod + ":"*/ + min + ":" + sek;
item.li = li;
list.appendChild(li);
}
vi.activeCP = -1;
vi.player = document.querySelector("video");
//vi.player.play();
}
function flashFeedback(fb) {
console.log("Flash: " + fb)
}
function addVideoCp( nazev, cas) {
document.getElementById("videoplayer").appendCuePoint(nazev, cas);
}
function findPrevCuePoint(newTime) {
newTime = parseFloat(newTime);
if (newTime > cp_times[cp_times.length - 1]) {
changeCuePoint("cp_" + cp_times[cp_times.length - 1]);
return;
}
for (var i = 0; i < cp_times.length - 2; i++) {
if (newTime > cp_times[i] && newTime < cp_times[i + 1]) {
changeCuePoint("cp_" + cp_times[i]);
return;
}
}
}
var actualCp = "";
function seekTime(evt) {
//if (!playerReady) return;
//document.getElementById("videoplayer").seekTime(cas);
var cas = parseInt(evt.currentTarget.getAttribute("data-time"), 10);
vi.player.currentTime = cas;
vi.player.play();
if (actualCp != "") {
cp = document.getElementById(actualCp);
cp.className = cp.className.replace(" active", "");
}
changeCuePoint("cp_" + cas);
}
function setVideo(klip) {
document.getElementById("videoplayer").setVideo(klip);
}
function pauseVideo() {
document.getElementById("videoplayer").pauseMovie();
}
function changeCuePoint(cpid) {
var cp = null;
if (cpid.indexOf("stop") == 0) {
//alert("video zastaveno na CP " + cpid);
pauseVideo();
return;
}
if (actualCp != "") {
cp = document.getElementById(actualCp);
cp.className = cp.className.replace(" active", "");
}
cp = document.getElementById(cpid);
cp.className += " active";
actualCp = cpid;
}
function playerInitialized() {
playerReady = true;
/*generateVideoindex();*/
generateCuePoints();
//alert("ready")
}
window.addEventListener("load", createVideoToc);