/****************************
(c) Wataru Kanzaki, Wings-Winds, 2010
http://www.wi-wi.jp/
****************************/

onload=init;

var slider;
var scroller;
var tImgs=[];
var first;
/****************************/
function EI(id){return document.getElementById(id);}
function ET(tg){return document.getElementsByTagName(tg);}
function EN(nm){return document.getElementsByName(nm);}
function CE(tg){return document.createElement(tg);}
function CT(tx){return document.createTextNode(tx);}
function init(){

	if(!first)first=0;
	
	slider=new Slider();
	slider.init('slider').bcenter({y:0,x:'center'}).callback(TRound).center({y:0,x:0});

	scroller=new Slider();
	scroller.init('scrollbar').bcenter({y:'center',x:0}).callback(CbScroll).center({y:0,x:0});

	var div=EI('thumbnails');
	var imgs=div.getElementsByTagName('img');
	for(var i=0, hrf,im;im=imgs[i];i++){
		hrf=im.parentNode.href;
		if(!hrf)
			continue;
		tImgs[i]=new Image();
		tImgs[i].src=hrf;
		im.onclick=(function(r){return function(e){_Slider.StopEvent(e);TRound({x:r},true);};})(i);
	}
	slider.interval({x: parseInt(360/tImgs.length)})

	TRound({x:0},true);
	CbScroll({y:20});

//	ShowImage(start);
	return true;
}

/************/
function TRound(s,mv){
	ShowImage(s.x);
}//

/************/
function ShowImage(id){
	if(!tImgs[id])
		return;
	EI('output').src=tImgs[id].src;
}

/************/
// マウスホイールによるスクロール
function CbScroll(s){
	var menu=document.getElementById('menu');
	var sld=document.getElementById('scrollbar');

//status='';
	var y=0;
	if(s.x!==undefined && window.event && !window.opera && navigator.userAgent.search(/Webkit/i)==-1 ){
status='cbscroll'+s.x;
		var t=event.srcElement;

		while(t && t.id!="thumbnails")
			t=t.parentNode;

		if(!t)
			y=parseInt(s.y * (menu.clientHeight-420) / sld.clientHeight);
		else{
			y=event.y||document.body.scrollTop||window.scrollY+e.clientY||0;
			scroller.setValue(null, y);
			y=parseInt(scroller.getValue().y * (menu.clientHeight-420) / sld.clientHeight);
		}
	}else{
		y=parseInt(s.y * (menu.clientHeight-420) / sld.clientHeight);
	}
	y-=20; //スクロールバーのサイズ
	menu.style.top=-y+'px';
}//

/************/
function ScrollWheel(e, delta){
	e=e||event;
	var tar=e.target||e.srcElement;
// #container の外でホイール操作なら終了
	while(tar && tar.id!="thumbnails")
		tar=tar.parentNode;
	
	if(!tar)
		return true;
	
// ホイール回転量の調整
	if(e.wheelDelta){
		delta=-e.wheelDelta/30;
	}else if(e.detail){
		delta= e.detail*2;
	}
	if(delta===undefined)
		return true;
	
	_Slider.StopEvent(e);

// スクロール
	var y=scroller.getValue().y + delta;
	if(y<0)y=0;
	scroller.setValue(null, y);
//status='wheel:'+y+' '+scroller.getValue().y+' '+e.wheelDelta+' '+e.detail;
	CbScroll({ y: y} );

	return false;
}//

if(window.addEventListener)window.addEventListener('DOMMouseScroll', ScrollWheel, false);
window.onmousewheel=document.onmousewheel=ScrollWheel;
