function scroller() {
var clip_size=300
var speed=5
var d=document
var bar=d.getElementById('scrollbar')
var sc=d.getElementById('scrolled')
var buttonUp=d.getElementById('scrollup')
var buttonDown=d.getElementById('scrolldown')
var clip_top=0
var bar_offset=0
var scrolled_top=sc.offsetTop
var limit_top=buttonUp.offsetTop+buttonUp.offsetHeight
var limit_bottom=buttonDown.offsetTop-bar.offsetHeight
buttonUp.onmouseup=buttonDown.onmouseup=scrollStop
buttonUp.onmousedown=buttonDown.onmousedown=scrollButton
d.onmousemove=scrollBar
d.onmouseup=cast
bar.onmousedown=take
bar.onselectstart=stop

function stop() {
return false
}

function scrollStop() {
clearTimeout(sc.timer)
}

function scrollButton(e) {
// determine speed and direction
if (e=eventIE(e)) current_speed=e.target.id==buttonDown.id ? -speed : speed
if (clip_top-current_speed<0) {
limitTop()
return
}
if (clip_top+clip_size-current_speed>sc.offsetHeight) {
limitDown()
return
}
clip_top-=current_speed
bar.style.top=(limit_top+Math.ceil(clip_top/(sc.offsetHeight-clip_size)*(limit_bottom-limit_top)))+'px'
move()
args=arguments	// can't refer to 'arguments' directly in setTimeout()
sc.timer=setTimeout('args.callee()', 1)
}

function scrollBar(e) {
if (!bar_offset) return
e=eventIE(e)
if (e.pageY-bar_offset<limit_top) {
limitTop()
return
}
if (e.pageY>limit_bottom+bar_offset) {
clip_top=sc.offsetHeight-clip_size
limitDown()
return
}

bar.style.top=(e.pageY-bar_offset)+'px'
move()
}

function move() {
position=(bar.offsetTop-limit_top)/(limit_bottom-limit_top)
sc.style.top=(scrolled_top-(Math.floor(sc.offsetHeight-clip_size)*position))+'px'
clip_top=Math.floor((sc.offsetHeight-clip_size)*position)
sc.style.clip='rect('+clip_top+'px '+sc.offsetWidth+'px '+(clip_top+clip_size)+'px 0px)'
}

function limitTop() {
clip_top=0
bar.style.top=limit_top+'px'
sc.style.top=scrolled_top+'px'
sc.style.clip='rect(0px '+sc.offsetWidth+'px '+clip_size+'px 0px)'
}

function limitDown() {
bar.style.top=limit_bottom+'px'
sc.style.top=scrolled_top+clip_size-sc.offsetHeight+'px'
sc.style.clip='rect('+(sc.offsetHeight-clip_size)+'px '+sc.offsetWidth+'px '+sc.offsetHeight+'px 0px)'
}


function take(e) {
e=eventIE(e)
bar_offset=e.pageY-bar.offsetTop
}

function cast() {
bar_offset=0
}

function eventIE(e) {
// map IE event handling to Gecko mode
if (window.event && !window.opera) {
e=window.event
e.pageY=window.event.y
e.target=window.event.srcElement
}
return e
}


}

// Script Source: CodeLifter.com
// Copyright 2003
// Do not remove this notice.

// SETUPS:
// ===============================

// Set the horizontal and vertical position for the popup

PositionX = 100;
PositionY = 100;

// Set these value approximately 20 pixels greater than the
// size of the largest image to be used (needed for Netscape)

defaultWidth  = 100;
defaultHeight = 100;

// Set autoclose true to have the window close automatically
// Set autoclose false to allow multiple popup windows

var AutoClose = true;

// Do not edit below this line...
// ================================
if (parseInt(navigator.appVersion.charAt(0))>=4){
var isNN=(navigator.appName=="Netscape")?1:0;
var isIE=(navigator.appName.indexOf("Microsoft")!=-1)?1:0;}
var optNN='scrollbars=no,width='+defaultWidth+',height='+defaultHeight+',left='+PositionX+',top='+PositionY;
var optIE='scrollbars=no,width=150,height=100,left='+PositionX+',top='+PositionY;
function popImage(imageURL,imageTitle){
if (isNN){imgWin=window.open('about:blank','',optNN);}
if (isIE){imgWin=window.open('about:blank','',optIE);}
with (imgWin.document){
writeln('<html><head><title>Loading...</title><style>body{margin:0px;}</style>');writeln('<sc'+'ript>');
writeln('var isNN,isIE;');writeln('if (parseInt(navigator.appVersion.charAt(0))>=4){');
writeln('isNN=(navigator.appName=="Netscape")?1:0;');writeln('isIE=(navigator.appName.indexOf("Microsoft")!=-1)?1:0;}');
writeln('function reSizeToImage(){');writeln('if (isIE){');writeln('window.resizeTo(100,100);');
writeln('width=100-(document.body.clientWidth-document.images[0].width);');
writeln('height=100-(document.body.clientHeight-document.images[0].height);');
writeln('window.resizeTo(width,height);}');writeln('if (isNN){');       
writeln('window.innerWidth=document.images["George"].width;');writeln('window.innerHeight=document.images["George"].height;}}');
writeln('function doTitle(){document.title="'+imageTitle+'";}');writeln('</sc'+'ript>');
if (!AutoClose) writeln('</head><body bgcolor=000000 scroll="no" onload="reSizeToImage();doTitle();self.focus()">')
else writeln('</head><body bgcolor=000000 scroll="no" onload="reSizeToImage();doTitle();self.focus()" onblur="self.close()">');
writeln('<img name="George" src='+imageURL+' style="display:block"></body></html>');
close();		
}}
