var mainDB;
var gAppInitDone = false;
+var firstRun = false;
var gUIHideCountdown = 0;
var gWaitCounter = 0;
var gTrackUpdateInterval;
mSel.add(opt, null);
}
- var areas = document.getElementsByClassName("overlayArea");
+ var areas = document.getElementsByClassName("autoFade");
for (var i = 0; i <= areas.length - 1; i++) {
areas[i].addEventListener("mouseup", uiEvHandler, false);
areas[i].addEventListener("mousemove", uiEvHandler, false);
document.getElementById("uploadDevName").value = aValue;
}
});
+ if (firstRun) {
+ showFirstRunDialog();
+ }
+ else {
+ gPrefs.get("lastInfoShown", function(aValue) {
+ if (!aValue || !parseInt(aValue) || parseInt(aValue) < 1) {
+ showInfoDialog();
+ }
+ });
+ }
+ gPrefs.set("lastInfoShown", 1);
}
window.onresize = function() {
if (!mainDB.objectStoreNames.contains("prefs")) {
// Create a "prefs" objectStore.
var prefsStore = mainDB.createObjectStore("prefs");
+ firstRun = true;
}
if (!mainDB.objectStoreNames.contains("track")) {
// Create a "track" objectStore.
function showUI() {
if (gUIHideCountdown <= 0) {
- var areas = document.getElementsByClassName('overlayArea');
+ var areas = document.getElementsByClassName('autoFade');
for (var i = 0; i <= areas.length - 1; i++) {
areas[i].classList.remove("hidden");
}
function maybeHideUI() {
gUIHideCountdown--;
if (gUIHideCountdown <= 0) {
- var areas = document.getElementsByClassName('overlayArea');
+ var areas = document.getElementsByClassName('autoFade');
for (var i = 0; i <= areas.length - 1; i++) {
areas[i].classList.add("hidden");
}
function toggleTrackArea() {
var fs = document.getElementById("trackArea");
if (fs.classList.contains("hidden")) {
+ prepareLoginButton();
fs.classList.remove("hidden");
showUI();
gTrackUpdateInterval = setInterval(updateTrackInfo, 1000);
dia.classList.remove("hidden");
}
+function cancelTrackDialog() {
+ document.getElementById("trackDialogArea").classList.add("hidden");
+ document.getElementById("uploadTrackButton").disabled = false;
+}
+
function showGLWarningDialog() {
var dia = document.getElementById("dialogArea");
var areas = dia.children;
dia.classList.remove("hidden");
}
-function cancelTrackDialog() {
- document.getElementById("trackDialogArea").classList.add("hidden");
- document.getElementById("uploadTrackButton").disabled = false;
+function showFirstRunDialog() {
+ var dia = document.getElementById("dialogArea");
+ var areas = dia.children;
+ for (var i = 0; i <= areas.length - 1; i++) {
+ areas[i].style.display = "none";
+ }
+ document.getElementById("firstRunIntro").style.display = "block";
+ dia.classList.remove("hidden");
+}
+
+function closeDialog() {
+ document.getElementById("dialogArea").classList.add("hidden");
+}
+
+function showInfoDialog() {
+ var dia = document.getElementById("dialogArea");
+ var areas = dia.children;
+ for (var i = 0; i <= areas.length - 1; i++) {
+ areas[i].style.display = "none";
+ }
+ document.getElementById("infoDialog").style.display = "block";
+ dia.classList.remove("hidden");
}
var uiEvHandler = {
if (aStatusCode >= 400) {
reportUploadStatus(false, aResult);
}
- else {
+ else if (aResult["id"]) {
reportUploadStatus(true);
}
+ else { // If no ID is returned, we assume a general error.
+ reportUploadStatus(false);
+ }
}
);
}
-function reportUploadStatus(aSuccess, aMessage) {
+function reportUploadStatus(aSuccess, aResponse) {
document.getElementById("uploadStatusCloseButton").disabled = false;
document.getElementById("uploadInProgress").style.display = "none";
if (aSuccess) {
document.getElementById("uploadSuccess").style.display = "block";
}
- else if (aMessage) {
- document.getElementById("uploadErrorMsg").textContent = aMessage;
+ else if (aResponse["message"]) {
+ document.getElementById("uploadErrorMsg").textContent = aResponse["message"];
+ if (aResponse["errortype"]) {
+ document.getElementById("uploadErrorMsg").textContent += " (" + aResponse["errortype"] + ")";
+ }
+ document.getElementById("uploadError").style.display = "block";
+ }
+ else if (aResponse) {
+ document.getElementById("uploadErrorMsg").textContent = aResponse;
document.getElementById("uploadError").style.display = "block";
}
else {