/* Globals */ var glb_directnaar_classname_show = "actief"; var intCurrentNavItem = 0; var boolReadyOrNot = true; var strPreservedImage = ""; var objImageID; var strCurrentImage = ""; var strCurrentImageHide = ""; var objCurrentImageID; var strCurrentNav = "0"; /* startApplication() Starts Javascript application */ function startApplication() { // Include a stylesheet with styles that are only visible to clients with javascript enabled document.write(''); //addEvent(window, 'load', showNav, false); addEvent(window, 'load', init, false); } /* addEvent() Adds event-listeners to objects (html-elements) */ function addEvent(obj, evType, fn, useCapture){ var result; if (obj.addEventListener){ obj.addEventListener(evType, fn, useCapture); result = true; } else if (obj.attachEvent){ var r = obj.attachEvent('on' + evType, fn); result = r; } else { elm['on' + evType] = fn; } return result; } /* init() Determine objects with listeners N.B. These directly correspond to ID's in HTML page! */ function init() { if (!document.getElementById) return; var directto = document.getElementById('directtoclickzone'); var uldirectto = document.getElementById('uldirectto'); if (directto && uldirectto) { addEvent(directto, 'click', toggleDirectTo, false); addEvent(directto, 'mouseover', function() {clearTODirectTo(uldirectto);}, false); addEvent(directto, 'mouseout', function() {hideDirectTo(uldirectto);}, false); addEvent(uldirectto, 'mouseout', function() {hideDirectTo(uldirectto);}, false); addEvent(uldirectto, 'mouseover', function() {showDirectTo(uldirectto);}, false); } var directnaar = document.getElementById('directnaar'); if (directnaar) { addEvent(directnaar, 'change', handleDirectTo, false); addEvent(directnaar, 'focus', function() {changeDirectTo(glb_directnaar_classname_show);}, false); addEvent(directnaar, 'blur', function() {changeDirectTo('');}, false); } var printpage = document.getElementById('printpage'); if (printpage) { addEvent(printpage, 'click', printPage, false); } boolReadyOrNot = true; showNav(); } /* changeDirectTo() Change appearance of directNaar select box */ function changeDirectTo(classnaam) { document.getElementById('directnaar').className = classnaam; } /* handleDirectTo() Redirect client to selected website */ function handleDirectTo() { var directnaar = document.getElementById('directnaar'); var selurl = directnaar.options[directnaar.selectedIndex].value; if (selurl != "") location.href = selurl; } /* printPage() Prints the current page */ function printPage() { if (window.print) window.print(); return false; } /* toggleDirectTo() Show or hide the direct to link box */ function toggleDirectTo() { var directto = document.getElementById('uldirectto'); if (directto.style.display == "block") { directto.style.display = "none"; } else { directto.style.display = "block"; } } /* hideDirectTo() Hide the "direct to" link box */ function hideDirectTo(el) { if (!el) return; el.outTimeout = setTimeout(function() { hideElement(el); }, 300); } /* hideElement() Hide element */ function hideElement(el) { el.style.display = "none"; } /* showDirectTo() Show (open) the "direct to" link box */ function showDirectTo(el) { if (!el) return; clearTimeout(el.outTimeout); el.style.display = "block"; } /* clearTODirectTo() Clears the time-out of the "direct to" link box */ function clearTODirectTo(targetElement) { if (!targetElement) return; clearTimeout(targetElement.outTimeout); } /* Navigation */ function findPosX(obj) { var curleft = 0; if (obj.offsetParent) { while (obj.offsetParent) { curleft += obj.offsetLeft obj = obj.offsetParent; } } else if (obj.x) curleft += obj.x; return curleft; } function getLayer(layerName){ if (document.getElementById){ return document.getElementById(layerName); } if (document.all){ return document.all[layerName]; } if (document.layers){ return document.layers[layerName]; } } function getStyle(layerName){ if (document.getElementById){ return document.getElementById(layerName).style; } if (document.all){ return document.all[layerName].style; } if (document.layers){ return document.layers[layerName]; } } function getElementPosition(elemID) { var offsetTrail = document.getElementById(elemID); var offsetLeft = 0; var offsetTop = 0; while (offsetTrail) { offsetLeft += offsetTrail.offsetLeft; offsetTop += offsetTrail.offsetTop; offsetTrail = offsetTrail.offsetParent; } if (navigator.userAgent.indexOf("Mac") != -1 && typeof document.body.leftMargin != "undefined") { offsetLeft += document.body.leftMargin; offsetTop += document.body.topMargin; } return offsetLeft; } function getOffsetX(layerName){ if (document.layers && document.layers[layerName]) { return document.layers[layerName].pageX; } else if (document.all) { return document.all[layerName].offsetLeft; } } function getOffsetY(layerName){ if (document.layers && document.layers[layerName]) { return document.layers[layerName].pageY; } else if (document.all) { return document.all[layerName].offsetTop; } } function findPosX(obj) { var curleft = 0; if(obj.offsetParent) while(1) { curleft += obj.offsetLeft; if(!obj.offsetParent) break; obj = obj.offsetParent; } else if(obj.x) curleft += obj.x; return curleft; } function findPosY(obj) { var curtop = 0; if(obj.offsetParent) while(1) { curtop += obj.offsetTop; if(!obj.offsetParent) break; obj = obj.offsetParent; } else if(obj.y) curtop += obj.y; return curtop; } function showLayer(layerName) { if (boolReadyOrNot) { for (var i=1; i<=6; i++) hideLayer("subnav" + i); if (layerName.substring(0, 6) == "subnav") { var intNavOffset = new Array(0,0,25,150,180,290,430); intCurrentNavItem = layerName.substring(6, layerName.length); getStyle(layerName).visibility="visible"; getStyle(layerName).left = intNavOffset[intCurrentNavItem] + document.getElementById('main').offsetLeft + 'px'; if (intCurrentNavItem>0) { var mywidth = parseInt(document.body.clientWidth-intNavOffset[intCurrentNavItem]-document.getElementById('main').offsetLeft) +'px'; //alert(mywidth); getStyle(layerName).width = mywidth; } else { imgRestore(); } } } } function onResizeNav(e) { if (boolReadyOrNot) { if (!e) var e = window.event; if (intCurrentNavItem > 0) showLayer("subnav" + intCurrentNavItem); } } function hideLayer(layerName) { if (boolReadyOrNot) getStyle(layerName).visibility="hidden"; } function imgPreserve(imageName, objID) { objImageID = objID; strPreservedImage = imageName; //alert('imgPreserve: ' + strPreservedImage); } function imgRestore() { //alert('imgRestore: ' + strPreservedImage); if (objImageID) objImageID.src = strPreservedImage; } function imgSetCurrentPage(imageName, imageNameHide, objID) { objCurrentImageID = objID; strCurrentImage = imageName; strCurrentImageHide = imageNameHide; //alert('imgPreserve: ' + strPreservedImage); } function imgShowCurrentPage() { //alert('imgShowCurrentPage: ' + strCurrentImage); if (objCurrentImageID) objCurrentImageID.src = strCurrentImage; } function imgHideCurrentPage() { //alert('imgShowCurrentPage: ' + strCurrentImage); if (objCurrentImageID) objCurrentImageID.src = strCurrentImageHide; } window.onresize = onResizeNav; function gup( name ) { var regexS = "[\\?&]"+name+"=([^&#]*)"; var regex = new RegExp( regexS ); var tmpURL = window.location.href; var results = regex.exec( tmpURL ); if( results == null ) return ""; else return results[1]; } function showNav() { if (parseInt(gup('nav')) > 0 ) { showLayer('subnav'+gup('nav')); } } /* startApplication() start javascript application Note: Call must be placed at the end of the script file, to be sure that all JS-code is loaded! */ startApplication();