function read()	{

	//キャラ情報
	Title = eval(document.Simulator.Title.value);
	Ages = eval(document.Simulator.Ages.value);
	Level = eval(document.Simulator.Level.value);
	ExplorationLevel = eval(document.Simulator.ExplorationLevel.value);

	//戦闘スキル
	AttackRank = eval(document.Simulator.AttackRank.value);
	DefenseRank = eval(document.Simulator.DefenseRank.value);
	CriticalHitRank = eval(document.Simulator.CriticalHitRank.value);
	CounterAttackRank = eval(document.Simulator.CounterAttackRank.value);
	SmashRank = eval(document.Simulator.SmashRank.value);
	WindMillRank = eval(document.Simulator.WindMillRank.value);
	FinalHitRank = eval(document.Simulator.FinalHitRank.value);
	StompRank = eval(document.Simulator.StompRank.value);
	SharpMindRank = eval(document.Simulator.SharpMindRank.value);
	AssaultRank = eval(document.Simulator.AssaultRank.value);
	WindBreakerRank = eval(document.Simulator.WindBreakerRank.value);
	TauntRank = eval(document.Simulator.TauntRank.value);
	EvasionRank = eval(document.Simulator.EvasionRank.value);

	RengedAttackRank = eval(document.Simulator.RengedAttackRank.value);
	MagnumShotRank = eval(document.Simulator.MagnumShotRank.value);
	SupportShotRank = eval(document.Simulator.SupportShotRank.value);
	ArrowRevolverRank = eval(document.Simulator.ArrowRevolverRank.value);
	MirageMissileRank = eval(document.Simulator.MirageMissileRank.value);
	ThrowAttackRank = eval(document.Simulator.ThrowAttackRank.value);
	FinalShotRank = eval(document.Simulator.FinalShotRank.value);


	//魔法スキル
	IceboltRank = eval(document.Simulator.IceboltRank.value);
	FireboltRank = eval(document.Simulator.FireboltRank.value);
	LightningboltRank = eval(document.Simulator.LightningboltRank.value);
	FireballRank = eval(document.Simulator.FireballRank.value);
	ThunderRank = eval(document.Simulator.ThunderRank.value);
	IceSpearRank = eval(document.Simulator.IceSpearRank.value);
	BlazeRank = eval(document.Simulator.BlazeRank.value);

	HealingRank = eval(document.Simulator.HealingRank.value);
	MeditationRank = eval(document.Simulator.MeditationRank.value);
	EnchantRank = eval(document.Simulator.EnchantRank.value);
	MagicMasteryRank = eval(document.Simulator.MagicMasteryRank.value);
	PartyHealingRank = eval(document.Simulator.PartyHealingRank.value);
	IceMagicShieldRank = eval(document.Simulator.IceMagicShieldRank.value);
	FireMagicShieldRank = eval(document.Simulator.FireMagicShieldRank.value);
	LightningMagicShieldRank = eval(document.Simulator.LightningMagicShieldRank.value);
	NaturalMagicShieldRank = eval(document.Simulator.NaturalMagicShieldRank.value);
	ManaShieldRank = eval(document.Simulator.ManaShieldRank.value);

	//生活スキル
	RestRank = eval(document.Simulator.RestRank.value);
	FirstAidRank = eval(document.Simulator.FirstAidRank.value);
	CampFireRank = eval(document.Simulator.CampFireRank.value);
	MakingMasteryRank = eval(document.Simulator.MakingMasteryRank.value);
	WeavingRank = eval(document.Simulator.WeavingRank.value);
	TailoringRank = eval(document.Simulator.TailoringRank.value);
	RefineRank = eval(document.Simulator.RefineRank.value);
	BlacksmithRank = eval(document.Simulator.BlacksmithRank.value);
	HerbalismRank = eval(document.Simulator.HerbalismRank.value);
	PotionMakingRank = eval(document.Simulator.PotionMakingRank.value);
	CookingRank = eval(document.Simulator.CookingRank.value);
	MusicalKnowledgeRank = eval(document.Simulator.MusicalKnowledgeRank.value);
	PlayingInstrumentRank = eval(document.Simulator.PlayingInstrumentRank.value);
	ComposeRank = eval(document.Simulator.ComposeRank.value);
	FishingRank = eval(document.Simulator.FishingRank.value);
	HandiCraftRank = eval(document.Simulator.HandiCraftRank.value);
	AnimalTrainingRank = eval(document.Simulator.AnimalTrainingRank.value);
	MetallurgyRank = eval(document.Simulator.MetallurgyRank.value);
	CarpentryRank = eval(document.Simulator.CarpentryRank.value);

	//錬金術スキル
	AlchemyMasteryRank = eval(document.Simulator.AlchemyMasteryRank.value);
	SynthesisRank = eval(document.Simulator.SynthesisRank.value);
	DissolutionRank = eval(document.Simulator.DissolutionRank.value);
	ManaFormingRank = eval(document.Simulator.ManaFormingRank.value);
	GolemTransmutationRank = eval(document.Simulator.GolemTransmutationRank.value);
	MetalExtractionRank = eval(document.Simulator.MetalExtractionRank.value);

	ProtectiveWallRank = eval(document.Simulator.ProtectiveWallRank.value);
	LifeDrainRank = eval(document.Simulator.LifeDrainRank.value);
	WaterCannonRank = eval(document.Simulator.WaterCannonRank.value);
	WindBlastRank = eval(document.Simulator.WindBlastRank.value);
	FlamerRank = eval(document.Simulator.FlamerRank.value);
	SandBurstRank = eval(document.Simulator.SandBurstRank.value);
	FrozenBlastRank = eval(document.Simulator.FrozenBlastRank.value);
	RainCastingRank = eval(document.Simulator.RainCastingRank.value);
	SparkRank = eval(document.Simulator.SparkRank.value);



	//変身スキル
	SpiritOfOrderRank = eval(document.Simulator.SpiritOfOrderRank.value);
	PowerOfOrderRank = eval(document.Simulator.PowerOfOrderRank.value);
	EyeOfOrderRank = eval(document.Simulator.EyeOfOrderRank.value);
	SwordOfOrderRank = eval(document.Simulator.SwordOfOrderRank.value);
	PaladinHeavyStanderRank = eval(document.Simulator.PaladinHeavyStanderRank.value);
	PaladinNaturalShieldRank = eval(document.Simulator.PaladinNaturalShieldRank.value);
	PaladinManaRefractorRank = eval(document.Simulator.PaladinManaRefractorRank.value);

	SoulOfChaosRank = eval(document.Simulator.SoulOfChaosRank.value);
	BodyOfChaosRank = eval(document.Simulator.BodyOfChaosRank.value);
	HandsOfChaosRank = eval(document.Simulator.HandsOfChaosRank.value);
	BrainOfChaosRank = eval(document.Simulator.BrainOfChaosRank.value);
	DarkHeavyStanderRank = eval(document.Simulator.DarkHeavyStanderRank.value);
	DarkNaturalShieldRank = eval(document.Simulator.DarkNaturalShieldRank.value);
	DarkManaRefractorRank = eval(document.Simulator.DarkManaRefractorRank.value);
	ControlOfDarknessRank = eval(document.Simulator.ControlOfDarknessRank.value);

	FuryOfConnousRank = eval(document.Simulator.FuryOfConnousRank.value);
	ElvenMagicMissileRank = eval(document.Simulator.ElvenMagicMissileRank.value);
	ArmorOfConnousRank = eval(document.Simulator.ArmorOfConnousRank.value);
	MindOfConnousRank = eval(document.Simulator.MindOfConnousRank.value);
	SharpnessOfConnousRank = eval(document.Simulator.SharpnessOfConnousRank.value);
	ConnousHeavyStanderRank = eval(document.Simulator.ConnousHeavyStanderRank.value);
	ConnousNaturalShieldRank = eval(document.Simulator.ConnousNaturalShieldRank.value);
	ConnousManaRefractorRank = eval(document.Simulator.ConnousManaRefractorRank.value);

	DemonOfPhysisRank = eval(document.Simulator.DemonOfPhysisRank.value);
	GiantFullSwingRank = eval(document.Simulator.GiantFullSwingRank.value);
	ShieldOfPhysisRank = eval(document.Simulator.ShieldOfPhysisRank.value);
	SpellOfPhysisRank = eval(document.Simulator.SpellOfPhysisRank.value);
	LifeOfPhysisRank = eval(document.Simulator.LifeOfPhysisRank.value);
	PhysisHeavyStanderRank = eval(document.Simulator.PhysisHeavyStanderRank.value);
	PhysisNaturalShieldRank = eval(document.Simulator.PhysisNaturalShieldRank.value);
	PhysisManaRefractorRank = eval(document.Simulator.PhysisManaRefractorRank.value);

	//精霊
	EgoWeaponIncarnateRank = eval(document.Simulator.EgoWeaponIncarnateRank.value);

	//半神化
	AwakeningOfLightRank = eval(document.Simulator.AwakeningOfLightRank.value);
	SpearOfLightRank = eval(document.Simulator.SpearOfLightRank.value);
	FuryOfLightRank = eval(document.Simulator.FuryOfLightRank.value);
	ShadowOfSpiritRank = eval(document.Simulator.ShadowOfSpiritRank.value);


	//装備品エンチャント
	EnAcc1Pre = eval(document.Simulator.Acc1Pre.value);
	EnHeadPre = eval(document.Simulator.HeadPre.value);
	EnAcc2Pre = eval(document.Simulator.Acc2Pre.value);
	EnWeaponPre = eval(document.Simulator.WeaponPre.value);
	EnBodyPre = eval(document.Simulator.BodyPre.value);
	EnLeftPre = eval(document.Simulator.LeftPre.value);
	EnHandPre = eval(document.Simulator.HandPre.value);
	EnShosePre = eval(document.Simulator.ShosePre.value);

	EnAcc1Suf = eval(document.Simulator.Acc1Suf.value);
	EnHeadSuf = eval(document.Simulator.HeadSuf.value);
	EnAcc2Suf = eval(document.Simulator.Acc2Suf.value);
	EnWeaponSuf = eval(document.Simulator.WeaponSuf.value);
	EnBodySuf = eval(document.Simulator.BodySuf.value);
	EnLeftSuf = eval(document.Simulator.LeftSuf.value);
	EnHandSuf = eval(document.Simulator.HandSuf.value);
	EnShoseSuf = eval(document.Simulator.ShoseSuf.value);

	//装備品防御
	Acc1Def = eval(document.Simulator.Acc1Def.value);
	HeadDef = eval(document.Simulator.HeadDef.value);
	Acc2Def = eval(document.Simulator.Acc2Def.value);
	BodyDef = eval(document.Simulator.BodyDef.value);
	LeftDef = eval(document.Simulator.LeftDef.value);
	HandDef = eval(document.Simulator.HandDef.value);
	ShoseDef = eval(document.Simulator.ShoseDef.value);

	Acc1Prot = eval(document.Simulator.Acc1Prot.value);
	HeadProt = eval(document.Simulator.HeadProt.value);
	Acc2Prot = eval(document.Simulator.Acc2Prot.value);
	BodyProt = eval(document.Simulator.BodyProt.value);
	LeftProt = eval(document.Simulator.LeftProt.value);
	HandProt = eval(document.Simulator.HandProt.value);
	ShoseProt = eval(document.Simulator.ShoseProt.value);

	//武器詳細
	if (isNaN(document.Simulator.WeaponMinDam.value)) {alert("半角数値を入力してください。"); document.Simulator.WeaponMinDam.value = 0;}
	if (isNaN(document.Simulator.WeaponMaxDam.value)) {alert("半角数値を入力してください。"); document.Simulator.WeaponMaxDam.value = 0;}
	if (isNaN(document.Simulator.WeaponMinInj.value)) {alert("半角数値を入力してください。"); document.Simulator.WeaponMinInj.value = 0;}
	if (isNaN(document.Simulator.WeaponMaxInj.value)) {alert("半角数値を入力してください。"); document.Simulator.WeaponMaxInj.value = 0;}
	if (isNaN(document.Simulator.WeaponCrit.value)) {alert("半角数値を入力してください。"); document.Simulator.WeaponCrit.value = 0;}
	if (isNaN(document.Simulator.WeaponBal.value)) {alert("半角数値を入力してください。"); document.Simulator.WeaponBal.value = 0;}
	WeaponMinDam = parseInt(document.Simulator.WeaponMinDam.value,10);
	WeaponMaxDam = parseInt(document.Simulator.WeaponMaxDam.value,10);
	WeaponMinInj = parseInt(document.Simulator.WeaponMinInj.value,10);
	WeaponMaxInj = parseInt(document.Simulator.WeaponMaxInj.value,10);
	WeaponCrit   = parseInt(document.Simulator.WeaponCrit.value,10);
	WeaponBal    = parseInt(document.Simulator.WeaponBal.value,10);

	if (isNaN(document.Simulator.LWeaponMinDam.value)) {alert("半角数値を入力してください。"); document.Simulator.LWeaponMinDam.value = 0;}
	if (isNaN(document.Simulator.LWeaponMaxDam.value)) {alert("半角数値を入力してください。"); document.Simulator.LWeaponMaxDam.value = 0;}
	if (isNaN(document.Simulator.LWeaponMinInj.value)) {alert("半角数値を入力してください。"); document.Simulator.LWeaponMinInj.value = 0;}
	if (isNaN(document.Simulator.LWeaponMaxInj.value)) {alert("半角数値を入力してください。"); document.Simulator.LWeaponMaxInj.value = 0;}
	if (isNaN(document.Simulator.LWeaponCrit.value)) {alert("半角数値を入力してください。"); document.Simulator.LWeaponCrit.value = 0;}
	if (isNaN(document.Simulator.LWeaponBal.value)) {alert("半角数値を入力してください。"); document.Simulator.LWeaponBal.value = 0;}
	LWeaponMinDam = parseInt(document.Simulator.LWeaponMinDam.value,10);
	LWeaponMaxDam = parseInt(document.Simulator.LWeaponMaxDam.value,10);
	LWeaponMinInj = parseInt(document.Simulator.LWeaponMinInj.value,10);
	LWeaponMaxInj = parseInt(document.Simulator.LWeaponMaxInj.value,10);
	LWeaponCrit   = parseInt(document.Simulator.LWeaponCrit.value,10);
	LWeaponBal    = parseInt(document.Simulator.LWeaponBal.value,10);

	//オプション
	LeftArrow = eval(document.Simulator.LeftArrow.value);
	PetBonus = eval(document.Simulator.PetBonus.value);
	Food = eval(document.Simulator.Food.value);
	MagicMusicStatus = eval(document.Simulator.MagicMusicStatus.value);
	MagicMusicPoint = eval(document.Simulator.MagicMusicPoint.value);

	//誤差修正
	if (isNaN(document.Simulator.FixLife.value)) {alert("半角数値を入力してください。"); document.Simulator.FixLife.value = 0;}
	if (isNaN(document.Simulator.FixMana.value)) {alert("半角数値を入力してください。"); document.Simulator.FixMana.value = 0;}
	if (isNaN(document.Simulator.FixStamina.value)) {alert("半角数値を入力してください。"); document.Simulator.FixStamina.value = 0;}
	if (isNaN(document.Simulator.FixStr.value)) {alert("半角数値を入力してください。"); document.Simulator.FixStr.value = 0;}
	if (isNaN(document.Simulator.FixInt.value)) {alert("半角数値を入力してください。"); document.Simulator.FixInt.value = 0;}
	if (isNaN(document.Simulator.FixDex.value)) {alert("半角数値を入力してください。"); document.Simulator.FixDex.value = 0;}
	if (isNaN(document.Simulator.FixWill.value)) {alert("半角数値を入力してください。"); document.Simulator.FixWill.value = 0;}
	if (isNaN(document.Simulator.FixLuck.value)) {alert("半角数値を入力してください。"); document.Simulator.FixLuck.value = 0;}
	FixLife    = parseInt(document.Simulator.FixLife.value,10);
	FixMana    = parseInt(document.Simulator.FixMana.value,10);
	FixStamina = parseInt(document.Simulator.FixStamina.value,10);
	FixStr     = parseInt(document.Simulator.FixStr.value,10);
	FixInt     = parseInt(document.Simulator.FixInt.value,10);
	FixDex     = parseInt(document.Simulator.FixDex.value,10);
	FixWill    = parseInt(document.Simulator.FixWill.value,10);
	FixLuck    = parseInt(document.Simulator.FixLuck.value,10);

	//状態異常
	if(document.Simulator.Deadry.checked == true) Deadry = 1; else Deadry = 0;
	if(document.Simulator.Potion.checked == true) Potion = 1; else Potion = 0; 
	if(document.Simulator.Poison.checked == true) Poison = 1; else Poison = 0;

	//支持
	if (document.Simulator.Support[0].checked) Support = 0;
	if (document.Simulator.Support[1].checked) Support = 1;
	if (document.Simulator.Support[2].checked) Support = 2;
}

function tenseiCalc()	{

	var getAP = 0;

	if (isNaN(document.Simulator.tenseiLevel.value)) {alert("半角数値を入力してください。"); document.Simulator.tenseiLevel.value = 1;}
	if (isNaN(document.Simulator.tenseiTempAP.value)) {alert("半角数値を入力してください。"); document.Simulator.tenseiTempAP.value = 0;}

	var tenseiAge = eval(document.Simulator.tenseiAge.value);
	var tenseiLevel = parseInt(document.Simulator.tenseiLevel.value,10);
	var tenseiWeek = eval(document.Simulator.tenseiWeek.value);
	var tenseiTempAP = parseInt(document.Simulator.tenseiTempAP.value,10);
	var tenseiExplorationLevel = parseInt(document.Simulator.tenseiExplorationLevel.value,10);
	var VarAP = eval(document.Simulator.UsedAP.value) - initAP;
	var work1;	//転生回数
	var work2;	//あまりAP

	//加齢AP計算
	for (i=0;i<tenseiWeek;i++) {
		tenseiAge += 1;
		if (tenseiAge == 11 || tenseiAge == 12) {
			getAP += 5;
		} else if (tenseiAge == 13 || tenseiAge == 14) {
			getAP += 4;
		} else if (tenseiAge == 15 || tenseiAge == 16) {
			getAP += 3;
		} else if (tenseiAge >= 17 && tenseiAge <= 21) {
			getAP += 2;
		} else if (tenseiAge >= 22 && tenseiAge <= 25) {
			getAP += 1;
		}
	}

	//レベル加算
	getAP += tenseiLevel - 1 + tenseiExplorationLevel - 1;


	document.Simulator.VariableAP.value = VarAP;

	VarAP -= tenseiTempAP;	//現在所持APを総使用APからマイナス

	//転生回数とあまりAP計算
	work2 = VarAP % getAP;
	if (work2 == 0) {
		work1 = VarAP / getAP;
	} else {
		if (getAP > VarAP) {
			work1 = 0;
		} else {
			work1 = (VarAP - work2) / getAP;
		}
	}

	if (work2 < 0) work2 = 0;

	document.Simulator.tenseiCount.value = work1;
	document.Simulator.RemainderAP.value = work2;
	document.Simulator.tenseiGetAP.value = getAP;

}

function initVarAP()	{

	initAP = eval(document.Simulator.UsedAP.value);
	tenseiCalc();

}

function RaceSelect()	{

	Race = eval(document.Simulator.Race.value);
/*
	if (document.all) {	//ブラウザ判別
		var display = 'block';
	} else if (document.getElementById) {
		var display = 'table-row'
	}
*/
	if (Race == 0) {
	//人間
		//隠す
		document.getElementById('FinalHit').style.display = '';
		document.getElementById('Stomp').style.display = 'none';
		document.getElementById('RengedAttack').style.display = '';
		document.getElementById('MagnumShot').style.display = '';
		document.getElementById('SupportShot').style.display = '';
		document.getElementById('ArrowRevolver').style.display = '';
		document.getElementById('MirageMissile').style.display = 'none';
		document.getElementById('ThrowAttack').style.display = 'none';
		document.getElementById('WindBreaker').style.display = 'none';
		document.getElementById('Taunt').style.display = 'none';
		document.getElementById('FinalShot').style.display = 'none';
		document.getElementById('Paladin').style.display = 'block';
		document.getElementById('DarkKnight').style.display = 'block';
		document.getElementById('Falcon').style.display = 'none';
		document.getElementById('Beast').style.display = 'none';
		//初期化
		document.Simulator.WindBreakerRank.value = 16;
		document.Simulator.TauntRank.value = 16;
		document.Simulator.FinalShotRank.value = 16;
		document.Simulator.StompRank.value = 16;
		document.Simulator.MirageMissileRank.value = 16;
		document.Simulator.ThrowAttackRank.value = 16;
		HideSkill(2);
		HideSkill(3);
	} else if (Race == 1) {
	//エルフ
		//隠す
		document.getElementById('FinalHit').style.display = 'none';
		document.getElementById('Stomp').style.display = 'none';
		document.getElementById('RengedAttack').style.display = '';
		document.getElementById('MagnumShot').style.display = '';
		document.getElementById('SupportShot').style.display = '';
		document.getElementById('ArrowRevolver').style.display = 'none';
		document.getElementById('MirageMissile').style.display = '';
		document.getElementById('ThrowAttack').style.display = 'none';
		document.getElementById('WindBreaker').style.display = 'none';
		document.getElementById('Taunt').style.display = 'none';
		document.getElementById('FinalShot').style.display = '';
		document.getElementById('Paladin').style.display = 'none';
		document.getElementById('DarkKnight').style.display = 'none';
		document.getElementById('Falcon').style.display = 'block';
		document.getElementById('Beast').style.display = 'none';
		//初期化
		document.Simulator.WindBreakerRank.value = 16;
		document.Simulator.TauntRank.value = 16;
		document.Simulator.FinalHitRank.value = 16;
		document.Simulator.StompRank.value = 16;
		document.Simulator.ArrowRevolverRank.value = 16;
		document.Simulator.ThrowAttackRank.value = 16;
		HideSkill(1);
		HideSkill(3);
	} else if (Race == 2){
	//ジャイアント
		//隠す
		document.getElementById('FinalHit').style.display = 'none';
		document.getElementById('Stomp').style.display = '';
		document.getElementById('RengedAttack').style.display = 'none';
		document.getElementById('MagnumShot').style.display = 'none';
		document.getElementById('SupportShot').style.display = 'none';
		document.getElementById('ArrowRevolver').style.display = 'none';
		document.getElementById('MirageMissile').style.display = 'none';
		document.getElementById('ThrowAttack').style.display = '';
		document.getElementById('WindBreaker').style.display = '';
		document.getElementById('Taunt').style.display = '';
		document.getElementById('FinalShot').style.display = 'none';
		document.getElementById('Paladin').style.display = 'none';
		document.getElementById('DarkKnight').style.display = 'none';
		document.getElementById('Falcon').style.display = 'none';
		document.getElementById('Beast').style.display = 'block';
		//初期化
		document.Simulator.FinalShotRank.value = 16;
		document.Simulator.FinalHitRank.value = 16;
		document.Simulator.RengedAttackRank.value = 16;
		document.Simulator.MagnumShotRank.value = 16;
		document.Simulator.SupportShotRank.value = 16;
		document.Simulator.ArrowRevolverRank.value = 16;
		document.Simulator.MirageMissileRank.value = 16;
		HideSkill(1);
		HideSkill(2);
	}
}


function HideSkill(x)	{
	if (x == 1) {
		document.Simulator.SpiritOfOrderRank.value = 16;
		document.Simulator.PowerOfOrderRank.value = 16;
		document.Simulator.EyeOfOrderRank.value = 16;
		document.Simulator.SwordOfOrderRank.value = 16;
		document.Simulator.PaladinHeavyStanderRank.value = 16;
		document.Simulator.PaladinNaturalShieldRank.value = 16;
		document.Simulator.PaladinManaRefractorRank.value = 16;
		document.Simulator.SoulOfChaosRank.value = 16;
		document.Simulator.BodyOfChaosRank.value = 16;
		document.Simulator.HandsOfChaosRank.value = 16;
		document.Simulator.BrainOfChaosRank.value = 16;
		document.Simulator.DarkHeavyStanderRank.value = 16;
		document.Simulator.DarkNaturalShieldRank.value = 16;
		document.Simulator.DarkManaRefractorRank.value = 16;
		document.Simulator.ControlOfDarknessRank.value = 16;
	}
	if (x == 2) {
		document.Simulator.FuryOfConnousRank.value = 16;
		document.Simulator.ElvenMagicMissileRank.value = 16;
		document.Simulator.ArmorOfConnousRank.value = 16;
		document.Simulator.MindOfConnousRank.value = 16;
		document.Simulator.SharpnessOfConnousRank.value = 16;
		document.Simulator.ConnousHeavyStanderRank.value = 16;
		document.Simulator.ConnousNaturalShieldRank.value = 16;
		document.Simulator.ConnousManaRefractorRank.value = 16;
	}
	if (x == 3) {
		document.Simulator.DemonOfPhysisRank.value = 16;
		document.Simulator.GiantFullSwingRank.value = 16;
		document.Simulator.ShieldOfPhysisRank.value = 16;
		document.Simulator.SpellOfPhysisRank.value = 16;
		document.Simulator.LifeOfPhysisRank.value = 16;
		document.Simulator.PhysisHeavyStanderRank.value = 16;
		document.Simulator.PhysisNaturalShieldRank.value = 16;
		document.Simulator.PhysisManaRefractorRank.value = 16;
	}
}



/*
function FixClear()	{
	document.Simulator.FixLife.value = 0;
	document.Simulator.FixMana.value = 0;
	document.Simulator.FixStamina.value = 0;
	document.Simulator.FixStr.value = 0;
	document.Simulator.FixInt.value = 0;
	document.Simulator.FixDex.value = 0;
	document.Simulator.FixWill.value = 0;
	document.Simulator.FixLuck.value = 0;

	document.Simulator.Life.style.color = 'black';
	document.Simulator.Mana.style.color = 'black';
	document.Simulator.Stamina.style.color = 'black';
	document.Simulator.Str.style.color = 'black';
	document.Simulator.Int.style.color = 'black';
	document.Simulator.Dex.style.color = 'black';
	document.Simulator.Will.style.color = 'black';
	document.Simulator.Luck.style.color = 'black';

	document.Simulator.bLife.style.color = 'white';
	document.Simulator.bMana.style.color = 'white';
	document.Simulator.bStamina.style.color = 'white';
	document.Simulator.bStr.style.color = 'white';
	document.Simulator.bInt.style.color = 'white';
	document.Simulator.bDex.style.color = 'white';
	document.Simulator.bWill.style.color = 'white';
	document.Simulator.bLuck.style.color = 'white';
}
*/

function FixClear()	{
	if (document.Simulator.StFix.checked == true) {
/*
		document.Simulator.Life.value = 20;
		document.Simulator.Mana.value = 20;
		document.Simulator.Stamina.value = 20;
		document.Simulator.Str.value = 10;
		document.Simulator.Int.value = 10;
		document.Simulator.Dex.value = 10;
		document.Simulator.Will.value = 10;
		document.Simulator.Luck.value = 10;
*/
		document.Simulator.Life.readOnly = false;
		document.Simulator.Mana.readOnly = false;
		document.Simulator.Stamina.readOnly = false;
		document.Simulator.Str.readOnly = false;
		document.Simulator.Int.readOnly = false;
		document.Simulator.Dex.readOnly = false;
		document.Simulator.Will.readOnly = false;
		document.Simulator.Luck.readOnly = false;

		document.Simulator.Life.style.backgroundColor = '#dddddd';
		document.Simulator.Mana.style.backgroundColor = '#dddddd';
		document.Simulator.Stamina.style.backgroundColor = '#dddddd';
		document.Simulator.Str.style.backgroundColor = '#dddddd';
		document.Simulator.Int.style.backgroundColor = '#dddddd';
		document.Simulator.Dex.style.backgroundColor = '#dddddd';
		document.Simulator.Will.style.backgroundColor = '#dddddd';
		document.Simulator.Luck.style.backgroundColor = '#dddddd';

		document.Simulator.Life.style.color = 'black';
		document.Simulator.Mana.style.color = 'black';
		document.Simulator.Stamina.style.color = 'black';
		document.Simulator.Str.style.color = 'black';
		document.Simulator.Int.style.color = 'black';
		document.Simulator.Dex.style.color = 'black';
		document.Simulator.Will.style.color = 'black';
		document.Simulator.Luck.style.color = 'black';

		document.Simulator.bLife.style.color = 'white';
		document.Simulator.bMana.style.color = 'white';
		document.Simulator.bStamina.style.color = 'white';
		document.Simulator.bStr.style.color = 'white';
		document.Simulator.bInt.style.color = 'white';
		document.Simulator.bDex.style.color = 'white';
		document.Simulator.bWill.style.color = 'white';
		document.Simulator.bLuck.style.color = 'white';
	} else {
		document.Simulator.Life.style.backgroundColor = 'white';
		document.Simulator.Mana.style.backgroundColor = 'white';
		document.Simulator.Stamina.style.backgroundColor = 'white';
		document.Simulator.Str.style.backgroundColor = 'white';
		document.Simulator.Int.style.backgroundColor = 'white';
		document.Simulator.Dex.style.backgroundColor = 'white';
		document.Simulator.Will.style.backgroundColor = 'white';
		document.Simulator.Luck.style.backgroundColor = 'white';

		document.Simulator.Life.readOnly = true;
		document.Simulator.Mana.readOnly = true;
		document.Simulator.Stamina.readOnly = true;
		document.Simulator.Str.readOnly = true;
		document.Simulator.Int.readOnly = true;
		document.Simulator.Dex.readOnly = true;
		document.Simulator.Will.readOnly = true;
		document.Simulator.Luck.readOnly = true;
	}
}


function cpubench(){
	start=(new Date()).getTime();
	n=0;
	
	



	end=(new Date()).getTime();
	time=(end-start)/1000;
	alert('計算時間は'+time+'秒でした');
}




function calc()	{
	RaceSelect();
	read();
	defaultStatus();
	skill();
	title();
	enchant();
	petBonus();
	food();
	etcBonus();
	
//	cpubench()

	FixClear();

	//合計AP計算
	BattleAP = AttackAP + DefenseAP + CriticalHitAP + CounterAttackAP + SmashAP + WindMillAP + SharpMindAP + RengedAttackAP + MagnumShotAP + ArrowRevolverAP + FinalHitAP + MirageMissileAP + StompAP + ThrowAttackAP + AssaultAP + WindBreakerAP + TauntAP + FinalShotAP + EvasionAP;
	MagicAP  = IceboltAP + FireboltAP + LightningboltAP + FireballAP + ThunderAP + HealingAP + MeditationAP + EnchantAP + MagicMasteryAP + PartyHealingAP + IceSpearAP + IceMagicShieldAP + FireMagicShieldAP + LightningMagicShieldAP + NaturalMagicShieldAP + BlazeAP + ManaShieldAP;
	LifeAP   = RestAP + FirstAidAP + CampFireAP + MakingMasteryAP + WeavingAP + TailoringAP + RefineAP + BlacksmithAP + HerbalismAP + PotionMakingAP + CookingAP + MusicalKnowledgeAP + PlayingInstrumentAP + ComposeAP + FishingAP + HandiCraftAP + AnimalTrainingAP + MetallurgyAP + CarpentryAP;
	AlchemyAP= AlchemyMasteryAP + SynthesisAP + DissolutionAP + ManaFormingAP + GolemTransmutationAP + MetalExtractionAP + ProtectiveWallAP + LifeDrainAP + WaterCannonAP + WindBlastAP + FlamerAP + SandBurstAP + FrozenBlastAP + RainCastingAP + SparkAP;

	//還元AP計算
	var ReturnAp = 0;
	if (AttackRank <= 11) ReturnAp += 1;
	if (SmashRank <= 8) ReturnAp += 1;
	if (CounterAttackRank <= 9) ReturnAp += 1;
	if (WindMillRank <= 9) ReturnAp += 3;
	if (RengedAttackRank <= 12) ReturnAp += 1;
	if (MagnumShotRank <= 9) ReturnAp += 2;
	if (HealingRank <= 9) ReturnAp += 5;
	if (WeavingRank <= 10) ReturnAp += 3;
	if (TailoringRank <= 11) ReturnAp += 1;
	if (MusicalKnowledgeRank <= 10) ReturnAp += 5;
	if (ComposeRank <= 15) ReturnAp += 1;
	document.Simulator.ReturnAp.value = ReturnAp;
	document.Simulator.ReturnAp2.value = ReturnAp;

	//本とクエスト
	if (document.Simulator.Quest1.checked == true) DefStr += 1;
	if (document.Simulator.Quest2.checked == true) DefStr += 2;
	if (document.Simulator.Quest3.checked == true) {DefStr += 2; DefWill += 2;}
	if (document.Simulator.Quest4.checked == true) DefInt += 2;
	if (document.Simulator.Book1.checked == true) DefInt += 1;
	if (document.Simulator.Book2.checked == true) DefInt += 1;
	if (document.Simulator.Book3.checked == true) DefInt += 1;
	if (document.Simulator.Book4.checked == true) DefInt += 1;
	if (document.Simulator.Book5.checked == true) DefInt += 1;
	if (document.Simulator.Book6.checked == true) DefInt += 1;

	//誤差修正
	if (document.Simulator.StFix.checked != true) {
		DefLife += FixLife;
		DefMana += FixMana;
		DefStamina += FixStamina;
		DefStr += FixStr;
		DefInt += FixInt;
		DefDex += FixDex;
		DefWill += FixWill;
		DefLuck += FixLuck;
	}

	//ステータス出力
	document.Simulator.BattleUseAp.value = BattleAP;
	document.Simulator.MagicUseAp.value = MagicAP;
	document.Simulator.LifeUseAp.value = LifeAP;
	document.Simulator.AlchemyUseAp.value = AlchemyAP;
	document.Simulator.UsedAP.value = BattleAP + MagicAP + LifeAP + AlchemyAP;
	document.Simulator.UsedAP2.value = BattleAP + MagicAP + LifeAP + AlchemyAP;
	document.Simulator.PaladinUsedLv.value = SpiritOfOrderLv + PowerOfOrderLv + EyeOfOrderLv + SwordOfOrderLv + PaladinHeavyStanderLv + PaladinNaturalShieldLv + PaladinManaRefractorLv;
	document.Simulator.DarkKnightUsedLv.value = SoulOfChaosLv + BodyOfChaosLv + HandsOfChaosLv + BrainOfChaosLv + DarkHeavyStanderLv + DarkNaturalShieldLv + DarkManaRefractorLv + ControlOfDarknessLv;
	document.Simulator.FalconUsedLv.value = FuryOfConnousLv + ElvenMagicMissileLv + ArmorOfConnousLv + MindOfConnousLv + SharpnessOfConnousLv + ConnousHeavyStanderLv + ConnousNaturalShieldLv + ConnousManaRefractorLv;
	document.Simulator.BeastUsedLv.value = DemonOfPhysisLv + GiantFullSwingLv + ShieldOfPhysisLv + SpellOfPhysisLv + LifeOfPhysisLv + PhysisHeavyStanderLv + PhysisNaturalShieldLv + PhysisManaRefractorLv;
	document.Simulator.GodUsedLv.value = AwakeningOfLightLv + SpearOfLightLv + FuryOfLightLv + ShadowOfSpiritLv;

	//数値を使う場合
	if (document.Simulator.StFix.checked == true) {
		var bLife,bMana,bStamina,bStr,bInt,bDex,bWill,bLuck;
		bLife = Life = eval(document.Simulator.Life.value);
		bMana = Mana = eval(document.Simulator.Mana.value);
		bStamina = Stamina = eval(document.Simulator.Stamina.value);
		bStr = Str = eval(document.Simulator.Str.value);
		bInt = Int = eval(document.Simulator.Int.value);
		bDex = Dex = eval(document.Simulator.Dex.value);
		bWill = Will = eval(document.Simulator.Will.value);
		bLuck = Luck = eval(document.Simulator.Luck.value);
	} else {
		//出力と色づけ
		var Life     = TitleLife + SkillLife + EnLife + DefLife + LvLife + PetLife + FoodLife + ExLvLife;
		var bLife    = SkillLife + DefLife + LvLife + ExLvLife - AttackLife;
		var Mana     = TitleMana + SkillMana + EnMana + DefMana + LvMana + PetMana + ExLvMana;
		var bMana    = SkillMana + DefMana + LvMana + ExLvMana;
		var Stamina  = TitleStamina + SkillStamina + EnStamina + DefStamina + LvStamina + PetStamina + ExLvStamina;
		var bStamina = SkillStamina + DefStamina + LvStamina + ExLvStamina;
		var Str      = TitleStr + SkillStr + EnStr + DefStr + LvStr + PetStr + FoodStr + EtcStr + ExLvStr;
		var bStr     = SkillStr + DefStr + LvStr + ExLvStr;
		var Int      = TitleInt + SkillInt + EnInt + DefInt + LvInt + PetInt + FoodInt + EtcInt + ExLvInt;
		var bInt     = SkillInt + DefInt + LvInt + ExLvInt;
		var Dex      = TitleDex + SkillDex + EnDex + DefDex + LvDex + PetDex + FoodDex + EtcDex + ExLvDex;
		var bDex     = SkillDex + DefDex + LvDex + ExLvDex;
		var Will     = TitleWill + SkillWill + EnWill + DefWill + LvWill + PetWill + FoodWill + EtcWill + ExLvWill;
		var bWill    = SkillWill + DefWill + LvWill + ExLvWill;
		var Luck     = TitleLuck + EnLuck + DefLuck + LvLuck + PetLuck + FoodLuck + EtcLuck + ExLvLuck;
		var bLuck    = DefLuck + LvLuck + ExLvLuck;

		//四捨五入
		if (document.Simulator.DecimalOnOff.checked != true) {
			Life     = Math.round(Life);
			bLife    = Math.round(bLife);
			Mana     = Math.round(Mana);
			bMana    = Math.round(bMana);
			Stamina  = Math.round(Stamina);
			bStamina = Math.round(bStamina);
			Str      = Math.round(Str);
			bStr     = Math.round(bStr);
			Int      = Math.round(Int);
			bInt     = Math.round(bInt);
			Dex      = Math.round(Dex);
			bDex     = Math.round(bDex);
			Will     = Math.round(Will);
			bWill    = Math.round(bWill);
			Luck     = Math.round(Luck);
			bLuck    = Math.round(bLuck);
		}

		if (Life < bLife) {
			document.Simulator.Life.style.color = 'red';
			document.Simulator.bLife.style.color = 'black';
		}else if (Life > bLife) {
			document.Simulator.Life.style.color = 'orange';
			document.Simulator.bLife.style.color = 'black';
		}else{
			document.Simulator.Life.style.color = 'black';
			document.Simulator.bLife.style.color = 'white';
		}
		document.Simulator.Life.value = Life;
		document.Simulator.bLife.value = "(" + bLife + ")";

		if (Mana < bMana) {
			document.Simulator.Mana.style.color = 'red';
			document.Simulator.bMana.style.color = 'black';
		}else if (Mana > bMana) {
			document.Simulator.Mana.style.color = 'orange';
			document.Simulator.bMana.style.color = 'black';
		}else{
			document.Simulator.Mana.style.color = 'black';
			document.Simulator.bMana.style.color = 'white';
		}
		document.Simulator.Mana.value = Mana;
		document.Simulator.bMana.value = "(" + bMana + ")";

		if (Stamina < bStamina) {
			document.Simulator.Stamina.style.color = 'red';
			document.Simulator.bStamina.style.color = 'black';
		}else if (Stamina > bStamina) {
			document.Simulator.Stamina.style.color = 'orange';
			document.Simulator.bStamina.style.color = 'black';
		}else{
			document.Simulator.Stamina.style.color = 'black';
			document.Simulator.bStamina.style.color = 'white';
		}
		document.Simulator.Stamina.value = Stamina;
		document.Simulator.bStamina.value = "(" + bStamina + ")";

		if (Str < bStr) {
			document.Simulator.Str.style.color = 'red';
			document.Simulator.bStr.style.color = 'black';
		}else if (Str > bStr) {
			document.Simulator.Str.style.color = 'orange';
			document.Simulator.bStr.style.color = 'black';
		}else{
			document.Simulator.Str.style.color = 'black';
			document.Simulator.bStr.style.color = 'white';
		}
		document.Simulator.Str.value = Str;
		document.Simulator.bStr.value = "(" + bStr + ")";

		if (Int < bInt) {
			document.Simulator.Int.style.color = 'red';
			document.Simulator.bInt.style.color = 'black';
		}else if (Int > bInt) {
			document.Simulator.Int.style.color = 'orange';
			document.Simulator.bInt.style.color = 'black';
		}else{
			document.Simulator.Int.style.color = 'black';
			document.Simulator.bInt.style.color = 'white';
		}
		document.Simulator.Int.value = Int;
		document.Simulator.bInt.value = "(" + bInt + ")";

		if (Dex < bDex) {
			document.Simulator.Dex.style.color = 'red';
			document.Simulator.bDex.style.color = 'black';
		}else if (Dex > bDex) {
			document.Simulator.Dex.style.color = 'orange';
			document.Simulator.bDex.style.color = 'black';
		}else{
			document.Simulator.Dex.style.color = 'black';
			document.Simulator.bDex.style.color = 'white';
		}
		document.Simulator.Dex.value = Dex;
		document.Simulator.bDex.value = "(" + bDex + ")";

		if (Will < bWill) {
			document.Simulator.Will.style.color = 'red';
			document.Simulator.bWill.style.color = 'black';
		}else if (Will > bWill) {
			document.Simulator.Will.style.color = 'orange';
			document.Simulator.bWill.style.color = 'black';
		}else{
			document.Simulator.Will.style.color = 'black';
			document.Simulator.bWill.style.color = 'white';
		}
		document.Simulator.Will.value = Will;
		document.Simulator.bWill.value = "(" + bWill + ")";

		if (Luck < bLuck) {
			document.Simulator.Luck.style.color = 'red';
			document.Simulator.bLuck.style.color = 'black';
		}else if (Luck > bLuck) {
			document.Simulator.Luck.style.color = 'orange';
			document.Simulator.bLuck.style.color = 'black';
		}else{
			document.Simulator.Luck.style.color = 'black';
			document.Simulator.bLuck.style.color = 'white';
		}
		document.Simulator.Luck.value = Luck;
		document.Simulator.bLuck.value = "(" + bLuck + ")";
	}


	//戦闘力計算
	StatusCombatPower = bLife + bMana*0.5 + bStamina*0.5 + bStr + bInt*0.2 + bDex*0.1 + bWill*0.5 + bLuck*0.1;
	CPower.sort(hikaku);	//スキル戦闘力を高い順に並び替え
	SkillCombatPower = CPower[0] + CPower[1]/2;
	BaseCombatPower = StatusCombatPower + SkillCombatPower;

	//戦闘力表示
	document.Simulator.StCombatPower.value = StatusCombatPower;
	document.Simulator.SkCombatPower.value = SkillCombatPower;
	document.Simulator.bCombatPower.value = BaseCombatPower;
	document.Simulator.bCombatPower2.value = BaseCombatPower;
	document.Simulator.FixCombatPower.value = BaseCombatPower + eval(document.Simulator.CPowerFix.value);

	//敵戦闘力計算
	//CombatPowerCalc(document.Simulator.MobNo.value);

	//双剣判断
	if (LWeaponMinDam != 0 || LWeaponMaxDam != 0 || LWeaponMinInj != 0 || LWeaponMaxInj != 0 || LWeaponCrit != 0 || LWeaponBal != 0) {
		//平均値計算
		WeaponMinDam = (WeaponMinDam + LWeaponMinDam) / 2;
		WeaponMaxDam = (WeaponMaxDam + LWeaponMaxDam) / 2;
		WeaponMinInj = (WeaponMinInj + LWeaponMinInj) / 2;
		WeaponMaxInj = (WeaponMaxInj + LWeaponMaxInj) / 2;
		WeaponCrit   = (WeaponCrit   + LWeaponCrit) / 2;
		WeaponBal    = (WeaponBal    + LWeaponBal) / 2;
	}
	document.Simulator.MaxDamage.value		= Math.round(TitleMaxDam + SkillMaxDam + EnMaxDam + WeaponMaxDam + PetMaxDam + ((Str - 10) / 2.5));
	document.Simulator.MinDamage.value		= Math.round(TitleMinDam + SkillMinDam + EnMinDam + WeaponMinDam + PetMinDam + ((Str - 10) / 3));
	document.Simulator.RengedMaxDamage.value	= Math.round(TitleMaxDam + SkillRengedMaxDam + EnMaxDam + WeaponMaxDam + PetMaxDam + EtcRengedMaxDam + ((Dex - 10) / 2.5));
	document.Simulator.RengedMinDamage.value	= Math.round(TitleMinDam + SkillRengedMinDam + EnMinDam + WeaponMinDam + PetMinDam + EtcRengedMinDam + ((Dex - 10) / 3.5));
	document.Simulator.MaxInjury.value		= Math.round(EnMaxInj + WeaponMaxInj +  PetMaxInj + ((Will - 10) / 5) + (Dex / 10));
	document.Simulator.MinInjury.value		= Math.round(EnMinInj + WeaponMinInj + PetMinInj + ((Will - 10) / 10) + (Dex / 20));
	document.Simulator.Critical.value		= Math.round((TitleCrit + EnCrit + WeaponCrit + EtcCrit + PetCrit + ((Will - 10) / 10) + ((Luck - 10) / 5)) * 10) / 10;
	document.Simulator.Balance.value		= Math.round(EnBal + WeaponBal + PetBal + SkillBal + ((Dex - 10) / 4));
	document.Simulator.Defense.value		= TitleDef + SkillDef + EnDef + Acc1Def + HeadDef + Acc2Def + BodyDef + LeftDef + HandDef + ShoseDef;
	document.Simulator.Protection.value		= TitleProt + EnProt + Acc1Prot + HeadProt + Acc2Prot + BodyProt + LeftProt + HandProt + ShoseProt;

	//特別処理
	//アイオブオーダー
	if (40001 <= Title && Title <= 40004) document.Simulator.Balance.value = eval(document.Simulator.Balance.value) + EyeOfOrderBal;
	//ソードオブオーダー
	if (40001 <= Title && Title <= 40004) document.Simulator.MaxInjury.value = eval(document.Simulator.MaxInjury.value) + SwordOfOrderInj;
	if (40001 <= Title && Title <= 40004) document.Simulator.MinInjury.value = eval(document.Simulator.MinInjury.value) + SwordOfOrderInj;

	//AP情報更新
	tenseiCalc(); 

}



function tab(select){
	for (i = 1; i <= 5; i++) {
		if (i == select) {
			document.getElementById("tab" + i).className = "open";
			document.getElementById("TabData" + i).style.display = "block";
		} else {
			document.getElementById("tab" + i).className = "close";
			document.getElementById("TabData" + i).style.display = "none";
		}
	}
}