/*
JavaScript: works_contents.js

last updated on 2009.04.22
(c) 2009 YOSUKE INUI Design Office (http://www.inuiyosuke.jp/)
*/

// ------------------------------- SHORT-CUT KEYS -------------------------------
document.onkeydown = function () {
	if (macFF || winFF) { event = arguments[0]; }
	if (event.altKey || event.ctrlKey || event.shiftKey) { return true; }
	if	(event.keyCode == 27)	{ if (showTXT.flag) { showTXT.exit(); }}	// ESC
	else if	(event.keyCode == 39)	{ NEXT.go(); }			// →
	else if	(event.keyCode == 37)	{ history.go(-1); }			// ←
	else if	(event.keyCode == 38)	{ if (showTXT.flag) { JSS.slide (3/4, JSS.focuskey); } else { slideIMG.on(-1); }}	// ↑
	else if	(event.keyCode == 40)	{ if (showTXT.flag) { JSS.slide (-3/4, JSS.focuskey); } else { slideIMG.on(); }}	// ↓
	else if	(event.keyCode == 33)	{ if (showTXT.flag) { JSS.slide(3/4, JSS.focuskey); } else { slideIMG.on(-1); }}	// PAGE UP
	else if	(event.keyCode == 34)	{ if (showTXT.flag) { JSS.slide(-3/4, JSS.focuskey);  } else { slideIMG.on(); }}	// PAGE DOWN
	else if	(event.keyCode == 35)	{ if (showTXT.flag) { JSS.slide(-99, JSS.focuskey); } else { slideIMG.on(-999); }}		// END
	else if	(event.keyCode == 36)	{ if (showTXT.flag) { JSS.slide(99, JSS.focuskey);  } else { slideIMG.on(0); }}	// HOME
	else if	(event.keyCode == 32)	{ if (showTXT.flag) { JSS.slide(-3/4, JSS.focuskey); } else { slideIMG.on(); }}	// Space Bar
	else if	(event.keyCode == 13)	{ if (load.flag) { showTXT.open(); }}		// Return
//	else	{ alert(event.keyCode); }
}

// ------------------------------- CONSOLE (DOCK) -------------------------------
load.Set('CONSOLE.set();');
var CONSOLE = { timer:undefined, obj:new Object(), dock:new Object(), 
set:function () { 
	CONSOLE.dock	= new OBJ('DOCK');
	CONSOLE.obj	= new OBJ('CONSOLE');
	if (CONSOLE.obj.flag) {
		CONSOLE.dock.path.onmouseover	= function () { CONSOLE.on(); }
		CONSOLE.dock.path.onmousemove	= function () { CONSOLE.on(); }
		CONSOLE.dock.path.onmouseout	= function () { CONSOLE.off(); }
		CONSOLE.obj.path.onmouseover	= function () { CONSOLE.on(); }
		CONSOLE.obj.path.onmousemove	= function () { CONSOLE.on(); }
		CONSOLE.obj.path.onmouseout	= function () { CONSOLE.off(); }
		ENV.Set();
		CONSOLE.obj.setC(0,ENV.W,60,0);
		CONSOLE.timer = setTimeout('if (CONSOLE.obj.C[0] != 60)	{ ENV.Set(); sweep.Set(CONSOLE.obj,60,ENV.W,60,0,2); }',1500);
	}
},on:function ()	{
	clearTimeout(CONSOLE.timer);
	if (CONSOLE.obj.C[0] != 0)	{ ENV.Set(); CONSOLE.obj.setC(CONSOLE.obj.C[0],ENV.W,CONSOLE.obj.C[2],CONSOLE.obj.C[3]); sweep.Set(CONSOLE.obj,0,ENV.W,60,0,3); }
},off:function ()	{ if (!showTXT.flag) {
	clearTimeout(CONSOLE.timer);
	CONSOLE.timer = setTimeout('if (CONSOLE.obj.C[0] != 60)	{ ENV.Set(); sweep.Set(CONSOLE.obj,60,ENV.W,60,0,2); }',1000);
} else { CONSOLE.timer = setTimeout('CONSOLE.off();' ,128); }}
}



// wheel.Set('slideIMG.wheel();');	# Alredy adapted in "com.js".
// -- WORKS img slideshow --
load.Set('slideIMG.set();');
var slideIMG = { timer:undefined, objs:new Array(), credits:new Array(), flag:true, key:9999,
set:function () {
slideIMG.objs	= new CLASS('IMAGE');
slideIMG.credits	= new CLASS('CREDIT');
if (slideIMG.objs.length > 0) { 

	slideIMG.text	= new OBJ('TEXT');
	slideIMG.text.setD(0); 

	for (i = 0; i < slideIMG.objs.length; i ++) { 
		slideIMG.objs[i].path.onclick = function () { slideIMG.slideshow(); }
		slideIMG.objs[i].path.onmousemove = function () { clearTimeout(slideIMG.timer); slideIMG.timer = setTimeout('slideIMG.slideshow();', 8000); }
	}
	slideIMG.slideshow();
}
},
slideshow:function () {
	slideIMG.on(arguments[0]);
// exit TXT 
	showTXT.exit(-1);
//	slideIMG.data_on(-1);

	clearTimeout(slideIMG.timer);
	if (slideIMG.objs.length > 1 ) { slideIMG.timer = setTimeout('slideIMG.slideshow();', 5000); }
},
on:function () {
	clearTimeout(slideIMG.timer);

// exit TXT 
	showTXT.exit();

	if (slideIMG.objs.length <= 0 )  { return; }
	if (slideIMG.key == arguments[0]) { return; }
	if (arguments[0] < 0)	{ slideIMG.key -= 1; }
	else			{ slideIMG.key = (arguments[0] != undefined) ? arguments[0] : slideIMG.key + 1; }
	if (slideIMG.key >= slideIMG.objs.length)	{ slideIMG.key = 0; }
	if (slideIMG.key < 0)			{ slideIMG.key = slideIMG.objs.length - 1; }
	// Ajust for ../works/contents.php
	ENV.Set(); 
	if	(slideIMG.credits.length && ENV.H > 689)	{ for (i = 0; i < slideIMG.credits.length; i ++) { slideIMG.credits[i].setY(600 - 16); }}
	else if	(slideIMG.credits.length)			{ for (i = 0; i < slideIMG.credits.length; i ++) { slideIMG.credits[i].setY(600 - parseInt((600 - (ENV.H - 120)) / 2) - 16); }}

	slideIMG.objs[slideIMG.key].setA(0);
	slideIMG.objs[slideIMG.key].setX(30);
//	slideIMG.objs[slideIMG.key].setC(0,0,550,0);
	slideIMG.objs[slideIMG.key].setD(1);
	for (i = 0; i < slideIMG.objs.length; i ++) { 
		if (i == slideIMG.key) { slideIMG.objs[i].setZ(100); }
		else  { slideIMG.objs[i].setZ((slideIMG.objs[i].Z -1)); }
		if	(slideIMG.objs[i].Z < 99) { slideIMG.objs[i].setD(0); }
	}
	trans.Set(slideIMG.objs[slideIMG.key],100,5);
	move.Set(slideIMG.objs[slideIMG.key],0, 0,3,10);
	slideIMG.timer = setTimeout('slideIMG.slideshow();', 8000);
},
wheeltimer:undefined, wheel:function () { if (slideIMG.objs.length > 0) { 
	clearTimeout(slideIMG.wheeltimer);
	if (MW > 0)	{ slideIMG.wheeltimer = setTimeout('slideIMG.on(-1);', 128); }
	else		{ slideIMG.wheeltimer = setTimeout('slideIMG.on();', 128); }
}}
}

// ------------------------------- WORKS txt TEXT -------------------------------
load.Set('showTXT.set();');
var showTXT = { timer:undefined, flag:false, obj:new Object(), bg:new Object(), close:new Object(),
set:function () {
	showTXT.obj	= new OBJ('TXT');
	showTXT.obj.setD(0).setZ(102);
},
open:function () { if (!showTXT.flag || arguments[0]) {
if (slideIMG.timer) { clearTimeout(slideIMG.timer); }
// TXT_BG
	showTXT.flag = true;

	if(!showTXT.bg.flag) {
		showTXT.bg = new OBJ(document.createElement('div'));
		showTXT.bg.path.setAttribute('id','TXT_BG');
		showTXT.bg.path.onclick = function () { showTXT.exit(); }
		document.getElementsByTagName('body').item(0).appendChild(showTXT.bg.path);
	}
	ENV.Set();
	showTXT.bg.setW(ENV.tW);
	showTXT.bg.setH(ENV.tH);
	if (showTXT.bg.A >= 80) { showTXT.bg.setA(0); }
	showTXT.bg.setD(1);
	trans.Set(showTXT.bg,80,2,30);
	showTXT.timer = setTimeout('showTXT.open2();',128);
	return false;
} else { showTXT.exit(); }
},open2:function () { if (showTXT.flag) {
// -- showTXT.open2() --
if (showTXT.timer) clearTimeout(showTXT.timer);
if (showTXT.bg.A >= 80) {
	showTXT.obj.setD(1);
	JSS.set();

// BUTTON: CLOSE
	if (!showTXT.close.flag) {
		showTXT.close = new OBJ(document.createElement('a'));
		showTXT.close.path.onclick		= function() { showTXT.exit(); }
		showTXT.close.path.onmouseover	= function() { sweep.Set(showTXT.close,0,70,21,0); }
		showTXT.close.path.onmouseout		= function() { sweep.Set(showTXT.close,0,21,21,0); }
		showTXT.close.path.setAttribute('id','TXT_CLOSE');
		document.getElementsByTagName('body').item(0).appendChild(showTXT.close.path);
	}
	if (ENV.H > 811)		{ showTXT.close.setY(parseInt(ENV.H / 2 - 274)); }
	else if (ENV.H > 689)	{ showTXT.close.setY(parseInt(ENV.H / 2 - 304)); }
	else			{ showTXT.close.setY(20).setH(ENV.H - 190); }

	showTXT.close.setX(parseInt((ENV.W + 800)/2)+ENV.X - 50);
	showTXT.close.setC(0,21,21,0);
	showTXT.close.setD(1);
	sweep.Set(showTXT.close,0,21,21,0);

} else { showTXT.timer = setTimeout('showTXT.open2();',128); }
}},exit:function () { if (showTXT.flag) {
// -- showTXT.exit() --
if (showTXT.timer) clearTimeout(showTXT.timer);
	if (showTXT.close.flag)	{ showTXT.close.setD(0); }
		showTXT.obj.setD(0);
		showTXT.bg.setD(0);
		showTXT.flag	= false;
}}
}

// -- Over Write --
JSS.set = function () {
	JSS.objs		= new CLASS('JSS');
	JSS.area		= new CLASS('JSS_AREA');
	JSS.device	= new CLASS('JSS_DEVICE');
	JSS.bar		= new CLASS('JSS_BAR');
	JSS.box		= new CLASS('JSS_BOX');
	JSS.up		= new CLASS('JSS_UP');
	JSS.dn		= new CLASS('JSS_DN');
	JSS.pagetop	= new CLASS('JSS_PAGETOP');

for (i = 0; i < JSS.objs.length; i ++) {
	ENV.Set();
	JSS.areaoffset = 0;
	JSS.area[i].setY(JSS.areaoffset);
	JSS.area[i].setD(1);
	// Ajust for ../works/contents.php
	if (ENV.H > 811)		{ JSS.objs[i].setY(parseInt(ENV.H / 2 - 274)).setH(500); }
	else if (ENV.H > 689)	{ JSS.objs[i].setY(parseInt(ENV.H / 2 - 304)).setH(ENV.H / 2 + 100); }
	else			{ JSS.objs[i].setY(20).setH(ENV.H - 190); }
	JSS.device[i].setH (JSS.objs[i].H);
	JSS.box[i].setH (JSS.objs[i].H - 31);
	JSS.box[i].setW (11);
	JSS.device[i].setD(0); 
	JSS.bar[i].setY(JSS.barOffset);
	JSS.pagetop[i].setD(0); 

if (JSS.objs[i].flag && (JSS.area[i].H) > JSS.objs[i].H ) {
	if (JSS.pagetop[i] && JSS.pagetop[i].flag) { JSS.pagetop[i].setD(1); if (!JSS.flag[i]) { JSS.area[i].setH(JSS.area[i].H + 90); }}

	JSS.flag[i] = true;
	JSS.areaY[i]	= JSS.area[i].Y;
	JSS.barY[i]	= JSS.bar[i].Y;
//	JSS.box[i].setH(JSS.box[i].H);
//	JSS.box[i].setW(JSS.box[i].W);
	JSS.device[i].setD(1);

	JSS.barSize[i] = parseInt(JSS.objs[i].H / (JSS.area[i].H + JSS.areaoffset)  * JSS.box[i].H);
	JSS.barSize[i] = (JSS.barSize[i] < 30) ? 30 : JSS.barSize[i];


	// スクロール中の範囲選択を停止
	if ( document.getElementsByTagName('body')[0] ) { 
		document.getElementsByTagName('body')[0].onmousedown	= function () { return ((JSS.dragkey != undefined && JSS.key[JSS.dragkey])) ? false : true; }
		document.getElementsByTagName('body')[0].onmousemove	= function () { return ((JSS.dragkey != undefined && JSS.key[JSS.dragkey])) ? false : true; }
	}
	else if ( document.body ) { 
		document.body.onmousedown				= function () { return ((JSS.dragkey != undefined && JSS.key[JSS.dragkey])) ? false : true; }
		document.body.onmousemove				= function () { return ((JSS.dragkey != undefined && JSS.key[JSS.dragkey])) ? false : true; }
	}

	eval ('JSS.objs[' + i + '].path.onmouseover	= function () { clearTimeout(JSS.timer); JSS.focus = 1; JSS.focuskey = ' + i + '; }');
	eval ('JSS.objs[' + i + '].path.onmousemove	= function () { clearTimeout(JSS.timer); JSS.focus = 1; JSS.focuskey = ' + i + '; }');
//	eval ('JSS.objs[' + i + '].path.onmouseout	= function () { JSS.timer = setTimeout("JSS.focus = 0; JSS.focuskey = 0;",16); }');
	eval ('JSS.bar[' + i + '].path.onmousedown	= function () { JSS.on(' + i + '); }');
	eval ('JSS.box[' + i + '].path.onmousedown	= function () { JSS.slide(false, ' + i + '); }');
	eval ('JSS.up[' + i + '].path.onclick		= function () { JSS.slide(3/5, ' + i + '); JSS.key[' + i + '] = false; return false; }');
	eval ('JSS.dn[' + i + '].path.onclick		= function () { JSS.slide(-3/5, ' + i + '); JSS.key[' + i + '] = false; return false; }');
	eval ('JSS.pagetop[' + i + '].path.onclick	= function () { JSS.move(0, ' + i + '); JSS.key[' + i + '] = false; return false; }');

// 初期動作
	JSS.bar[i].setW(11);
	if (JSS.bar[i].H < 30) { JSS.bar[i].setH(1); }
	size.Set(JSS.bar[i], JSS.barSize[i], JSS.box[i].W);

}
// 初期絶対動作
//	move.Set(JSS.area[i], JSS.areaoffset, JSS.areaX);
}}
