170 lines
4.0 KiB
JavaScript
170 lines
4.0 KiB
JavaScript
MAX_IMG_NUMBER = 7
|
|
ASSET_PATH = "\"assets/frame1/"
|
|
ASSET_SUFFIX = ".JPG"
|
|
SET_COOKIE = false
|
|
|
|
var frames = [
|
|
{
|
|
DOMElement : null,
|
|
IMGCounter : 0,
|
|
ASSET_FOLDER : "assets/frame1/",
|
|
},
|
|
{
|
|
DOMElement : null,
|
|
IMGCounter : 0,
|
|
ASSET_FOLDER : "assets/frame2/",
|
|
},
|
|
{
|
|
DOMElement : null,
|
|
IMGCounter : 0,
|
|
ASSET_FOLDER : "assets/fpk2/",
|
|
}
|
|
]
|
|
|
|
FOOBAR = ""
|
|
|
|
document.addEventListener('DOMContentLoaded', function() {
|
|
frames[0].DOMElement = document.querySelector("#left.side .frame")
|
|
frames[1].DOMElement = document.querySelector("#right.side .frame")
|
|
frames[2].DOMElement = document.querySelector("#fpk.side .frame")
|
|
|
|
frames.forEach(function(val, i) {
|
|
if (frames[i].DOMElement != null) {
|
|
nextImage(frames[i])
|
|
}
|
|
});
|
|
|
|
old_cookies = document.cookie
|
|
setInterval(function() {
|
|
var new_cookies = document.cookie
|
|
if (old_cookies != new_cookies && !SET_COOKIE) {
|
|
var cookie = new_cookies
|
|
var deviderPos = cookie.indexOf("=")
|
|
var name = deviderPos > -1 ? cookie.substr(0, deviderPos) : cookie;
|
|
var value = cookie.substr(deviderPos + 1, cookie.length)
|
|
|
|
if (name != "") {
|
|
console.log("processing remote keypress: " + value )
|
|
processKeypress(value)
|
|
cookie = name + "=;expires=Thu, 01 Jan 1970 00:00:00 GMT";
|
|
}
|
|
document.cookie = cookie
|
|
old_cookies = new_cookies
|
|
} else {
|
|
SET_COOKIE = false
|
|
}
|
|
}, 10)
|
|
}, false);
|
|
|
|
|
|
|
|
function deleteAllCookies() {
|
|
var cookies = document.cookie.split(";");
|
|
|
|
for (var i = 0; i < cookies.length; i++) {
|
|
var cookie = cookies[i];
|
|
var eqPos = cookie.indexOf("=");
|
|
var name = eqPos > -1 ? cookie.substr(0, eqPos) : cookie;
|
|
document.cookie = name + "=;expires=Thu, 01 Jan 1970 00:00:00 GMT";
|
|
}
|
|
}
|
|
|
|
document.addEventListener("keypress", function(keyEvent) {
|
|
processKeypress(keyEvent.key)
|
|
}, false);
|
|
|
|
function processKeypress(keypress) {
|
|
switch (keypress) {
|
|
case "q":
|
|
targetFrame = frames[0]
|
|
if (targetFrame.DOMElement != null) {
|
|
prevImage(targetFrame)
|
|
SET_COOKIE = false
|
|
} else {
|
|
console.log("frame not available, setting cookie")
|
|
document.cookie = "key="+keypress
|
|
SET_COOKIE = true
|
|
}
|
|
break;
|
|
case "w":
|
|
targetFrame = frames[0]
|
|
if (targetFrame.DOMElement != null) {
|
|
nextImage(targetFrame)
|
|
SET_COOKIE = false
|
|
} else {
|
|
console.log("frame not available, setting cookie")
|
|
document.cookie = "key="+keypress
|
|
SET_COOKIE = true
|
|
}
|
|
break;
|
|
case "a":
|
|
targetFrame = frames[1]
|
|
if (targetFrame.DOMElement != null) {
|
|
prevImage(targetFrame)
|
|
SET_COOKIE = false
|
|
} else {
|
|
console.log("frame not available, setting cookie")
|
|
document.cookie = "key="+keypress
|
|
SET_COOKIE = true
|
|
}
|
|
break;
|
|
case "s":
|
|
targetFrame = frames[1]
|
|
if (targetFrame.DOMElement != null) {
|
|
nextImage(targetFrame)
|
|
SET_COOKIE = false
|
|
} else {
|
|
console.log("frame not available, setting cookie")
|
|
document.cookie = "key="+keypress
|
|
SET_COOKIE = true
|
|
}
|
|
break;
|
|
case "y":
|
|
targetFrame = frames[2]
|
|
if (targetFrame.DOMElement != null) {
|
|
prevImage(targetFrame)
|
|
SET_COOKIE = false
|
|
} else {
|
|
console.log("frame not available, setting cookie")
|
|
document.cookie = "key="+keypress
|
|
SET_COOKIE = true
|
|
}
|
|
break;
|
|
case "x":
|
|
targetFrame = frames[2]
|
|
if (targetFrame.DOMElement != null) {
|
|
nextImage(targetFrame)
|
|
SET_COOKIE = false
|
|
} else {
|
|
console.log("frame not available, setting cookie")
|
|
document.cookie = "key="+keypress
|
|
SET_COOKIE = true
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
|
|
function nextImage(targetFrame) {
|
|
if (targetFrame.IMGCounter >= MAX_IMG_NUMBER) {
|
|
targetFrame.IMGCounter = 0
|
|
} else {
|
|
targetFrame.IMGCounter++
|
|
}
|
|
|
|
setFrameImage(targetFrame.DOMElement, "\"" + targetFrame.ASSET_FOLDER + targetFrame.IMGCounter + ASSET_SUFFIX + "\"")
|
|
}
|
|
|
|
function prevImage(targetFrame) {
|
|
if (targetFrame.IMGCounter <= 0) {
|
|
targetFrame.IMGCounter = MAX_IMG_NUMBER
|
|
} else {
|
|
targetFrame.IMGCounter--
|
|
}
|
|
|
|
setFrameImage(targetFrame.DOMElement, "\"" + targetFrame.ASSET_FOLDER + targetFrame.IMGCounter + ASSET_SUFFIX + "\"")
|
|
}
|
|
|
|
function setFrameImage(frame, imgPath) {
|
|
frame.style.backgroundImage = "url(" + imgPath + ")"
|
|
}
|