//パラパラ写真
//yugo yamamoto 2005.12.22
//Safari supported by Kyoichi Ozaki(blog visitor)
function cacheTo(ele,pLastSrc){
	
	//既にキャッシュされていたら何もしない
	if(ele.cache){return;}

	//マウスホイールのイベントを追加
	if( navigator.userAgent.match( "MSIE" ) ){ ele.attachEvent("onmousewheel",mouseWheelZooming ); }
	//if( navigator.userAgent.match( "Gecko" ) ){ ele.addEventListener("DOMMouseScroll",mouseWheelZooming,false )};
	if( navigator.userAgent.match( "Gecko" ) && !navigator.userAgent.match( "Safari" ) ){ ele.addEventListener("DOMMouseScroll",mouseWheelZooming,false )};
	if( navigator.userAgent.match( "Safari" ) ){ ele.onmousewheel = mouseWheelZooming; };

	//画像のキャッシュをする
	ele.cache = new Array();
	var fname = ele.src;
	var i = 0;
	ele.cache[i] = new Image();
	ele.cache[i].src = fname;
	//最後のファイル名までキャッシュする
	while(fname.indexOf(pLastSrc)==-1){
		fname = nextFName(fname,1);
		i++;
		ele.cache[i] = new Image();
		ele.cache[i].src = fname;
	}
	//現在のポジションを0にする
	ele.currentPos = 0;
}

//次のファイル名を返す
//arg1:ファイル名
//arg2:カウントアップ（ダウンする数値）
function nextFName(pStr,count){
	var pos = getNumIndex(pStr);
	var aStr = pStr.substr(0,pos.start);
	var seq = parseInt(pStr.substr(pos.start,pos.len),10)+count;
	aStr += paddingLeft(seq,pos.len);
	aStr += pStr.substr(pos.start+pos.len);
	return aStr;
}
//最後の数値がある位置と長さを返す
function getNumIndex(pStr){
	var numString = "0123456789";
	var lastPos = pStr.lastIndexOf(".")-1
	//拡張子から順に数字をたどっていく
	for(var i=lastPos; i>=0; i--){
		if(numString.indexOf(pStr.charAt(i))==-1){
			return {start:i+1,len:lastPos-i};
		}
	}
}
function paddingLeft(pNum,pLen){
	var buff = pNum + "";
	while (buff.length < pLen){
		buff = "0"+ buff;
	}
	return buff;
}
//ホイールで進む
function foward(ele,delta){
	if(delta <0){
		ele.currentPos++;
		if(ele.currentPos > ele.cache.length-1){
			ele.currentPos = ele.cache.length-1;
		}
	}else{
		ele.currentPos--;
		if(ele.currentPos <= 0){
			ele.currentPos = 0;
		}
	}
	ele.src =  ele.cache[ele.currentPos].src;
	window.status = (ele.currentPos + 1) + "/" +  ele.cache.length
}
//
function mouseWheelZooming( event ){
	//マウスホイールの上／下の取得と、スクロールのキャンセル
	if( navigator.userAgent.match( "MSIE" ) ){ var delta = event.wheelDelta; event.returnValue = false; var ele = event.srcElement} //IE
	if( navigator.userAgent.match( "Gecko" ) && !navigator.userAgent.match( "Safari" ) ){ var delta = event.detail * -1; event.preventDefault();var ele = event.target} //Firefox
	if( navigator.userAgent.match( "Safari" ) ){ var delta = event.wheelDelta; event.returnValue = false;var ele = event.target} //Safari
	foward(ele,delta);
}