﻿var isIE = (navigator.appName == "Microsoft Internet Explorer");
var maxVal = (isIE) ? 100 : 1;
var incVal = (isIE) ? 10 : 0.1;
var autonextInt = 4500;
var autofadeInt = 10;
var currAlpha = 0;
var currSlide = 0;
var fFlag = false;

function works(imagenum, imagename, imageheight, description){
	this.imagenum = imagenum;
	this.imagename = imagename;
	this.imageheight = imageheight;
	this.description = description.split(',');
	return this;
}

function initialize(){/*初期設定*/
	hideColumn();
}
function hideColumn(){
	for(var i=0; i<article.length; i++){
		document.getElementById("column"+i).style.display = "none";
	}
}
function hideThumb(){
	document.getElementById("thumbView").style.display = "none";
}
function showThumb(num){
	document.getElementById("thumbView").style.display = "block";
	hideColumn();
	clearAllEffects(num);
}
/*メニューのonclickで実行*/
function changeColumn(num){
	hideColumn();
	hideThumb();
	changeView(num);
	startEffects(num);
}
/*必要な部分のみを表示させる*/
function changeView(pNum){
	document.getElementById("column"+pNum).style.display = "block";
}
/*start interval*/
function startEffects(num){
	document.getElementById("column"+num).style.opacity = currAlpha;
	autofade = setInterval('fadeSet(' + num + ')', autofadeInt);
	if(article[num].imagenum != 1){
		nextImgPreload(num);//image cache
		autonext = setInterval('nextSlide(' + num + ')', autonextInt);
	}
}
/*fade*/
function fadeSet(num){
	if(currAlpha<maxVal){
		if(isIE){
			currAlpha += incVal;
			document.getElementById("column"+num).style.filter = "alpha(opacity=" + currAlpha + ")";
		}else{
			currAlpha += incVal;
			document.getElementById("column"+num).style.opacity = currAlpha;
		}
	}else{
		clearFade();
	}
}
/*next slide*/
function nextSlide(num){
	autofade = setInterval('fadeSet2(' + num + ')', autofadeInt);
}
function fadeSet2(num){
	if(fFlag == false){
		if(currAlpha>0){
			if(isIE){
				currAlpha = Math.round(currAlpha - incVal);
				document.getElementById("img"+num).style.filter = "alpha(opacity=" + currAlpha + ")";
			}else{
				currAlpha = Math.round((currAlpha - incVal)*10)/10;
				document.getElementById("img"+num).style.opacity = currAlpha;
			}
		}else{
			currAlpha=0;
			showNext(num);
			fFlag = true;
		}
	}else{
		if(currAlpha<maxVal){
			if(isIE){
				currAlpha += incVal;
				document.getElementById("img"+num).style.filter = "alpha(opacity=" + currAlpha + ")";
			}else{
				currAlpha += incVal;
				document.getElementById("img"+num).style.opacity = currAlpha;
			}
			
		}else{
			fFlag = false;
			clearFade();
		}
	}
}
function showNext(num){
	var aDesc = document.getElementById("desc"+num);
	var aImg = document.getElementById("img"+num);
	currSlide++;
	if(article[num].imagenum > currSlide){
		aDesc.innerHTML = article[num].description[currSlide];
		aImg.src = "images/" + article[num].imagename + currSlide + ".jpg";
		nextImgPreload(num);//image cache
	}else{
		setDefaultArticle(num);
	}
}
/*最初のテキスト・イメージに戻す*/
function setDefaultArticle(num){
	document.getElementById("desc"+num).innerHTML = article[num].description[0];
	document.getElementById("img"+num).src = "images/" + article[num].imagename + "0.jpg";
	currSlide = 0;
}
/*clear*/
function clearFade(){
	clearInterval(autofade);
}
function clearAllEffects(num){
	currAlpha = 0;
	clearFade();
	clearInterval(autonext);
	setDefaultArticle(num);
}
/*image cache*/
function nextImgPreload(num){
	var nextImgNum = currSlide + 1;
	if(article[num].imagenum > nextImgNum){
		var nextImgSrc = new Image();
		nextImgSrc.src = "images/" + article[num].imagename + nextImgNum + ".jpg";
	}
}
