diff --git a/evopedia-html5/WebContent/evopedia.html b/evopedia-html5/WebContent/evopedia.html index 66635fbc..b367b421 100644 --- a/evopedia-html5/WebContent/evopedia.html +++ b/evopedia-html5/WebContent/evopedia.html @@ -2,7 +2,7 @@ - + Evopedia HTML5 @@ -17,11 +17,16 @@ Blockoffset : Length :

- + + +
+Choose a title :
 

diff --git a/evopedia-html5/WebContent/evopedia.js b/evopedia-html5/WebContent/evopedia.js index 34ff4e6b..372939e7 100644 --- a/evopedia-html5/WebContent/evopedia.js +++ b/evopedia-html5/WebContent/evopedia.js @@ -1,5 +1,6 @@ -var file=document.getElementById('files').files[0]; +var dataFile=document.getElementById('dataFile').files[0]; +var titleFile=document.getElementById('titleFile').files[0]; var storage = navigator.getDeviceStorage('music'); //alert(storage); @@ -7,40 +8,124 @@ var storage = navigator.getDeviceStorage('music'); if (!storage) { //alert("no device storage available"); document.getElementById('openLocalFiles').style.visibility="visible"; - document.getElementById('files').addEventListener('change', handleFileSelect, false); - document.getElementById('files').addEventListener('load', handleFileSelect, false); + document.getElementById('dataFile').addEventListener('change', handleDataFileSelect, false); + document.getElementById('titleFile').addEventListener('change', handleTitleFileSelect, false); } else { var filerequest = storage.get('wikipedia_small_2010-08-14/wikipedia_00.dat'); //alert(filerequest); filerequest.onsuccess = function() { - file = filerequest.result; - //alert(file); - //readArticleFromHtmlForm(file); + dataFile = filerequest.result; + //alert(dataFile); + filerequest = storage.get('wikipedia_small_2010-08-14/titles.idx'); + filerequest.onsuccess = function() { + titleFile = filerequest.result; + //alert(titleFile); + //readArticleFromHtmlForm(file); + }; + filerequest.onerror = function() { + alert("error reading title file"); + }; }; filerequest.onerror = function() { - alert("error reading file"); + alert("error reading data file"); }; } -function readArticleFromHtmlForm(file) { - if (file) { +function updateOffsetsFromTitle(selectValue) { + var offsets=selectValue.split(/\|/); + document.getElementById("blockstart").value=offsets[1]; + document.getElementById("blockoffset").value=offsets[2]; + document.getElementById("length").value=offsets[3]; +} + +function readIntegerFrom4Bytes(byteArray,firstIndex) { + return byteArray[firstIndex] + byteArray[firstIndex+1]*256 + byteArray[firstIndex+2]*65536 + byteArray[firstIndex+3]*16777216; +} + +function readAllTitlesFromIndex(titleFile) { + if (titleFile) { + var reader = new FileReader(); + reader.onerror = errorHandler; + reader.onabort = function(e) { + alert('Title file read cancelled'); + }; + reader.onload = function(e) { + var binaryTitleFile = e.target.result; + var byteArray = new Uint8Array(binaryTitleFile); + + var i = 0; + var titleNumber=0; + var comboTitleList = document.getElementById('titleList'); + + while (i