﻿/*--------------------------------------------------------------------
cube.js ver0.91

The MIT License
Copyright (c) 2008 ctkjapan
------------------------------------------------------------------- */
var cube={
	version:"0.91",
	D:document,
	W:window,
	is_Opera:window.opera,
	is_N6:document.getElementById,
	is_IE:document.all,
	is_N4:document.layers,
	is_MS:false,
	is_NF:false,
	is_Mozilla:false,
	is_Other:false,
	path_Library:"",
	path_Parent:"",
	path_Img:"",
	QueryString:new Array(),
	ScreenW:0,
	ScreenH:0,
	Error:"",
	cube_input:false,
	cube_timer:false,
	cube_math:false,
	cube_image:false,
	cube_sprite:false,
	cube_map:false,
	cube_message:false,
	cube_effect:false,
	name_body:"cube_body",
	name_screen:"cube.cube_screen",
	cube_screen:"",
	url_cube_logo_img:"",
	cube_logo_img:"",
	cube_logo:"",
	sys_id0:-10000,
	sys_id1:-10001,
	sys_id2:-10002,
	sys_id3:-10003,

	set_screen:function(w,h){
		this.ScreenW=w;
		this.ScreenH=h;
		cube_sprite.create(cube.sys_id0,this.name_screen,this.ScreenW,this.ScreenH,0,0,0,0,0,0,this.name_body);
		eval(this.name_screen+".update()");
	},

	set_path_Library:function(pathName){
		this.path_Library=pathName;
		cube_load_Library();
	},

	set_path_Img:function(pathName){
		this.path_Img=pathName;
	},

	require:function(uri){
		this.D.write("<script type=\"text/javascript\" language=\"javascript\" src=\""+uri+"\"></script>");
	},

	get_QueryString:function(){
		var query=this.W.location.search.substring(1);
		var parms=query.split("&");
		for(i in parms){
			var pos=parms[i].indexOf("=");
			if(pos>0){this.QueryString[parms[i].substring(0,pos)]=parms[i].substring(pos+1);}
		}
	},

	get_Element:function(name){
		if(this.D.getElementById) return this.D.getElementById(name);
		if(this.D.all) return this.D.all(name);
		return null;
	},

	PopupError:function(address,error){
		alert("[Error in "+address+"]\n\n"+error);
	},

	set_title:function(value){
		this.W.title=value;
	},

	set_status:function(value){
		this.W.status=value;
	},

	option:function(Key_cancellEvent){
		if(this.cube_input) cube_input.cancellEvent_flg=Key_cancellEvent;
	},

	start:function(w,h,Function){
		if(navigator.appName.indexOf('Microsoft')>-1){
			this.is_MS=true;
		}else if(navigator.appName.indexOf('NetFront')>-1){
			this.is_NF=true;
		}else if(navigator.appCodeName=='Mozilla'){
			this.is_Mozilla=true;
		}else{
			this.is_Other=true;
		}

		this.path_Parent=""+cube.W.location;
		this.path_Parent=cube.path_Parent.substring(0,cube.path_Parent.lastIndexOf("/")+1);

		if(cube.get_Element(this.name_body)==null) cube.PopupError("cube.js","'"+this.name_body+"' Not Found.");

		if(this.cube_input){
			cube_input.startEvent_Mouse();
			cube_input.startEvent_Key();
		}

		if(this.cube_timer){
			setInterval("cube_timer.loop()",cube_timer.Time_Interval);
			cube_timer.set_Timer(cube.sys_id0,"cube_timer.get_Fps()",1000,0);
		}

//		this.set_status("cube"+".js"+" ver"+this.version);

		if(this.cube_sprite){
			this.set_screen(w,h);
			if(this.url_cube_logo_img!=""){
				if(w>=48 && h>=48){
					cube_image.create("cube.cube_logo_img",this.path_Library+this.url_cube_logo_img,48,48);
					cube_sprite.create(cube.sys_id0,"cube.cube_logo",48,48,0,0,0,0,0,0);
					this.cube_logo.set_image("cube.cube_logo_img");
					this.cube_logo.set_XY(w/2-24,h/2-24);
					this.cube_logo.set_Z(10000);
					this.cube_logo.set_Opacity(0);
					cube_image.wait_LoadComplete();
					this.cube_logo.update();
					cube_effect.Fade("cube.cube_logo",0,10,500,200);
					cube_effect.Fade("cube.cube_logo",10,0,500,1200);
					cube_timer.set_Timer_inout(cube.sys_id0,"cube.cube_logo.set_Visibility(false)","cube.cube_logo.update()",1900,1,false);
					cube_timer.set_Timer(cube.sys_id0,"cube_sprite.delete_Class(\"cube.cube_logo\")",2000,1,false);
					cube_timer.set_Timer(cube.sys_id0,"cube_image.delete_Class(\"cube.cube_logo_img\")",2000,1,false);
					if(Function!="") cube_timer.set_Timer(0,Function,2000,1,false);
				}else{if(Function!="") eval(Function);}
			}else{if(Function!="") eval(Function);}
		}else{if(Function!="") eval(Function);}
	}
}
function cube_load_Library(){
//	cube.require(cube.path_Library+"cube_input.js");
	cube.require(cube.path_Library+"cube_timer.js");
	cube.require(cube.path_Library+"cube_math.js");
	cube.require(cube.path_Library+"cube_image.js");
	cube.require(cube.path_Library+"cube_sprite.js");
//	cube.require(cube.path_Library+"cube_map.js");
//	cube.require(cube.path_Library+"cube_message.js");
	cube.require(cube.path_Library+"cube_effect.js");
}
//	function $(x){ return document.getElementById(x); }
