
var detailWinWidth = 400;	//ウインドウ幅指定

var obj;
var objList = Array();
var offsetX = 0;
var offsetY = 0;
var xPos = 0;
var yPos = 0;
var detailWinHtmls = Array();
var winWidth = 0;
var disObj = 5;

var loadIdNames = Array();
var titleNames = Array();

var pageClassNames = 'light,standard,premier,rapid,price'; //カンマ区切り
	loadIdNames['light']    = 'detailSusix,detailCoupon'; //カンマ区切り
	loadIdNames['standard'] = 'detailFlash,detailSusix,detailCoupon';
	loadIdNames['premier']  = 'detailFlash,detailSusix,detailCoupon';
	loadIdNames['rapid']    = 'detailSusix';
	loadIdNames['price']    = 'detailBasepages';

window.onresize = windowSize;

function readClass(){
	var bodyElem = document.getElementsByTagName('body');
	return bodyElem[0].className;
}

function setOpacity(elem, opValue){
	if (elem){
		elem.style.filter = 'alpha(opacity=' + (opValue) + ')';
		elem.style.MozOpacity = opValue / 100;
		elem.style.opacity = opValue / 100;
	}
}

function windowSize(){
	if(document.layers || document.getElementById) winWidth = window.innerWidth-20;
	if(document.all) winWidth = document.body.clientWidth-1;
}

function loadingIni(){
	var className = readClass();
	if (loadIdNames[className]){
		windowSize();
		var detailInners = loadIdNames[className].split(',');
		for(i=0; i<detailInners.length; i++){
			if (detailInners[i]){
				detailWinHtmls[detailInners[i]] = elem(detailInners[i]+'Inner').innerHTML;
				titleNames[detailInners[i]] = elem(detailInners[i]).innerHTML;
				elem(detailInners[i]).style.cursor = 'pointer';
				elem(detailInners[i]).onmouseup = openWin;
			}
		}
		moveInit('detailWins', 'detailTitle');
		elem('closeWin').onmouseup = closeWin;
		document.onmouseup = mouseUp;
		document.onmousemove = mouseMove;
		elem('detailWins').style.width = detailWinWidth+'px';
	} else {
		alert('Error');
	}
}

var interValNum = 0;
var opMax = 90;
var opStep = 15;
var tinyInterval;
var intervalChk = false;

function closeWin(){
	setOpacity(elem('detailWins'), opMax);
	elem('detailWins').style.display = 'block';
	if (!intervalChk){
		intervalChk = true;
		tinyInterval = setInterval('opacityInterVal(\'close\');', 1);
	}
}

function opacityInterVal(mode){
	if (mode == 'open'){
		interValNum += opStep;
	} else if (mode == 'close'){
		interValNum -= opStep;
	}
	setOpacity(elem('detailWins'), interValNum);
	if ((mode == 'open')&&(interValNum > opMax)){
		interValNum = opMax;
		clearInterval(tinyInterval);
		setOpacity(elem('detailWins'), opMax);
		intervalChk = false;
	} else if ((mode == 'close')&&(interValNum < 0)){
		interValNum = 0;
		clearInterval(tinyInterval);
		setOpacity(elem('detailWins'), 0);
		elem('detailWins').style.display = 'none';
		intervalChk = false;
	}
}

function openWin(e){
	var elemName = this.id
	if (document.all){
		xPos = positionX();
		yPos = positionY();
	}
	if ((winWidth - disObj) < (xPos+detailWinWidth)) xPos = winWidth - detailWinWidth - disObj;
	xPos += 2;
	yPos += 2;
	elem('detailInners').innerHTML = detailWinHtmls[elemName];
	elem('detailTitle').innerHTML = titleNames[elemName];
	elem('detailWins').style.left = xPos+'px';
	elem('detailWins').style.top = yPos+'px';
	interValNum = 0;
	if (!intervalChk){
		intervalChk = true;
		setOpacity(elem('detailWins'), interValNum);
		elem('detailWins').style.display = 'block';
		tinyInterval = setInterval('opacityInterVal(\'open\');', 1);
	}
}

function moveInit(elemName, subIdName, firstX, firstY){
	if (!firstX) firstX = 0;
	if (!firstY) firstY = 0;
	elem(elemName).style.left = firstX+'px';
	elem(elemName).style.top = firstY+'px';
	elem(subIdName).onmousedown = mouseDown;
	elem(subIdName).mainName = elemName;
	objList.push(elem(elemName));
}

function mouseDown(e){
	obj = elem(this.mainName);
	if (document.all) {
		offsetX = positionX(e) - obj.style.posLeft;
		offsetY = positionY(e) - obj.style.posTop;
	} else {
		offsetX = positionX(e) - parseInt(obj.style.left);
		offsetY = positionY(e) - parseInt(obj.style.top);
	}
	for (i = 0; i < objList.length; i++){
		objList[i].style.zIndex = 0;
	}
	obj.style.zIndex = 1;
	return false;
}

function mouseMove(e) {
	if (obj){
		var xx = positionX(e);
		if ((winWidth - disObj) < (xx+detailWinWidth-offsetX)) xx = winWidth - detailWinWidth - disObj;
		else xx -= offsetX;
		obj.style.left = xx+'px';
		obj.style.top = (positionY(e) - offsetY)+'px';
	} else if (!document.all){
		xPos = positionX(e);
		yPos = positionY(e);
	}
	return false;
}

function mouseUp(e) {
   obj = null;
}

function positionX(e){
	if (document.all)return window.event.clientX+(document.body.scrollLeft || document.documentElement.scrollLeft);
	else return window.pageXOffset+e.clientX;
}

function positionY(e){
	var uName = navigator.userAgent;
	if (uName.indexOf("Safari") > -1)return window.event.clientY;
	else if (document.all)return window.event.clientY+(document.body.scrollTop || document.documentElement.scrollTop);
	else return window.pageYOffset+e.clientY;
}

function elem(elenName){
	if (document.getElementById(elenName)) return document.getElementById(elenName);
	else return false;
}