// JavaScript Document
/*scroller .01b
*Auth: work@cabaretmechanique.com
*License: GPL
*/



function class_scroll(strParent,strContent,strUpId,strDwnId,intInc,intIncJmp,strImgPath)
	{
		this.imgPath=strImgPath;
		this.objParent=objDoc.get_layer(strParent);//holder window.
		this.objContent=objDoc.get_layer(strContent);//content.
		this.objUp=this.preload_img(strUpId);//up button, link
		this.objDn=this.preload_img(strDwnId);//dwn button, link
		this.intInc=intInc;//scrolling smoothness
		this.intJmpInc=intIncJmp;//jump distance
		this.intWait=100;
		this.intVrtLimit=this.find_vrt_limit(this.objContent,this.objParent);
		this.intVrt=0;
		if (!this.objContent)
			{alert('no scrolling. No object');}
		if (!this.intVrtLimit)
			{alert('no scrolling. No limits');}
		this.image_swapped=null;
	}

function add_mouse_listeners()
	{
		/*this.objUp.addEventListener( "onmouseover", st_up, false );
		this.objUp.addEventListener( "onmouseout", en_ev, false );
		this.objDn.addEventListener( "onmouseover", st_dn, false );
		this.objDn.addEventListener( "onmouseout", en_ev, false );
		this.objDn.addEventListener( "onclick", objScroll.on_click, false );
		this.objUp.addEventListener( "onclick", objScroll.on_click, false );*/
		if(this.objUp&&this.objDn)
			{
			this.objUp.onmouseover=st_up;
			this.objDn.onmouseover=st_dn;
			this.objUp.onmouseout=en_ev;
			this.objDn.onmouseout=en_ev;
			this.objUp.onclick=tmp_click;
			this.objDn.onclick=tmp_click;
			}
	}
function st_up(){objScroll.start_scroll_up();}
function st_dn(){objScroll.start_scroll_dn();}
function en_ev(){objScroll.end_scroll();}

function tmp_preload_img(strId)
	{
		objImg=objDoc.get_layer(strId);
		if (objImg)
		{objTmpImg=new Image();
		objImg.oSrc=this.imgPath+strId+"-scroll-o.gif";
		objTmpImg.src=objImg.oSrc;}
		return objImg;
	}

function tmp_find_vert_limit(objLayer,objParent)
	{
		intCon=parseInt(objDoc.get_height(objLayer));
		intPar=parseInt(objDoc.get_height(objParent));
		return intCon-intPar;
	}

function tmp_start_interval(strFunction)
	{
	}

function tmp_end_interval()
	{
		clearInterval(this.timWait);
		this.swap_image();
		this.image_swapped=null;
	}

function tmp_start_scroll_up()
	{
		this.timWait=setInterval('objScroll.move_up()', this.intWait);
		this.image_swapped=this.objUp;
		this.swap_image();
	}

function tmp_start_scroll_dn()
	{
		this.timWait=setInterval('objScroll.move_dn()', this.intWait);
		this.image_swapped=this.objDn;
		this.swap_image();
	}

function tmp_swap_image()
	{
		if (this.image_swapped)
			{
				objTarget=this.image_swapped;
				tmpSrc=objTarget.src;
				objTarget.src=objTarget.oSrc;
				objTarget.oSrc=tmpSrc;
			}
	}

function tmp_end_scroll()
	{
		this.end_interval();
	}

function tmp_move_up()
	{
		
		intNewVrt=(objScroll.intVrtLimit+objScroll.intVrt)+objScroll.intInc;
		if(intNewVrt<objScroll.intVrtLimit)
			{
				intNewVrt=intNewVrt-objScroll.intVrtLimit;
			}else{
				intNewVrt=0;
				objScroll.end_scroll();	
			}
		objDoc.move_y(objScroll.objContent,intNewVrt);
		objScroll.intVrt=intNewVrt;
	}

function tmp_move_dn()
	{
		intNewVrt=objScroll.intVrt-objScroll.intInc;
		if(Math.abs(intNewVrt)<=Math.abs(objScroll.intVrtLimit+10))
			{
				objDoc.move_y(objScroll.objContent,intNewVrt);
				objScroll.intVrt=intNewVrt;
			}else{
				objScroll.end_scroll();
			}
	}

function tmp_click()
	{
		return false;
	}
class_scroll.prototype.preload_img=tmp_preload_img;
class_scroll.prototype.find_vrt_limit=tmp_find_vert_limit;
class_scroll.prototype.start_interval=tmp_start_interval;
class_scroll.prototype.end_interval=tmp_end_interval;
class_scroll.prototype.start_scroll_up=tmp_start_scroll_up;
class_scroll.prototype.start_scroll_dn=tmp_start_scroll_dn;
class_scroll.prototype.end_scroll=tmp_end_scroll;
class_scroll.prototype.move_up=tmp_move_up;
class_scroll.prototype.move_dn=tmp_move_dn;
class_scroll.prototype.on_click=tmp_click;
class_scroll.prototype.swap_image=tmp_swap_image;
class_scroll.prototype.add_listeners=add_mouse_listeners;
