/* [ScreenSizes-Klasse] */
/*  
* Anzeigebereich Fenster ermitteln
* (orig. von Christian Montoya; bearbeitet von ufr - objekt)
*/
var ScreenSizes = function() {
var xScroll, yScroll;
var innerHeight, windowWidth;
var pageHeight, pageWidth;
return {
request: function() {
if (window.innerHeight && window.scrollMaxY) {
xScroll = document.body.scrollWidth;
yScroll = window.innerHeight + window.scrollMaxY;
} else if (document.body.scrollHeight > document.body.offsetHeight) { // all but Explorer Mac
xScroll = document.body.scrollWidth;
yScroll = document.body.scrollHeight;
} else if (document.documentElement && document.documentElement.scrollHeight > document.documentElement.offsetHeight) { // Explorer 6 strict mode
xScroll = document.documentElement.scrollWidth;
yScroll = document.documentElement.scrollHeight;
} else { // Explorer Mac...would also work in Mozilla and Safari
xScroll = document.body.offsetWidth;
yScroll = document.body.offsetHeight;
}
if (innerHeight) { // all except Explorer
windowWidth = innerWidth;
windowHeight = innerHeight;
} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
windowWidth = document.documentElement.clientWidth;
windowHeight = document.documentElement.clientHeight;
} else if (document.body) { // other Explorers
windowWidth = document.body.clientWidth;
windowHeight = document.body.clientHeight;
}
// for small pages with total height less then height of the viewport
if (yScroll < windowHeight) {
pageHeight = windowHeight;
} else {
pageHeight = yScroll;
}
// for small pages with total width less then width of the viewport
if (xScroll < windowWidth) {
pageWidth = windowWidth;
} else {
pageWidth = xScroll;
}
},
getPageWidth: function() {
return pageWidth || 0;
},
getPageHeight: function() {
return pageHeight || 0;
},
getWindowWidth: function() {
return windowWidth || 0;
},
getWindowHeight: function() {
return windowHeight || 0;
}
}
}();
