﻿// ----------------------------------------------------------------------------
// init
// ----------------------------------------------------------------------------
function init() {
	if(!Y_JavaBoolean()){ return;}
	if(browserCheck()){
		InitApplet('Applet1', 'event_function');
	}
	else return;
}

var Y_systemP = false;
function Y_systemPerformanceCheck(){
	var aa = Y_getPerformance();
	if(aa<=300) return true;
	else return false;
}
function Y_JavaBoolean()//「true」ならインストール済み。「false」ならインストールされていないかブラウザで未設定。
{
	var Y_JavaBooleanFlg = navigator.javaEnabled();
	return Y_JavaBooleanFlg;
}
// ----------------------------------------------------------------------------
// onResizeFunction
// ----------------------------------------------------------------------------
function onResizeFunction() {
	if(document.layers) location.href=location;
}

// ----------------------------------------------------------------------------
// init3d
// ----------------------------------------------------------------------------
var Y_testFlg = false;
var flg_3d_check = false;
var flg_firstLoad = true;
function init3d() {
	if(_K_y2dSet){//----------------y2d
	
		if(!getAppletCheck()) return;
		if(flg_3d_check) return;
		flg_3d_check=true;
		document.Applet1.y2dUnload();
		bill_flg=false;
		if(Y_page=="sim"){
			Y_entryData();
		}
		setTimeout("Y_3dMain('"+str3d+"')",200);
		
	}else{
		
		if(!Yappa3D.isTextureLoadInProgress()){
			flg_3d_check=true;
			bill_flg=false;
			if(Y_page=="sim"){
				Y_entryData();
			}
			setTimeout("Y_3dMain('"+str3d+"')",200);
		} else {
			setTimeout("init3d()",500);
		}
		
	}
}

// ----------------------------------------------------------------------------
// ブラウザ、OS判別
// ----------------------------------------------------------------------------
function browserCheck() {
	// windows
	if(isWin()) {
		// IE6~
		if(isIE()) {
			if(versionCheck()>=6) return true;
		}
		// Firefox2~
		if(isFirefox()) {
			if(versionCheck()>=2) return true;
		}
	// mac
	} else if(isMac()) {
		// MacOSX
		if(isMacOSX()) {
			// Safari2~
			if(isSafari()) {
				if(versionCheck()>=2) return true;
			}
			// Firefox2~
			if(isFirefox()) {
				if(versionCheck()>=2) return true;
			}
		}
	}
	return false;
}

// --------------------------------------------------------
// windows判別
// --------------------------------------------------------
function isWin() {
	var uAgent = navigator.userAgent.toUpperCase();
	return (uAgent.indexOf('WIN')>=0)?(true):(false);
}

// --------------------------------------------------------
// mac判別
// --------------------------------------------------------
function isMac() {
	var uAgent = navigator.userAgent.toUpperCase();
	return (uAgent.indexOf('MAC')>=0)?(true):(false);
}

// --------------------------------------------------------
// MacOS判別
// --------------------------------------------------------
function isMacOSX() {
	if(!isMac()) return false;
	if(isIE()&&(typeof(navigator.plugins)=="undefined")) return false; // MAC IE4.5 IE3
	for(var i=0; i<navigator.plugins.length; i++){
		if (navigator.plugins[i].filename.indexOf(".") >= 0) return true;
	}
	return false;
}

// --------------------------------------------------------
// ie判別
// --------------------------------------------------------
function isIE() {
	var aName = navigator.appName.toUpperCase();
	var uAgent = navigator.userAgent.toUpperCase();
	if(uAgent.indexOf('SAFARI')>=0) return false;
	if(uAgent.indexOf('OPERA')>=0) return false;
	return (aName.indexOf('MICROSOFT')>=0)?(true):(false);
}
// --------------------------------------------------------
// firefox判別
// --------------------------------------------------------
function isFirefox() {
	var uAgent = navigator.userAgent;
	return ((uAgent.indexOf('Firefox')>=0))?(true):(false);
}
// --------------------------------------------------------
// safari判別
// --------------------------------------------------------
function isSafari() {
	var uAgent = navigator.userAgent.toUpperCase();
	return (uAgent.indexOf('SAFARI')>=0)?(true):(false);
}
function isSafari2() {
	var uAgent = navigator.userAgent.toUpperCase();
	if(uAgent.indexOf('SAFARI')<0) return false; // not safari
	var str0 = (uAgent).split("/");
	var str = str0[str0.length-1];
	var n = parseInt(str.split(".")[0]);
	if(n>=125) return true; // Safari1.2 or upper
	else return false;
}

// --------------------------------------------------------
// バージョン判別
// --------------------------------------------------------
function versionCheck(){
	var uAgent = navigator.userAgent;
	var verBrowser = 0;
	if (uAgent.match(/Opera[\/\s](\d\.\d+)/)){
		verBrowser = RegExp.$1;
	}else if (uAgent.match(/MSIE (\d\.\d+)/)){
		verBrowser = RegExp.$1;
	}else if (uAgent.match(/Mozilla\/(4\.[5678]\d?)/)){
		verBrowser = RegExp.$1;
	}else if (uAgent.match(/Netscape6?\/([\.\d]+)/)){
		verBrowser = RegExp.$1;
	}else if (uAgent.match(/Safari\/([\.\d]+)/)){
		verBrowser = RegExp.$1;
	}else if (uAgent.match(/Gecko/)){
		if (uAgent.match(/(Firebird|Firefox)\/([\.\d]+)/)){
			verBrowser = RegExp.$2;
		}else if (uAgent.match(/Thunderbird\/([\.\d]+)/)){
			verBrowser = RegExp.$1;
		}else if (uAgent.match(/rv:([\.\d]+)/)){
			verBrowser = RegExp.$1;
		}
	}
	return parseFloat(verBrowser);
}

// ----------------------------------------------------------------------------
// event_function
// ----------------------------------------------------------------------------
function event_function(iType, Param1, Param2, Param3) {
	//parsing parameters, this is important for browser compatibility
	Param1 = Param1;
	Param2 = Param2;
	iType = parseInt(iType);
	switch(iType)//check the type of the event
	{
		
		/*case 3:
			if(Param1.getName()=="2_Link"){
				dozoomIn();
			}else if(Param1.getName()=="3_Link"){
				dozoomOut();
			}
			break;
		*/
		case 4: //Scene has finished loading event
			//initialize the scene and applet
			if(!_K_y2dSet){
				if(!flg_3d_check) init3d();
			}
			break;
		//----------------Y2D
		case 200: //calling from AS
			//call JS function
			if(_K_y2dSet){
				window[Param1](""+Param2,""+Param3);
			}
			//window[""+Param1](""+Param2,""+Param3);
			break;
	}
	return(false); // return default value
}

