/*JavaScript: http://www.ks-architects.com/last updated on 2008.07.10(c) 2008 INUI YOSUKE 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)	{ }	// ESC	else if	(event.keyCode == 39)	{ NEXT.go(); }			// →	else if	(event.keyCode == 37)	{ history.go(-1); }			// ←	else if	(event.keyCode == 38)	{ JSS.slide (3/4, JSS.focuskey); }	// ↑	else if	(event.keyCode == 40)	{ JSS.slide (-3/4, JSS.focuskey); }	// ↓	else if	(event.keyCode == 33)	{ JSS.slide(3/4, JSS.focuskey); }	// PAGE UP	else if	(event.keyCode == 34)	{ JSS.slide(-3/4, JSS.focuskey);  }	// PAGE DOWN	else if	(event.keyCode == 35)	{ JSS.slide(-99, JSS.focuskey); }	// END	else if	(event.keyCode == 36)	{ JSS.slide(99, JSS.focuskey);  }	// HOME	else if	(event.keyCode == 32)	{ JSS.slide(-3/4, JSS.focuskey); }	// Space Bar	else if	(event.keyCode == 13)	{ GALLERY.open(0); }		// Return//	else	{ alert(event.keyCode); }}// ------------------------------- Re -------------------------------window.onresize	= function () { Re.set(); }var Re	= { timer:undefined,set:function () {	if (Re.timer) { clearTimeout(Re.timer); }	Re.timer = setTimeout('Re.on ();',128);},on:function () {	if (showTXT.flag) { showTXT.open(1); }	JSS.set();}}// ------------------------------- PNG -------------------------------if (winIE && parseInt(UAver) == 6) { load.Set('PNG();'); }function PNG() {var tmpA = (document.getElementById) ? document.getElementsByTagName('img') : document.images;for (i = 0; i < tmpA.length; i ++) {	if (!tmpA[i].runtimeStyle) continue;	if (!tmpA[i].src.match(/(.*)[^-]\.(png)/i)) continue;	tmpA[i].runtimeStyle.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src="' + tmpA[i].src + '", sizingmethod="image");';	tmpA[i].src = '/com/img/transparent.png';}try { document.execCommand('BackgroundImageCache', false, true); } catch(e) {}}// ------------------------------- NEXT -------------------------------load.Set('NEXT.set();');var NEXT = { timer:undefined, obj:new Object(), set:function () { 	NEXT.obj = new OBJ('NEXT');	ENV.Set();	NEXT.obj.path.onmouseover	= function () { NEXT.on(); }	NEXT.obj.path.onmousemove	= function () { NEXT.on(); }	NEXT.obj.path.onmouseout	= function () { NEXT.off(); }	NEXT.obj.setD(0).setC(0, NEXT.obj.W, NEXT.obj.H, (NEXT.obj.W-NEXT.obj.H)).setD(1);	sweep.Set(NEXT.obj, 0, NEXT.obj.W, NEXT.obj.H, (NEXT.obj.W-NEXT.obj.H));},on:function ()	{	clearTimeout(NEXT.timer);	if (NEXT.obj.C[3] != 0)	{ ENV.Set(); sweep.Set(NEXT.obj,0, NEXT.obj.W, NEXT.obj.H, 0); }},off:function ()	{ 	clearTimeout(NEXT.timer);	NEXT.timer = setTimeout('if (NEXT.obj.C[3] != (NEXT.obj.W-NEXT.obj.H))	{ ENV.Set(); sweep.Set(NEXT.obj,0, NEXT.obj.W, NEXT.obj.H, (NEXT.obj.W-NEXT.obj.H)); }', 64);},go:function ()	{	if ( NEXT.obj.flag)	{ window.location.href = NEXT.obj.path.href; }}}// ------------------------------- BALLOON -------------------------------load.Set('BALLOON.set();');var BALLOON = { timer:new Array(), flag:false, key:false, obj:new Object(), objs:new Array(), txts:new Object(),set:function () {	if(!BALLOON.obj.flag) {		BALLOON.obj = new OBJ(document.createElement('div'));		BALLOON.obj.path.setAttribute('id','BALLOON');		BALLOON.obj.setD(0);		document.getElementsByTagName('body').item(0).appendChild(BALLOON.obj.path);	}	BALLOON.objs = new CLASS('BALLOON');	for (i = 0; i < BALLOON.objs.length; i ++) {		BALLOON.txts[i] = BALLOON.objs[i].path.title;		eval ('BALLOON.objs[' + i +'].path.onmouseover	= function () { BALLOON.on(' + i +'); }');		eval ('BALLOON.objs[' + i +'].path.onmousemove	= function () { BALLOON.on(' + i +'); }');		eval ('BALLOON.objs[' + i +'].path.onmouseout	= function () { BALLOON.off(' + i +'); }');	}}, on:function () {	if (BALLOON.timer) clearTimeout(BALLOON.timer);	BALLOON.key = arguments[0];	if (BALLOON.txts[BALLOON.key]) {		BALLOON.obj.setD(1);		BALLOON.obj.setI(BALLOON.txts[BALLOON.key]);		BALLOON.obj = new OBJ(BALLOON.obj);	// reset OBJ to get Width		BALLOON.obj.setX(BALLOON.objs[BALLOON.key].tX - BALLOON.obj.W + BALLOON.objs[BALLOON.key].W);		BALLOON.obj.setY(BALLOON.objs[BALLOON.key].tY - 30);		BALLOON.obj.setA(100);	trans.Set(BALLOON.obj,100);	} else { BALLOON.obj.setD(0); }}, off:function () {	if (BALLOON.timer) clearTimeout(BALLOON.timer);	BALLOON.timer = setTimeout('trans.Set(BALLOON.obj,0);', 128);}}// ------------------------------- JSS SCROLL -------------------------------function WHEELs () {if	(slideIMG.flag && !showTXT.flag)	{ slideIMG.wheel (MW); }else					{ JSS.wheel (MW); }}// ATTENTION! -- This JavaScript need 'system.js'.mouse.Set('JSS.drag();');wheel.Set('WHEELs();'); // wheel.Set('JSS.wheel();');msup.Set('JSS.off();');load.Set('JSS.set();');var JSS = { timer:new Array(), flag:new Array(), key:new Array(), keys:new Array(),	device:new Array(), objs:new Array(), up:new Array(), dn:new Array(), pagetop:new Array(), /* to scroll */	area:new Array(), areaX:new Array(), areaY:new Array(), areaoffset:0, /* scroll area */	bar:new Array(), barX:new Array(), barY:new Array(), barOffset:0, barSize:new Array(), /* bar */	box:new Array(), /* scroll bar box */	mouseoffset:0, focus:0, focuskey:0, dragkey:undefined,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);	JSS.objs[i].setH (ENV.H - 90 - 60 - 120);	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 + 120); }}	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);}},on:function (key) { JSS.key[key] = true; JSS.mouseoffset = MY - JSS.barY[key]; JSS.dragkey = key; return false; },off:function (key) { JSS.key[key] = false; JSS.dragkey = undefined; },move:function (tmp, key) { if (JSS.flag[key]) {	JSS.areaY[key] = (arguments[0]) ? arguments[0] : 0;	if	(JSS.areaY[key] > JSS.areaoffset )			{ JSS.areaY[key] = JSS.areaoffset; }	else if	(JSS.areaY[key] < JSS.objs[key].H - JSS.area[key].H )	{ JSS.areaY[key] = JSS.objs[key].H - JSS.area[key].H - JSS.areaoffset; }	JSS.barY[key] = - parseInt((JSS.areaY[key] - JSS.areaoffset) / ((JSS.area[key].H + JSS.areaoffset) - (JSS.objs[key].H - JSS.areaoffset)) * (JSS.box[key].H - JSS.barSize[key]));	if	(JSS.barY[key] < JSS.barOffset )			{ JSS.barY[key] = JSS.barOffset; }	else if	(JSS.barY[key] > JSS.box[key].H - JSS.barSize[key] )	{ JSS.barY[key] = JSS.box[key].H - JSS.barSize[key]; }	move.Set(JSS.area[key], JSS.areaY[key], JSS.areaX[key], 3, 200);	move.Set(JSS.bar[key], JSS.barY[key], JSS.barX[key], 5, 30);}},drag:function () { if (JSS.dragkey != undefined && JSS.flag[JSS.dragkey]) {	if (JSS.key[JSS.dragkey]) {	JSS.barY[JSS.dragkey] = MY - JSS.mouseoffset;	if	(JSS.barY[JSS.dragkey] < JSS.barOffset)		{ JSS.barY[JSS.dragkey] = JSS.barOffset; }	else if	(JSS.barY[JSS.dragkey] > JSS.box[JSS.dragkey].H - JSS.bar[JSS.dragkey].H )	{ JSS.barY[JSS.dragkey] = JSS.box[JSS.dragkey].H - JSS.bar[JSS.dragkey].H; }	JSS.areaY[JSS.dragkey] = parseInt( - ((JSS.area[JSS.dragkey].H + JSS.areaoffset) - JSS.objs[JSS.dragkey].H + JSS.areaoffset) / (JSS.box[JSS.dragkey].H - JSS.bar[JSS.dragkey].H) * JSS.barY[JSS.dragkey]) + JSS.areaoffset;	JSS.bar[JSS.dragkey].setY(JSS.barY[JSS.dragkey]); move.Set(JSS.bar[JSS.dragkey], JSS.barY[JSS.dragkey], JSS.barX[JSS.dragkey]);	JSS.area[JSS.dragkey].setY(JSS.areaY[JSS.dragkey]); move.Set(JSS.area[JSS.dragkey], JSS.areaY[JSS.dragkey], JSS.areaX[JSS.dragkey]);	}}},slide:function () { if (JSS.flag[(arguments[1])]) {	var tmp = 1;	if (!JSS.bar[(arguments[1])].tYoffset)	{ JSS.bar[(arguments[1])] = new OBJ (JSS.bar[(arguments[1])].path); }	if (arguments[0])							{ tmp	= arguments[0]; }	else if (MY - JSS.bar[(arguments[1])].tY > JSS.barSize[(arguments[1])])	{ tmp	= -3/5; }	else if (MY - JSS.bar[(arguments[1])].tY < 0)				{ tmp	= 3/5; }	else								{ tmp	= 0; }	JSS.areaY[(arguments[1])] += parseInt(tmp * JSS.objs[(arguments[1])].H);		JSS.move(JSS.areaY[(arguments[1])], arguments[1]);	JSS.on ();	return false;}},wheelkey:0, wheel:function () { if (JSS.focuskey != undefined && JSS.flag[JSS.focuskey]) {	var tmp = (MW > 0) ? 1/5: -1/5;//	if	(tmp > 0 && JSS.areaY[JSS.focuskey] >= 0)						{ JSS.wheelkey++; if (JSS.wheelkey >= 7) { JSS.timer = setTimeout("JSS.focus = 0; JSS.focuskey = undefined;",16); JSS.slide (1/8); JSS.key = false; }}//	else if	(tmp < 0 && JSS.areaY[JSS.focuskey] <= JSS.objs[JSS.focuskey].H - JSS.area[JSS.focuskey].H)	{ JSS.wheelkey--; if (JSS.wheelkey <= -7) { JSS.timer = setTimeout("JSS.focus = 0; JSS.focuskey = undefined;",16); JSS.key = false; }}	if ( false )  {;}	else											{ JSS.wheelkey = 0; JSS.slide (tmp, JSS.focuskey); }	for (i = 0; i < JSS.key.length; i ++) { JSS.key[i] = false; }	JSS.dragkey = false;}}}var GALLERY	= { flag:false,on:function () {  }}var slideIMG	= { flag:false,wheel:function () {  }}var showTXT	= { flag:false,open:function () {  }}function Email () {var Email_Addr	= 'kimura' + '\@' + 'ks-' + 'architects' + '.com';if (arguments[0] && arguments[1]) { Email_Addr = arguments[0] + '\@' + arguments[1]; }var string	= '<a href="' + 'mail' + 'to:' + Email_Addr + '">' + Email_Addr + '</a>';document.open();document.write(string);document.close();}// AUDIO TEST Script...working on Safari & Operaload.Set('AUDIO.set();');var AUDIO = { timer:undefined, obj:new Object(), flag:false, play:function () { if (AUDIO.flag) { AUDIO.obj.play(); }}, set:function () {if (macSF || macOP || winOP) {	AUDIO.obj = new Audio('/com/aiff/wclp.aiff'); // wclp.aiff	AUDIO.flag = true;	var links = document.links;	var imax = links.length;	for(i = 0; i < document.links.length; i++){ if (!document.links[i].onmouseover) { document.links[i].onmouseover = AUDIO.play; }}}}}