var max = 23;
var loopsys = 1;
var auto = 1;
var speed = 5000;
var crease = 1;
var filter=1;
var ftype = 12;
var now = 1;
var Timer;
var next = now;

function Loops(_arg){
	clearTimeout(Timer);
	if(_arg){
		loopsys=1; v_msg.innerHTML = 'ループ';
	}else{
		loopsys=0; v_msg.innerHTML = 'ノーループ';
	}
	if(auto){
		auto=0;
		setSlide();
	}
}

function CSpeed(_arg){
	var tmp = v_speed.value;
	if(tmp.match(/^[0-9]+$/)){
		tmp= parseInt(tmp);
		if(tmp < 1 ){ tmp = 1; v_speed.value =1; }
		if(tmp > 99){ v_speed.value = 99; }
		clearTimeout(Timer);
		speed = tmp*1000;
		if(_arg){ v_msg.innerHTML = '速度が'+tmp+'秒に設定されました'; }
		if(auto){
			auto=0;
			setSlide();
		}
	}else{
		v_speed.value = speed/1000;
		v_msg.innerHTML = '速度は半角数値';
	}
	return false;
}

function Reverse(){
	clearTimeout(Timer);
	if(crease){ crease = 0; v_muki.value='←'; }
	else{ crease = 1; v_muki.value='→'; }
	if(auto){
		auto=0;
		setSlide();
	}
}

function setSlide(_arg){
	if(!auto){
		with(byID('auto')){
			value = '手動へ';
			title = 'マニュアルスライドショー';
		}
		if(_arg){ v_msg.innerHTML ='オートスライドスタート'; }
		CSpeed();
		auto =1;
		waitin = now;
		ASlide();

	}else{
		clearTimeout(Timer);
		auto=0;
		with(byID('auto')){
			value = '自動へ';
			title = 'オートスライドショー';
		}
		if(_arg){ v_msg.innerHTML ='手動スライドスタート'; }
	}
}

function ASlide(){
			clearTimeout(Timer);
			now = parseInt(waitin);
			var fapply=0;

			if(!blnNN6 && filter){
				if(speed >1000){
					if(ftype==23){ v_indata.filters[0].transition = ftype; }
					v_indata.filters[fary].apply();
					fapply=1;
				}else{
					if(v_indata.filters[fary].status != 0){ v_indata.filters[fary].stop(); }
					fapply=0;
				}
			}
			v_indata.innerHTML = datalist[now];
			if(fapply){ v_indata.filters[fary].play(); }

			if(crease){
				if(now >= max){
					if(loopsys){
						next = 1; ChangeSlide(next);
					}else{
						next = now; v_msg.innerHTML = '最後 終了';
					}
				}else{ next= now+1; ChangeSlide(next);  }
			}else{
				if(now <= 1){
					if(loopsys){
						next = max; ChangeSlide(next);
					}else{
						next = now; v_msg.innerHTML = '最初 終了';
					}
				}else{ next = now-1; ChangeSlide(next);  }
			}
}

function ChangeSlide(_arg){
	waitin = _arg;
	Timer=setTimeout("ASlide()",speed);
}

function MSlide(_cmd){
    clearTimeout(Timer);

	switch (_cmd) {
		case '00':
			if(now == 1){ v_msg.innerHTML = '最初'; }
			else{ now=1; v_indata.innerHTML = datalist[now]; }
			if(auto){ auto=0; setSlide(); }else{ auto=1; setSlide(); }
			v_msg.innerHTML ='';
		    break;

		case '0':
			if(now == 1){
				if(loopsys){ now = max; v_indata.innerHTML = datalist[now]; }
				else{ v_msg.innerHTML = '最初'; }
			}else{ now--; v_indata.innerHTML = datalist[now]; }
			if(auto){ auto=0; setSlide(); }else{ auto=1; setSlide(); }
			v_msg.innerHTML ='';
			break;

		case '1':
			if(now >= max){
				if(loopsys){ now = 1; v_indata.innerHTML = datalist[now]; }
				else{ now=max; v_msg.innerHTML = '最後'; }
			}else{ now++; v_indata.innerHTML = datalist[now]; }
			if(auto){ auto=0; setSlide(); }else{ auto=1; setSlide(); }
			v_msg.innerHTML ='';
		    break;

		case '11':
			if(now >= max){ v_msg.innerHTML = '最後'; }
			else{ now = max; v_indata.innerHTML = datalist[now]; }
			if(auto){ auto=0; setSlide(); }else{ auto=1; setSlide(); }
			v_msg.innerHTML ='';
		    break;

		default:
			return false;
	}
}
function setFirst(){
	if(!blnNN6){
		byID('innerdata').style.filter = 'revealTrans(transition=1,duration=1) blendTrans(duration=1)';
		byID('speed').style.imeMmode = 'disabled';
	}
	datalist = new Array();
	for(i=1; i<=max; i++){ datalist[i] = byID('data'+i).innerHTML; }
	v_speed = byID('speed');
	v_msg = byID('msg');
	v_muki = byID('muki');
	v_loop = byID('loop');
	v_indata = byID('innerdata');
	var i = 1;
	if(location.search.length > 1){ i = location.search.substr(1); }
	now = next = i;

	v_speed.value=  speed/1000;
	if(crease){ v_muki.value='→'; }else{ v_muki.value='←'; }
	if(!blnNN6){ if(ftype == 24){ fary = 1; }else{ fary = 0; v_indata.filters[0].transition = ftype;  } }

	v_indata.innerHTML = datalist[now];

	if(loopsys){ v_loop.checked = true; Loops(true); }else{ v_loop.checked = false; Loops(false)  }
	if(auto){ auto=0; setSlide(); }else{ auto=1; setSlide(); }

	byID('main').style.display ='block';
	v_msg.innerHTML = '';
}
function clearmsg(){ v_msg.innerHTML = ''; }
function btnmsg(_arg){ v_msg.innerHTML = _arg; }
document.onkeydown = KeyCheck;
function KeyCheck(_arg){
	var ENV =  blnNN6 ? ENV = _arg : ENV = event;
	switch(ENV.keyCode){
		case 39:
			MSlide('1');
			break;
		case 37:
			MSlide('0');
			break;
		case 32:
			v_loop.click();
			byID('sampler').blur();
			return false;
			break;
		case 38:
			if(!auto){ setSlide(1); }
			break;
		case 40:
			if(auto){ setSlide(1); }
			break;
		case 107:
			v_speed.value = parseInt(v_speed.value) + 1;
			CSpeed(1);
			break;
		case 109:
			v_speed.value = parseInt(v_speed.value) - 1;
			CSpeed(1);
			break;
		default:
			return true;
	}
}
blnNN6 = blnIE4 = blnIE5 = blnOPE = false;
if(document.getElementById){ blnNN6 = true;}
if(window.opera){ blnOPE = true; }
if(document.all && !blnOPE){ if(blnNN6){ blnIE5 = true; blnNN6 = false; }else{ blnIE4 = true; } }

function byID(target_name){
	if(blnNN6 || blnIE5){ return document.getElementById(target_name); }
	if(blnIE4){ return document.all(target_name); }
}
