var sTimeout;
function createScroll(id, nWidth, nHeight, position, speed, bBoxSize, upImg, downImg, offSetUpX, offSetUpY, offSetDownX, offSetDownY ) {
	var sBox = document.getElementById(id), thisNode = sBox, display = (position == 'bottom' || position == 'top') ? 0 : 1, displaySide = (position == 'right' || position ==  'bottom') ? 0 : 1, speed = (speed > 0) ? speed : 50, amount = 10, bBoxSize = (bBoxSize > 0) ? bBoxSize : 15, upImg = (upImg) ? upImg : 'up.gif', downImg = (downImg) ? downImg : 'down.gif', offSetUpX = (offSetUpX) ? offSetUpX : 0, offSetUpY = (offSetUpY) ? offSetUpY : 0, offSetDownX = (offSetDownX) ? offSetDownX : 0, offSetDownY = (offSetDownY) ? offSetDownY : 0;
	var sBoxHeight = (nHeight > 0) ? nHeight : sBox.offsetHeight, sBoxWidth = (nWidth > 0) ? nWidth : sBox.offsetWidth, sBoxContentHeight = sBox.scrollHeight;
	if (sBoxHeight >= sBoxContentHeight) {
		return;
	}
	var sOuterBlock = makeElement('DIV','','class=scrollerbox'), sInnerBlock = makeElement('DIV'), sUpLink = makeElement('A'), sDownLink = makeElement('A'), sUpImg = makeElement('IMG', '', 'src=' + upImg, 'alt=Up'), sDownImg = makeElement('IMG', '', 'src=' + downImg, 'alt=Down');
	var sContents = sBox.innerHTML;
	sBox.innerHTML = '';
	sBox.appendChild(sOuterBlock).appendChild(sInnerBlock)
	sInnerBlock.innerHTML = sContents;
	var sMiddleBox = sBox.getElementsByTagName('DIV')[0];
	sMiddleBox.style.width = (display == 1) ? (sBoxWidth - bBoxSize) + "px" : sBoxWidth + "px";
	sMiddleBox.style.left = (display == 1 && displaySide == 1) ? bBoxSize + "px" : 0 + "px";
	sMiddleBox.style.position = "relative";
	var sBoxTop = sBox.offsetTop, sBoxLeft = sBox.offsetLeft, sBoxContentHeight = sBox.scrollHeight;
	while (thisNode.offsetParent && (thisNode.offsetParent != document.body)) {
		thisNode = thisNode.offsetParent;
		sBoxLeft += thisNode.offsetLeft;
		sBoxTop += thisNode.offsetTop;
 	}
	sBox.style.overflow = "hidden";
	sBox.style.height = (display == 0) ? (sBoxHeight - bBoxSize) + "px" : sBoxHeight + "px";
	sMiddleBox.style.overflow = "hidden";
	sMiddleBox.style.top = (display == 0 && displaySide == 1) ? bBoxSize + "px" : 0 + "px";
	sMiddleBox.style.height = (display == 0) ? (sBoxHeight - bBoxSize) + "px" : sBoxHeight + "px";
	var sInnerBox = sMiddleBox.getElementsByTagName('DIV')[0];
	sInnerBox.style.top = 0 + "px";
	sInnerBox.style.left = 0 + "px";
	sInnerBox.style.height = (display == 0) ? (sBoxHeight - bBoxSize) + "px" : sBoxHeight + "px";
	sInnerBox.style.position = "relative";
	var sUpBoxX = sBoxLeft - bBoxSize + offSetUpX, sUpBoxY = sBoxTop - bBoxSize + offSetUpY, sDownBoxX = sBoxLeft - bBoxSize + offSetDownX, sDownBoxY = sBoxTop - bBoxSize + offSetDownY;
	sUpBoxX += (display == 1 && displaySide == 0) ? sBoxWidth : 0;
	sUpBoxY += (display == 0 && displaySide == 0) ? sBoxHeight : 0;
	sDownBoxX += (display == 1 && displaySide == 1) ? 0 : sBoxWidth;
	sDownBoxY += (display == 0 && displaySide == 1) ? 0 : sBoxHeight;
	var sUpBox = makeElement('DIV','','style=position:absolute;top:'+sUpBoxY+'px;left:'+sUpBoxX+'px;height:'+bBoxSize+'px;width:'+bBoxSize+'px;z-index:80;', 'class=scroll', 'id=scrollup-'+id), sDownBox = makeElement('DIV','','style=position:absolute;top:'+sDownBoxY+'px;left:'+sDownBoxX+'px;height:'+bBoxSize+'px;width:'+bBoxSize+'px;z-index:80;', 'class=scroll', 'id=scrolldown-'+id), sHeightBox = makeElement('DIV',sBoxContentHeight,'id=scrollsize-'+id,'style=display:none;');
	var sPage = document.getElementsByTagName('BODY')[0];
	sPage.appendChild(sUpBox).appendChild(sUpLink).appendChild(sUpImg);
	sPage.appendChild(sDownBox).appendChild(sDownLink).appendChild(sDownImg);
	sPage.appendChild(sHeightBox);
	sUpBox.style.position = 'absolute';
	sUpBox.style.top = sUpBoxY + 'px';
	sUpBox.style.left = sUpBoxX + 'px';
	sUpBox.style.height = bBoxSize + 'px';
	sUpBox.style.width = bBoxSize + 'px';
	sUpBox.style.zIndex = 80;
	sDownBox.style.position = 'absolute';
	sDownBox.style.top = sDownBoxY + 'px';
	sDownBox.style.left = sDownBoxX + 'px';
	sDownBox.style.height = bBoxSize + 'px';
	sDownBox.style.width = bBoxSize + 'px';
	sDownBox.style.zIndex = 80;
	sHeightBox.style.display = 'none';
	addEvent(sUpLink,'mouseover',function () { scroll(id,amount,speed) },false);
	addEvent(sUpLink,'mouseout',function () { scroll(id,0,0) },false);
	addEvent(sDownLink,'mouseover',function () { scroll(id,-amount,speed) },false);
	addEvent(sDownLink,'mouseout',function () { scroll(id,0,0) },false);
}

function removeScroll(id) {
	var sBox = document.getElementById(id);
	if (document.getElementById('scrollup-'+id)) {
		var sContents = sBox.getElementsByTagName('DIV')[0].getElementsByTagName('DIV')[0].innerHTML;
		sBox.innerHTML = '';
		sBox.innerHTML = sContents;
		sBox.style.height = '';
		var sUp = document.getElementById('scrollup-'+id), sDown = document.getElementById('scrolldown-'+id), sSize = document.getElementById('scrollsize-'+id)
		sUp.parentNode.removeChild(sUp);
		sDown.parentNode.removeChild(sDown);
		sSize.parentNode.removeChild(sSize);
	}
}

function scroll(id, amount, speed) {
	var sOuterBox = document.getElementById(id).getElementsByTagName('DIV')[0], sBox = sOuterBox.getElementsByTagName('DIV')[0], sBoxHeight = document.getElementById('scrollsize-'+id).innerHTML;
	var height = parseInt(sOuterBox.style.height), nTop = sBox.style.top, nMax = -sBoxHeight + height;
	if (amount != 0) {
		nTop = parseInt(nTop);
		nTop = (isNaN(nTop)) ? amount : nTop + amount;
		nTop = (nTop < nMax) ? nMax : nTop;
		nTop = (nTop > 0) ? 0 : nTop;
		sBox.style.top = nTop + "px";
		sTimeoutFunc = 'scroll("'+id+'",'+amount+')';
		sTimeout = window.setTimeout(sTimeoutFunc, speed);
	} else {
		window.clearTimeout(sTimeout);
	}
}
//addEvent(window,'load',function () { addEvent(document.getElementById('welcometext'),'mouseover',function () { removeScroll('news') },false) },false);
//addEvent(window,'load',function () { createScroll('s2','sidebar', 50) },false);


