Mercurial > hg > mgallery
view mgallery.js @ 149:b4751909c48f
Move some Javascript code to a separate file and make the location configurable.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Wed, 06 Sep 2017 16:46:09 +0300 |
parents | |
children | 606b05c31d5e |
line wrap: on
line source
// // Yet Another Image Gallery // -- Main Javascript utility functions file // Programmed and designed by Matti 'ccr' Hamalainen <ccr@tnsp.org> // (C) Copyright 2015-2017 Tecnic Software productions (TNSP) // function mgalAddEvent(evobj, evtype, evcallback) { if (evobj == null || typeof(evobj) == 'undefined') return; if (evobj.addEventListener) evobj.addEventListener(evtype, evcallback, false); else if (evobj.attachEvent) evobj.attachEvent("on" + evtype, evcallback); else evobj["on"+evtype] = evcallback; }; function mgalNavigateTo(url) { if (url != "") window.location = url; } function mgalProcessKeyPress(ev) { ev = ev || window.event; var key = ev.keyCode ? ev.keyCode : ev.which; switch (key) { case 37: case 65: case 52: // left mgalNavigateTo(mgalPrevURL); break; case 39: case 68: case 54: // right mgalNavigateTo(mgalNextURL); break; case 38: case 56: // up mgalNavigateTo(mgalUpURL); break; default: return true; } ev.preventDefault(); return false; } function mgalGetWindowSize() { var winW = 0, winH = 0; if (typeof(window.innerWidth) == 'number') { // Non-MSIE winW = window.innerWidth; winH = window.innerHeight; } else if (document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight)) { // MSIE 6+ in 'standards compliant mode' winW = document.documentElement.clientWidth; winH = document.documentElement.clientHeight; } else if (document.body && (document.body.clientWidth || document.body.clientHeight)) { // MSIE 4 compatible winW = document.body.clientWidth; winH = document.body.clientHeight; } return [winW, winH]; } function mgalAdjustImageDo() { var eimg = document.getElementById("imageImage"); var win = mgalGetWindowSize(); var madj = 0.92; if (eimg) { if (eimg.width > eimg.height) { eimg.style.width = "100%"; eimg.style.height = "auto"; if (eimg.height > win[1] * madj) { eimg.style.width = "auto"; eimg.style.height = (win[1] * madj)+"px"; } } else { eimg.style.width = "auto"; if (eimg.height > win[1] * madj) eimg.style.height = (win[1] * madj)+"px"; else eimg.style.height = "100%"; } } adjustPID = -1; } function mgalAdjustImage() { if (adjustPID == -1) adjustPID = setTimeout(mgalAdjustImageDo, 50); }