/*
JavaScript: system.js 2.11

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

var error	=false;
var OK	= 'OK';
var doc	= window.document;

// ---------- onload ----------
var load={ flag: false,A0: new Array('ENV.Set();','PIMG.set();','ASCROLL.set();','MOUSE()','DOWN()','MSUP()','WHEEL()'),Set: function () { var flag=true; for (iLOAD=0; iLOAD < load.A0.length; iLOAD ++) { if (arguments[0] == load.A0[iLOAD]) { flag=false; break; }} if (flag) load.A0.push(arguments[0]); }}
window.onload=function () { load.flag=true; setTimeout('for (iLOAD=0; iLOAD < load.A0.length; iLOAD ++) { eval(load.A0[iLOAD]); }',300); }

// ---------- TIMER ----------
var timer={ flag:false,A0:new Array('script_SCROLL();','script_MOVE();','script_INERTIA();','script_SWEEP();','script_TRANS();','script_SIZE();'),timer:false,Set: function () { var flag=true; for (iTIMER=0; iTIMER < timer.A0.length; iTIMER ++) { if (arguments[0] == timer.A0[iTIMER]) { flag=false; break; }} if (flag) timer.A0.push(arguments[0]); }}
function TIMER () { if (error) return false;
if (load.flag) {
 if (timer.timer) {
	timer.flag=false; for (iTIMER=0; iTIMER < timer.A0.length; iTIMER ++) { if (eval(timer.A0[iTIMER])) timer.flag=true; }
	if (timer.flag) { clearTimeout(timer.timer); timer.timer=setTimeout('TIMER ();',16); } else { timer.timer=false; }
 } else { clearTimeout(timer.timer); timer.timer=setTimeout('TIMER ();',16); }
} else { load.Set("TIMER ()"); }
}

// ---------- PARAMETER ----------
var winSF,winIE,winIE8,winFF,winOP,winNN,winCH,macSF,macFF,macOP,macNN,macIE,macCH;
var OSname=navigator.platform;
var UAname=navigator.appName;
var UAver	= 'UNKOWN';
var OSX	= (navigator.userAgent.indexOf('Mac OS X') != -1) ? true : false;
if		(OSname.indexOf('Mac',0)	>= 0) {
	if	(navigator.userAgent.indexOf('Chrome',0)	>= 0) macCH=true;
	else if	(navigator.userAgent.indexOf('Safari',0)	>= 0) macSF=true;
	else if	(UAname.indexOf('Explorer',0)			>= 0) macIE=true;
	else if	(navigator.userAgent.indexOf('Firefox',0)	>= 0) macFF=true;
	else if	(UAname.indexOf('Opera',0)			>= 0) macOP=true;
	else if	(UAname.indexOf('Netscape',0)			>= 0) macNN=true;
} else if	(OSname.indexOf('Win',0) >= 0) {
	if	(navigator.userAgent.indexOf('Chrome',0)	>= 0) winCH=true;
	else if	(navigator.userAgent.indexOf('Safari',0)	>= 0) winSF=true;
	else if	(UAname.indexOf('Explorer',0)			>= 0) winIE=true;
	else if	(navigator.userAgent.indexOf('Firefox',0)	>= 0) winFF=true;
	else if	(UAname.indexOf('Opera',0)			>= 0) winOP=true;
	else if	(UAname.indexOf('Netscape',0)			>= 0) winNN=true;
}
OSname	= (OSname.indexOf('Win',0) >= 0) ? 'Win' : (OSname.indexOf('Mac',0) >= 0) ? 'Mac' : 'UNKOWN';
if	(winIE || macIE)	{ UAname='Internet Explorer'; 	navigator.userAgent.match(/(.*)MSIE([\D]*)([\d]+([\.][\d]+)*)(.*)/);		UAver = RegExp.$3; }
else if	(winFF || macFF)	{ UAname='Firefox';			navigator.userAgent.match(/(.*)Firefox([\D]*)([\d]+([\.][\d]+)*)(.*)/);	UAver = RegExp.$3; }
else if	(winSF || macSF)	{ UAname='Safari';			navigator.userAgent.match(/(.*)Version([\D]*)([\d]+([\.][\d]+)*)(.*)/);	UAver = RegExp.$3; }
else if	(winOP || macOP)	{ UAname='Opera';			navigator.userAgent.match(/(.*)Opera([\D]*)([\d]+([\.][\d]+)*)(.*)/);		UAver = RegExp.$3; }
else if	(winNN || macNN)	{ UAname='Netscape Navigator';	navigator.userAgent.match(/(.*)Netscape([\D]*)([\d]+([\.][\d]+)*)(.*)/);	UAver = RegExp.$3; }
if	(!UAname)		{ navigator.appName.match(/([\w\s]*)([\W]*)(.*)/);		UAname = RegExp.$1; }
if	(!UAver)		{ navigator.appVersion.match(/([\D]*)([\d]+([\.][\d]+)*)(.*)/);	UAver = RegExp.$2; }
UAver = parseInt(UAver);

var Q=new Array();
var query=window.location.search;
if(query != '' && query.match(/(^\?)(.*)/)) {
	var Qflag=false;
	query=RegExp.$2;
	query=query.replace(/&amp;|&#38/ig,"&");
	var Qlist=query.split('&');
	query='?';
	for (bi=0; bi < Qlist.length; bi ++) { var tmp=Qlist[bi].split('='); Q[(tmp[0])]=tmp[1]; /*?ONW*/ if (tmp[0].toUpperCase() == 'ONW') { Qflag=true; } else { query += Qlist[bi] + '&'; }}
	if (Qflag) window.location.search=query;
}

// ---------- ENV ----------
var ENV={ Y:0,X:0,H:0,W:0,tH:0,tW:0,Set:function () {
ENV.Y=doc.body.scrollTop || doc.documentElement.scrollTop; ENV.Y=parseInt(ENV.Y);
ENV.X=doc.body.scrollLeft || doc.documentElement.scrollLeft; ENV.X=parseInt(ENV.X);
if (self.innerWidth) { /*ALL UA*/ ENV.W=(doc.documentElement.clientWidth) ? parseInt(doc.documentElement.clientWidth) : parseInt(self.innerWidth); ENV.H=(doc.documentElement.clientHeight) ? parseInt(doc.documentElement.clientHeight) : parseInt(self.innerHeight); }
else if (doc.documentElement && doc.documentElement.clientHeight) { /*IE Strict*/ ENV.W=parseInt(doc.documentElement.clientWidth); ENV.H=parseInt(doc.documentElement.clientHeight); }
else if (window.doc.body.clientWidth) { /*IE*/ ENV.W=parseInt(window.doc.body.clientWidth); ENV.H=parseInt(window.doc.body.clientHeight); }
else if (doc.getElementsByTagName('body')) { ENV.W=parseInt(doc.getElementsByTagName('body')[0].style.width); ENV.H=parseInt(doc.getElementsByTagName('body')[0].style.height); }
if (window.innerWidth && window.scrollMaxX) { ENV.tW=parseInt(window.innerWidth) + parseInt(window.scrollMaxX); ENV.tH=parseInt(window.innerHeight) + parseInt(window.scrollMaxY); }
else if (doc.body.scrollWidth && doc.body.offsetWidth){ ENV.tW=(doc.body.scrollWidth > doc.body.offsetWidth) ? parseInt(doc.body.scrollWidth) : parseInt(doc.body.offsetWidth); ENV.tH=(doc.body.scrollHeight > doc.body.offsetHeight) ? parseInt(doc.body.scrollHeight) : parseInt(doc.body.offsetHeight); }
else { ENV.tW=parseInt(doc.body.offsetWidth); ENV.tH=parseInt(doc.body.offsetHeight); }
ENV.tH=(ENV.tH < ENV.H) ? ENV.H : ENV.tH;
ENV.tW=(ENV.tW < ENV.W) ? ENV.W : ENV.tW;
},WO:function () {
if (!winIE) { if (!window.opener) { return 0; } else if (window.opener.location.hostname == window.location.hostname) { return 1; }}
else { if (!window.opener) { return 0; } else if (window.opener.closed) { return 0; } else if (window.opener.location.hostname == window.location.hostname) { return 1; }}
}
}

// ---------- OBJECT ----------
if (!Array.prototype.push)	{ Array.prototype.push	= function() { var ArrayLength=this.length; for (var si=0; si < arguments.length; si++) this[ArrayLength + si]=arguments[si]; }}
Array.prototype.remove=function () { if(this.length > arguments[0] && this.length > 1){ var tmp1=this.slice(0,arguments[0]); var tmp2=this.slice((arguments[0] + 1)); return tmp1.concat(tmp2); } else { return new Array(); }}
Array.prototype.csv=function () { var tmp=new Array(); for (si=0; si < this.length; si ++) { tmp[si]=String(this[si]).replace(/"/g,'""'); /*")*/tmp[si]=(tmp[si].match(/("")|[\r\n\,]/)) ? ('"' + tmp[si] + '"') : tmp[si]; } return tmp.join(','); }
String.prototype.csv=function () { var tmp1=this.replace(/(\x0D\x0A|[\x0D\x0A])?$/,','); var tmp2; var tmp3=new Array(); while (tmp1.match(/("[^"]*(""[^"]*)*"|[^,]*),(.*)/)) { tmp1=RegExp.$3; tmp2=RegExp.$1; if (tmp2.match(/^"(.*)"$/)) { tmp2=RegExp.$1.replace(/""/g,'"'); }; tmp3.push(tmp2); } return (this != '') ? tmp3 : new Array(); }

var Cal={ px:function () { return (arguments[0] > arguments[1]) ? (parseInt(Math.ceil((arguments[0] - arguments[1]) / arguments[2]))) : (parseInt(Math.floor((arguments[0] - arguments[1]) / arguments[2])));},pm:function () { if (arguments[1]) { return (arguments[0] == arguments[1]) ? 0 : (arguments[0] > arguments[1]) ? 1 : -1; } else { return (arguments[0] == 0) ? 0 : (arguments[0] > 0) ? 1 : -1; }}}

function OBJ () {
var obj=arguments[0];
if (typeof(obj) == 'object') {
	if (obj.flag)	{ this.path=obj.path; this.jss=this.path.style; this.id=this.id; this.flag=true; }
	else if (obj.style)	{ this.path=obj; this.jss=this.path.style; this.id=(this.id) ? this.id : 'Unspecified'; this.flag=true; }
} else {
	this.id=obj;
	if (doc.getElementById) {
		if (eval('doc.getElementById("' + obj + '")')) { this.path=eval('doc.getElementById("' + obj + '")'); this.jss=this.path.style; this.flag=true; }
		else { this.flag=false; }
	} else if (doc.all) {
		if (eval('doc.all.' + obj)) { this.path=eval('doc.all.' + obj); this.jss=this.path.style; this.flag=true;}
		else { this.flag=false; }
	} else { this.flag=false; }
}
if (this.flag) { ENV.Set();
this.Y		= (parseInt(this.jss.top) >= 0)	? parseInt(this.jss.top)	: parseInt(this.path.offsetTop);	this.Y=(this.Y) ? this.Y : 0;
this.X		= (parseInt(this.jss.left) >= 0)	? parseInt(this.jss.left)	: parseInt(this.path.offsetLeft);	this.X=(this.X) ? this.X : 0;
this.Z		= this.jss.zIndex; this.Z=(this.Z) ? this.Z : 1;

var tmp		= this.path;
this.tYoffset	= 0;
this.tXoffset	= 0;
if (this.id != "Unspecified" || this.path.className) { while ((tmp=tmp.offsetParent) != null) { this.tXoffset += parseInt(tmp.offsetLeft); this.tYoffset += parseInt(tmp.offsetTop); }}
this.tY		= this.Y + this.tYoffset;
this.tX		= this.X + this.tXoffset;

if (this.jss.height){ this.H=parseInt(this.jss.height); }
else		{ this.H=parseInt(this.path.offsetHeight); this.H -= (this.jss.paddingTop) ? parseInt(this.jss.paddingTop) : 0; this.H -= (this.jss.paddingBottom) ? parseInt(this.jss.paddingBottom) : 0; }
if (this.jss.width)	{ this.W=parseInt(this.jss.width); }
else		{ this.W=parseInt(this.path.offsetWidth); this.W -= (this.jss.paddingLeft) ? parseInt(this.jss.paddingLeft) : 0; this.W -= (this.jss.paddingRight) ? parseInt(this.jss.paddingRight) : 0; }
this.V=(this.jss.visibility == 'hide' || this.jss.visibility == 'hidden') ? 0 : 1;
this.D=(this.jss.display == 'none') ? 0 : 1;
var tmpC=new Array();
if(this.jss.clip) {
	if	(this.jss.clip == 'auto' || this.jss.clip == '')		{ tmpC	= new Array(0,0,0,0); }
	else if	(this.jss.clip.match(/^(rect\()([\0-9px,\s]+)(\);?)$/i))	{ var tmp=RegExp.$2.replace(/(px)/g,'').replace(/\s|\,/g,',').replace(/\,\,/g,','); tmpC=tmp.split(","); }
	for (bi=0; bi < tmpC.length; bi ++) { tmpC[bi]=parseInt(tmpC[bi]); }
} else {
	tmpC=new Array(0,this.W,this.H,0);
}
this.C	= new Array(tmpC[0],tmpC[1],tmpC[2],tmpC[3]);
	var tmpA;
	if	(!isNaN(this.jss.KhtmlOpacity))		tmpA=(this.jss.KhtmlOpacity) ? parseInt(this.jss.KhtmlOpacity * 100) : 100;
	else if	(!isNaN(this.jss.MozOpacity))			tmpA=(this.jss.MozOpacity) ? parseInt(this.jss.MozOpacity * 100) : 100;
	else if	(!isNaN(this.jss.opacity))			tmpA=(this.jss.opacity) ? parseInt(this.jss.opacity * 100) : 100;
	else if	(!macIE && this.jss.filter.match(/.*\=(\d+).*/i))	tmpA=(RegExp.$1) ? RegExp.$1 : 100;
this.A		= (isNaN(tmpA)) ? 100 : tmpA;
this.setY=function () {
	this.Y	= arguments[0];
	this.tY	= this.Y + this.tYoffset;
	ENV.Set();
	if (doc.getElementById) { this.jss.top=this.Y + 'px'; }
	else if (doc.all) { this.jss.top=this.Y + ENV.Y; }
	if (winSF || macSF) window.scrollBy(0,0);
	return this;
}
this.setX=function () {
	this.X=arguments[0];
	this.tX	= this.X + this.tXoffset;
	ENV.Set();
	if (doc.getElementById) { this.jss.left	= this.X + 'px'; }
	else if (doc.all) { this.jss.left	= this.X + ENV.X; }
//	if (winSF || macSF) window.scrollBy(0,0);
	return this;
}
this.setZ=function () { this.Z=(arguments[0]) ? arguments[0] : 1; this.jss.zIndex=this.Z; return this; }
this.setH=function () { this.H=arguments[0]; this.jss.height = this.H + 'px'; return this; }
this.setW=function () { this.W=arguments[0]; this.jss.width = this.W + 'px'; return this; }
this.setV=function () {
	this.V=(arguments[0] == 1 || arguments[0] == 0) ? arguments[0] : (this.V) ? 0 : 1;
	if	(this.V == 1)	{ this.jss.visibility='visible'; }
	else 			{ this.jss.visibility='hidden'; }
	return this;
}
this.setD=function () {
	this.D=(arguments[0] == 1 || arguments[0] == 0) ? arguments[0] : (this.D) ? 0 : 1;
	if	(this.D == 1)	{ this.jss.display='block'; this.setV(1); }
	else 			{ this.jss.display='none'; }
	return this;
}
this.setC=function () {
	this.C[0]=arguments[0]; this.C[1]=arguments[1]; this.C[2]=arguments[2]; this.C[3]=arguments[3];
	this.jss.clip='rect(' + this.C[0] + 'px,' + this.C[1] + 'px,' + this.C[2] + 'px,' + this.C[3] + 'px)';
	return this;
}
this.setA=function () {
	this.A=(arguments[0] >= 100) ? 100 : (arguments[0] <= 0) ? 0 : parseInt(arguments[0]);
	this.jss.KhtmlOpacity	= this.A/100;
	this.jss.MozOpacity		= this.A/100;
	this.jss.opacity		= this.A/100;
	this.jss.filter		= 'alpha(opacity=' + (this.A) + ')';
	return this;
}
this.setI=function () { 
	if (!load.flag) return;
	ENV.Set();
	if (doc.getElementById || doc.all) this.path.innerHTML=arguments[0];
	return this;
}
} else { this.flag=false;this.setY=non;this.setX=non;this.setZ=non;this.setH=non;this.setW=non;this.setV=non;this.setD=non;this.setC=non;this.setA=non;this.setI=non; return false; }
return true;
}

function LIST () {
this.flag=false;
this.A0=new Array();this.A1=new Array();this.A2=new Array();this.A3=new Array();this.A4=new Array();this.A5=new Array();this.A6=new Array();
this.lastA0=new Array();this.lastA1=new Array();this.lastA2=new Array();this.lastA3=new Array();this.lastA4=new Array();
this.Set=function () {
var flag=false;
for (iLIST=0; iLIST < this.A0.length; iLIST ++) { if (arguments[0] == this.A0[iLIST] || arguments[0] == this.A0[iLIST].id) { flag=true; this.A1[iLIST]=arguments[1];this.A2[iLIST]=arguments[2];this.A3[iLIST]=arguments[3];this.A4[iLIST]=arguments[4];this.A5[iLIST]=arguments[5];this.A6[iLIST]=arguments[6]; break; }}
if (!flag) { this.A0.push(arguments[0]);this.A1.push(arguments[1]);this.A2.push(arguments[2]);this.A3.push(arguments[3]);this.A4.push(arguments[4]);this.A5.push(arguments[5]);this.A6.push(arguments[6]); }
if (!timer.timer) { TIMER (); }
return false;
}
this.Clear=function () {this.A0=this.A0.remove(arguments[0]);this.A1=this.A1.remove(arguments[0]);this.A2=this.A2.remove(arguments[0]);this.A3=this.A3.remove(arguments[0]);this.A4=this.A4.remove(arguments[0]);this.A5=this.A5.remove(arguments[0]);this.A6=this.A6.remove(arguments[0]);this.lastA0=this.lastA0.remove(arguments[0]);this.lastA1=this.lastA1.remove(arguments[0]);this.lastA2=this.lastA2.remove(arguments[0]);this.lastA3=this.lastA3.remove(arguments[0]);this.lastA4=this.lastA4.remove(arguments[0]);}
}

function CLASS () {
var tmp1=(arguments[1]) ? doc.getElementsByTagName(arguments[1]) : doc.getElementsByTagName('*');
var tmp2=new Array();
var tmp3=new Array();
for (si=0; si < tmp1.length; si++) { if (tmp1[si].className) {
 tmp2=tmp1[si].className.split(/\s+|\t+/);
 for (j=0; j < tmp2.length; j++) { if (tmp2[j] == arguments[0]) { tmp3.push(new OBJ(tmp1[si])); break; }}
}}
return tmp3;
}

// ---------- EFFECT ----------
var scroll=new LIST();
function script_SCROLL () {
scroll.flag	= false;
if (!scroll.A0.length && !scroll.A1.length) return scroll.flag;
for (iSCROLL=0; iSCROLL < scroll.A0.length - 1; iSCROLL ++) scroll.Clear(iSCROLL);
if (scroll.A0[0] && isNaN(scroll.A0[0])) { var tmp=new OBJ(scroll.A0[0]); scroll.A1[0]=tmp.tX; scroll.A0[0]=tmp.tY; }
scroll.A0[0] = (scroll.A0[0] > 0) ? scroll.A0[0] : 0;
scroll.A1[0] = (scroll.A1[0] > 0) ? scroll.A1[0] : 0;
scroll.A2[0] = (isNaN(scroll.A2[0])) ? 5 : scroll.A2[0];
ENV.Set();
if ((scroll.lastA1[0] && ENV.X != scroll.lastA1[0]) || (scroll.lastA0[0] && ENV.Y != scroll.lastA0[0])) { scroll.Clear(0); }
else {
	var X=Cal.px(scroll.A1[0],ENV.X,scroll.A2[0]) + ENV.X;
	var Y=Cal.px(scroll.A0[0],ENV.Y,scroll.A2[0]) + ENV.Y;
	if (X > 0 && ASCROLL.X)	{ X += ASCROLL.X }	// ASCROLL.X
	if (Y > 0 && ASCROLL.Y)	{ Y += ASCROLL.Y }	// ASCROLL.Y
	self.scrollTo (X,Y);
	ENV.Set();
	if ((X == scroll.A1[0] || ENV.X == scroll.lastA1[0]) && (Y == scroll.A0[0] || ENV.Y == scroll.lastA0[0])) { scroll.Clear(0); } else { scroll.flag=true; scroll.lastA1[0]=ENV.X; scroll.lastA0[0]=ENV.Y; }
	return scroll.flag;
}
}

var move=new LIST();
function script_MOVE () {
move.flag	= false;
if (!move.A0[0]) return move.flag;
for (si=0; si < move.A0.length; si ++) {
if (!move.A0[si].flag) { move.A0[si]=new OBJ (move.A0[si]); /*ERROR*/ if (!move.A0[si].flag) { alert('system.js/script_MOVE: "' + move.A0[si].id + '" is not Object.'); move.Clear(si); si--; continue; }}
if (isNaN(move.A2[si])) move.A2[si]=move.A0[si].X;
if (isNaN(move.A1[si])) move.A1[si]=move.A0[si].Y;
move.A3[si]=(isNaN(move.A3[si])) ? 5 : move.A3[si];
move.A4[si]=(isNaN(move.A4[si])) ? 64 : move.A4[si];
var X=Cal.px(move.A2[si],move.A0[si].X,move.A3[si]) + move.A0[si].X;
var Y=Cal.px(move.A1[si],move.A0[si].Y,move.A3[si]) + move.A0[si].Y;
if (Math.abs(X - move.A0[si].X) > move.A4[si]) X=(X > move.A0[si].X) ? (move.A0[si].X + move.A4[si]) : (move.A0[si].X - move.A4[si]);
if (Math.abs(Y - move.A0[si].Y) > move.A4[si]) Y=(Y > move.A0[si].Y) ? (move.A0[si].Y + move.A4[si]) : (move.A0[si].Y - move.A4[si]);
move.A0[si].setX(X); move.A0[si].setY(Y);
if (X == move.A2[si] && Y == move.A1[si]) { move.Clear(si);si--; } else { move.flag=true; }
}
return move.flag;
}

var inertia=new LIST();
function script_INERTIA () {
inertia.flag = false;
if (!inertia.A0[0]) return inertia.flag;
for (si=0; si < inertia.A0.length; si ++) {
if (!inertia.A0[si].flag) { inertia.A0[si]=new OBJ (inertia.A0[si]); /*ERROR*/ if (!inertia.A0[si].flag) { alert('system.js/script_INERTIA: "' + inertia.A0[si].id + '" is not Object.'); inertia.Clear(si); si--; continue; }}
if (isNaN(inertia.A2[si])) inertia.A2[si]=inertia.A0[si].X;
if (isNaN(inertia.A1[si])) inertia.A1[si]=inertia.A0[si].Y;
inertia.lastA2[si]=(inertia.lastA2[si]) ? inertia.lastA2[si] : 0;
inertia.lastA1[si]=(inertia.lastA1[si]) ? inertia.lastA1[si] : 0;
var X=Cal.px(inertia.A2[si],inertia.A0[si].X,1) + inertia.A0[si].X + inertia.lastA2[si];
var Y=Cal.px(inertia.A1[si],inertia.A0[si].Y,1) + inertia.A0[si].Y + inertia.lastA1[si];
inertia.lastA2[si]=-Cal.px(inertia.A0[si].X,X,5/3);
inertia.lastA1[si]=-Cal.px(inertia.A0[si].Y,Y,5/3);
X -= Cal.pm(X,inertia.A0[si].X); inertia.lastA2[si] += Cal.pm(inertia.A0[si].X,X);
Y -= Cal.pm(Y,inertia.A0[si].Y); inertia.lastA1[si] += Cal.pm(inertia.A0[si].Y,Y);
inertia.A0[si].setX(X); inertia.A0[si].setY(Y);
if (X == inertia.A2[si] && (inertia.lastA2[si] < 2) && Y == inertia.A1[si] && (inertia.lastA1[si] < 2)) { inertia.Clear(si);si--; } else { inertia.flag=true; }
}
return inertia.flag;
}

var sweep=new LIST();
function script_SWEEP () {
sweep.flag = false;
if (!sweep.A0[0]) return sweep.flag;
for (si=0; si < sweep.A0.length; si ++) {
if (!sweep.A0[si].flag) { sweep.A0[si]=new OBJ (sweep.A0[si]); /*ERROR*/ if (!sweep.A0[si].flag) { alert('system.js/script_SWEEP: "' + sweep.A0[si].id + '" is not Object.'); sweep.Clear(si); si--; continue; }}
if (isNaN(sweep.A1[si])) sweep.A1[si]=0;
if (isNaN(sweep.A2[si])) sweep.A2[si]=(sweep.A0[si].C[1] < sweep.A0[si].W) ? sweep.A0[si].W : 0;
if (isNaN(sweep.A3[si])) sweep.A3[si]=(sweep.A0[si].C[2] < sweep.A0[si].H) ? sweep.A0[si].H : 0;
if (isNaN(sweep.A4[si])) sweep.A4[si]=0;
sweep.A5[si]=(isNaN(sweep.A5[si])) ? 5 : sweep.A5[si];
sweep.A6[si]=(isNaN(sweep.A6[si])) ? 64 : sweep.A6[si];
var tmp=new Array();
tmp[0] = Cal.px(sweep.A1[si],sweep.A0[si].C[0],sweep.A5[si]) + sweep.A0[si].C[0];
tmp[1] = Cal.px(sweep.A2[si],sweep.A0[si].C[1],sweep.A5[si]) + sweep.A0[si].C[1];
tmp[2] = Cal.px(sweep.A3[si],sweep.A0[si].C[2],sweep.A5[si]) + sweep.A0[si].C[2];
tmp[3] = Cal.px(sweep.A4[si],sweep.A0[si].C[3],sweep.A5[si]) + sweep.A0[si].C[3];
if (Math.abs(tmp[0] - sweep.A0[si].C[0]) > sweep.A6[si]) tmp[0]=(tmp[0] > sweep.A0[si].C[0]) ? (sweep.A0[si].C[0] + sweep.A6[si]) : (sweep.A0[si].C[0] - sweep.A6[si]);
if (Math.abs(tmp[1] - sweep.A0[si].C[1]) > sweep.A6[si]) tmp[1]=(tmp[1] > sweep.A0[si].C[1]) ? (sweep.A0[si].C[1] + sweep.A6[si]) : (sweep.A0[si].C[1] - sweep.A6[si]);
if (Math.abs(tmp[2] - sweep.A0[si].C[2]) > sweep.A6[si]) tmp[2]=(tmp[2] > sweep.A0[si].C[2]) ? (sweep.A0[si].C[2] + sweep.A6[si]) : (sweep.A0[si].C[2] - sweep.A6[si]);
if (Math.abs(tmp[3] - sweep.A0[si].C[3]) > sweep.A6[si]) tmp[3]=(tmp[3] > sweep.A0[si].C[3]) ? (sweep.A0[si].C[3] + sweep.A6[si]) : (sweep.A0[si].C[3] - sweep.A6[si]);
sweep.A0[si].setC(tmp[0],tmp[1],tmp[2],tmp[3]);
if (tmp[0] == sweep.A1[si] && tmp[1] == sweep.A2[si] && tmp[2] == sweep.A3[si] && tmp[3] == sweep.A4[si]) { sweep.Clear(si);si--; } else { sweep.flag=true; }
}
return sweep.flag;
}

var trans=new LIST();
function script_TRANS () {
trans.flag = false;
if (!trans.A0[0]) return trans.flag;
for (si=0; si < trans.A0.length; si ++) {
if (!trans.A0[si].flag) { trans.A0[si]=new OBJ (trans.A0[si]); if (!trans.A0[si].flag) { alert('system.js/script_TRANS: "' + trans.A0[si].id + '" is not Object.'); trans.Clear(si); si--; continue; }}
if (isNaN(trans.A1[si])) trans.A1[si]=(trans.A0[si].A > 80) ? 0 : 100;
trans.A2[si]=(isNaN(trans.A2[si])) ? 5 : trans.A2[si];
trans.A3[si]=(isNaN(trans.A3[si])) ? 16 : trans.A3[si];
var T=Cal.px(trans.A1[si],trans.A0[si].A,trans.A2[si]) + trans.A0[si].A;
if (Math.abs(T - trans.A0[si].A) > trans.A3[si]) T=(T > trans.A0[si].A) ? (trans.A0[si].A + trans.A3[si]) : (trans.A0[si].A - trans.A3[si]);
trans.A0[si].setA(T);
if (T == trans.A1[si]) { trans.Clear(si);si--; } else { trans.flag=true; }
}
return trans.flag;
}

var size=new LIST();
function script_SIZE () {
size.flag = false;
if (!size.A0[0]) return size.flag;
for (si=0; si < size.A0.length; si ++) {
if (!size.A0[si].flag) { size.A0[si]=new OBJ (size.A0[si]); if (!size.A0[si].flag) { alert('system.js/script_SIZE: "' + size.A0[si].id + '" is not Object.'); size.Clear(si); si--; continue; }}
if (isNaN(size.A2[si])) size.A2[si]=size.A0[si].W;
if (isNaN(size.A1[si])) size.A1[si]=size.A0[si].H;
size.A3[si]=(isNaN(size.A3[si])) ? 5 : size.A3[si];
size.A4[si]=(isNaN(size.A4[si])) ? 64 : size.A4[si];
var W=Cal.px(size.A2[si],size.A0[si].W,size.A3[si]) + size.A0[si].W;
var H=Cal.px(size.A1[si],size.A0[si].H,size.A3[si]) + size.A0[si].H;
if (Math.abs(W - size.A0[si].W) > size.A4[si]) W=(W > size.A0[si].W) ? (size.A0[si].W + size.A4[si]) : (size.A0[si].W - size.A4[si]);
if (Math.abs(H - size.A0[si].H) > size.A4[si]) H=(H > size.A0[si].H) ? (size.A0[si].H + size.A4[si]) : (size.A0[si].H - size.A4[si]);
size.A0[si].setW(W); size.A0[si].setH(H);
if (W == size.A2[si] && H == size.A1[si]) { size.Clear(si);si--; } else { size.flag=true; }
}
return size.flag;
}

// ---------- JSS ----------
var JSS	= new Function();
JSS.prototype.id	= undefined;
JSS.prototype.frame	= new Object();
JSS.prototype.flag	= false;
JSS.prototype.dgree	= 5;
JSS=function () {
JSS.frame	= new OBJ(arguments[0]); JSS.id	= JSS.frame.id;
if(JSS.frame.flag) { this.obj=new OBJ(JSS.frame.path.firstChild); }
JSS.dgree	= (arguments[7]) ? arguments[7] : 5;
if (this.obj.flag) {
	if (arguments[1]) { JSS.frame.setW(eval(arguments[1])); JSS.frame=new OBJ(JSS.frame); }
	if (arguments[2]) { JSS.frame.setH(eval(arguments[2])); JSS.frame=new OBJ(JSS.frame); }
	if (arguments[3]) { this.obj.setW(eval(arguments[3])); this.obj=new OBJ(this.obj); }
	if (arguments[4]) { this.obj.setH(eval(arguments[4])); this.obj=new OBJ(this.obj); }
	if (!arguments[3] && !arguments[4]) { this.obj=new OBJ(this.obj); }
	if (arguments[5]) { this.obj.setX(eval(arguments[5])); }
	if (arguments[6]) { this.obj.setY(eval(arguments[6])); }
}
this.id=JSS.id; this.frame=JSS.frame; this.dgree=JSS.dgree;
this.flag=JSS.set(false,true,arguments[5],arguments[6]);
return this.flag;
}
// -- JSS.set() --
JSS.prototype.set	= new Function(); JSS.set=function () {
JSS.flag		= true;
script_JSS.flag	= false;
script_JSS.frame	= (arguments[0]) ? new OBJ(arguments[0]) : JSS.frame;
script_JSS.obj	= new OBJ(script_JSS.frame.path.firstChild);
script_JSS.dgree	= (JSS.dgree) ? JSS.dgree : 5;
script_JSS.key	= 0;
if	(script_JSS.obj.W - 2 > script_JSS.frame.W) { script_JSS.key=1; } // X scroll
else if	(script_JSS.obj.H - 2 > script_JSS.frame.H) { script_JSS.key=2; } // Y scroll
if (script_JSS.key) {
	if (script_JSS.frame.path.childNodes.length < 5) {
		// Create Elements
		script_JSS.box		= new OBJ(doc.createElement('div'));	script_JSS.box.path.className='JSS_BOX';					script_JSS.frame.path.appendChild(script_JSS.box.path);	script_JSS.box	= new OBJ(script_JSS.box);
		eval ('script_JSS.box.path.onmousedown	= function () { script_JSS.slide('+ (false) + '); }');
		script_JSS.bar		= new OBJ(doc.createElement('div'));	script_JSS.bar.path.className='JSS_BAR';					script_JSS.frame.path.appendChild(script_JSS.bar.path);	script_JSS.bar	= new OBJ(script_JSS.bar);
		eval ('script_JSS.bar.path.onmousedown	= function () { script_JSS.on(); }');
		script_JSS.up		= new OBJ(doc.createElement('a'));	script_JSS.up.path.className='JSS_UP'; script_JSS.up.path.setAttribute('href','#');	script_JSS.frame.path.appendChild(script_JSS.up.path);	script_JSS.up	= new OBJ(script_JSS.up);
		eval ('script_JSS.up.path.onclick	= function () { script_JSS.slide('+ ((script_JSS.dgree - 1) / script_JSS.dgree) + '); return false; }');
		script_JSS.dn		= new OBJ(doc.createElement('a'));	script_JSS.dn.path.className='JSS_DN'; script_JSS.dn.path.setAttribute('href','#');	script_JSS.frame.path.appendChild(script_JSS.dn.path);	script_JSS.dn	= new OBJ(script_JSS.dn);
		eval ('script_JSS.dn.path.onclick	= function () { script_JSS.slide('+ ((script_JSS.dgree - 1) / script_JSS.dgree * -1) + '); return false; }');
		script_JSS.pagetop	= new OBJ(doc.createElement('div'));	script_JSS.pagetop.path.className='JSS_PAGETOP';	script_JSS.obj.path.appendChild(script_JSS.pagetop.path);
		script_JSS.pagetopA	= new OBJ(doc.createElement('a'));	script_JSS.pagetopA.path.setAttribute('href','#');	script_JSS.pagetop.path.appendChild(script_JSS.pagetopA.path);	script_JSS.pagetopA.setI('page top');
		eval ('script_JSS.pagetopA.path.onclick	= function () { script_JSS.slide(999); return false; }');
		script_JSS.pagetop=new OBJ(script_JSS.pagetop);
		if	(script_JSS.key == 1)	{ script_JSS.obj.setW(script_JSS.obj.W + script_JSS.pagetop.W); }
		else if	(script_JSS.key == 2)	{ script_JSS.obj	= new OBJ(script_JSS.obj); }
		if (script_JSS.objdrag) { eval ('script_JSS.obj.path.onmousedown	= function () { script_JSS.od_on(); }'); }
	} else {
		if (script_JSS.obj.path.lastChild.className != 'JSS_PAGETOP') { 
			// Create Elements
			script_JSS.pagetop	= new OBJ(doc.createElement('div'));	script_JSS.pagetop.path.className='JSS_PAGETOP';	script_JSS.obj.path.appendChild(script_JSS.pagetop.path);
			script_JSS.pagetopA	= new OBJ(doc.createElement('a'));	script_JSS.pagetopA.path.setAttribute('href','#');	script_JSS.pagetop.path.appendChild(script_JSS.pagetopA.path);	script_JSS.pagetopA.setI('page top');
			eval ('script_JSS.pagetopA.path.onclick	= function () { script_JSS.slide(999); return false; }');
			if	(script_JSS.key == 1)	{ script_JSS.obj.setW(script_JSS.obj.W + script_JSS.pagetop.W); }
			else if	 (script_JSS.key == 2)	{ script_JSS.obj	= new OBJ(script_JSS.obj); }
		}
		script_JSS.box	= new OBJ(script_JSS.frame.path.childNodes[(script_JSS.frame.path.childNodes.length - 4)]);	script_JSS.box.setV(1);
		script_JSS.bar	= new OBJ(script_JSS.frame.path.childNodes[(script_JSS.frame.path.childNodes.length - 3)]);	script_JSS.bar.setV(1);
		script_JSS.up	= new OBJ(script_JSS.frame.path.childNodes[(script_JSS.frame.path.childNodes.length - 2)]);	script_JSS.up.setV(1);
		script_JSS.dn	= new OBJ(script_JSS.frame.path.childNodes[(script_JSS.frame.path.childNodes.length - 1)]);	script_JSS.dn.setV(1);
	}
	if (arguments[1]) { 
		if (script_JSS.key == 1) { // X scroll
			script_JSS.box.setX(0).setW(script_JSS.frame.W - script_JSS.up.W - script_JSS.dn.W - 4);
			script_JSS.bar.setX(0);
			script_JSS.up.setX(script_JSS.box.W + 3);
			script_JSS.dn.setX(script_JSS.up.X + script_JSS.up.W + 1);
			script_JSS.barS	= parseInt(script_JSS.frame.W / (script_JSS.obj.W) * script_JSS.box.W);
		} else if (script_JSS.key == 2) { // Y scroll
			script_JSS.box.setY(0).setH(script_JSS.frame.H - script_JSS.up.H - script_JSS.dn.H - 4);
			script_JSS.bar.setY(0);
			script_JSS.up.setY(script_JSS.box.H + 3);
			script_JSS.dn.setY(script_JSS.up.Y + script_JSS.up.H + 1);
			script_JSS.barS	= parseInt(script_JSS.frame.H / (script_JSS.obj.H) * script_JSS.box.H);
		}
	}
	script_JSS.objX=script_JSS.obj.X; script_JSS.frameY=script_JSS.obj.Y; script_JSS.barX=script_JSS.bar.X; script_JSS.barY=script_JSS.bar.Y;
	if (script_JSS.barS < 50) script_JSS.barS=50;
	if (!script_JSS.bar.H) { script_JSS.bar.H=11; } if (!script_JSS.bar.W) { script_JSS.bar.W=11; }
	if ( doc.getElementsByTagName('body')[0] ) { 
		doc.getElementsByTagName('body')[0].onmousedown	= function () { return (script_JSS.dragkey || (script_JSS.objdrag && script_JSS.od_prekey)) ? false : true; }
		doc.getElementsByTagName('body')[0].onmousemove	= function () { return (script_JSS.dragkey || (script_JSS.objdrag && script_JSS.od_prekey)) ? false : true; }
	} else if ( doc.body ) {
		doc.body.onmousedown			= function () { return (script_JSS.dragkey || (script_JSS.objdrag && script_JSS.od_prekey)) ? false : true; }
		doc.body.onmousemove			= function () { return (script_JSS.dragkey || (script_JSS.objdrag && script_JSS.od_prekey)) ? false : true; }
	}
	script_JSS.flag=true;
}
if (arguments[1]) { 
	if	(script_JSS.key == 1) { script_JSS.bar.setW(script_JSS.barS).setC(0,0,script_JSS.bar.H,0).setV(1); sweep.Set(script_JSS.bar,0,(script_JSS.bar.W+2),script_JSS.bar.H,0); script_JSS.objX=0; }
	else if	(script_JSS.key == 2) { script_JSS.bar.setH(script_JSS.barS).setC(0,script_JSS.bar.W,0,0).setV(1); sweep.Set(script_JSS.bar,0,script_JSS.bar.W,(script_JSS.bar.H+2),0); script_JSS.objY=0; }
	script_JSS.move(0);
}
if (!script_JSS.key) { 
	if (script_JSS.frame.path.childNodes.length >= 5) { script_JSS.box.setV(0); script_JSS.bar.setV(0); script_JSS.up.setV(0); script_JSS.dn.setV(0); }
	move.Set(script_JSS.obj,arguments[2],arguments[3],5,512);
}
JSS.flag=false;
return script_JSS.flag;
}
// -- script_JSS for JSS --
var script_JSS	= { flag:false,key:undefined,frame:new Object(),obj:new Object(),objX:0,objY:0,pagetop:new Object(),bar:new Object(),barX:0,barY:0,barS:undefined,box:new Object(),offM:0,up:new Object(),dn:new Object(),dragkey:false,
objdrag:false,od_dragkey:false,od_prekey:false,od_offM:0,od_vM:0,od_timer:undefined,
on:	function () { if (script_JSS.key) { script_JSS.offM=(script_JSS.key == 1) ? MX - script_JSS.barX : MY - script_JSS.barY; script_JSS.dragkey=true; return false; }},
off:	function () { if (script_JSS.key) { script_JSS.dragkey=undefined; } if (script_JSS.objdrag && script_JSS.key) { script_JSS.od_throw(); }},
drag:	function () { if (script_JSS.key && script_JSS.dragkey) {
	if (script_JSS.key == 1) { // X scroll
		script_JSS.barX=MX - script_JSS.offM;
		if	(script_JSS.barX < 0)				{ script_JSS.barX=0; }
		else if	(script_JSS.barX > script_JSS.box.W - script_JSS.bar.W )	{ script_JSS.barX=script_JSS.box.W - script_JSS.bar.W; }
		script_JSS.objX=parseInt( - ((script_JSS.obj.W) - script_JSS.frame.W) / (script_JSS.box.W - script_JSS.bar.W) * script_JSS.barX);
		script_JSS.obj.setX(script_JSS.objX);
		script_JSS.bar.setX(script_JSS.barX);
	} else if (script_JSS.key == 2) { // Y scroll
		script_JSS.barY=MY - script_JSS.offM;
		if	(script_JSS.barY < 0)				{ script_JSS.barY=0; }
		else if	(script_JSS.barY > script_JSS.box.H - script_JSS.bar.H )	{ script_JSS.barY=script_JSS.box.H - script_JSS.bar.H; }
		script_JSS.objY=parseInt( - ((script_JSS.obj.H) - script_JSS.frame.H) / (script_JSS.box.H - script_JSS.bar.H) * script_JSS.barY);
		script_JSS.obj.setY(script_JSS.objY);
		script_JSS.bar.setY(script_JSS.barY);
	}
} else if (script_JSS.key && script_JSS.objdrag && script_JSS.od_prekey) {
	if (!script_JSS.od_dragkey && ((script_JSS.key == 1 && Math.abs(MX - script_JSS.od_offM - script_JSS.objX) > 32) || (script_JSS.key == 2 && Math.abs(MY - script_JSS.od_offM - script_JSS.objY) > 32))) { script_JSS.od_dragkey=true; }
	if (script_JSS.od_dragkey && script_JSS.key == 1) { // X scroll
		script_JSS.objX=MX - script_JSS.od_offM;
		if	(script_JSS.objX >= 0)				{ script_JSS.objX=0; }
		else if	(script_JSS.objX < script_JSS.frame.W - script_JSS.obj.W)	{ script_JSS.objX=script_JSS.frame.W - script_JSS.obj.W; }
		script_JSS.od_vM=vMX; clearTimeout(script_JSS.od_timer); script_JSS.od_timer=setTimeout('script_JSS.od_vM=0;',128);
		script_JSS.obj.setX(script_JSS.objX); script_JSS.move(script_JSS.objX);
	} else if (script_JSS.od_dragkey && script_JSS.key == 2) { // Y scroll
		script_JSS.objY=MY - script_JSS.od_offM;
		if	(script_JSS.objY >= 0)				{ script_JSS.objY=0; }
		else if	(script_JSS.objY < script_JSS.frame.H - script_JSS.obj.H)	{ script_JSS.objY=script_JSS.frame.H - script_JSS.obj.H; }
		script_JSS.od_vM=vMY; clearTimeout(script_JSS.od_timer); script_JSS.od_timer=setTimeout('script_JSS.od_vM=0;',128);
		script_JSS.obj.setY(script_JSS.objY); script_JSS.move(script_JSS.objY);
	}
}},
slide:	function () { if (JSS.flag) { JSS.set(); } if (script_JSS.flag) {
	var tmp=1;
	if (script_JSS.key == 1) { // X scroll
		if (arguments[0])					{ tmp	= arguments[0]; }
		else if (MX - script_JSS.bar.tX > script_JSS.bar.W)	{ tmp	= ((script_JSS.dgree - 1) / script_JSS.dgree * -1); }
		else if (MX - script_JSS.bar.tX < 0)			{ tmp	= ((script_JSS.dgree - 1) / script_JSS.dgree); }
		else						{ tmp	= 0; }
		script_JSS.objX += parseInt(tmp * script_JSS.frame.W);
		script_JSS.move(script_JSS.objX);
	} else if (script_JSS.key == 2) { // Y scroll
		if (arguments[0])					{ tmp	= arguments[0]; }
		else if (MY - script_JSS.bar.tY > script_JSS.bar.H)	{ tmp	= ((script_JSS.dgree - 1) / script_JSS.dgree * -1); }
		else if (MY - script_JSS.bar.tY < 0)			{ tmp	= ((script_JSS.dgree - 1) / script_JSS.dgree); }
		else						{ tmp	= 0; }
		script_JSS.objY += parseInt(tmp * script_JSS.frame.H);
		script_JSS.move(script_JSS.objY);
	}
	if (!arguments[0]) { script_JSS.on (); }
}},
move:	function () { if (JSS.flag) { JSS.set(); } if (script_JSS.flag) {
	if (script_JSS.key == 1) { // X scroll
		script_JSS.objX	= (arguments[0]) ? arguments[0] : 0;
		JSS.top=false;
		JSS.end=false;
		if	(script_JSS.objX >= 0)				{ script_JSS.objX=0; JSS.top=true; }
		else if	(script_JSS.objX < script_JSS.frame.W - script_JSS.obj.W)	{ script_JSS.objX=script_JSS.frame.W - script_JSS.obj.W; JSS.end=true; }
		script_JSS.barX	= - parseInt(script_JSS.objX / (script_JSS.obj.W - script_JSS.frame.W) * (script_JSS.box.W - script_JSS.bar.W));
		if	(script_JSS.barX < 0)				{ script_JSS.barX=0; }
		else if	(script_JSS.barX > script_JSS.box.W - script_JSS.bar.W )	{ script_JSS.barX=script_JSS.box.W - script_JSS.bar.W; }
	} else if (script_JSS.key == 2) { // Y scroll
		script_JSS.objY	= (arguments[0]) ? arguments[0] : 0;
		if	(script_JSS.objY > 0)				{ script_JSS.objY=0; }
		else if	(script_JSS.objY < script_JSS.frame.H - script_JSS.obj.H)	{ script_JSS.objY=script_JSS.frame.H - script_JSS.obj.H; }
		script_JSS.barY	= - parseInt(script_JSS.objY / (script_JSS.obj.H - script_JSS.frame.H) * (script_JSS.box.H - script_JSS.bar.H));
		if	(script_JSS.barY < 0)				{ script_JSS.barY=0; }
		else if	(script_JSS.barY > script_JSS.box.H - script_JSS.bar.H )	{ script_JSS.barY=script_JSS.box.H - script_JSS.bar.H; }
	}
	move.Set(script_JSS.obj,script_JSS.objY,script_JSS.objX,3,500);
	move.Set(script_JSS.bar,script_JSS.barY,script_JSS.barX,5,50);
}},
od_on:function () { if (script_JSS.objdrag && script_JSS.key) { 
		script_JSS.od_prekey	= true;
	 	script_JSS.od_offM=(script_JSS.key == 1) ? MX - script_JSS.objX: MY - script_JSS.objY;
		script_JSS.od_vM		= 0;
		return false;
}},
od_throw:function () { if (script_JSS.objdrag) {
	if (script_JSS.od_vM && script_JSS.od_dragkey) { script_JSS.move(script_JSS.objX + parseInt(script_JSS.od_vM * script_JSS.obj.W / script_JSS.frame.W*2)); }
	script_JSS.od_vM=0;
	script_JSS.od_prekey=false;
	script_JSS.od_timer=setTimeout('script_JSS.od_dragkey=undefined;',16);
}},
wheel:	function () { if (JSS.flag) { JSS.set(); } if (script_JSS.flag) {
	var tmp=MW * 1 / script_JSS.dgree;
	script_JSS.slide (tmp);
	script_JSS.dragkey=false;
	script_JSS.od_prekey=false;
	script_JSS.od_dragkey=false;
	return false;
}}
}

// ---------- EVENT ----------
var mouse=new LIST();
function MOUSE () {
if (arguments[0]) { mouse.Set(); }
if (!mouse.A0.length) return;
for (si=0; si < mouse.A0.length; si ++) {
if (mouse.A1[si]) {
	mouse.A1[si]=new OBJ(mouse.A1[si]); /*ERROR*/ if (!mouse.A1[si].flag) { alert('system.js/MOUSE(onmousemouse): "' + mouse.A1[si].id + '" is not Object.'); mouse.Clear(si); si--; continue; }
	eval('mouse.A1[si].path.onmousemove=function (event) { MOUSE_event(event);' + mouse.A0[si] + '; }');
} else { eval('doc.onmousemove=function (event) { MOUSE_event(event);' + mouse.A0[si] + '; }'); }
}
MX=0; MY=0;
}

var MX,MY ,vMX,vMY,offMX,offMY;
var MOUSE_event=function() {
if (error) return false;
ENV.Set();
if (doc.all) { /*IE*/ MX = (parseInt(event.clientX) + ENV.X); MY = (parseInt(event.clientY) + ENV.Y); }
else if (doc.getElementById) { MX = (parseInt(arguments[0].clientX) + ENV.X); MY = (parseInt(arguments[0].clientY) + ENV.Y); }
MY=(MY) ? MY : 0; MX=(MX) ? MX : 0;
vMX=(offMX) ? MX - offMX : 0; offMX=MX; vMY=(offMY) ? MY - offMY : 0; offMY=MY;
return false;
}

var down=new LIST();
function DOWN () {
if (down.A1.length) MOUSE(1); else return;
for (si=0; si < down.A0.length; si ++) {
if (down.A1[si]) {
	down.A1[si]=new OBJ(down.A1[si]); /*ERROR*/ if (!down.A1[si].flag) { alert('system.js/DOWN(onmousedown): "' + down.A1[si].id + '" is not Object.'); down.Clear(si); si--; continue; }
	eval('down.A1[si].path.onmousedown=function (event) { ' + down.A0[si] + '; }');
} else { eval('doc.onmousedown=function (event) { ' + down.A0[si] + '; }'); }
}}

var msup=new LIST();
function MSUP () {
if (msup.A1.length) MOUSE(1); else return;
for (si=0; si < msup.A0.length; si ++) {
if (msup.A1[si]) {
	msup.A1[si]=new OBJ(msup.A1[si]); /*ERROR*/ if (!msup.A1[si].flag) { alert('system.js/MSUP(onmouseup): "' + msup.A1[si].id + '" is not Object.'); msup.Clear(si); si--; continue; }
	eval('msup.A1[si].path.onmouseup=function (event) { ' + msup.A0[si] + '; }');
} else { eval('doc.onmouseup=function (event) { ' + msup.A0[si] + '; }'); }
}}

var wheel=new LIST();
function WHEEL () {
for (si=0; si < wheel.A0.length; si ++) {
if (!wheel.A0[si]) continue;
if (wheel.A1[si]) {
	wheel.A1[si]=new OBJ(wheel.A1[si]); /*ERROR*/ if (!wheel.A1[si].flag) { alert('system.js/WHEEL: "' + wheel.A1[si].id + '" is not Object.'); wheel.Clear(si); si--; continue; }
	if (macFF || winFF)	{ wheel.A0[si]=wheel.A0[si].replace(/^return\s+/,'').replace(/\(\);/,''); wheel.A1[si].path.addEventListener("DOMMouseScroll",WHEEL_event,false); eval('wheel.A1[si].path.addEventListener("DOMMouseScroll",' + wheel.A0[si] + ',false);'); }
	else		{ eval('wheel.A1[si].path.onmousewheel=function (event) { WHEEL_event(event);' + wheel.A0[si] + '; return false; }'); }
} else {
	if (macFF || winFF)	{ wheel.A0[si]=wheel.A0[si].replace(/^return\s+/,'').replace(/\(\);/,''); doc.addEventListener("DOMMouseScroll",WHEEL_event,false); eval('doc.addEventListener("DOMMouseScroll",' + wheel.A0[si] + ',false);'); }
	else		{ eval('doc.onmousewheel=function (event) { WHEEL_event(event);' + wheel.A0[si] + '; return false; }'); }
}}}

var MW=0;
var WHEEL_event=function () {
if (error) return false;
if (macFF || winFF)		{ MW=-Cal.pm(arguments[0].detail); }
else 			{ MW=Cal.pm(event.wheelDelta); }
return false;
}

// ---------- UTILITY ----------
var PIMG	= { imgs:new Array(),objs:new Array(),set:function () {
PIMG.objs=(doc.getElementById) ? doc.getElementsByTagName('img') : doc.images;
for (si=0; si < PIMG.objs.length; si ++) {
	if (!PIMG.objs[si].src.match(/(.*)-+\.(jpe?g|gif|pi?ng)/i)) continue;
	var tmp1	= RegExp.$1;
	var tmp2	= RegExp.$2;
	if (!tmp1.replace(/(.*)-$/,'')) { tmp1	= RegExp.$1; }
	PIMG.imgs[si]	= new Array();
	PIMG.imgs[si][0]	= PIMG.objs[si];
	PIMG.imgs[si][1]	= new Image();	PIMG.imgs[si][1].src	= PIMG.objs[si].src;
	PIMG.imgs[si][2]	= new Image();	PIMG.imgs[si][2].src	= tmp1 + '.' + tmp2;
	eval('PIMG.objs[si].onmouseover	= function () { this.src=PIMG.imgs[' + (si) + '][2].src; }');
	eval('PIMG.objs[si].onmousemove	= function () { this.src=PIMG.imgs[' + (si) + '][2].src; }');
	eval('PIMG.objs[si].onmouseout	= function () { this.src=PIMG.imgs[' + (si) + '][1].src; }');
}}}

var ASCROLL={ objs:new Array(),X:0,Y:0,set:function () {
ASCROLL.objs=(doc.getElementById) ? doc.getElementsByTagName('a') : doc.links;
for (si=0; si < ASCROLL.objs.length; si ++) { if (!ASCROLL.objs[si].href) continue;
	if (ASCROLL.objs[si].href.match(/.*#([\w-_]*$)/)) {
		var tmp2=undefined;
		if (RegExp.$1 != '')		{ var tmp1=new OBJ(RegExp.$1); var tmp2=(tmp1.flag) ? '"'+tmp1.id+'"' : false; } else { var tmp2='0,0'; }
		if (tmp2 && !ASCROLL.objs[si].onclick)	{ eval('ASCROLL.objs['+si+'].onclick=function () { return scroll.Set('+tmp2+'); }'); if (!ASCROLL.objs[si].onkeypress) { ASCROLL.objs[si].onkeypress=ASCROLL.objs[si].onclick; }}
	}
}}}

function ONW () {
	var ONW_obj;
	var target=(arguments[1] && arguments[0].match(/.*\/([\w]+)(\.[\w]*)?\/?(\?.*)?$/)) ? RegExp.$1 : '_blank';
	var tmp=new Array(arguments[1],arguments[2],arguments[3],arguments[4]);
	tmp[0]=(isNaN(tmp[0]) || tmp[3] > 0) ? screen.availHeight : (tmp[0] < 100) ? screen.availHeight : tmp[0];
	tmp[1]=(isNaN(tmp[1]) || tmp[3] > 0) ? screen.availWidth : (tmp[1] < 100) ? screen.availWidth : tmp[1];
	tmp[2]=(tmp[2] > 0) ? 'no' : 'yes';
	tmp[3]=(tmp[3] > 0) ? 'yes' : 'no';
	tmp[4]=(tmp[0] < 500) ? 30 : 0;
	tmp[5]=(tmp[1] < 690) ? 30 : 0;
	var Feature=(target == '_blank') ? '' : 'height='+tmp[0]+',width='+tmp[1]+',top='+tmp[4]+',left='+tmp[5]+',fullscreen='+tmp[3]+',resizable=yes,toolbar=no,directories=no,location='+tmp[2]+',scrollbars=yes,menubar=no,status='+tmp[2];
	ONW_obj=window.open(arguments[0],target,Feature); if (ONW_obj) { ONW_obj.focus(); } return false;
}

var weekList	= new Array('Sun','Mon','Tue','Wed','Thu','Fri','Sat','Sun');
var monthList	= new Array('','Jan','Feb','Mar','Apr','May','Jun','Jly','Aug','Sep','Oct','Nov','Dec');
function set_COOKIE () {
var DATE		= new Date((get_Date(0) + 1),11,31);
doc.cookie=arguments[0]+'='+arguments[1]+'; expires='+DATE.toUTCString()+' GMT;'+'path=/; ';
}

function get_COOKIE () {
var COOKIE_list=doc.cookie.split('; ');
for(si=0;si<COOKIE_list.length;si++){if(COOKIE_list[si].split('=')[0]==arguments[0]){return COOKIE_list[si].split('=')[1]; break;}}
return '';
}

function get_stepRGB () {
var stepRGB=new Array();
var Fc=arguments[0].replace('#','');
if	(Fc.length >= 6)	{ Fc = Fc.substring(0,6); }
else if	(Fc.length >= 3)	{ Fc=Fc.charAt(0) + Fc.charAt(0) + Fc.charAt(1) + Fc.charAt(1) + Fc.charAt(2) + Fc.charAt(2); }
else			{ Fc=(Fc.charAt(0) != '') ? (Fc.charAt(0) + Fc.charAt(0) + Fc.charAt(0) + Fc.charAt(0) + Fc.charAt(0) + Fc.charAt(0)) : '000000'; }
var Tc=arguments[1].replace('#','');
if	(Tc.length >= 6)	{ Tc = Tc.substring(0,6); }
else if	(Tc.length >= 3)	{ Tc=Tc.charAt(0) + Tc.charAt(0) + Tc.charAt(1) + Tc.charAt(1) + Tc.charAt(2) + Tc.charAt(2); }
else			{ Tc=(Tc.charAt(0) != '') ? (Tc.charAt(0) + Tc.charAt(0) + Tc.charAt(0) + Tc.charAt(0) + Tc.charAt(0) + Tc.charAt(0)) : '000000'; }
var iR = parseInt(Fc.substring(0,2),16);
var iG = parseInt(Fc.substring(2,4),16);
var iB = parseInt(Fc.substring(4,6),16);
var eR = parseInt(Tc.substring(0,2),16);
var eG = parseInt(Tc.substring(2,4),16);
var eB = parseInt(Tc.substring(4,6),16);
for (bi=1; bi <= arguments[2]; bi ++) {
 var tmpR=(iR-parseInt((iR-eR)*(bi/arguments[2]))).toString(16);tmpR=(tmpR.length==1)?('0'+tmpR):tmpR;
 var tmpG=(iG-parseInt((iG-eG)*(bi/arguments[2]))).toString(16);tmpG=(tmpG.length==1)?('0'+tmpG):tmpG;
 var tmpB=(iB-parseInt((iB-eB)*(bi/arguments[2]))).toString(16);tmpB=(tmpB.length==1)?('0'+tmpB):tmpB;
 stepRGB[(bi - 1)]	= '#' + tmpR + tmpG + tmpB;
}
return stepRGB;
}

function get_Date() {
var DATE	= new Date();
var Yr=DATE.getYear();	Yr=(Yr < 1900) ? (Yr += 1900) : Yr;
var Mn=DATE.getMonth();	Mn+=1;
var Dy=DATE.getDate();	Dy=(Dy < 10) ? ('0' + Dy) : Dy;
var Hr=DATE.getHours();	Hr=(Hr < 10) ? ('0' + Hr) : Hr;
var Mt=DATE.getMinutes();	Mt=(Mt < 10) ? ('0' + Mt) : Mt;
var Sc=DATE.getSeconds();	Sc=(Sc < 10) ? ('0' + Sc) : Sc;
var Wy=DATE.getDay();	Wy=weekList[Wy];
switch (arguments[0]) {
 case 0: return Yr; break;							// 0: 2000
 case 1: return Yr +'.'+ Mn; break;						// 1: 2000.01
 case 2: return Yr +'.'+ monthList[Mn]; break;					// 2: 2002.Jan
 case 3: return Yr +'.'+ Mn +'.'+ Dy; break;					// 3: 2000.01.01
 case 4: return Yr +'.'+ monthList[Mn] +'.'+ Dy; break;				// 4: 2000.Jan.01
 case 5: return Yr +'.'+ Mn +'.'+ Dy +' ('+ Wy +') '+ Hr +':'+ Mt; break;		// 5: 2000.01.01 (Wed) 00:00
 case 6: return Yr +'.'+ monthList[Mn] +'.'+ Dy +' ('+ Wy +') '+ Hr +':'+ Mt; break;	// 6: 2000.Jan.01 (Wed) 00:00
 default: return Date.UTC(Yr,(Mn - 1),Dy,Hr,Mt,Sc); break;
}
}

function set_flash() {
doc.open();
doc.write('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://fpdownload.adobe.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="' + arguments[1] + '" height="' + arguments[2] + '">');
doc.write('<param name="movie" value="' + arguments[0] + '"><param name="play" value="' + arguments[3] + '"><param name="quality" value="' + arguments[4] + '"><param name="scale" value="' + arguments[5] + '"><param name="saligh" value="' + arguments[6] + '"><param name="wmode" value="' + arguments[7] + '"><param name="bgcolor" value="' + arguments[9] + '"><param name="loop" value="false"><param name="menu" value="false">');
doc.write('<embed src="' + arguments[0] + '" play="' + arguments[3] + '" quality="' + arguments[4] + '" scale="' + arguments[5] + '" salign="' + arguments[6] + '" wmode="' + arguments[7] + '" bgcolor="' + arguments[9] + '" width="' + arguments[1] + '" height="' + arguments[2] + '" loop="false" menu="true" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash"></embed>');
doc.write('</object>');
doc.close();
}

function R () { return Math.floor(Math.random() * arguments[0]); }
function non () { }

// ---------- CHECK ----------
function check_MailAddress () { return (arguments[0].match(/([\w\._-]+)(@[\w_-]+)((\.[\w_-]+)+)/i)) ? true : false; }
function check_URL () { return (arguments[0].match(/(https?|ftp|news)(:\/\/[\w\+\$\;\?\.%,!#~*\/:@&=_-]+)/i)) ? true : false; }
function check_FileName () { return (arguments[0].match(/([\w\+\$\;\?\.%,!#~*:&=_-]+)\.([\w]+)/)) ? RegExp.$2 : false; }

// ---------- AJAX ----------
var AJAX={ obj:undefined,loaded:undefined,flag:false,
set:function () {
 if (AJAX.obj && AJAX.obj.readyState != 4) AJAX.obj.abort();
 if (arguments[2]) {
	AJAX.flag=true;
	AJAX.loaded=arguments[2];
	if	(window.XMLHttpRequest)	{ AJAX.obj=new XMLHttpRequest(); }
	else if	(window.ActiveXObject)	{ try { AJAX.obj=new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) { AJAX.obj=new ActiveXObject("Microsoft.XMLHTTP"); }}
	else				{ alert("XMLHttpRequest and ActiveXObject is no function. Please access by FireFox,Safari,Mozilla or Internet Explorer."); return false; }
	AJAX.obj.open ('POST',arguments[0] ,true);
	AJAX.obj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	if (arguments[1]) { AJAX.obj.send(arguments[1]); }
	AJAX.obj.onreadystatechange=function () { if (AJAX.obj.readyState == 4) { AJAX.load(AJAX.loaded); }}
	return true;
} else { return false; }
},load:function () { if (AJAX.flag) {
	if (AJAX.obj.status == 200 && AJAX.loaded != undefined) { eval ( AJAX.loaded.split('(')[0] + '(AJAX.obj.responseText' + AJAX.loaded.split('(')[1] ); }
	else { alert ("Error occurred in transportation.\nstatus: " + AJAX.obj.status); }
	AJAX.flag=false;
	AJAX.loaded=undefined;
}}
}

// ---------- Audio ----------
if (!Audio) { var Audio=function () { this.play=function(){}; this.stop=function(){}; this.loop=0; }}