function loadTranscript(lang) {
loadTranscriptFile('elephants-dream-subtitles-' + lang + '.vtt');
}
function loadTranscriptFile(webvttFile) {
var reqTrans = new XMLHttpRequest();
reqTrans.open('GET', webvttFile);
reqTrans.onreadystatechange = function() {
if (reqTrans.readyState == 4 && (reqTrans.status == 200 || reqTrans.status == 0)) {
var pattern = /^([0-9]+)$/;
var patternTimecode = /^([0-9]{2}:[0-9]{2}:[0-9]{2}[,.]{1}[0-9]{3}) --\> ([0-9]{2}:[0-9]{2}:[0-9]{2}[,.]{1}[0-9]{3})(.*)$/;
var content = reqTrans.responseText;
var lines = content.split(/\r?\n/);
var transcript = '';
for (i = 0; i < lines.length; i++) {
if (identifier = pattern.exec(lines[i])) {
i++;
var timecode = patternTimecode.exec(lines[i]);
if (timecode && i < lines.length) {
i++;
var text = lines[i];
i++;
while (lines[i] != '' && i < lines.length) {
text = text + '\n' + lines[i];
i++;
}
var transText = '';
var voices = getVoices(text);
if (voices.length > 0) {
for (var j = 0; j < voices.length; j++) {
transText += voices[j].voice + ': ' + removeHTML(voices[j].text) + '
';
}
}
else transText = removeHTML(text) + '
';
transcript += transText;
}
}
}
var oTrans = document.getElementById('transcript');
oTrans.innerHTML = transcript;
}
};
reqTrans.send(null);
}
function getVoices(speech) {
var voices = new Array();
var pos = speech.indexOf('');
var voice = speech.substring(pos + 2, endVoice).trim();
var endSpeech = speech.indexOf('');
var text = speech.substring(endVoice + 1, endSpeech);
voices.push({
'voice': voice,
'text': text
});
speech = speech.substring(endSpeech + 4);
pos = speech.indexOf('