
	writeCSS(
	css('bgscroll',0,16,16,232,'hidden')+
	css('up',0,0,16,16,'hidden')+
	css('down',0,245,16,16,'hidden')+
	css('drag',0,14,16,16,'hidden')+
	css('ruler',0,14,16,16,'hidden')+
	css('rolagem',750,132)+
	css('mywindowDiv',380,132,365,260)+
	css('mycontentDiv',0,0)
	)

var clickUp, clickDown, clickDrag, clickAbove, clickBelow = false;
var timer = "";
var mouseY, mouseX;

/* mouse Functions */
function down(e){
	if ((is.ns4 && e.which!=1) || (is.ie && event.button!=1)) return true;
	getMouse(e);
	startY = (mouseY - PspScroll_drag.y);
	if (mouseX >= PspScroll_up.x && (mouseX <= (PspScroll_up.x + upW)) && mouseY >= PspScroll_up.y && (mouseY <= (PspScroll_up.y + upH))) {
		clickUp = true;
		return scrollUp();
	} else if (mouseX >= PspScroll_down.x && (mouseX <= (PspScroll_down.x + downW)) && mouseY >= PspScroll_down.y && (mouseY <= (PspScroll_down.y + downH))) {
		clickDown = true;
		return scrollDown();
	} else if (mouseX >= PspScroll_drag.x && (mouseX <= (PspScroll_drag.x + dragW)) && mouseY >= PspScroll_drag.y && (mouseY <= (PspScroll_drag.y + dragH))) {
		clickDrag = true;
		return false;
	} else if (mouseX >= PspScroll_drag.x && (mouseX <= (PspScroll_drag.x + dragW)) && mouseY >= rulerT && (mouseY <= (rulerT + scrollH))) {
		if (mouseY < PspScroll_drag.y){
			clickAbove = true;
			clickUp = true;
			return scrollUp();
		} else{
			clickBelow = true;
			clickDown = true;
			return scrollDown();
		}
	} else{
		return true;
	}
}
function up(){
	clearTimeout(timer);
	clickUp = clickDown = clickDrag = clickAbove = clickBelow = false;
	speed=12;
	return true;
}
function move(e){
	if (clickDrag && PspScroll_content.h > PspScroll_contentClip.h) {
		getMouse(e);
		PspScroll_drag.y = (mouseY - startY);
		if (PspScroll_drag.y < (rulerT)) { PspScroll_drag.y = rulerT; }
		if (PspScroll_drag.y > (rulerT + scrollH - dragH)) { PspScroll_drag.y = (rulerT + scrollH - dragH); }
		contentT = ((PspScroll_drag.y - rulerT)*(1/scrollLength));
		contentT = eval('-' + contentT);
		moveScroll();
		if (is.ie) return false;
	}
	return false
}
/* SCROLL move */
function getTop(){ contentT = PspScroll_content.y; }
function getMouse(e){
	if (is.ie) {
		mouseY = event.clientY + document.body.scrollTop;
		mouseX = event.clientX + document.body.scrollLeft;
		mouseY -= PspScroll_rolagem.y;
		mouseX -= PspScroll_rolagem.x;
	} else if (is.ns4 || is.dom) {
		mouseY = e.pageY;
		mouseX = e.pageX;
		mouseY -= PspScroll_rolagem.y;
		mouseX -= PspScroll_rolagem.x;
	}
}
function moveScroll() {
	PspScroll_content.moveTo(null,contentT);
	PspScroll_ruler.moveTo(null,PspScroll_drag.y);
	PspScroll_drag.moveTo(null,PspScroll_drag.y);
}
function scrollUp(){
	getTop();
	if (clickAbove) {
		if (PspScroll_drag.y <= (mouseY-(dragH/2))) { return up(); }
	}
	if (clickUp) {
		if (contentT < 0) {
			PspScroll_drag.y = PspScroll_drag.y - (speed*scrollLength);
			if (PspScroll_drag.y < (rulerT)) {
				PspScroll_drag.y = rulerT;
			}
			contentT = contentT + speed;
			if (contentT > 0) { contentT = 0; }
			moveScroll();
			timer = setTimeout("scrollUp()",25);
		}
	}
	return false;
}
function scrollDown(){
	getTop();
	if (clickBelow) {
		if (PspScroll_drag.y >= (mouseY-(dragH/2))) { return up(); }
	}
	if (clickDown) {
		if (contentT > -(PspScroll_content.h - PspScroll_contentClip.h)) {
			PspScroll_drag.y = PspScroll_drag.y + (speed*scrollLength);
			if (PspScroll_drag.y > (rulerT + scrollH - dragH)) { PspScroll_drag.y = (rulerT + scrollH - dragH); }
			contentT = contentT - speed;
			if (contentT < -(PspScroll_content.h - PspScroll_contentClip.h)) { contentT = -(PspScroll_content.h - PspScroll_contentClip.h); }
			moveScroll();
			timer = setTimeout("scrollDown()",25);
		}
	}
	return false;
}
/* INICIA A FESTA ;) */
function eventLoader(){
	PspScroll_content 		= new DynLayer('mycontentDiv');
	PspScroll_contentClip 	= new DynLayer('mywindowDiv');
	PspScroll_rolagem 		= new DynLayer('rolagem');
	PspScroll_up 			= new DynLayer('up');
	PspScroll_down 			= new DynLayer('down');
	PspScroll_drag 			= new DynLayer('drag');
	PspScroll_ruler 		= new DynLayer('ruler');
	PspScroll_bgscroll		= new DynLayer('bgscroll');
	rulerT = PspScroll_ruler.y;

	upH = PspScroll_up.h;
	upW = PspScroll_up.w;
	downH = PspScroll_down.h;
	downW = PspScroll_down.w;
	dragH = PspScroll_drag.h;
	dragW = PspScroll_drag.w;
	scrollH = PspScroll_bgscroll.h;
	speed = 12;

	if (PspScroll_contentClip.h > PspScroll_content.h) {
		PspScroll_up.hide(); PspScroll_down.hide(); PspScroll_drag.hide(); PspScroll_ruler.hide(); PspScroll_bgscroll.hide();
	} else {
		PspScroll_up.show(); PspScroll_down.show(); PspScroll_drag.show(); PspScroll_ruler.show(); PspScroll_bgscroll.show();
	}
	scrollLength = ((scrollH-dragH)/(PspScroll_content.h-PspScroll_contentClip.h));
	if (is.ns4) { document.captureEvents(Event.MOUSEDOWN | Event.MOUSEMOVE | Event.MOUSEUP); }
	document.onmousedown = down;
	document.onmousemove = move;
	document.onmouseup = up;
}
onload = eventLoader;
