
var divWidth = 0;	// outer div width
var divXPos  = 0;	// outer div x-position
var ulWidth  = 0;	// inner ul width
var moveFlg  = 0;	// moving flag
var leftPos  = 0;	// inner ul offset left position
var speed    = 0;	// frame/msec

Event.observe(window, 'load', function(){
	if(!$('guru2ul')){return false};
	_setWidth();
	setScroll(50);	// move left slowly
	initScroll('guru2-710');
	initScroll('guru2-730');
	initScroll('guru2-903');
});

function initScroll(idName){
	if(!$(idName)){return false;}
	divWidth = $(idName).offsetWidth;
	divXPos = Position.cumulativeOffset($(idName))[0];

	// outer div events
	Event.observe(idName, 'mouseover', function(e){
		if(Event.pointerX(e) < divXPos + divWidth / 5){
			setScroll(-5);	// move right fast
		}else if(Event.pointerX(e) < divXPos + divWidth / 5 * 2){
			setScroll(-50);	// move right slowly
		}else if(Event.pointerX(e) < divXPos + divWidth / 5 * 3){
			setScroll(0);	// stop
		}else if(Event.pointerX(e) < divXPos + divWidth / 5 * 4){
			setScroll(50);	// move left slowly
		}else{
			setScroll(5);	// move left fast
		}
	});
	Event.observe(idName, 'mouseout' , function(){setScroll(0)});

	// left button events
	Event.observe('pre-'+idName, 'mouseover', function(e){setScroll(-1);});
	Event.observe('pre-'+idName, 'mouseout',  function(e){setScroll(0);});

	// right button events
	Event.observe('post-'+idName, 'mouseover', function(e){setScroll(1);});
	Event.observe('post-'+idName, 'mouseout',  function(e){setScroll(0);});
}

/* control scrolling                               */
/*   arg: 0:stop, plus:move left, minus:move right */
function setScroll(setSpeed){
	if(setSpeed==0){	// stop
		moveFlg = 0;
		if(window.timer0){	// stop timer
			clearTimeout(timer0);
		}
	}else if(setSpeed > 0){	// move left
		speed = setSpeed;
		if(moveFlg < 0 && window.timer0){	// if moving right and timer exists,
			clearTimeout(timer0);			// stop timer
		}
		if(moveFlg <= 0){	// if not moving left,
			moveFlg = 1;
			_scrollLeft();	// move left
		}
	}else if(setSpeed < 0){	// move right
		speed = -1 * setSpeed;
		if(moveFlg > 0 && window.timer0){	// if moving left and timer exists,
			clearTimeout(timer0);			// stop timer
		}
		if(moveFlg >= 0){	// if not moving right,
			moveFlg = -1;
			_scrollRight();	// move left
		}
	}
}

/* loop: move left */
function _scrollLeft(){
	$('guru2ul').style.left = leftPos + 'px';
	if(leftPos > divWidth - ulWidth){
		--leftPos;
		timer0 = setTimeout(function(){_scrollLeft()},speed);
	}
}

/* loop: move right */
function _scrollRight(){
	$('guru2ul').style.left = leftPos + 'px';
	if(leftPos < 0){
		++leftPos;
		timer0 = setTimeout(function(){_scrollRight()},speed);
	}
}

/* adjust inner ul width */
function _setWidth(){
	var nodes = $('guru2ul').childNodes;
	for(i = 0; i < nodes.length; i++){
		if(nodes.item(i).nodeType==1){
			ulWidth += nodes.item(i).offsetWidth;
		}
	}
	$('guru2ul').style.width = ulWidth + 1 + 'px';
}

function photo_disp(url){
	window.open(url,"photo_detail","toolbar=no,location=no,directories=no,state=no,menubar=no,scrollbars=yes,resizable=yes,width=800,height=800,left=650,top=50");
}
