//定数
var parts_type = new Array("","hat","hair","face","ubody","lbody","hand","shoes","ritem","litem");
var PATH = "http://gelgoog/cgi-bin/hoge.php";// このアドレスにアバターのバストショットをJPEG形式のバイナリでPOST
var PATH2 = "http://localhost:8000/cgi-bin/xxx.py";// このアドレスにアバターの全身SSをJPEG形式のバイナリでPOST
var f_init_list = new Array("f_bone","","f_hair_a_01","f_face_a_01","f_ubody_a_01",
                            "f_lbody_a_01","","","","","f_anim_stand","","i_bg_01","","");
var m_init_list = new Array("m_bone","","m_hair_a_01","m_face_a_01","m_ubody_a_01",
                            "m_lbody_a_01","","","","","m_anim_stand","","i_bg_01","","");
//var RESOURCE_PATH = 'http://mem-jp1.sqex.tv/jp/resource/';
var RESOURCE_PATH = '/jp/resource/';

//以下の変数はユーザごとに上書きする必要あり
//(bone,hat,hair,face,ubody,lbody,hand,shoes,ritem,litem,stand,motion,bg,bgeffect,magic_effect)
//現在の装備を保存しておく配列
var equip_list = new Array("m_bone","","m_hair_a_01","m_face_a_01","m_ubody_a_01",
                           "m_lbody_a_01","","","","","m_anim_stand","","i_bg_01","" , "");
var equip_id_list = new Array(); //shop
var equip_is_heroes_list = new Array(); //shop
var equip_is_setitem_list = new Array(); //shop
var equip_box_id_list = new Array(); //closet

//デフォルト装備を保存しておく配列
var def_list = new Array("m_bone","","m_hair_a_01","m_face_a_01","m_ubody_a_01",
                         "m_lbody_a_01","","","","","m_anim_stand","","i_bg_01","","");
var def_box_id_list = new Array();

//キャラ作成時の装備
var init_list = new Array("m_bone","","m_hair_a_01","m_face_a_01","m_ubody_a_01",
                          "m_lbody_a_01","","","","","m_anim_stand","","i_bg_01","","");


var sex = 'm';//性別(mかf)。
var setitem_id;
var setitem_box_id;

var set_idx = null;	//current index of set list
var def_set_idx = null;	//デフォルト装備がセット装備の場合に必要
var prev_set_idx = null;//dequipListの中で設定


//髪と帽子の対応表
//3:Normalな髪型 , 0:髪なし
var hairs = {'' : 3 , f_hat_a_01 : 3 , f_hat_a_02 : 3 , f_hat_b_01 : 2 , f_hat_b_02  : 2 ,
            f_hat_c_01 : 2 , f_hat_c_01 : 2 , f_hat_d_01 : 1 , f_hat_e_01 : 1 , f_hat_e_02 : 1 ,
            f_hat_e_03 : 1 , f_hat_e_04 : 1 , f_hat_e_05 : 1 , f_hat_za_01 : 2 , f_hat_zb_01 : 3 ,
            m_hat_a_01 : 1 , m_hat_a_02 : 1 , m_hat_b_01 : 2 , m_hat_b_02 : 2 , m_hat_c_01 : 2 ,
            m_hat_d_01 : 1 , m_hat_e_01 : 2 , m_hat_e_02 : 2 , m_hat_e_03 : 2 , m_hat_e_04 : 2 ,
            m_hat_e_05 : 2 , m_hat_za_01 : 2 , m_hat_zb_01 : 3 , m_hat_zc_01 : 3 , m_hat_f_01 : 0 , 
            m_hat_g_01 : 0 , f_hat_zc_01 : 3 , f_hat_zd_01 : 3, f_hat_f_01 : 3 , f_hat_f_02 : 3 , m_hat_h_01 : 3 , 
            m_hat_h_02 : 2 , m_hat_zd_01 : 1 , m_hat_zd_02 : 1 , m_hat_i_01 : 2 , f_hat_g_01 : 3 , m_hat_h_03 : 3 , 
      f_hat_g_02 : 3 , m_hat_h_04 : 2  , f_hat_f_03 : 3  , f_hat_f_04 : 3 , f_hat_ze_01 : 3 , f_hat_ze_02 : 3 , 
      f_hat_ze_03 : 3 , f_hat_ze_04 : 3 , f_hat_j_01 : 3 , m_hat_h_05 : 3 , f_hat_g_03 : 3 , 
      f_hat_zf_01 : 1 , m_hat_ze_01 : 1 , m_hat_t_01 : 3 , m_hat_u_01 : 3 , f_hat_m_01 : 0 , f_hat_h_01 : 2 , 
      f_hat_h_02 : 2 , f_hat_h_03: 1 , f_hat_h_05 : 3 , m_hat_l_01 : 2 , m_hat_l_02 : 2 , m_hat_l_03 : 1 , m_hat_l_04 : 3 ,
	  f_hat_h_001 : 2 , f_hat_h_002 : 2 , f_hat_h_003: 1 , f_hat_h_005 : 3 , m_hat_l_001 : 2 , m_hat_l_002 : 2 , m_hat_l_003 : 1 , m_hat_l_004 : 3 ,
      m_hat_r_01 : 2 , f_hat_k_01 : 2 , m_hat_x_01 : 0 , 
m_hat_ya_01 : 2 , f_hat_ya_01 : 2 , f_hat_ya_02 : 2 , f_hat_ya_03 : 2 , f_hat_ya_04 : 2 , f_hat_ya_05 : 2 , f_hat_yb_01 : 3 , f_hat_yb_02 : 3 , m_hat_p_03 : 1 , f_hat_f_05 : 3 , m_hat_y_01 : 3 , f_hat_r_01 : 3 , m_hat_01aa_01 : 3 ,
 f_hat_yc_01 : 3 , f_hat_yc_02 : 3 , f_hat_yd_01 : 3 , f_hat_yd_02 : 3 ,
 f_hat_n_01 : 2, f_hat_00ab_01 : 3 , f_hat_01ab_01 : 2 ,
 m_hat_b_04 : 1 , m_hat_b_03 : 1 , m_hat_m_01 : 1 , m_hat_m_02 : 1 , f_hat_02aa_01 : 2 , m_hat_02aa_01 : 3 , f_hat_02ab_01 : 3 ,
 m_hat_02ab_01 : 1 ,m_hat_yf_05 : 3 , m_hat_yf_03 : 3 , f_hat_ye_06 : 3 , f_hat_ye_01 : 3 , m_hat_ye_01 : 3 , m_hat_ye_06 : 3 , f_hat_yf_01 : 0 , f_hat_yf_03 : 0 , m_hat_ye_01 : 3 , f_hat_l_01 : 1 , f_hat_l_02 : 1 , m_hat_s_01 : 1 , m_hat_s_02 : 1 , m_hat_02al_02 : 3 , m_hat_p_04 : 1 , m_hat_02af_01 : 3 , m_hat_02af_02 : 3 , m_hat_02af_03 : 3 , m_hat_02af_04 : 3 , m_hat_02ac_01 : 2 , f_hat_02ao_01 : 1 , m_hat_02ay_02 : 2 , m_hat_02ay_01 : 3 , m_hat_02ax_01 : 3 , m_hat_02az_01 : 3 , m_hat_02av_01 : 3 , f_hat_staff_01 : 1 , m_hat_yj_01 : 3, m_hat_yj_02 : 3, m_hat_staff_01 : 1 , m_hat_02be_01 : 3 , f_hat_02ay_01 : 3 , m_hat_ye_15 : 3 , m_hat_ye_13 : 3 , f_hat_02bm_01 : 3 , f_hat_00ac_01 : 3 , f_hat_00ac_02 : 3 , m_hat_02bt_01 : 3 , f_hat_02bk_01 : 3 , m_hat_zf_01 : 3 , m_hat_00ae_01 : 3 , m_hat_00ah_01 : 1 , f_hat_00ag_01 : 1 , m_hat_00ag_01 : 1 , f_hat_02ab_011 : 3 , f_hat_02ab_012 : 3 , m_hat_02ab_011 : 1 , m_hat_02ab_012 : 1 , m_hat_00am_01 : 3 , m_hat_00as_02 : 1 , m_hat_00as_01 : 1 , m_hat_zd_022 : 1 , m_hat_zd_012 : 1 , m_hat_00ar_01 : 1 , m_hat_00ar_02 : 1 , m_hat_00ar_03 : 1 , m_hat_00ar_04 : 1 , m_hat_00ar_04 : 1 , f_hat_00av_01 : 3 , f_hat_00bi_01 : 3 , f_hat_00bi_02 : 3 , f_hat_00bi_03 : 3 , f_hat_00bi_04 : 3 , f_hat_99aa_01 : 3 , f_hat_99aa_02 : 3 , f_hat_99aa_03 : 3 , f_hat_99aa_04 : 3 , m_hat_02bu_01 : 1 , m_hat_02bu_011 : 1 , m_hat_02bv_01 : 0 , m_hat_02bv_011 : 0 , f_hat_02bp_01 : 1 , f_hat_02bp_011 : 1 , m_hat_00af_01 : 2 , m_hat_00af_011 : 2 , f_hat_00ae_01 : 2 , f_hat_00ae_011 : 2 , m_hat_00bk_01 : 3 , m_hat_00bk_011 : 3 , f_hat_00bo_01 : 3 , f_hat_00bo_011 : 3 , m_hat_00bl_01 : 3 , m_hat_00bl_011 : 3 , f_hat_00bp_01 : 3 , f_hat_j_011 : 3 , m_hat_00bj_01 : 2 , m_hat_00bh_01 : 3 , f_hat_00bp_011 : 3 , m_hat_00bt_02 : 3 , m_hat_00bt_01 : 3 , m_hat_00bs_01 : 2 , m_hat_00cb_01 : 3 , m_hat_00by_01 : 1 , f_hat_00ce_01 : 1 , m_hat_00cc_01 : 1 , m_hat_00bz_01 : 1 , f_hat_00cf_01 : 1 , m_hat_00bx_01 : 1 , f_hat_00cc_01 : 1 , m_hat_00bw_01 : 1 , f_hat_00cb_01 : 3 , m_hat_10ac_01 : 3 , m_hat_00ci_01 : 2 , m_hat_00ci_02 : 2 , m_hat_00ci_03 : 2 , m_hat_00ci_04 : 2 , m_hat_00ch_01 : 3 , m_hat_00ch_02 : 3 , m_hat_00ch_03 : 3 , m_hat_00ch_04 : 3 , f_hat_00co_01 : 3 , f_hat_00co_02 : 3 , f_hat_00co_03 : 3 , f_hat_00co_04 : 3 , f_hat_00cn_01 : 3 , f_hat_00cn_02 : 3 , f_hat_00cn_03 : 3 , f_hat_00cn_04 : 3 , f_hat_00cr_01 : 3 , f_hat_10ab_01 : 3 , f_hat_00cq_01 : 3 , m_hat_00ct_01 : 1 , f_hat_00cy_01 : 1 , m_hat_00cr_01 : 1 , f_hat_00cw_01 : 1 , m_hat_00cs_01 : 2 , f_hat_00ct_01 : 3 , f_hat_00cx_01 : 2 , f_hat_00dc_01 : 3 , f_hat_00db_01 : 3 , m_hat_00cw_01 : 3 , m_hat_00cv_01 : 3 , f_hat_00cz_01 : 3 , f_hat_ze_021 : 3 , f_hat_ze_031 : 3 , f_hat_ze_041 : 3 , f_hat_ze_011 : 3 , f_hat_ze_05 : 3 , f_hat_ze_06 : 3};


//セットアイテム
//setitem  = (骨,帽子,髪,顔,上服,下服,手,靴,右手,左手,立ちモーション,モーション);
var any = null;
var setitem1 = new Array(any,any,any,any,any,any,any,any,any,any,any,any); //ダミー
var setitem2 = new Array(any,'m_hat_d_01',any,any,'m_ubody_e_01','m_lbody_e_01','m_hand_a_06','m_shoes_c_01',any,any,any,any);//シド
var setitem3 = new Array(any,any,any,any,'m_ubody_f_01','m_lbody_f_01',any,any,any,any,any,any);//ラファエロ
var setitem4 = new Array(any,"",any,any,'f_ubody_e_01','f_lbody_e_01','','f_shoes_c_01',any,any,any,any);//クロマ
var setitem5 = new Array(any,"",any,any,'f_ubody_f_01','f_lbody_f_01','','f_shoes_d_01',any,any,any,any);//シロマ
var setitem6 = new Array(any ,"m_hat_f_01","",any,"m_ubody_i_01","m_lbody_i_01","m_hand_d_01","m_shoes_f_01",any,any,any,any);//暗黒セシル
var setitem7 = new Array(any,"m_hat_g_01","",any,"m_ubody_j_01","m_lbody_j_01","m_hand_e_01","m_shoes_g_01",any,any,any,any);//FF4カイン
var setitem8 = new Array(any,any,any,any,"f_ubody_zg_01","f_lbody_zg_01","","f_shoes_zg_01",any,any,any,any);//正月アイテム女子1
var setitem9 = new Array(any,any,any,any,"f_ubody_zg_02","f_lbody_zg_02","","f_shoes_zg_01",any,any,any,any);//正月アイテム女子2
var setitem10 = new Array(any,any,any,any,"m_ubody_zg_01","m_lbody_zg_01","","m_shoes_zg_01",any,any,any,any);//正月アイテム男子1
var setitem11 = new Array(any,any,any,any,"m_ubody_zg_02","m_lbody_zg_02","","m_shoes_zg_02",any,any,any,any);//正月アイテム男子2
var setitem12 = new Array(any,any,"m_hair_g_01",any,"m_ubody_k_01","m_lbody_k_01","m_hand_f_01","m_shoes_h_01",any,any,any,any);//エッジセット
var setitem13 = new Array(any,any,"m_hair_f_01",any,"m_ubody_h_01","m_lbody_h_01","m_hand_c_01","m_shoes_e_01",any,any,any,any);//セシルセット
var setitem14 = new Array(any,any,"m_hair_za_01",any,"m_ubody_zh_01","m_lbody_zh_01",any,"m_shoes_zh_01",any,any,any,any);//SOドーンアイテム
var setitem15 = new Array(any,any,"f_hair_f",any,"f_ubody_h_01","f_lbody_h_01",any,"f_shoes_f_01",any,any,any,any);//FF4ローザセット
var setitem16 = new Array(any,any,"f_hair_g_01",any,"f_ubody_i_01","f_lbody_i_01",any,any,any,any,any,any);//FF4リディアセット
var setitem17 = new Array(any,"","f_hair_za_01",any,"f_ubody_zh_01","f_lbody_zh_01","","f_shoes_zh_01",any,any,any,any);//SOミリィアイテム
var setitem18 = new Array(any,"","m_hair_zb_01",any,"m_ubody_zi_01","m_lbody_zi_01",any,"m_shoes_zi_01",any,any,any,any);//SOラティクス
var setlist = new Array(setitem1,setitem2,setitem3,setitem4,setitem5,setitem6,setitem7,setitem8,setitem9,setitem10,setitem11,setitem12,setitem13,setitem14,setitem15,setitem16,setitem17,setitem18);

var drk_idx = 5; //暗黒騎士装備のindex

//Constructor
function Avatar(id , sex){
	this.id = id;
	if(sex == 'm'){
		this.equip_list = 
			new Array("m_bone","","m_hair_a_01","m_face_a_01","m_ubody_a_01",
			"m_lbody_a_01","","","","","m_anim_stand","","i_bg_01","" , "");//現在の装備を保存しておく配列
		this.def_list = new Array("m_bone","","m_hair_a_01","m_face_a_01","m_ubody_a_01",
                         "m_lbody_a_01","","","","","m_anim_stand","","i_bg_01","","");//デフォルト装備を保存しておく配列
		this.init_list = new Array("m_bone","","m_hair_a_01","m_face_a_01","m_ubody_a_01",
                          "m_lbody_a_01","","","","","m_anim_stand","","i_bg_01","","");//キャラ作成時の装備
	}else if(sex == 'f'){
		this.equip_list = 
			new Array("f_bone","","f_hair_a_01","f_face_a_01","f_ubody_a_01",
			"f_lbody_a_01","","","","","f_anim_stand","","i_bg_01","" , "");
		this.def_list = new Array("f_bone","","f_hair_a_01","f_face_a_01","f_ubody_a_01",
                         "f_lbody_a_01","","","","","f_anim_stand","","i_bg_01","","");
		this.init_list = new Array("f_bone","","f_hair_a_01","f_face_a_01","f_ubody_a_01",
                          "f_lbody_a_01","","","","","f_anim_stand","","i_bg_01","","");
	}else{
		this.equip_list = new Array();
		this.def_list = new Array();
		this.init_list = new Array();
	}
	this.sex = sex;//性別(mかf)。
	this.set_idx = null;	//current index of set list
	this.def_set_idx = null;	//デフォルト装備がセット装備の場合に必要
	this.getMovie = function(){return document.getElementById(this.id);}
}

function thisMovie() {return document.getElementById("ui");}

//単一のアイテム装備
function changeEquip(id,parts)
{
	var dequiped = dequipList(parts);//必要に応じてセットアイテムを外す
	var parts_list = parts.split(",");
	var with_effect = true;
	
	for (j = 0; j < parts_list.length; j++)
	{
		p = Number(parts_list[j]);
		e = equip_list[p];
		if(p == 0)thisMovie().removeCache();//bone変更時にはキャッシュ消去
		/*
		for (i = 0; i < equip_list.length; i++)
		{
			if (equip_list[i] == e)
			{
				equip_list[i] = def_list[i];
			}
		}
		*/
		equip_list[p] = id;
		//魔法関連の処理。以下の処理は微妙
		if(p == 14)with_effect = false;//魔法を装備するときは、装備変更エフェクトをださない
		if(p == 11)equip_list[14] = "";//モーション装備のときは、魔法を解除する
		if(p == 14 && id!="")equip_list [11] = sex + "_anim_magic";//魔法を装備する場合は、魔法モーションを自動的に装備
		if(p == 14 && id=="")equip_list [11] = "";//魔法を外す場合は、モーションも外す
	}
	
	//デフォルト装備がセットアイテムの場合で、セットアイテム装備が解除されていた場合
	if(def_set_idx != null && dequiped){
		//デフォルト装備が装備可能かどうか
		var enable = true;
		var sets = setlist[def_set_idx];
		for(i = 0 ; i < sets.length ; i++)
		{
			if(sets[i] != any && equip_list[i] != init_list[i])enable = false;
		}
		
		if(enable){
			for(i = 0 ; i< sets.length ; i++){if(sets[i]!=any)equip_list[i]=sets[i];}
			set_idx = def_set_idx;
		}
	}
	
	//デフォルト装備がセットアイテムでなく、セットアイテム装備が解除されていた場合
	if(def_set_idx == null && dequiped) {
		for(k = 0; k < setlist[prev_set_idx].length ; k++) 
		{
			var ok = true;
			for(var j = 0 ; j < parts_list.length ; j++){
				if(k == parts_list[j])ok=false;
			}
			
			if(setlist[prev_set_idx][k] != any && ok){
				equip_list[k] = def_list[k];
			}
		}
	}
	
	//本やハープ装備の場合。モーションを修正(TODO:今後バリエーションが増えるので、外部に追いやること)
	if(equip_list[8] == 'c_ritem_za_01' || equip_list[8] == 'c_ritem_za_02' ||
	   equip_list[8] == 'c_ritem_za_03' || equip_list[8] == 'c_ritem_zb_01')
	{
	   equip_list[10] = sex + '_anim_stand_book';
	   if(equip_list[11] != '')
	   {
	   		ls = equip_list[11].split(',');
	   		if(ls.length==1)equip_list[11] = sex + '_anim_book_before,' + equip_list[11] + ',' + sex + '_anim_book_after';
	   }
	}else{
		equip_list[10] = sex + '_anim_stand';
		ls = equip_list[11].split(',');
		if(ls.length == 3){equip_list[11] = ls[1];}
	}
	
	if(with_effect)
	{
		thisMovie().changeEquip(getXML());
	}else{
		thisMovie().changeEquip0(getXML());
	}
}

//帽子の装備
function changeHat(id,type){
	hairs[id] = Number(type);
	changeEquip(id , '1');
	}

//魔法の装備(obsolete)
function changeMagic(id){changeEquip(id , '14');}

//セットアイテム装備
function changeEquipList(n)
{
	if(n < 0 || n >= setlist.length)return;//範囲外indexにアクセスした場合
	var sets = setlist[n];
	var parts =new Array();
	var k = 0;
	for(j = 0 ; j < sets.length ; j++)
	{
		if(sets[j] != any){parts[k] = j;k++;}
	}
	dequipList(parts.join(','));

	set_idx = n;
	for(i = 0; i < sets.length; i++)
	{
		if(sets[i] != any)equip_list[i] = sets[i];
	}
	
	//本・ハープ装備が解除された場合、モーションを修正(現状では必要なし)
	thisMovie().changeEquip(getXML());
}

//特定の部位の装備を外す(デフォルトに戻す)(e.g. rmEquip('4') )
//セットアイテムに使用しないこと
function rmEquip(part)
{
	if(def_set_idx == null)//デフォルト装備が、セットアイテムでない場合は問題ない
	{
		changeEquip(def_list[Number(part)] , part);
	}else if(setlist[def_set_idx][Number(part)]==any){
		//デフォルトセットアイテムと干渉しない部位の場合
		changeEquip(def_list[Number(part)] , part);
	}else{//デフォルトセットアイテムが装備可能かチェックして、装備可能なら、装備
		var sets = setlist[def_set_idx];
		var enable = true;
		for(i = 0 ; i < sets.length ; i++)
		{
			if(sets[i] != any && equip_list[i] != init_list[i] && i != Number(part)){
				enable = false;
				break;
			}
		}
		
		if(enable)
		{
			changeEquipList(def_set_idx);
		}else{
			changeEquip(init_list[Number(part)] , part);
		}
	}
}

function rmHat(){
	rmEquip('1');
}

//セット装備を付けている場合に必要があれば一旦解除
//返り値(true:装備解除した場合、false:解除しなかった場合)
function dequipList(parts)
{
	if(set_idx == null)return false;//セットアイテムを装備していない場合は、解除する必要なし
	//装備変更箇所がセットアイテムと衝突しないかどうかチェック
	var ok = true;
	parts_list = parts.split(",");
	for(i = 0 ; i < parts_list.length ; i++) {
		if(setlist[set_idx][parts_list[i]] != any)ok = false;
	}
	if(ok)return false;
	
	//衝突する場合は、装備解除
	for(k = 0; k < setlist[set_idx].length ; k++) 
	{
		if(setlist[set_idx][k] != any)equip_list[k] = init_list[k];
	}
	
	prev_set_idx = set_idx;
	set_idx = null;//解除完了
	return true;
}

//試着状態にあるセットアイテムを外す
function rmTryingEquipList(){
	if(def_set_idx == null){
		for(k = 0; k < setlist[set_idx].length ; k++) 
		{
			if(setlist[set_idx][k] != any)equip_list[k] = def_list[k];
		}
		set_idx = null;
		thisMovie().changeEquip(getXML());
	}else{
		for(k = 0; k < setlist[set_idx].length ; k++) 
		{
			if(setlist[set_idx][k] != any)equip_list[k] = init_list[k];
		}
		set_idx = def_set_idx;
		changeEquipList(def_set_idx);
	}
}

//装備状態にあるセットアイテムを解除する
function rmEquipList(){
	var tmp = def_set_idx;
	def_set_idx = null;
	//今のところ上半身・下半身は必ずセットアイテムで指定される
	changeEquip(init_list[4], '4');
	def_set_idx = tmp;
}


//equip_listからXMLを生成
function getXML()
{
	str = "<?xml version=\"1.0\" encoding=\"utf-8\"?><scene><character>";
	for (i = 0; i < equip_list.length; i++)
	{
		if (equip_list[i] == "") continue;
		isConflict = false;
		for (j = 0; j < i; j++)
		{
			if (equip_list[i] == equip_list[j])
				isConflict = true;
		}
		if (isConflict) continue;
		switch(i)
		{
		case 0: // bone
			str += "<bone>" + getName(equip_list[i]) + "</bone>";
			break;
		case 10: // anim
			str += "<anim parts=\"stand\">" + getName(equip_list[i]) + "</anim>";
			break;
		case 11:
			ls = equip_list[i].split(',');
			for(j=0;j<ls.length;j++)
				str +=  "<anim parts=\"motion" + j +"\">" + getName(ls[j]) + "</anim>";
			//str += "<anim>" + getName(equip_list[i]) + "</anim>";
			break;
		case 12: // background
			if(equip_list[i]=='i_bg_16' || equip_list[i] == 'i_bg_01_158'){
				str += "<background maxWidth='158'>"+ RESOURCE_PATH + "images/" + equip_list[i] + ".jpg</background>";
			}else{
				str += "<background  maxWidth='474'>" + RESOURCE_PATH + "images/" + equip_list[i] + ".jpg</background>";
			}
			break;
		case 13: //background effect
			str += "<bgeffect>" + RESOURCE_PATH + "swf/" + equip_list[i] + ".swf</bgeffect>";
			break;
		case 14: //magic effect
			str += "<magic>../resource/swf/" + equip_list[i] + ".swf</magic>";
			break;
		case 2: // hair model
			var t = hairs[equip_list[1]];
			if(equip_list[2].indexOf('f_hair_j_')==0 && equip_list[4]=='f_ubody_f_01')t=4;
			if(t > 0)str += "<model parts=\"" + parts_type[i] + "\">" + getName(equip_list[i] + "_0" + t) +"</model>";
			break;
		default: // model
			str += "<model parts=\"" + parts_type[i] + "\">" + getName(equip_list[i]) + "</model>";
			break;
		}
	}
	str += "</character></scene>";
	return str;
}

function getName(id)
{
	return RESOURCE_PATH + "collada/" + id + ".dae";
}

function activate()
{
	thisMovie().activate();
}

function deactivate()
{
	if (isIE)
	{
		if (!document.activeElement)
			thisMovie().deactivate();
	}
	else
	{
		thisMovie().deactivate();
	}
}
/*
function isFirefox()
{
	return !isIE;
}
*/
function getFocus()
{
	var element = (document.activeElement || window.getSelection().focusNode);
	if (element) return 1;
	else return 0;
}


function cameraConfirm(){
snapshot_panel_open();
/*
  var ok = window.confirm('スナップショットを保存しますか?');
  if(ok){
    thisMovie().exitStop();
  }else{
    thisMovie.exitStop();
  }
*/
}

function getCategoryStringFromIndex(n){
  var category_strings = new Array('bone' , 'hat'  , 'hair' , 'face' , 'ubody' , 'lbody' , 'hand' , 
                                   'shoes' , 'ritem' , 'litem' , 'stand' , 'motion' , 'background' , 
                                   'background_effect' , 'magic_effect');
  return category_strings[n];
}

