
function check()
{



//resTBLのクリア 
var totalRows = resTBL.rows.length;
for (i=1; i<totalRows; i++)

{

resTBL.deleteRow();

}

getmobdata();
gettraining();
getcard();
getaction();

	var A = 0;
var AllDmgData = new Array();

for(w=1;w<14;w++)
{
/*ダメージ計算開始*/
var dexchk = new Array();
dexchk[0] = new Array(hiddendex.rows[1].cells[0].innerText);
dexchk[1] = new Array(hiddendex.rows[1].cells[1].innerText);
dexchk[2] = new Array(hiddendex.rows[1].cells[2].innerText);
dexchk[3] = new Array(hiddendex.rows[1].cells[3].innerText);
dexchk[4] = new Array(hiddendex.rows[1].cells[4].innerText);
dexchk[5] = new Array(hiddendex.rows[1].cells[5].innerText);
dexchk[6] = new Array(hiddendex.rows[1].cells[6].innerText);
dexchk[7] = new Array(hiddendex.rows[1].cells[7].innerText);
dexchk[8] = new Array(hiddendex.rows[1].cells[8].innerText);
dexchk[9] = new Array(hiddendex.rows[1].cells[9].innerText);




if (mobTBL.rows[1].cells[4].innerText=='S')//mobによるサイズ補正
	var sizeRevise = 0.75;
	else if(mobTBL.rows[1].cells[4].innerText=='M')
		var sizeRevise = 1;
	else if(mobTBL.rows[1].cells[4].innerText=='L')
		{
		if(weaponsdata[w][1]==0)
		var sizeRevise = 0.5;
		else
		var sizeRevise = 0.75;
		}
	var Def = mobTBL.rows[1].cells[2].innerText;
	var Vit = mobTBL.rows[1].cells[3].innerText;



	var dd = 0;
for(dd=0; dd<11; dd++)
{
var chkD = dexchk[dd];
var trusD = 60+dd*10;
if(chkD==1)

{	

	var baseATK =  trusD + ((Math.floor(trusD/10))*(Math.floor(trusD/10))) + (1/5) +(1/5);
	var minplusA = trusD*(80+weaponsdata[w][2]*20)/100;
	var minplusB = weaponsdata[w][3];

	if(minplusA>minplusB)
	var minplusATK = minplusB;
	else
	var minplusATK = minplusA;

//15%CによるATK+5
	if(hiddendata.rows[1].cells[1].innerText == 0)
	{
	var CardATK = 0;
	}
	else if(hiddendata.rows[1].cells[1].innerText == 1)
	{
	var CardATK = 0;
	}
	else if(hiddendata.rows[1].cells[1].innerText == 2)
	{
	var CardATK = 5*weaponsdata[w][4];
	}
	else if(hiddendata.rows[1].cells[1].innerText == 3)
	{
	var CardATK = 5*Math.floor(weaponsdata[w][4]/2);
	}
	else if(hiddendata.rows[1].cells[1].innerText == 4)
	{
	var CardATK = 0;

	}





	var baseMinATK = baseATK + CardATK + (minplusATK * sizeRevise) ;
	var baseMaxATK = baseATK + CardATK + (weaponsdata[w][3] * sizeRevise) ;





	//敵VITボーナス
	if (Vit>0&&Vit<40)
	var eVitBns = 0;
	else if (Vit>39&&Vit<60)
	var eVitBns = 3;
	else if (Vit>59&&Vit<80)
	var eVitBns = 8;
	else if (Vit>79&&Vit<100)
	var eVitBns = 15;
	else
	var eVitBns = 24;

	for(i=0;i<11;i++)
	{
	if(kuho.rows[w].cells[i].innerText==1)
	{

//過剰精錬ボーナス
	var kuhohoIncreaseA = 0;
	var kuhohoIncreaseB = 0;
	if(i>7 && weaponsdata[w][2]==1){kuhohoIncreaseA= (i-7)*3;kuhohoIncreaseB= 1;}
	if(i>6 && weaponsdata[w][2]==2){kuhohoIncreaseA= (i-6)*5;kuhohoIncreaseB= 1;}
	if(i>5 && weaponsdata[w][2]==3){kuhohoIncreaseA= (i-5)*8;kuhohoIncreaseB= 1;}
	if(i>4 && weaponsdata[w][2]==4){kuhohoIncreaseA= (i-4)*14;kuhohoIncreaseB= 1;}

//スキル使用の有無
	var skillIncrease = 1;

	if(hiddendata.rows[1].cells[2].innerText == 1)
	skillIncrease = 2.5;


	baseMaxATKB =(baseMaxATK + kuhohoIncreaseA)*skillIncrease;
	baseMinATKB =(baseMinATK + kuhohoIncreaseB)*skillIncrease;

	var BaseDamA = baseMaxATKB*((100-Def)/100)-Vit;
	var BaseDamB = baseMinATKB*((100-Def)/100)-Math.floor(Vit)-eVitBns;

delete skillIncrease;
delete kuhohoIncreaseA;
delete kuhohoIncreaseB;

//精錬ボーナス
	if (weaponsdata[w][2]==1)
	{
	var minDamA = BaseDamB + i*2;
	var maxDamA = BaseDamA + i*2;
	var criDamA = baseMaxATKB + i*2;
	}
	if (weaponsdata[w][2]==2)
	{
	var minDamA = BaseDamB + i*3;
	var maxDamA = BaseDamA + i*3;
	var criDamA = baseMaxATK + i*3;
	}
	if (weaponsdata[w][2]==3)
	{
	var minDamA = BaseDamB + i*5;
	var maxDamA = BaseDamA + i*5;
	var criDamA = baseMaxATK + i*5;
	}
	if (weaponsdata[w][2]==4)
	{
	var minDamA = BaseDamB + i*7;
	var maxDamA = BaseDamA + i*7;
	var criDamA = baseMaxATK + i*7;
	}
	
	/*修練値を加える*/
	var minDamB = minDamA + (hiddendata.rows[1].cells[0].innerText * 3);
	var maxDamB = maxDamA + (hiddendata.rows[1].cells[0].innerText * 3);
	var criDamB = criDamA + (hiddendata.rows[1].cells[0].innerText * 3);

	/*カード倍率を加える*/
	if(hiddendata.rows[1].cells[1].innerText == 0)
	{
	var minDamC = minDamB;
	var maxDamC = maxDamB;
	var criDamC = criDamB;
	}
	else if(hiddendata.rows[1].cells[1].innerText == 1)
	{
	var minDamC = minDamB*(1+(0.2*weaponsdata[w][4]));
	var maxDamC = maxDamB*(1+(0.2*weaponsdata[w][4]));
	var criDamC = criDamB*(1+(0.2*weaponsdata[w][4]));
	}
	else if(hiddendata.rows[1].cells[1].innerText == 2)
	{
	var minDamC = minDamB*(1+(0.15*weaponsdata[w][4]));
	var maxDamC = maxDamB*(1+(0.15*weaponsdata[w][4]));
	var criDamC = criDamB*(1+(0.15*weaponsdata[w][4]));
	}
	else if(hiddendata.rows[1].cells[1].innerText == 3)
	{
	var minDamC = minDamB*(1+(0.2*Math.ceil(weaponsdata[w][4]/2)))*(1+(0.15*Math.floor(weaponsdata[w][4]/2)));
	var maxDamC = maxDamB*(1+(0.2*Math.ceil(weaponsdata[w][4]/2)))*(1+(0.15*Math.floor(weaponsdata[w][4]/2)));
	var criDamC = criDamB*(1+(0.2*Math.ceil(weaponsdata[w][4]/2)))*(1+(0.15*Math.floor(weaponsdata[w][4]/2)));
	}
	else if(hiddendata.rows[1].cells[1].innerText == 4)
	{
	var minDamC = minDamB*(1+(0.2*Math.ceil(weaponsdata[w][4]/2)))*(1+(0.2*Math.floor(weaponsdata[w][4]/2)));
	var maxDamC = maxDamB*(1+(0.2*Math.ceil(weaponsdata[w][4]/2)))*(1+(0.2*Math.floor(weaponsdata[w][4]/2)));
	var criDamC = criDamB*(1+(0.2*Math.ceil(weaponsdata[w][4]/2)))*(1+(0.2*Math.floor(weaponsdata[w][4]/2)));

	}
	var minDamD = Math.floor(minDamC);
	var maxDamD = Math.floor(maxDamC);
	var criDamD = Math.floor(criDamC);


//属性定義（通常攻撃時のプレイヤー属性=無固定）
	var mobElem = mobelemTBL.rows[0].cells[0].innerText;
if (hiddendata.rows[1].cells[2].innerText == 0)
{var myElem = 'MU';}
if (hiddendata.rows[1].cells[2].innerText == 1)
{var myElem = hiddendata.rows[1].cells[3].innerText;}

//属性相性処理

	var elementMag = 1;

if (myElem == 'MU')
	{
	if (mobElem == 'N1'||mobElem == 'N2')
	elementMag = 0.25;
	if (mobElem == 'N3' || mobElem == 'N4')
	elementMag = 0;
	}

if (myElem == 'M')
	{
	if (mobElem == 'H3'||mobElem == 'H4')
	elementMag = 2;
	if (mobElem == 'H2')
	elementMag = 1.75;
	if (mobElem == 'H1'||mobElem == 'F4')
	elementMag = 1.5;
	if (mobElem == 'F3')
	elementMag = 1.25;

	if (mobElem == 'D4'||mobElem == 'S1'||mobElem == 'Y2')
	elementMag = 0.75;
	if (mobElem == 'K1' || mobElem == 'S2' || mobElem == 'Y3')
	elementMag = 0.5;
	if (mobElem == 'M1' || mobElem == 'K2' || mobElem == 'S3'|| mobElem == 'Y4')
	elementMag = 0.25;
	if (mobElem == 'M2' || mobElem == 'K3' || mobElem == 'K4'|| mobElem == 'S4')
	elementMag = 0;
	if (mobElem == 'M3')
	elementMag = -0.25;
	if (mobElem == 'M4')
	elementMag = -0.5;
	}

if (myElem == 'T')
	{
	if (mobElem == 'K3'||mobElem == 'K4')
	elementMag = 2;
	if (mobElem == 'K2')
	elementMag = 1.75;
	if (mobElem == 'K1')
	elementMag = 1.5;

	if (mobElem == 'D4'||mobElem == 'S1'||mobElem == 'Y2'||mobElem == 'F3')
	elementMag = 0.75;
	if (mobElem == 'T2' || mobElem == 'H2' || mobElem == 'S2'|| mobElem == 'Y3'|| mobElem == 'F4')
	elementMag = 0.5;
	if (mobElem == 'H2'|| mobElem == 'S3'|| mobElem == 'Y4')
	elementMag = 0.25;
	if (mobElem == 'T3' || mobElem == 'H3' || mobElem == 'H4'|| mobElem == 'S4')
	elementMag = 0;
	if (mobElem == 'T4')
	elementMag = -0.25;
	}

if (myElem == 'H')
	{
	if (mobElem == 'T3'||mobElem == 'T4'||mobElem == 'F4')
	elementMag = 2;
	if (mobElem == 'T2'||mobElem == 'F3')
	elementMag = 1.75;
	if (mobElem == 'T1'||mobElem == 'F2')
	elementMag = 1.5;
	if (mobElem == 'F1')
	elementMag = 1.25;

	if (mobElem == 'D4'||mobElem == 'S1'||mobElem == 'Y2')
	elementMag = 0.75;
	if (mobElem == 'M1' || mobElem == 'S2' || mobElem == 'Y3')
	elementMag = 0.5;
	if (mobElem == 'M2' || mobElem == 'H1' || mobElem == 'S3'|| mobElem == 'Y4')
	elementMag = 0.25;
	if (mobElem == 'H2' || mobElem == 'M3' || mobElem == 'M4'|| mobElem == 'S4')
	elementMag = 0;
	if (mobElem == 'H3')
	elementMag = -0.25;
	if (mobElem == 'H4')
	elementMag = -0.5;
	}

if (myElem == 'K')
	{
	if (mobElem == 'M3'||mobElem == 'M4')
	elementMag = 2;
	if (mobElem == 'M1'||mobElem == 'M2')
	elementMag = 1.75;

	if (mobElem == 'D4'||mobElem == 'S1'||mobElem == 'Y2')
	elementMag = 0.75;
	if (mobElem == 'T1' || mobElem == 'S2' || mobElem == 'Y3')
	elementMag = 0.5;
	if (mobElem == 'T2' || mobElem == 'K1' || mobElem == 'S3'|| mobElem == 'Y4')
	elementMag = 0.25;
	if (mobElem == 'T3' || mobElem == 'T4' || mobElem == 'K2'|| mobElem == 'S4')
	elementMag = 0;
	if (mobElem == 'K3')
	elementMag = -0.25;
	if (mobElem == 'K4')
	elementMag = -0.5;
	}

if (myElem == 'D')
	{
	if (mobElem == 'T1'||mobElem == 'T2'||mobElem == 'H1'||mobElem == 'H2'||mobElem == 'K1'||mobElem == 'K2')
	elementMag = 1.25;

	if (mobElem == 'M2'||mobElem == 'T4'||mobElem == 'H4'||mobElem == 'K4'||mobElem == 'S1'||mobElem == 'N2')
	elementMag = 0.75;
	if (mobElem == 'M3'||mobElem == 'S2'||mobElem == 'Y1'||mobElem == 'N3')
	elementMag = 0.5;
	if (mobElem == 'M4' || mobElem == 'S3' || mobElem == 'Y2'|| mobElem == 'N4')
	elementMag = 0.25;
	if (mobElem == 'D1' || mobElem == 'D2' || mobElem == 'D3'|| mobElem == 'D4'|| mobElem == 'S4'|| mobElem == 'Y3')
	elementMag = 0;
	if (mobElem == 'N4'|| mobElem == 'F1')
	elementMag = -0.25;
	if (mobElem == 'F2')
	elementMag = -0.5;
	if (mobElem == 'F3')
	elementMag = -0.75;
	if (mobElem == 'F4')
	elementMag = -1;
	}

if (myElem == 'S')
	{
	if (mobElem == 'Y4'||mobElem == 'F3'||mobElem == 'F4')
	elementMag = 2;
	if (mobElem == 'Y3'||mobElem == 'F2')
	elementMag = 1.75;
	if (mobElem == 'Y2'||mobElem == 'F1')
	elementMag = 1.5;
	if (mobElem == 'D3'||mobElem == 'D4'||mobElem == 'Y1')
	elementMag = 1.25;

	if (mobElem == 'M4'||mobElem == 'T4'||mobElem == 'H4'||mobElem == 'K4')
	elementMag = 0.75;

	if (mobElem == 'S1')
	elementMag = 0;
	if (mobElem == 'S2')
	elementMag = -0.25;
	if (mobElem == 'S3')
	elementMag = -0.5;
	if (mobElem == 'S4')
	elementMag = -1;
	}

if (myElem == 'Y')
	{
	if (mobElem == 'S4')
	elementMag = 2;
	if (mobElem == 'S3')
	elementMag = 1.75;
	if (mobElem == 'S2')
	elementMag = 1.5;
	if (mobElem == 'S1')
	elementMag = 1.25;

	if (mobElem == 'M4'||mobElem == 'T4'||mobElem == 'H4'||mobElem == 'K4')
	elementMag = 0.75;
	if (mobElem == 'D1')
	elementMag = 0.5;
	if (mobElem == 'D2')
	elementMag = 0.25;

	if (mobElem == 'Y1'||mobElem == 'D3')
	elementMag = 0;
	if (mobElem == 'D4'||mobElem == 'Y2'||mobElem == 'F1')
	elementMag = -0.25;
	if (mobElem == 'Y3'||mobElem == 'F2')
	elementMag = -0.5;
	if (mobElem == 'F3')
	elementMag = -0.75;
	if (mobElem == 'Y4'||mobElem == 'F4')
	elementMag = -1;
	}

if (myElem == 'N')
	{
	if (mobElem == 'N4')
	elementMag = 2;
	if (mobElem == 'N3'||mobElem == 'F4')
	elementMag = 1.75;
	if (mobElem == 'N2'||mobElem == 'F3')
	elementMag = 1.5;
	if (mobElem == 'N1'||mobElem == 'F2')
	elementMag = 1.25;

	if (mobElem == 'Y1'||mobElem == 'S1'||mobElem == 'D2'||mobElem == 'K2'||mobElem == 'H2'||mobElem == 'T2'||mobElem == 'M2')
	elementMag = 0.75;
	if (mobElem == 'Y2'||mobElem == 'S2'||mobElem == 'D3'||mobElem == 'K3'||mobElem == 'H3'||mobElem == 'T3'||mobElem == 'M3')
	elementMag = 0.5;
	if (mobElem == 'Y3'||mobElem == 'S3'||mobElem == 'D4'||mobElem == 'K4'||mobElem == 'H4'||mobElem == 'T4'||mobElem == 'M4'||mobElem == 'MU1')
	elementMag = 0.25;

	if (mobElem == 'Y4'||mobElem == 'S4'||mobElem == 'MU2'||mobElem == 'MU3'||mobElem == 'M4')
	elementMag = 0;
	}
//属性相性処理終了


	minDamD = Math.floor(minDamD * elementMag);
	maxDamD = Math.floor(maxDamD * elementMag);
	criDamD = Math.floor(criDamD * elementMag);


	if(minDamD < 0 && elementMag>0)minDamD = 1;
	if(maxDamD < 0 && elementMag>0)maxDamD = 1;
	if(criDamD < 0 && elementMag>0)criDamD = 1;



	if(Def==100){minDamD = 1;maxDamD = 1;criDamD = 1;}//草、きのこ専用処理
	if (hiddendata.rows[1].cells[2].innerText == 1){criDamD = '-'}


	var maxtime = Math.ceil(mobTBL.rows[1].cells[1].innerText / minDamD);

	var mintime = Math.ceil(mobTBL.rows[1].cells[1].innerText / maxDamD);
	
	var avetime = Math.ceil(mobTBL.rows[1].cells[1].innerText / ((maxDamD+minDamD)/2)); 

	AllDmgData[A] = new Array(trusD,i,weaponsdata[w][0],minDamD,maxDamD,criDamD,mintime,maxtime,avetime);


	A=A+1;


	}

	}
}

}
/*ダメージ計算終了*/


///////////////////////////////////////////////
//データソート&書き出し
////////////////////////////////////////////////

var totalRows = resTBL.rows.length;
for (i=1; i<totalRows; i++)

{

resTBL.deleteRow();

}

	for (i=0; i<AllDmgData.length; i++)
	{
		for (j=i+1; j<AllDmgData.length; j++)
		{
			if (AllDmgData[j][3] > AllDmgData[i][3])
			{
				n = AllDmgData[j];
				AllDmgData[j] = AllDmgData[i];
				AllDmgData[i] = n;
			}
		}

var tr = resTBL.insertRow();
var cell0 = tr.insertCell();
cell0.innerText = AllDmgData[i][0];
var cell1 = tr.insertCell();
cell1.innerText = '+'+AllDmgData[i][1]+'　'+AllDmgData[i][2];
var cell2 = tr.insertCell();
cell2.innerText = AllDmgData[i][3];
var cell3 = tr.insertCell();
cell3.innerText = AllDmgData[i][4];
var cell4 = tr.insertCell();
cell4.innerText = AllDmgData[i][5];
var cell5 = tr.insertCell();
cell5.innerText = AllDmgData[i][6];
var cell6 = tr.insertCell();
cell6.innerText = AllDmgData[i][7];
var cell7 = tr.insertCell();
cell7.innerText = AllDmgData[i][8];


	}
	delete AllDmgData;
	delete A;

}
}