// JavaScript Document

//---TEX SCROLL---//
	//Initial
	max_top=new Array;
	top_org=new Array;
	scroll_per=new Array;
	scroll_mag=17;
	bar_pos=15;
	bar_margin=30;
	add_padding=5;
	scrl_W=10;
	dir_H=12;
	scrl_color="#000000";
	scroll_bar_style="position:absolute;  display:block; top:"+scroll_mag+"; cursor:pointer; width:"+scrl_W+"; background:"+scrl_color+";";
	scroll_dir_style="position:absolute; font-size:9px; line-height:70%; display:block; text-align:center; cursor:pointer; height:"+dir_H+"; width:"+scrl_W+";";
	scroll_dir_style_top=scroll_dir_style+"background:url(img/scroll/up.gif) no-repeat; top:0;";
	scroll_dir_style_bot=scroll_dir_style+"background:url(img/scroll/dw.gif) no-repeat bottom;";
	scroll_pos_style="background:#ffffff; position:absolute; display:block; top:"+scroll_mag+"; cursor:pointer; width:"+scrl_W+";";

	//FUNCTIONS
function tex_scroll(top_pos,id,dir,n,parent){
	set_OBJ(parent);
	parent=OBJ;
	tex_scroll_id="tex_scroll_"+n;
	set_OBJ(tex_scroll_id);
	if(OBJ){
		var body=document.getElementsByTagName("body").item(0);
		parent.removeChild(OBJ);
	}
	set_OBJ(id);
	div_height=parent.offsetHeight;
	scr_height=div_height-scroll_mag*2;
	offset_H=OBJ.offsetHeight;
	offset_W=OBJ.offsetWidth;
	if(offset_H>div_height){
		set_OBJ('first_com');
		if(OBJ) OBJ.style.width=offset_W-bar_margin;
		set_OBJ(id);
		div_tex_scroll=document.createElement("div");
		OBJ.style.width=offset_W-bar_margin;
		OBJ.style.paddingTop=add_padding;
		OBJ.style.paddingBottom=add_padding*2;
		offset_H=OBJ.offsetHeight;
		scroll_H=scr_height/offset_H*div_height;
		scroll_per[n]=scr_height/offset_H;

		//add STYLE
		scroll_bar_style+="height:"+scroll_H+";";
		dir_bot_pos=div_height-dir_H;
		scroll_dir_style_bot+="top:"+dir_bot_pos+";";
		scroll_pos_style+="height:"+scr_height+";";
		//SCROLL TO POS
		scroller="<div onmousedown=\"set_scroll('"+id+"',"+n+",scroll_pos,0,mdown_od)\" style=\""+scroll_pos_style+"\"></div>";
		//DIR BUTTON UP
		scroller +="<div onmousedown=\"set_scroll('"+id+"',"+n+",dwdiv,0)\" style=\""+scroll_dir_style_top+"\"></div>";
		//SCROLLER
		scroller +="<div id=\"scroll_bar_"+n+"\" onmousedown=\"set_scroll('"+id+"',"+n+",mdown_od,move_od)\" style=\""+scroll_bar_style+"\"></div>";
		//DIR BUTTON DOWN
		scroller +="<div onmousedown=\"set_scroll('"+id+"',"+n+",updiv,0)\" style=\""+scroll_dir_style_bot+"\"></div>";

		div_tex_scroll.innerHTML=scroller;
		div_tex_scroll.style.height=scr_height+scroll_mag;
		div_tex_scroll.style.top=0;
		div_tex_scroll.style.right=bar_pos;
		div_tex_scroll.style.position="absolute";
		div_tex_scroll.style.display="block";
		div_tex_scroll.style.textAlign="center";
		div_tex_scroll.id=tex_scroll_id;
		parent.appendChild(div_tex_scroll);
		max_top[n]=(offset_H-div_height)*-1;
		top_org[n]=OBJ.style.top=0;
	}
}

	//---scroll function---//
	//---set---//
	function set_scroll(obj_id,n,func_d,func_m,func_up){
		set_OBJ("main");
		if(OBJ) MAIN=OBJ;
		else MAIN=false;
		set_OBJ(obj_id);
		dir_OBJ=OBJ;
		set_OBJ("scroll_bar_"+n);
		num=n;
		if(dir_OBJ){
			if(func_up){document.onmousedown=func_up;}
			if(func_m){document.onmousemove=func_m;}
			document.onmousedown=func_d;
			document.onmouseup=initoff;
			dir_OBJ.onmouseout=initoff;
			if(document.layers){
				document.captureEvents(Event.MOUSEDOWN|Event.MOUSEUP|Event.MOUSEMOVE);
				dir_OBJ.captureEvents(Event.MOUSEDOWN|Event.MOUSEUP|Event.MOUSEOUT);
			}
		}
	}

	//---SCROLL TO POS---//
	function scroll_pos(evt){
		if(document.all){
			Y = event.y;
		}
		else if(document.getElementById){
			if(evt.y){Y = evt.y;}
			else if(evt.pageY){Y = evt.pageY;}
		}
		else if(document.layers){
			Y= evt.layerY;
		}
		if(MAIN) margin_main=MAIN.offsetTop;
		else margin_main=0;
		Y1 = OBJ.offsetTop+OBJ.parentNode.parentNode.offsetTop + margin_main;
		var top_pos=Y-OBJ.parentNode.parentNode.offsetTop - margin_main;
		if(Y1>Y){
			var rel_pos=(top_pos-scroll_mag)/scroll_per[num]*-1;
			if((rel_pos>=max_top[num]) && (rel_pos<=0)){
				top_org[num]=dir_OBJ.style.top=rel_pos;
				OBJ.style.top=top_pos;
			}
		}else{
			var bottom_pos=top_pos-OBJ.offsetHeight;
			var rel_pos=(bottom_pos-scroll_mag)/scroll_per[num]*-1;
			if((rel_pos>=max_top[num]) && (rel_pos<=0)){
				top_org[num]=dir_OBJ.style.top=rel_pos;
				OBJ.style.top=bottom_pos;
			}
		}
	}
	//---DIR BUTTONS---//
	function scroll_bar_move(){
		set_OBJ("scroll_bar_"+num);
		var pos=top_org[num]*scroll_per[num];
		if(Math.abs(pos)>1){
			OBJ.style.top=-1*pos+scroll_mag;
		}
	}
	function updiv(){
		if(top_org[num]>max_top[num]){
			top_org[num]=dir_OBJ.style.top=top_org[num]-1;
			scroll_bar_move();
			downTimer=setTimeout("updiv()",1);
		}
		else{
			if(window.downTimer){clearTimeout(downTimer);}
		}
	}
	
	function dwdiv(){
		if(top_org[num]<0){
			top_org[num]=dir_OBJ.style.top=top_org[num]+1;
			scroll_bar_move();
			downTimer=setTimeout("dwdiv()",1);
		}
		else{
			if(window.downTimer){clearTimeout(downTimer);}
		}
	}
	//---SCROLL BAR---//
	function mdown_od(evt){
		if(document.all){
			startY = event.y; Y1 = OBJ.style.pixelTop; Y1 -= startY; Y1*=(-1);
		}
		else if(document.getElementById){
			if(evt.y){startY = evt.y;}
			else if(evt.pageY){startY = evt.pageY;}
			Y1 = OBJ.offsetTop; Y1 -= startY; Y1*=(-1);
		}
		else if(document.layers){
			Y=OBJ.style.top; Y1 = evt.layerY + Y;
		}
		downed=true;
		return false;
	}

	function move_od(evt){ 
		if(downed){
			if(document.all){ Y = event.y; }
			else if(document.getElementById){ if(evt.y){Y = evt.y;}else if(evt.pageY){Y = evt.pageY;} }
			else if(document.layers){ Y = evt.pageY; }
			var top_pos=Y-Y1;
			if(top_pos <= scroll_mag) top_pos=scroll_mag;
			else if(top_pos >= OBJ.parentNode.offsetHeight - OBJ.offsetHeight) top_pos=OBJ.parentNode.offsetHeight - OBJ.offsetHeight;
			OBJ.style.top=top_pos;
			top_org[num]=dir_OBJ.style.top=(-top_pos+scroll_mag)/scroll_per[num];
		}
		return false; 
	}

	//---clear---//
	function initoff(){
		document.onmousedown=null;
		document.onmousemove=null;
		document.onmouseup=null;
		OBJ=null;
		num=null;
		dir_OBJ=null;
		if(window.downTimer){clearTimeout(downTimer);}
	}
//---END---//
