docIncr = 8; barWidth = 16; thumbMinHeight = 10; origInt = 50; repeatInt = 50; initTimer = null; scrollTimer = null; bgTimer = null; thumbTimer = null; curY = null; butImage = null; //setScroll = ["centerscroll","sidebarscroll"]; setScroll = []; setScrollCount=0; actHeight=[]; actHeightCount=0; var actCont,actButton; function tellme(){ //alert(thumbMaxTop); sMain = this; actCont = this.parentLayer; sThumb = actCont.layers[1].layers[2]; sThumbBot = actCont.layers[1].layers[2].layers[0]; scrollCalc(); actThumb.top = 16; docAlign(); } function initScroll(){ for(i=0;i lyrHeight){ sScroll.visibility = "show"; } elvBarHeight = sMain.clip.height - (barWidth*2); thumbHeight = Math.max((lyrHeight*elvBarHeight)/docHeight,thumbMinHeight) sThumb.clip.height = thumbHeight; sThumbBot.top = thumbHeight -sThumbBot.clip.height; thumbMaxTop = (elvBarHeight + barWidth) - thumbHeight; docToTravel = docHeight - lyrHeight; scrToTravel = elvBarHeight - thumbHeight; scrPixels = scrToTravel/docToTravel; docPixels = docToTravel/scrToTravel; }//end func function butMove(){ actCont = actMain.parentLayer; actThumb.origTop = actThumb.top; if(dir == 1){ actThumb.top = Math.min(actThumb.top + actThumb.clip.height,actCont.layers[1].layers[3].top - actThumb.clip.height); }else{ actThumb.top = Math.max(actThumb.top-docIncr-barWidth,actThumb.origTop-actThumb.top+barWidth) ;//: Math.min(actMain.top+docIncr,actMain.origTop); } docAlign(); }//end func function butHold(){ captureEvents(Event.MOUSEUP); onmouseup = upArrow; initTimer = setTimeout("scrollTimer = setInterval(butMove,repeatInt)",origInt); }//end func function clearTimers(){ clearTimeout(initTimer); clearInterval(scrollTimer); clearTimeout(bgTimer); clearInterval(thumbTimer); bgTimer = thumbTimer = null; }//end func function upArrow(){ clearTimers(); thumbOff(); }//end func function downArrow(e){ actThumb = this.thumb; actMain = this.main; dir = this.direction; captureEvents(Event.MOUSEDOWN) onmousedown = butHold; }//end func function drag(e){ curY = e.pageY; captureEvents(Event.MOUSEMOVE|Event.MOUSEUP); onmousemove = thumbMove; onmouseup = thumbOff; return false; }//end func function thumbOff(){ releaseEvents(Event.MOUSEMOVE|Event.MOUSEDOWN); }//end func function thumbMove(e){ difY = e.pageY - curY; actThumb.top = Math.min(Math.max(actThumb.top+difY,barWidth),thumbMaxTop); docAlign(); curY = e.pageY; }//end func function thumbOn(e){ actThumb = this; actMain = this.parentLayer.parentLayer.layers[0]; dir = (e.pageY < actThumb.pageY) ? 0 : 1; sMain = actMain; sThumb = this; sScroll = this.parentLayer; sThumbBot = sThumb.layers[0]; scrollCalc(); captureEvents(Event.MOUSEDOWN); onmousedown = drag; }//end func function barClick(e){ if (e.pageY > actThumb.pageY && e.pageY <= actThumb.pageY+actThumb.clip.height) {bgUp();return} actThumb.top = Math.min(Math.max(actThumb.top + actThumb.clip.height * dir,barWidth),thumbMaxTop); docAlign(); }//end func function barStick(e){ dir = (e.pageY < actThumb.pageY) ? -1 : 1; captureEvents(Event.MOUSEUP); onmouseup = bgUp; barClick(e); ev = e; bgTimer = setTimeout("thumbTimer = setInterval(barClick,repeatInt,ev)",origInt); return false; }//end func function barOn(e){ curY = e.pageY; actThumb = this.parentLayer.layers[2]; actMain = actThumb.parentLayer.parentLayer.layers[0]; captureEvents(Event.MOUSEDOWN); onmousedown = barStick; }//end func function barOff(){ releaseEvents(Event.MOUSEDOWN); }//end func function bgUp(){ clearTimers(); releaseEvents(Event.MOUSEUP); return false; }//end func function docAlign(){ thumbDiff = actThumb.top - barWidth; actMain.top = 2 - (thumbDiff*docPixels); actMain.clip.top = (thumbDiff*docPixels); actMain.clip.height =actHeight[actMain.id]; }//end func function recalc(targ){ if(NS4){ var loadObj = browser(targ); //alert(loadObj.layers[0].clip.width); sMain = loadObj.layers[0]; sScroll = loadObj.layers[1]; sThumb = loadObj.layers[1].layers[2]; sThumbBot = loadObj.layers[1].layers[2].layers[0]; actMain = loadObj.layers[0]; actThumb = loadObj.layers[1].layers[2]; } } function loadnew(targ,file,scrollable){ if(NS4){ var loadObj = browser(targ); //if (scrollable){ loadObj.layers[0].load(file,loadObj.layers[0].clip.width) //}else{ //loadObj.load(file,loadObj.clip.width); //} }else{ var loadObj = browser(targ+"IE"); loadObj.src = file; } }//end func function eventBuilder(name,src,w,h){ setScroll[setScrollCount] = name; setScrollCount++; if(NS4){ eventToBuild = ''; eventToBuild+= ''; eventToBuild+= ''; eventToBuild+= ''; eventToBuild+= ''; eventToBuild+= ''; eventToBuild+= ''; eventToBuild+= ''; eventToBuild+= ''; eventToBuild+= ''; eventToBuild+= ''; eventToBuild+= ''; eventToBuild+= ''; eventToBuild+= ''; eventToBuild+= ''; }else{ eventToBuild = ''; } document.write(eventToBuild); } function initEvents(){ for(i=setScroll.length-1;i>=0;i--){ var scrolltarg = setScroll[i]+"targ"; var scrollObj = (document.layers)? setScroll[i]:setScroll[i]+"IE"; showObj(scrollObj); showObj(scrolltarg); origin(scrollObj,scrolltarg,0,18); //alert(scrollObj); } } function showEvent(){ var scrollObj = (document.layers)? "centerscroll":"centerscrollIE"; origin(scrollObj,'centerscrolltarg',-5,0); showObj(scrollObj); origin('closeit','centerscrolltarg',-5,0); showObj('closeit'); if(NS4){initScroll();} } function hideEvent(){ var scrollObj = (document.layers)? "centerscroll":"centerscrollIE"; hideObj(scrollObj); hideObj('closeit'); }