69 lines
2.1 KiB
JavaScript
69 lines
2.1 KiB
JavaScript
/*
|
|
To the extent possible under law, Niels Serup has waived all copyright and
|
|
related or neighboring rights to this file. This file is available under the
|
|
Creative Commons Zero 1.0 license, see
|
|
http://creativecommons.org/publicdomain/zero/1.0/
|
|
|
|
This JavaScript file contains trivial code. It is required for aesthetic
|
|
reasons only. Not loading it will not make a website depending on it less
|
|
functional.
|
|
*/
|
|
|
|
get_window_size = function() {
|
|
if (window.innerHeight)
|
|
return [window.innerHeight, window.innerWidth];
|
|
else if (self.innerHeight)
|
|
return [self.innerHeight, self.innerWidth];
|
|
else if (document.documentElement && document.documentElement.clientHeight)
|
|
return [document.documentElement.clientHeight,
|
|
document.documentElement.clientWidth];
|
|
else if (document.body)
|
|
return [document.body.clientHeight, document.body.clientWidth];
|
|
};
|
|
|
|
is_screen_media = function() {
|
|
return (document.getElementsByTagName('link')[0].getAttribute('media').indexOf(
|
|
'screen') != -1 || (document.styleSheets &&
|
|
(document.styleSheets[0].media.mediaText.indexOf(
|
|
'screen') != -1 || document.styleSheets[0].media.indexOf(
|
|
'screen') != -1)));
|
|
};
|
|
|
|
set_min_height = function() {
|
|
var ws, wh, ww, h;
|
|
ws = get_window_size();
|
|
wh = ws[0];
|
|
ww = ws[1];
|
|
|
|
h = metadiv.offsetHeight + 25;
|
|
metadiv.style.position = 'absolute';
|
|
metadiv.style.bottom = '5px';
|
|
metadiv.style.width = (contentdiv.offsetWidth - 42) + 'px';
|
|
contentdiv.style.paddingBottom = h + 'px';
|
|
|
|
h = wh - h - menudiv.offsetHeight - 165;
|
|
contentdiv.style.minHeight = h + 'px';
|
|
};
|
|
|
|
set_logo_width = function() {
|
|
var ws;
|
|
ws = get_window_size();
|
|
ww = ws[1];
|
|
logodiv.style.width = ww + 'px';
|
|
};
|
|
|
|
adjust_sizes = function() {
|
|
if (!is_screen_media())
|
|
return;
|
|
set_min_height();
|
|
set_logo_width();
|
|
};
|
|
|
|
window.addEventListener('load', function(event){
|
|
menudiv = document.getElementById('menu');
|
|
contentdiv = document.getElementById('content');
|
|
metadiv = document.getElementById('metadata');
|
|
logodiv = document.getElementById('logo');
|
|
adjust_sizes();
|
|
}, false);
|