/*************************************************** * ofop.five javascript loader */ var OFOP_DOMAIN = 'www.bikerbilder.de'; var OFOP_BASE_URI = '/'; var LIB = '/lib/'; var JSLIB = '/jslib/'; var APPS = '/apps/'; var APPDATA = '/appdata/'; /* * util/visibility.js */ // /****************************************************** * */ /*public*/ var gobjCurrDocument = new CurrentDocument(); /** OBJECT ******************************************** * */ function CurrentDocument() { this.mobjBody = null; } /****************************************************** * */ CurrentDocument.prototype.getBody = function() { if( this.mobjBody == null ) this.mobjBody = getElementByTag('body'); return this.mobjBody; } /****************************************************** * */ function getDocument(vntElement) { var objElement = null; if( typeof vntElement == 'object' ) objElement = vntElement; else objElement = getElement(vntElement); if (objElement.contentDocument) return objElement.contentDocument; if (objElement.contentWindow) return IFrameObj.contentWindow.document; if (objElement.document) return objElement.document; } /****************************************************** * */ function getElement(strID) { return document.getElementById(strID); } /****************************************************** * */ function getElementByTag(strName) { var objElements = document.getElementsByTagName(strName); if( objElements != null ) return objElements.item(0); return null; } /****************************************************** * params 2-n are optional */ function createElement(strTagName, intWith, intHeight, intLeft, intTop) { var objResult = document.createElement(strTagName); objResult.style.padding = 0 + 'px'; objResult.style.margin = 0 + 'px'; objResult.style.border = 'none'; if( arguments.length > 1 ) objResult.style.width = intWith + 'px'; if( arguments.length > 2 ) objResult.style.height = intHeight + 'px'; if( arguments.length > 3 ) { objResult.style.position = 'absolute'; objResult.style.left = intLeft + 'px'; } if( arguments.length > 4 ) objResult.style.top = intTop + 'px'; return objResult; } /****************************************************** * */ function createText(strText) { return document.createTextNode(strText); } /****************************************************** * */ function addEvent(objSource, strEvent, objFunction) { strEvent = strEvent.toLowerCase(); if( objSource.addEventListener ) objSource.addEventListener(strEvent, objFunction, false); else objSource.attachEvent('on' + strEvent, objFunction); } /****************************************************** * */ function getEventTarget(objEvent) { if( objEvent == null ) { alert( 'getEventTarget: objEvent == null' ); return null; } if( objEvent.srcElement ) return objEvent.srcElement; else if( objEvent.target ) return objEvent.target; else return null; } /****************************************************** * */ function getMousePos(objEvent) { if( objEvent == null ) { alert( 'getMousePos: objEvent == null' ); return null; } //debugObject(objEvent); try { var objResult = new Rectangle(); if(objEvent.x) { objResult.left = objEvent.x; objResult.top = objEvent.y; } else { objResult.left = objEvent.pageX; objResult.top = objEvent.pageY; } return objResult; } catch( exception ) { return null; } } /****************************************************** * */ function getMouseButton(objEvent) { if( objEvent == null ) { alert( 'getMouseButton: objEvent == null' ); return -1; } var button = 1; if( objEvent.button ) { button=objEvent.button; } else { button=objEvent.which; } return button; } /** OBJECT ******************************************** * */ function Rectangle() { this.left = 0; this.top = 0; this.width = 0; this.height = 0; } /****************************************************** * */ function getAbsolutePosition(objElement) { var objPos = new Rectangle(); objPos.width = objElement.offsetWidth; objPos.height = objElement.offsetHeight; while( objElement != null ) { objPos.left += objElement.offsetLeft; objPos.top += objElement.offsetTop; objElement = objElement.offsetParent; } return objPos; } /****************************************************** * */ function getClientSize() { var objResult = new Rectangle(); if( typeof(window.innerWidth) == 'number' ) { // Not IE objResult.width = window.innerWidth; objResult.height = window.innerHeight; } else if( document.documentElement && document.documentElement.clientWidth ) { //IE 6+ in 'standards compliant mode' objResult.width = document.documentElement.clientWidth; objResult.height = document.documentElement.clientHeight; } else if( document.body && document.body.clientWidth ) { //IE 4 compatible objResult.width = document.body.clientWidth; objResult.height = document.body.clientHeight; } return objResult; } /****************************************************** * */ function debugObject(objCurr) { var strResult = ''; if( objCurr == null ) strResult = 'NULL'; else { for(var strCurr in objCurr) { strResult += strCurr + ' = ' + objCurr[strCurr] + "\n"; } } debugWin(strResult); } /****************************************************** * */ function debugWin(strText) { var strOptions = 'width=700,height=550,toolbar=0,scrollbars=1'; var objWin = window.open('', 'DebugWin', strOptions); objWin.document.write('
' + strText + '
'); objWin.document.close(); objWin.moveTo(10, 10); objWin.focus(); } /****************************************************** * * to hide elements on load, call * addHideOnLoad( 'element-id' ); * * to make these elements hide on load, call * visibilityInit(); * in 'onLoad'-Event of the Document. */ /*private*/ var vs_aryHideOnLoad = new Array(0); /****************************************************** * */ function addHideOnLoad(strElementID) { vs_aryHideOnLoad = pushArray(vs_aryHideOnLoad, strElementID); } /****************************************************** * */ function visibilityInit() { var i = 0; var n = vs_aryHideOnLoad.length; for( i=0 ; i < n ; i++ ) hideElement(vs_aryHideOnLoad[i]); } /****************************************************** * */ function toggleVisibility(strElementID) { if( isElementVisible(strElementID) ) hideElement(strElementID); else showElement(strElementID); } /****************************************************** * */ function isElementVisible(strElementID) { var objCurr = getElement(strElementID); if( objCurr == null ) { alert( 'No such Element: ' + strElementID ); return; } if( objCurr.style.display == 'none' ) return false; else return true; } /****************************************************** * */ function hideElement(strElementID) { var objCurr = getElement(strElementID); if( objCurr == null ) { alert( 'No such Element: ' + strElementID ); return; } objCurr.style.display = 'none'; objCurr.style.visibility = 'hidden'; } /****************************************************** * */ function showElement(strElementID) { var objCurr = getElement(strElementID); if( objCurr == null ) { alert( 'No such Element: ' + strElementID ); return; } objCurr.style.display = 'block'; objCurr.style.visibility = 'visible'; } /****************************************************** * */ function autoFade(strFadeOutElementID, strFadeInElementID, waitTimeout, initTimeout) { waitTimeout = waitTimeout || 5000; initTimeout = initTimeout || 5000; window.setTimeout(function () { doAutoFade(strFadeOutElementID, strFadeInElementID, 0, 10, waitTimeout); }, initTimeout); } /****************************************************** * */ function doAutoFade(strFadeOutElementID, strFadeInElementID, opacity, direction, waitTimeout) { var objFadeOut = document.getElementById(strFadeOutElementID); var objFadeIn = document.getElementById(strFadeInElementID); if( (objFadeIn == null) || (objFadeOut == null) ) return; var outOpacity = 100 - opacity; objFadeOut.style.opacity = outOpacity/100; objFadeOut.style.filter = "alpha(opacity=" + outOpacity + ")"; // IE objFadeIn.style.opacity = opacity/100; objFadeIn.style.filter = "alpha(opacity=" + opacity + ")"; // IE opacity += direction; var timeout = 50; if( (opacity > 100) || (opacity < 0) ) { timeout = waitTimeout; direction *= -1; if( opacity > 100 ) opacity = 100; else opacity = 0; } window.setTimeout(function () { doAutoFade(strFadeOutElementID, strFadeInElementID, opacity, direction, waitTimeout); }, timeout); }