var spaceBetweenButtonAndSlider = 0; var widthReserverdForScroller = 29; var contentHeight = new Array(0,0,0,0); var visibleContentHeight = new Array(0,0,0,0); var scrollHandleHeight = new Array(false,false,false,false); var scrollbarTop = new Array(false,false,false,false); var scrollActive = false; var eventYPos = false; var scrollbuttonActive = false; var scrollbuttonDirection = false; var scrollbuttonSpeed = 4; // How fast the content scrolls when you click the scroll buttons(Up and down arrows) var scrollTimer = 10; // Also how fast the content scrolls. By decreasing this value, the content will move faster var scrollMoveToActive = false; var scrollMoveToYPosition = false; var operaBrowser = false; if(navigator.userAgent.indexOf('Opera')>=0)operaBrowser=1; function scrollDiv_startScroll_1(e) // drag & drop scrollen. { if(document.all && !operaBrowser)e = event; scrollbarTop[1] = document.getElementById('scrollSliderBox_1').offsetTop; eventYPos = e.clientY; scrollActive = true; } function cancelEvent_1() //beginnen met drag & drop scrollen. { return false; } function scrollDiv_scroll_1(e) // Scrollen via drag & drop. { if(!scrollActive)return; if(document.all && !operaBrowser)e = event; if(e.button!=1 && document.all)return; var topPos = scrollbarTop[1] + e.clientY - eventYPos; if(topPos<0)topPos=0; if(topPos/1>visibleContentHeight[1]-(scrollHandleHeight[1]+spaceBetweenButtonAndSlider)/1)topPos = visibleContentHeight[1]-(scrollHandleHeight[1]+spaceBetweenButtonAndSlider); document.getElementById('scrollSliderBox_1').style.top = topPos + 'px'; document.getElementById('scrollContent_1').style.top = 0 - Math.floor((contentHeight[1]) * ((topPos)/(visibleContentHeight[1]-scrollHandleHeight[1])))+'px' } function scrolldiv_scrollButtonStop_1() // stopscrolling na buttonklik. { scrollbuttonActive = false; } function scrolldiv_scrollMoveToInit_1(e) { if(document.all && !operaBrowser)e = event; scrollMoveToActive = true; scrollMoveToYPosition = e.clientY - document.getElementById('scrollSliderArea_1').offsetTop; if(document.getElementById('scrollSliderBox_1').offsetTop/1 > scrollMoveToYPosition) scrollbuttonDirection = scrollbuttonSpeed*-2; else scrollbuttonDirection = scrollbuttonSpeed*2; scrolldiv_scrollMoveTo_1(); } function scrolldiv_scrollMoveTo_1() { if(!scrollMoveToActive || scrollActive)return; var topPos = document.getElementById('scrollSliderBox_1').style.top.replace('px',''); topPos = topPos/1 + scrollbuttonDirection; if(topPos<0) { topPos=0; scrollMoveToActive=false; } if(topPos/1>visibleContentHeight[1]-(scrollHandleHeight[1]+spaceBetweenButtonAndSlider)/1){ topPos = visibleContentHeight[1]-(scrollHandleHeight[1]+spaceBetweenButtonAndSlider); scrollMoveToActive=false; } if(scrollbuttonDirection<0 && topPos0 && topPos>scrollMoveToYPosition-scrollHandleHeight[1]/2)return; document.getElementById('scrollSliderBox_1').style.top = topPos + 'px'; document.getElementById('scrollContent_1').style.top = 0 - Math.floor((contentHeight[1]) * ((topPos)/(visibleContentHeight[1]-scrollHandleHeight[1])))+'px' setTimeout('scrolldiv_scrollMoveTo_1()',scrollTimer); } function scrolldiv_scrollButton_1() // klik op button. { if(this.id=='scrollDown_1') scrollbuttonDirection = scrollbuttonSpeed; else scrollbuttonDirection = scrollbuttonSpeed*-1; scrollbuttonActive=true; scrolldiv_scrollButtonScroll_1(); } function scrolldiv_scrollButtonScroll_1() { if(!scrollbuttonActive)return; var topPos = document.getElementById('scrollSliderBox_1').style.top.replace('px',''); topPos = topPos/1 + scrollbuttonDirection; if(topPos<0){ topPos=0; scrollbuttonActive=false; } if(topPos/1>visibleContentHeight[1]-(scrollHandleHeight[1]+spaceBetweenButtonAndSlider)/1){ topPos = visibleContentHeight[1]-(scrollHandleHeight[1]+spaceBetweenButtonAndSlider); scrollbuttonActive=false; } document.getElementById('scrollSliderBox_1').style.top = topPos + 'px'; document.getElementById('scrollContent_1').style.top = 0 - Math.floor( (contentHeight[1]) * ((topPos)/(visibleContentHeight[1]-scrollHandleHeight[1])) )+'px' setTimeout('scrolldiv_scrollButtonScroll_1()',scrollTimer); } function scrolldiv_initScroll_1() { // Functie die wordt aangeroepen wanneer de content bekend is en die de scrollbar initieert. document.getElementById('scrollSliderBox_1').style.top = '0px'; document.getElementById('scrollContent_1').style.top = '0px'; visibleContentHeight[1] = document.getElementById('scrollSliderArea_1').offsetHeight; contentHeight[1] = document.getElementById('scrollContent_1').offsetHeight - visibleContentHeight[1]; scrollHandleHeight[1] = document.getElementById('scrollSliderBox_1').offsetHeight; scrollbarTop[1] = document.getElementById('scrollSliderArea_1').offsetTop; document.getElementById('scrollSliderBox_1').onmousedown = scrollDiv_startScroll_1; document.getElementById('scrollSliderArea_1').onselectstart = cancelEvent_1; document.getElementById('scrollSliderBox_1').onmouseup = scrollDiv_stopScroll; document.getElementById('scrollDown_1').onmousedown = scrolldiv_scrollButton_1; document.getElementById('scrollUp_1').onmousedown = scrolldiv_scrollButton_1; document.getElementById('scrollDown_1').onmouseup = scrolldiv_scrollButtonStop_1; document.getElementById('scrollUp_1').onmouseup = scrolldiv_scrollButtonStop_1; document.getElementById('scrollUp_1').onselectstart = cancelEvent_1; document.getElementById('scrollDown_1').onselectstart = cancelEvent_1; //document.getElementById('scrollSliderArea_1').onmousedown = scrolldiv_scrollMoveToInit_1; document.getElementById('scrollContainer_1').onmousemove = scrollDiv_scroll_1; //alert ( 'Id:1|' + 'Offsetheight: ' + document.getElementById('scrollContent_1').offsetHeight + '|style.height: ' + document.getElementById('scrollContentContainer_1').style.height.replace('px','') ) if ( document.getElementById('scrollContent_1').offsetHeight <= document.getElementById('scrollContentContainer_1').style.height.replace('px','') ) { // Scrollbar niet tonen wanneer de hoogte van het element kleiner of gelijk is aan de hoogte van de scrollbar. document.getElementById('scrollSliderContainer_1').style.visibility = 'hidden'; scrollWheelInit(1,false) } else { document.getElementById('scrollSliderContainer_1').style.visibility = 'visible'; scrollWheelInit(1) } //document.getElementById('scrollSliderContainer_1').style.visibility = 'visible'; //scrollWheelInit(1) } function scrollPositionTo_1(offsetTop) { // Scroll naar een bepaalde hoogte van de content.. if(document.getElementById('scrollSliderContainer_1').style.visibility == 'hidden') // Hoeft niet te scrollen als de scroller niet zichtbaar is. return false; else { var topPos = offsetTop; var newScrollbarPosition = Math.floor( (topPos/contentHeight[1]) * (visibleContentHeight[1]-scrollHandleHeight[1]) ); if (newScrollbarPosition+80 > document.getElementById('scrollContentContainer_1').style.height.replace('px','') ) { //360 : alert(document.getElementById('scrollContentContainer_1').style.height.replace('px','')) // alert(offsetTop) // 10263 // alert(document.getElementById('scrollContent_1').offsetHeight); ////10404 var v1 = parseInt(document.getElementById('scrollContentContainer_1').style.height.replace('px','')); var v2 = parseInt(offsetTop); var v3 = parseInt(document.getElementById('scrollContent_1').offsetHeight); if( (v1 + v2) > v3 ) { // Indien item onderaan staat, item niet helemaal bovenaan laten zien, dan krijg je lege ruimte eronder. offsetTop = Math.abs(v3 - v1 + 40) } document.getElementById('scrollSliderBox_1').style.top = eval(document.getElementById('scrollContentContainer_1').style.height.replace('px','')-45) + 'px'; document.getElementById('scrollContent_1').style.top = -offsetTop+'px'; } else { document.getElementById('scrollSliderBox_1').style.top = newScrollbarPosition+'px'; document.getElementById('scrollContent_1').style.top = -offsetTop+'px'; } } } function scrollDiv_stopScroll() { scrollActive = false; scrollbuttonActive = false; scrollMoveToActive = false; } function scrolldiv_setWidth(id,newWidth) { document.getElementById('scrollContainer_'+id).style.width = newWidth + 'px'; document.getElementById('scrollContentContainer_'+id).style.width = newWidth-widthReserverdForScroller + 'px'; } function scrolldiv_setHeight(id,newHeight) { document.getElementById('scrollContainer_'+id).style.height = newHeight + 'px'; document.getElementById('scrollContentContainer_'+id).style.height = newHeight + 'px'; document.getElementById('scrollSliderContainer_'+id).style.height = newHeight-15 + 'px'; document.getElementById('scrollSliderArea_'+id).style.height = newHeight-24 + 'px'; // De hoogte tussen de up en down knoppen. } function initScroll() { scrolldiv_setWidth(1,326); // Setting total width of scrolling div scrolldiv_setHeight(1,360); // Setting total height of scrolling div spaceBetweenButtonAndSlider = 0; widthReserverdForScroller = 29; contentHeight = new Array(0,0); visibleContentHeight = new Array(0,0); scrollHandleHeight = new Array(false,false); scrollbarTop = new Array(false,false); scrollActive = false; eventYPos = false; scrollbuttonActive = false; scrollbuttonDirection = false; scrollbuttonSpeed = 4; // How fast the content scrolls when you click the scroll buttons(Up and down arrows) scrollTimer = 10; // Also how fast the content scrolls. By decreasing this value, the content will move faster scrollMoveToActive = false; scrollMoveToYPosition = false; operaBrowser = false; if(navigator.userAgent.indexOf('Opera')>=0)operaBrowser=1; scrolldiv_initScroll_1(); // Initialize javascript functions scrollDiv_stopScroll(); if(document.all) { document.body.onmouseup = scrollDiv_stopScroll; } else { document.documentElement.onmouseup = scrollDiv_stopScroll; } //scrollWheelInit(); } function scrollWheelHandle(delta, id) { var element; if( document.getElementById('moduleBannerContent_1').style.display == 'block') { element = 1; } if (element) { if (delta < 0) { scrollbuttonDirection = scrollbuttonSpeed*1; } else { scrollbuttonDirection = scrollbuttonSpeed*-1; } scrollbuttonActive=true; scrolldiv_scrollButtonScroll_1(); var noemer = eval( document.getElementById('scrollContent_'+id).offsetHeight) var deler = Math.pow(eval( document.getElementById('scrollContent_'+id).offsetHeight),2); var timeout = (noemer / deler) * 200000; //alert('noemer:'+noemer+'|deler:'+deler+'|resultaat:' +timeout) setTimeout( "scrollbuttonActive = false;", timeout ); } } function scrollWheelEvent1(event) { var delta = 0; if (!event) // IE event = window.event; if (event.wheelDelta) { // Opera delta = event.wheelDelta/120; if (window.opera) delta = -delta; } else if (event.detail) // Mozilla delta = -event.detail/3; if (delta) scrollWheelHandle(delta,1); if (event.preventDefault) event.preventDefault(); event.returnValue = false; } function scrollWheelEvent2(event) { var delta = 0; if (!event) // IE event = window.event; if (event.wheelDelta) { // Opera delta = event.wheelDelta/120; if (window.opera) delta = -delta; } else if (event.detail) // Mozilla delta = -event.detail/3; if (delta) scrollWheelHandle(delta,2); if (event.preventDefault) event.preventDefault(); event.returnValue = false; } function scrollWheelInit(id,bool) { var element1 = document.getElementById('moduleBannerContent_'+id); if (window.addEventListener) { // Mozilla if (document.getElementById('scrollSliderContainer_'+id).style.visibility != 'hidden') { if(id==1) { element1.addEventListener('DOMMouseScroll', scrollWheelEvent1, false); } else { element1.addEventListener('DOMMouseScroll', scrollWheelEvent2, false); } } else { //element1.removeEventListener ('DOMMouseScroll', scrollWheelEvent, false); } } else { // IE if (document.getElementById('scrollSliderContainer_'+id).style.visibility != 'hidden') { if(id==1) { element1.onmousewheel = scrollWheelEvent1; } else { element1.onmousewheel = scrollWheelEvent2; } } else { element1.onmousewheel = "" } } }