summaryrefslogtreecommitdiff
path: root/www/js/html5ks.js
diff options
context:
space:
mode:
Diffstat (limited to 'www/js/html5ks.js')
-rw-r--r--www/js/html5ks.js41
1 files changed, 32 insertions, 9 deletions
diff --git a/www/js/html5ks.js b/www/js/html5ks.js
index 6c0234e..3291dab 100644
--- a/www/js/html5ks.js
+++ b/www/js/html5ks.js
@@ -35,7 +35,13 @@
who: document.getElementById("who"),
say: document.getElementById("say"),
bg: document.getElementById("bg"),
- window: document.getElementById("window")
+ window: document.getElementById("window"),
+ mainMenu: document.getElementById("main-menu"),
+ dialogs: document.getElementById("dialogs"),
+ dialog: {
+ options: document.getElementById("options"),
+ return: document.getElementById("return")
+ }
};
this.elements.audio.music.loop = true;
this.elements.audio.ambient.loop = true;
@@ -47,8 +53,8 @@
localStorage.persistent = JSON.stringify(this.persistent);
},
scale: function () {
- var newScale = 1;
if (html5ks.persistent.settings.scale) {
+ var newScale = 1;
var height = document.documentElement.clientHeight,
width = document.documentElement.clientWidth;
if (height / width <= 0.75) { // widescreen
@@ -56,12 +62,22 @@
} else {
newScale = width / 800;
}
- } else {
- newScale = 1;
+
+ var container = html5ks.elements.container;
+ container.style.webkitTransform = "scale(" + newScale + ")";
+ container.style.mozTransform = "scale(" + newScale + ")";
+ container.style.transform = "scale(" + newScale + ")";
+
+ var applyScale = function (el, scale) {
+ el.style.height = scale * 600 + "px";
+ el.style.marginTop = "-" + scale * 300 + "px";
+ el.style.width = scale * 800 + "px";
+ el.style.marginLeft = "-" + scale * 400 + "px";
+ }
+
+ applyScale(html5ks.elements.bg, newScale);
+ applyScale(html5ks.elements.video, newScale);
}
- html5ks.elements.container.style.webkitTransform = "scale(" + newScale + ")";
- html5ks.elements.container.style.mozTransform = "scale(" + newScale + ")";
- html5ks.elements.container.style.transform = "scale(" + newScale + ")";
},
next: function () {},
initEvents: function () {
@@ -69,6 +85,13 @@
this.elements.container.addEventListener("mouseup", function () {
html5ks.next();
}, false);
+ var deselect = function () {
+ window.getSelection().collapse(this, 0);
+ };
+ document.body.addEventListener("mousemove", deselect, true);
+ document.body.addEventListener("mouseup", deselect, true);
+ document.body.addEventListener("keyup", deselect, true);
+ this.menu.initEvents();
},
warnUnsupported: function () {
if (!html5ks.persistent.settings.gotit) {
@@ -101,7 +124,7 @@
winload: function () {
this.fetch("script", "a1-monday").then(function () {
html5ks.api.movie_cutscene("4ls").then(function () {
- html5ks.api.iscene("en_NOP1")
+ html5ks.menu.mainMenu();
});
});
},
@@ -114,7 +137,7 @@
deferred.resolve();
} else {
var xhr = new XMLHttpRequest();
- xhr.open("GET", "/scripts/script-" + name + ".json");
+ xhr.open("GET", "scripts/script-" + name + ".json");
xhr.onreadystatechange = function () {
script[name] = true;
if (xhr.readyState === 4) {