﻿///////////////////////////////////////////////////////////////////////////////////////////
function Y_texLoadCheck(rTime){
	if(Y_isTextureLoadInProgress()) setTimeout("Y_texLoadCheck("+rTime+")",10);
	else {
		//
		if(flg_firstLoad){
			Y_3DLoadFinished();
			///////////////////////////////////////////
			if(Y_systemP){
				if(Y_systemPerformanceCheck()){
					Y_setAntiAliasMode(1);
				}else{
					Y_setAntiAliasMode(0);
				}
			}else{
				Y_setAntiAliasMode(1);
			}
			///////////////////////////////////////////
			flg_firstLoad = false;
		}
		//setTimeout("Y_redrawSetOn("+rTime+")",100);
		if(!K_onoff_flg){//alert("1__"+rTime)
			setTimeout("Y_redrawSetOn("+rTime+")",100);
			setTimeout("Y_enableUI(true)",rTime+300);
			setTimeout("flg_3d_check = true",rTime+300);
		}else{//alert("2__"+rTime)
			setTimeout("Y_redrawSetOn(500)",100);
			setTimeout("Y_enableUI(true)",rTime+1500);
			setTimeout("flg_3d_check = true",rTime+1500);
		}
	}
}
///////////////////////////////////////////////////////////////////////////////////////////
function Y_ygroupArCheck(uid,cat,gid){
	if(typeof(Y_groupCategoryAr[uid])!="undefined") uid=Y_groupCategoryAr[uid];
	for(var i in Y_group[uid][cat]){
		if(Y_strMatchFunc(0,1,"/",i)==false) return false;//
		if(i.indexOf("/"+gid+"/")!=(-1)) return i;
	}
}

function Y_ygroupArCheck2(uid,cat,gid,sere_op){
	
	if(typeof(Y_groupCategoryAr[uid])!="undefined") uid=Y_groupCategoryAr[uid];
	for(var i in Y_group[uid][cat]){
		if(Y_strMatchFunc(0,1,"/",i)==false) return false;//
		if(i.indexOf("/"+gid+"/")!=(-1)) return i;
	}
}

function Y_ygroupArCheckA(uid){//
	if(typeof(Y_group[uid])=="undefined") return false;
	return true;
}
function Y_ygroupArCheckB(uid,cat){//
	if(typeof(Y_groupCategoryAr[uid])!="undefined") uid=Y_groupCategoryAr[uid];
	if(typeof(Y_group[uid][cat])=="undefined") return false;
	return true;
}
function Y_strMatchFunc(val,val1,val2,val3){//
	if(val3.substring(val,val1)==val2) return true;
	else return false;
}
///////////////////////////////////////////////////////////////////////////////////////////
var Y_currentEquipInfo = "&&&";//current/
///////////////////////////////////////////////////////////////////////////////////////////
var dummyBaseImport = false;
function Y_3dMain(str){
	
	// ui制御
	Y_enableUI(false);
	
	//flg_3d_check = false;
	
	Y_optionMakeStr(str);

	var cover_flg=false;
	/*
	for(i=0;i<off_o.length;i++){
		if(off_o[i]=='D10'){//
			cover_flg=true;
		}
	}
	*/
	var old_boolflg=false;
	for(h in animeConsistent){
		var Y_data = new Array();
		Y_data = animeConsistent[h][3].split("/");
		for(i=0;i<Y_data.length;i++){
			if(animeConsistent[Y_data[i]][0]==true){
				old_boolflg=true;
			}
		}
	}
	for(i=0;i<off_o.length;i++){
		for(j in animeConsistent){
			if(off_o[i]==j){
				animeConsistent[j][0]=false;
			}
		}
	}
	var boolflg=false;
	for(h in animeConsistent){
		var Y_data = new Array();
		Y_data = animeConsistent[h][3].split("/");
		for(i=0;i<Y_data.length;i++){
			if(animeConsistent[Y_data[i]][0]==true){
				boolflg=true;
			}
		}
	}
	
	if(cover_flg==true){
		Y_redrawSetOff();
		Y_setShVisible( EntityGroup, 'car_cover', false );
		Y_redrawSetOn(500)
		setTimeout( function() {
			if((on_o != null)&&(Y_optionOnOffFlg=="on"))Y_GoToAnimationFront();
			else Y_3dMain2();
		}, 1000);
		totaltime += 1000;
	}else{
		/*
		if(on_o=="D10"){
			Y_redrawSetOff();
			Y_playAnimation( "close" );////
			Y_redrawSetOn(500);
			setTimeout( function() {
				if((on_o != null)&&(Y_optionOnOffFlg=="on"))Y_GoToAnimationFront();
				else Y_3dMain2();
			}, 1000);
			totaltime += 1000;
		}else*/ if(boolflg==false){
			if(old_boolflg==true){
				if((on_o != null)&&(Y_optionOnOffFlg=="on"))Y_GoToAnimationFront();
				else Y_3dMain2();
				totaltime += 1000;
			}else{
				Y_redrawSetOff();
				Y_playAnimation( "close" );////
				Y_redrawSetOn(500);
				setTimeout( function() {
					if((on_o != null)&&(Y_optionOnOffFlg=="on"))Y_GoToAnimationFront();
					else Y_3dMain2();
				}, 1000);
				totaltime += 1000;
			}
		}else{
			if((on_o != null)&&(Y_optionOnOffFlg=="on"))Y_GoToAnimationFront();
			else Y_3dMain2();
			totaltime += 1000;
		}
	}
	
}
function Y_3dMain2(){
		Y_redrawSetOff();
	if(!dummyBaseImport){
		// *** 
		Y_setShVisible( EntityGroup, "base", true ); // 2008.01 ver6.0
		// *** 
		Y_setShVisible( EntityGroup, "tire", true ); // 2008.01 ver6.0
		// *** 
	//	K_wheel_transforms_entry();
		dummyBaseImport=true;
	}
	if(Y_optionSplitStr["option"]["off"].length!=0){//alert("option--off");
	Y_3dselectOption("off","option");}
	if(Y_optionSplitStr["interior"]["off"]!=""){//alert("interior--off");
	Y_3dselectOption("off","interior")}
	if((Y_optionSplitStr["grade"]["off"]!="")&&(Y_optionSplitStr["grade"]["on"]!=Y_optionSplitStr["grade"]["off"])){//alert("grade--off");
	Y_3dselectGrade("off");}
	if(Y_optionSplitStr["grade"]["on"]!=Y_optionSplitStr["grade"]["off"]){//alert("grade--on");
	Y_3dselectGrade("on");}
	if(Y_optionSplitStr["color"]["on"]!=""){//alert("color");
	Y_3dselectColor();}
	if(Y_optionSplitStr["interior"]["on"]!=""){//alert("interior--on");
	Y_3dselectOption("on","interior");}
	if(Y_optionSplitStr["option"]["on"].length!=0){//alert("option--on");
	Y_3dselectOption("on","option");}
	
	
	
	if((on_o != null)&&(Y_optionOnOffFlg=="off")&&(typeof(animeConsistent)!="undefined")&&typeof(animeConsistent[on_o])!="undefined"){
		animeConsistent[on_o][0]=false;
		for(i=0;i<oData[on_o]["compOID"][0].length;i++){
			for(j in animeConsistent){
				if(oData[on_o]["compOID"][0][i]==j){
					animeConsistent[j][0]=false;
				}
			}
		}
		var boolflg=false;
		var Y_data = new Array();
		Y_data = animeConsistent[on_o][3].split("/");
		for(i=0;i<Y_data.length;i++){
			if(animeConsistent[Y_data[i]][0]==true){
				boolflg=true;
			}
		}
		if(boolflg==false)Y_playAnimation( animeConsistent[on_o][2] );
	}
	
	// ui制御
	Y_texLoadCheck(500);
	/*if(flg_firstLoad == true) Y_texLoadCheck(500);
	else {
		Y_texLoadCheck(totaltime);
		totaltime = 0;
	}*/

}
///////////////////////////////////////////////////////////////////////////////////////////

var Y_optionSplitStr = new Array();
Y_optionSplitStr["grade"] = new Array();
Y_optionSplitStr["color"] = new Array();
Y_optionSplitStr["interior"] = new Array();
Y_optionSplitStr["option"] = new Array();
function Y_optionGroupStr(str){//
	
	var strNew = str.split("&");
	var strRet = ""+strNew[0]+"&"+strNew[1]+"&"+strNew[2]+"&";
	var strNew2 = strNew[3].split(",");
	var strOutOP = new Array();
	var strInpOP = new Array();
	var cutOut = 0;
	var cutInp = 0;
	for(var i=0;i<strNew2.length;i++){
		if(!Y_ygroupArCheckA(strNew2[i])) continue;//
		if(Y_ygroupArCheckB(strNew2[i],"group")){
			var ck = Y_ygroupArCheck(strNew2[i],"group",strNew[0]);
			if(!ck){//
					var aa = true;
					if(typeof(Y_group[strNew2[i]]["group"][0][0])=="undefined"){//
						for(var j=0;j<Y_group[strNew2[i]]["group"].length;j++){
							if(j==0) continue;
							var bb = false;
							for(var k=0;k<strNew2.length;k++){
								if(strNew2[k]==Y_group[strNew2[i]]["group"][j]){ bb=true;break;}
							}
							if(bb==true) break;
							if(j==Y_group[strNew2[i]]["group"].length-1&&bb==false) aa=false;
						}
						if(aa==true){
							strOutOP[cutOut] = strNew2[i];cutOut++;
							strInpOP[cutInp] = Y_group[strNew2[i]]["group"][0];cutInp++;
						}
					}else if(typeof(Y_group[strNew2[i]]["group"][0][0])=="string"){//
						var ct = 0;
						for(var j=0;j<Y_group[strNew2[i]]["group"].length;j++){
							var cc=false;
							for(var jj=0;jj<Y_group[strNew2[i]]["group"][j].length;jj++){
								if(jj==0) continue;
								var bb = false;
								for(var k=0;k<strNew2.length;k++){
									if(strNew2[k]==Y_group[strNew2[i]]["group"][j][jj]){ bb=true;cc=true;ct=j;break;}
								}
								if(bb==true) break;
								if(j==Y_group[strNew2[i]]["group"].length-1&&jj==Y_group[strNew2[i]]["group"][j].length-1&&bb==false) aa=false;
							}
							if(cc==true) break;
						}
						if(aa==true){
							strOutOP[cutOut] = strNew2[i];cutOut++;
							strInpOP[cutInp] = Y_group[strNew2[i]]["group"][ct][0];cutInp++;
						}
					}
					
			}else{
				var aa = true;
				for(var j=0;j<Y_group[strNew2[i]]["group"][ck].length;j++){//
					if(j==0) continue;
					
					var bb = false;
					for(var k=0;k<strNew2.length;k++){
						if(strNew2[k]==Y_group[strNew2[i]]["group"][ck][j]){bb=true;break;}
					}
					if(bb==false) aa=false;
					if(bb==true) break;
					if(j==Y_group[strNew2[i]]["group"][ck].length-1&&bb==false) aa=false;
				}
				if(aa==true){
					strOutOP[cutOut] = strNew2[i];cutOut++;
					strInpOP[cutInp] = Y_group[strNew2[i]]["group"][ck][0];cutInp++;
				}
			}
		}
	}
	if(strNew[3]!=""){
		for(var i=0;i<strNew2.length;i++){
			for(var j=0;j<strOutOP.length;j++){
				if(strNew2[i]==strOutOP[j]){ strNew2[i] = "";break;}
			}
		}
		var ss = "";
		for(var i=0;i<strNew2.length;i++){
			if(strNew2[i]=="") continue;
			if(ss=="") ss+=strNew2[i];
			else ss+=","+strNew2[i];
		}
		for(var i=0;i<strInpOP.length;i++){
			if(ss=="") ss+=strInpOP[i];
			else ss+=","+strInpOP[i];
		}
		strRet += ss;
	}
	return strRet;
}
function Y_oprionGroupIDGet(val){
	if(Y_ygroupArCheckB(val,"g")) return Y_group[val]["g"][0];
	else return val;

}
function Y_optionMakeStr(str){//
	for(var i in Y_optionSplitStr){//reset
		if(i=="option"){
			Y_optionSplitStr[i]["on"] = new Array();
			Y_optionSplitStr[i]["off"] = new Array();
		}else{
			Y_optionSplitStr[i]["on"] = "";
			Y_optionSplitStr[i]["off"] = "";
		}
	}
	var strA=Y_optionGroupStr(str)
	var strNew = strA.split("&");
	var strCur = Y_currentEquipInfo.split("&");
	Y_currentEquipInfo = strA;
	var ic = 0;
	for(var i in Y_optionSplitStr){
		if(i=="option"){
			var spN = strNew[ic].split(",");
			var strNewC = "/"+strNew[ic].replace(/,/g,"/")+"/";
			var spC = strCur[ic].split(",");
			var strCurC = "/"+strCur[ic].replace(/,/g,"/")+"/";
			var jc = 0;
			for(var j=0;j<spC.length;j++){
				if(spC[j]=="") continue;
				if(!Y_ygroupArCheckA(spC[j])) continue;//
				if(strNewC.indexOf("/"+spC[j]+"/")==(-1)){
					Y_optionSplitStr[i]["off"][jc]=spC[j];jc++;
				}
			}
			jc=0;
			for(var j=0;j<spN.length;j++){
				if(spN[j]=="") continue;
				if(!Y_ygroupArCheckA(spN[j])) continue;//
				if(Y_optionSplitStr["grade"]["on"]!=Y_optionSplitStr["grade"]["off"]){//
					//
					var sta = false;
					if(Y_ygroupArCheckB(spN[j],"parts")&&(Y_ygroupArCheck(spN[j],"parts",Y_optionSplitStr["grade"]["on"])!=Y_ygroupArCheck(spN[j],"parts",Y_optionSplitStr["grade"]["off"]))) sta=true;
					if(Y_ygroupArCheckB(spN[j],"mat")&&(Y_ygroupArCheck(spN[j],"mat",Y_optionSplitStr["grade"]["on"])!=Y_ygroupArCheck(spN[j],"mat",Y_optionSplitStr["grade"]["off"]))) sta=true;
					if(Y_ygroupArCheckB(spN[j],"tex")&&(Y_ygroupArCheck(spN[j],"tex",Y_optionSplitStr["grade"]["on"])!=Y_ygroupArCheck(spN[j],"tex",Y_optionSplitStr["grade"]["off"]))) sta=true;
					if(sta){//
						Y_optionSplitStr[i]["on"][jc]=spN[j];

						var che = false;
						for(var k=0;k<Y_optionSplitStr[i]["off"].length;k++){
							if(Y_optionSplitStr[i]["off"][k]==spN[j]){che=true;break;}
						}
						if(!che) Y_optionSplitStr[i]["off"][Y_optionSplitStr[i]["off"].length] = spN[j];
						//↑
						jc++;
					}else{
						Y_optionSplitStr[i]["on"][jc]=spN[j];jc++;
					}
				}else{
					if(strCurC.indexOf("/"+spN[j]+"/")==(-1)){
					Y_optionSplitStr[i]["on"][jc]=spN[j];jc++;
					}
				}
			}
		}else if(i=="interior"){
			if(!Y_ygroupArCheckA(strNew[ic])){
				Y_optionSplitStr[i]["on"] ="";
				Y_optionSplitStr[i]["off"] ="";
			}else{
				var sta = false;
				if(Y_ygroupArCheckB(strNew[ic],"parts")&&(Y_ygroupArCheck(strNew[ic],"parts",Y_optionSplitStr["grade"]["on"])!=Y_ygroupArCheck(strNew[ic],"parts",Y_optionSplitStr["grade"]["off"]))) sta=true;
				if(Y_ygroupArCheckB(strNew[ic],"mat")&&(Y_ygroupArCheck(strNew[ic],"mat",Y_optionSplitStr["grade"]["on"])!=Y_ygroupArCheck(strNew[ic],"mat",Y_optionSplitStr["grade"]["off"]))) sta=true;
				if(Y_ygroupArCheckB(strNew[ic],"tex")&&(Y_ygroupArCheck(strNew[ic],"tex",Y_optionSplitStr["grade"]["on"])!=Y_ygroupArCheck(strNew[ic],"tex",Y_optionSplitStr["grade"]["off"]))) sta=true;
				if(sta) Y_optionSplitStr[i]["on"]=strNew[ic];
				else Y_optionSplitStr[i]["on"] =(strCur[ic]==strNew[ic])?"":strNew[ic];
				Y_optionSplitStr[i]["off"] =(strCur[ic]==strNew[ic])?"":strCur[ic];
			}
		}else if(i=="grade"){
			Y_optionSplitStr[i]["on"] =strNew[ic];
			Y_optionSplitStr[i]["off"] =(strCur[ic]=="")?"":strCur[ic];
		}else{
			Y_optionSplitStr[i]["on"] = strNew[ic];
			Y_optionSplitStr[i]["off"] =(strCur[ic]==strNew[ic])?"":strCur[ic];
		}
		ic++;
	}

}

var mat_body = "body";
function Y_3dselectColor(){
	var bodyID = Y_optionSplitStr["color"]["on"];
	Y_setTexture(mat_body,2,Y_IMG[Y_optionSplitStr["color"]["on"]]);
	//
	if(typeof(Y_IMGBodyFlg)!="undefined"&&Y_IMGBodyFlg){
		if(Y_IMGBodyArCheckB(bodyID,"tex")){//
			var ck = IMGBodyArCheck(bodyID,"tex",Y_optionSplitStr["grade"]["on"]);
			if(!ck){//
				for(var j in Y_IMGBody[bodyID]["tex"]){
					var texNA = Y_IMGBody[bodyID]["tex"][j][1];
					Y_setTexture(j,Y_IMGBody[bodyID]["tex"][j][0],texNA);
				}
			}else{
				for(var j in Y_IMGBody[bodyID]["tex"][ck]){
					var texNA = Y_IMGBody[bodyID]["tex"][ck][j][1];
					Y_setTexture(j,Y_IMGBody[bodyID]["tex"][ck][j][0],texNA);
				}
			}
		}
	}
}
function IMGBodyArCheck(uid,cat,gid){
	if(!Y_IMGBodyArCheckA(uid)) return false;
	for(var i in Y_IMGBody[uid][cat]){
		if(Y_strMatchFunc(0,1,"/",i)==false) return false;//
		if(i.indexOf("/"+gid+"/")!=(-1)) return i;
	}
}
function Y_IMGBodyArCheckA(uid){//
	if(typeof(Y_IMGBody[uid])=="undefined") return false;
	return true;
}
function Y_IMGBodyArCheckB(uid,cat){//
	if(!Y_IMGBodyArCheckA(uid)) return false;
	if(typeof(Y_IMGBody[uid][cat])=="undefined") return false;
	return true;
}
function Y_3dselectInterior(color){
	Y_redrawSetOff();
	setSelect(5,mat_body);
	Y_setTexture(mat_body,2,Y_IMG[color])
	color_flg = color;
}

// Type ///////////////////////////////////////////////////////////////////////////////
function Y_3dselectGrade(onoff)
{
	var type = (onoff=="on")?Y_optionSplitStr["grade"]["on"]:Y_optionSplitStr["grade"]["off"];
	if(typeof(Y_groupCategoryAr[type])!="undefined") type=Y_groupCategoryAr[type];
		for(var i=0;i<Y_group[type]["parts"].length;i++)
		{
			Y_setShVisible( EntityGroup, Y_group[type]["parts"][i], (onoff=="on")?true:false ); // 2008.01 ver6.0
		}
		if(Y_ygroupArCheckB(type,"partsTire")){
			for(var i=0;i<Y_group[type]["partsTire"].length;i++)
			{
				Y_setShVisible( EntityGroup, Y_group[type]["partsTire"][i], (onoff=="on")?true:false ); // 2008.01 ver6.0
			}
		}

		if(typeof(Y_group[type]["mat"])!="undefined"){
			for(var i in Y_group[type]["mat"])
			{
	//			Y_setMaterial(i,Y_group[type]["mat"][i][0])
			}
		}

		if(typeof(Y_group[type]["tex"])!="undefined"){
			for(var i in Y_group[type]["tex"])
			{
				Y_setTexture(i,Y_group[type]["tex"][i][0],Y_group[type]["tex"][i][1]);
			}
		}

		if(typeof(Y_group[type]["anim"])!="undefined") Y_playAnimation(Y_group[type]["anim"]);
}
// Type ///////////////////////////////////////////////////////////////////////////////
var su = 10;
var K_onoff_flg=false;
function Y_3dselectOption(onoff,cat)
{
	
	var type0 = (onoff=="on")?Y_optionSplitStr["grade"]["on"]:Y_optionSplitStr["grade"]["off"];
	type = (typeof(Y_groupCategoryAr[type0])!="undefined")?Y_groupCategoryAr[type0]:type0;
	var len = (cat=="interior")?1:Y_optionSplitStr[cat][onoff].length;
	for(var i=0;i<len;i++){
		var uidNA = (cat=="interior")?Y_optionSplitStr[cat][onoff]:Y_optionSplitStr[cat][onoff][i];
		if(onoff=="on"){
	
			if(Y_ygroupArCheckB(uidNA,"partsN")){
				var ck = Y_ygroupArCheck(uidNA,"partsN",type0);
				if(!ck){
				for(var j=0;j<Y_group[uidNA]["partsN"].length;j++){
						Y_setShVisible( EntityGroup, Y_group[uidNA]["partsN"][j], false ); // 2008.01 ver6.0
					}
				}else{
					for(var j=0;j<Y_group[uidNA]["partsN"][ck].length;j++){
						Y_setShVisible( EntityGroup, Y_group[uidNA]["partsN"][ck][j], false ); // 2008.01 ver6.0
					}
				}
			}
			if(Y_ygroupArCheckB(uidNA,"parts")||Y_ygroupArCheckB(uidNA,"partsTire")){
				var ck = Y_ygroupArCheck(uidNA,"parts",type0);
				var tireCk = false;
				if(!ck){
					for(var j=0;j<Y_group[uidNA]["parts"].length;j++){
						if(!tireCk&&Y_strMatchFunc(0,2,"t_",Y_group[uidNA]["parts"][j])) tireCk=true;
					}
					if(tireCk){
						for(var j=0;j<Y_group[type]["partsTire"].length;j++){
							Y_setShVisible( EntityGroup, Y_group[type]["partsTire"][j], false ); // 2008.01 ver6.0
						}
					}
					for(var j=0;j<Y_group[uidNA]["parts"].length;j++){
						if(Y_strMatchFunc(0,5,"bill_",Y_group[uidNA]["parts"][j])) continue;
						Y_setShVisible( EntityGroup, Y_group[uidNA]["parts"][j], true ); // 2008.01 ver6.0
					}
				}else{
					for(var j=0;j<Y_group[uidNA]["parts"][ck].length;j++){
						if(Y_strMatchFunc(0,5,"bill_",Y_group[uidNA]["parts"][ck][j])) continue;
						Y_setShVisible( EntityGroup, Y_group[uidNA]["parts"][ck][j], true ); // 2008.01 ver6.0
					}
				}
			}
		}else{
			if(Y_ygroupArCheckB(uidNA,"parts")){
				var ck = Y_ygroupArCheck(uidNA,"parts",type0);
				var tireCk = false;
				if(!ck){
					for(var j=0;j<Y_group[uidNA]["parts"].length;j++){
						Y_setShVisible( EntityGroup, Y_group[uidNA]["parts"][j], false ); // 2008.01 ver6.0
						if(!tireCk&&Y_strMatchFunc(0,2,"t_",Y_group[uidNA]["parts"][j])) tireCk=true;
					}
					if(tireCk){
						for(var j=0;j<Y_group[type]["partsTire"].length;j++){
							Y_setShVisible( EntityGroup, Y_group[type]["partsTire"][j], true ); // 2008.01 ver6.0
						}
					}
				}else{
					for(var j=0;j<Y_group[uidNA]["parts"][ck].length;j++){
						if(Y_strMatchFunc(0,5,"bill_",Y_group[uidNA]["parts"][ck][j])) continue;
						Y_setShVisible( EntityGroup, Y_group[uidNA]["parts"][ck][j], false ); // 2008.01 ver6.0
					}
				}
			}
			if(Y_ygroupArCheckB(uidNA,"partsN")){
				var ck = Y_ygroupArCheck(uidNA,"partsN",type0);
				if(!ck){
				for(var j=0;j<Y_group[uidNA]["partsN"].length;j++){
						Y_setShVisible( EntityGroup, Y_group[uidNA]["partsN"][j], true ); // 2008.01 ver6.0
					}
				}else{
					for(var j=0;j<Y_group[uidNA]["partsN"][ck].length;j++){
						Y_setShVisible( EntityGroup, Y_group[uidNA]["partsN"][ck][j], true ); // 2008.01 ver6.0
					}
				}
			}
			
			// オプションを外したとき、アングルをデフォルトに戻すアニメーション -----------------------------
			if(cat == "option"){
				
				var match = true;
				for(var j=0; j<currentOpArray.length; j++) {
				//	alert(on_o +" == "+ currentOpArray[j]);
					if((on_o == "D07" && currentOpArray[j] == "D08") || (on_o == "D07" && currentOpArray[j] == "D09") || 
					(on_o == "D08" && currentOpArray[j] == "D07") || (on_o == "D08" && currentOpArray[j] == "D09") || 
					(on_o == "D09" && currentOpArray[j] == "D07") || (on_o == "D09" && currentOpArray[j] == "D08") ) {
						match = false;
						
					}
				}
				K_onoff_flg=match;
			//	alert(match);
				if(match){
					K_onoff_flg=true;
					var time = 1000;
					totaltime += 1500;
					setTimeout(function(){Y_playAnimation("default")}, time);
				}
			}
			// ----------------------------------------------------------------------------------------------
			
		}

		if(Y_ygroupArCheckB(uidNA,"mat")){
			if(!(cat=="interior"&&onoff=="off")){
				var ck = Y_ygroupArCheck(uidNA,"mat",type0);
				if(!ck){
					for(var j in Y_group[uidNA]["mat"]){
						var matNA = (onoff=="on")?Y_group[uidNA]["mat"][j][0]:(Y_group[uidNA]["mat"][j][1]!="")?Y_group[uidNA]["mat"][j][1]:Y_group[type]["mat"][j][0];
						Y_setMaterial(j,matNA);
					}
				}else{
					for(var j in Y_group[uidNA]["mat"][ck]){
						var matNA = (onoff=="on")?Y_group[uidNA]["mat"][ck][j][0]:(Y_group[uidNA]["mat"][ck][j][1]!="")?Y_group[uidNA]["mat"][ck][j][1]:Y_group[type]["mat"][ck][j][0];
						Y_setMaterial(j,matNA);
					}
				}
			}
		}

		if(Y_ygroupArCheckB(uidNA,"tex")){
			if(!(cat=="interior"&&onoff=="off")){
				var ck = Y_ygroupArCheck(uidNA,"tex",type0);
				if(!ck){
					for(var j in Y_group[uidNA]["tex"]){
						var texNA = (onoff=="on")?Y_group[uidNA]["tex"][j][1]:(Y_group[uidNA]["tex"][j][2]!="")?Y_group[uidNA]["tex"][j][2]:Y_group[type]["tex"][j][1];
						Y_setTexture(j,Y_group[uidNA]["tex"][j][0],texNA);
					}
				}else{
					for(var j in Y_group[uidNA]["tex"][ck]){
						var texNA = (onoff=="on")?Y_group[uidNA]["tex"][ck][j][1]:(Y_group[uidNA]["tex"][ck][j][2]!="")?Y_group[uidNA]["tex"][ck][j][2]:Y_group[type]["tex"][j][1];
						Y_setTexture(j,Y_group[uidNA]["tex"][ck][j][0],texNA);
					}
				}
			}
		}

		if(Y_ygroupArCheckB(uidNA,"anim")){
			if(!(cat=="interior"&&onoff=="off")){
				if(onoff=="on") var ck = Y_ygroupArCheck(uidNA,"anim",type0);
				else{
					var offAnim = Y_ygroupArCheckB(uidNA,"animN");
					var ck = Y_ygroupArCheck(uidNA,"animN",type0);
				}
				if(!ck){
					var animNA = (onoff=="on")?Y_group[uidNA]["anim"][0]:(offAnim)?Y_group[uidNA]["animN"][0]:Y_group[type]["anim"][0];
					Y_playAnimation(animNA);
				}else{
					var animNA = (onoff=="on")?Y_group[uidNA]["anim"][ck][0]:(offAnim)?Y_group[uidNA]["animN"][ck][0]:Y_group[type]["anim"][0];
					Y_playAnimation(animNA);
				}
			}
		}
	}
	
}
function Y_menuAction(sName,pOpmode){
	switch(sName){
		case "btn_reset":
			Y_setMouseAction(0);
			Y_playAnimation("reset");
			setTimeout("Y_3dMain('"+str3d+"')",600);
			Y_zoom_count=0;
			break;
		case "print":
			Y_setMouseAction(0);
			Y_playAnimation("print");
			setTimeout("Y_redrawSetOn(0)",100);
			break;
	}
	
}
//////////////////////////////////////////////////////////////
function Y_redrawSetOff()
{

	if(!getAppletCheck()) return;
	var v=Yappa3D.getRedrawEnabled();
	if(v!=(-1)) Yappa3D.setRedrawEnabled( -1 );

}
function Y_redrawSetOn(val)
{

	if(!getAppletCheck()) return;
	var v=Yappa3D.getRedrawEnabled();
	if(v!=0) Yappa3D.setRedrawEnabled( val );

}
function Y_getRedrawEnabled()
{

	if(!getAppletCheck()) return;
	return Yappa3D.getRedrawEnabled();

}


function Y_setShVisible( selN, selC, tf )
{

	if(!getAppletCheck()) return;
	if(selC=="") return;
	var item = Yappa3D.findEntity( selN, selC );
	item.setShVisible( tf );

}

function Y_getTransformNumber( val )
{

	if(!getAppletCheck()) return;
	var parent = Yappa3D.findEntity( EntityTransform, val );
	var children = parent.getTransChildren();
	var group = Yappa3D.addGroup();
	group.addGroupMembers( children );
	return group;

}

function Y_playAnimation( val )
{
	if(!getAppletCheck()) return;
	var anim = Yappa3D.findEntity( EntityAnimation, val );
	anim.playAnimation();
}

function Y_setAntiAliasMode( val )
{

	if(!getAppletCheck()) return;
	Yappa3D.setAntiAliasOnStill( val );

}

function Y_setTexture( val1, val2, val3 ){

	if(!getAppletCheck()) return;
	var mat = Yappa3D.findEntity( EntityMaterial, val1 );
	mat.setMatTexture( val2, 'maps/'+ val3 );
}

function Y_setMaterial( val1, val2 )
{
	if(!getAppletCheck()) return;
	var shape = Yappa3D.findEntity( EntityShape, val1 );
	var mat = Yappa3D.findEntity( EntityMaterial, val2 );
	shape.setShMaterial( mat );
}

function Y_setBillVisible( val1, val2 )
{

	if(!getAppletCheck()) return;
	var bill = Yappa3D.findEntity( EntityBillboard, val1 );
	bill.setBillVisible( val2 );

}

function Y_setMouseDisable( val )
{

	if(!getAppletCheck()) return;
	Yappa3D.setMouseDisable( val );
}

function Y_setMouseAction( val )
{

	if(!getAppletCheck()) return;
	Yappa3D.setMouseAction( val );

}

function Y_enableUI( val )
{

	if(!getAppletCheck()) return;
	Yappa3D.enableUI( val );

}
function Y_getShapeName(val1)
{
	if(!getAppletCheck()) return;
	return Yappa3D.getShapeName(val1);
}

function Y_getShapeNumber(val1)
{
	if(!getAppletCheck()) return;
	return Yappa3D.getShapeNumber(val1);
}

function Y_selGetCount()
{

	if(!getAppletCheck()) return;
	var arr = Yappa3D.getEntitiesOfType( EntityShape );
	var num = arr.getCount();
	return num;

}
function Y_selGetObject(val1,val2)
{

	if(!getAppletCheck()) return;
	var obj = Yappa3D.findEntity( val1, val2 );
	return obj;

}
function Y_getNumberOfMaterials()
{

	var arr = Yappa3D.getEntitiesOfType( EntityMaterial );
	var num = arr.getCount();

}
function Y_getMaterialName( val )
{

	if(!getAppletCheck()) return;
	var shape = Yappa3D.findEntity( EntityShape, val );
	var mat = shape.getMaterial();
	return mat.getName();

}
function Y_isTextureLoadInProgress()
{

	if(!getAppletCheck()) return;
	return Yappa3D.isTextureLoadInProgress();

}
function Y_getMaterial()
{

	if(!getAppletCheck()) return;
	return Yappa3D.getMaterial();

}
function Y_getPerformance()
{

	if(!getAppletCheck()) return;
	return Yappa3D.getPerformance();

}
function Y_getLoadingProgress( val )
{

	if(!getAppletCheck()) return;
	return Yappa3D.getLoadingProgress( val );

}
function Y_loadScene(val)
{

	if(!getAppletCheck()) return;
	Yappa3D.loadScene(val);

}
function Y_setTooltipsAndCursorsEnabled( val )
{

	if(!getAppletCheck()) return;
	Yappa3D.setMouseOverEventEnabled( val );

}
function Y_flushTextureCache()
{

	if(!getAppletCheck()) return;
	Yappa3D.flushTextureCache();

}

/////////////////////////////////////////////////////////////////////////////////////////////
function y3d_position(n)//
{
	
	if(n=='reset'){
		if(!flg_3d_check)return;
		flg_3d_check = false;
		//	mazda 20090525
		for(j in animeConsistent){
			
			animeConsistent[j][0] = false;
			
		}
		//
		Y_getData("");
		Y_optionMakeStr(str3d);
		Y_3dMain2()
		Y_playAnimation(n);
		Y_zoom_count=0;
	}else{
		Y_playAnimation(n);
	}
	/*
	Y_playAnimation(n);
	if(n=='default')Y_zoom_count=0;
	*/
}

function y3d_mouse_action(n)
{
	if(n=='rotato'){
		Y_setMouseAction(0);
	}else if('move'){
		Y_setMouseAction(1);
	}
}

var Y_zoom_count=0;
function y3d_zoom(n)
{
	if(Y_zoom_count<=2&&n=='up'){
		var trans = Yappa3D.findEntity(EntityTransform,"dummy_car");
		trans.setSlideTime(1);
		trans.addTrPosition(0,0,+zoom_val);
		trans.setSlideTime(0);
		Y_zoom_count++;
	}else if(Y_zoom_count>=-2&&n=='down'){
		var trans = Yappa3D.findEntity(EntityTransform,"dummy_car");
		trans.setSlideTime(1);
		trans.addTrPosition(0,0,-zoom_val);
		trans.setSlideTime(0);
		
		Y_zoom_count--;
	}
}


var Y_GoToAnimationFrontNum=0;
var Y_AnimationFrameNum=0;
function Y_GoToAnimationFront()
{

	if(typeof(animeData)!="undefined" && typeof(animeData[on_o])!="undefined"){
		Y_GoToAnimationFrontNum=animeData[on_o]["Front"].length;
		Y_AnimationFrameNum=0;
		Y_AnimationFrame();
		
	}else{
		Y_3dMain2();
	}

}
var Y_animeConsistentNum;
var totaltime = 0;
function Y_AnimationFrame()
{
	var time;

	if(Y_AnimationFrameNum<Y_GoToAnimationFrontNum){
		if(animeData[on_o]["Front"][Y_AnimationFrameNum][0]=="NormalAnimation"){
			
			Y_playAnimation( animeData[on_o]["Front"][Y_AnimationFrameNum][1] );
			setTimeout( function() {
				Y_AnimationFrameNum++;
				Y_AnimationFrame();
			}, time = animeData[on_o]["Front"][Y_AnimationFrameNum][2] + 300);
			
		}else if(animeData[on_o]["Front"][Y_AnimationFrameNum][0]=="ConsistentAnimation"){
			if(animeConsistent[animeData[on_o]["Front"][Y_AnimationFrameNum][1]][0]==false){
				var boolflg=false;
				var Y_data = new Array();
				Y_data = animeConsistent[animeData[on_o]["Front"][Y_AnimationFrameNum][1]][3].split("/");
				for(i=0;i<Y_data.length;i++){
					if(animeConsistent[Y_data[i]][0]==true){
						boolflg=true;
					}
				}
				if(boolflg==false)Y_playAnimation( animeConsistent[animeData[on_o]["Front"][Y_AnimationFrameNum][1]][1] );
				animeConsistent[animeData[on_o]["Front"][Y_AnimationFrameNum][1]][0]=true;
			}
			setTimeout( function() {
				Y_AnimationFrameNum++;
				Y_AnimationFrame();
			}, time = animeData[on_o]["Front"][Y_AnimationFrameNum][2] + 300);
		
		}
		
		totaltime += time;
		
	}else{
		
		Y_3dMain2();
		
	}
	

}
