X-Git-Url: https://git-public.kairo.at/?p=lantea.git;a=blobdiff_plain;f=js%2Fui.js;h=7ed15e286fe8cabe54dd1c92cbb46a1a1cb78e5c;hp=6566a86254e010bdd15ba67fab587d8c7dab346e;hb=3d99a6fd7f01119be461690e77a4cf10fd4122ba;hpb=c537874767ee78334e65c6a0532358ac724f857f diff --git a/js/ui.js b/js/ui.js index 6566a86..7ed15e2 100644 --- a/js/ui.js +++ b/js/ui.js @@ -3,10 +3,11 @@ * You can obtain one at http://mozilla.org/MPL/2.0/. */ // Get the best-available indexedDB object. -var iDB = window.indexedDB || window.webkitIndexedDB || window.mozIndexedDB || window.msIndexedDB; +window.indexedDB = window.indexedDB || window.webkitIndexedDB || window.mozIndexedDB || window.msIndexedDB; var mainDB; var gUIHideCountdown = 0; +var gWaitCounter = 0; window.onload = function() { var mSel = document.getElementById("mapSelector"); @@ -31,10 +32,32 @@ window.onload = function() { areas[i].addEventListener("touchleave", uiEvHandler, false); } + if (navigator.platform.length == "") { + // For Firefox OS, don't display the "save" button. + // Do this by setting the debugHide class for testing in debug mode. + document.getElementById("saveTrackButton").classList.add("debugHide"); + } initDB(); initMap(); - resizeAndDraw(); + + var loopCnt = 0; + var waitForInitAndDraw = function() { + if ((gWaitCounter <= 0) || (loopCnt > 100)) { + if (gWaitCounter <= 0) + gWaitCounter = 0; + else + document.getElementById("debug").textContent = "Loading failed (waiting for init)."; + + gMapPrefsLoaded = true; + resizeAndDraw(); + setTracking(document.getElementById("trackCheckbox")); + } + else + setTimeout(waitForInitAndDraw, 100); + loopCnt++; + }; + waitForInitAndDraw(); } window.onresize = function() { @@ -43,7 +66,7 @@ window.onresize = function() { function initDB() { // Open DB. - var request = iDB.open("MainDB", 1); + var request = window.indexedDB.open("MainDB", 1); request.onerror = function(event) { // Errors can be handled here. Error codes explain in: // https://developer.mozilla.org/en/IndexedDB/IDBDatabaseException#Constants