// ¢ŠEŽ÷‚Ì–À‹{-ƒXƒLƒ‹ƒ|ƒCƒ“ƒg•ª”zŒvŽZ•\JavaScript(Shift-JIS)

minSkillValue = 0;
maxSkillValue = 10;
maxSkillValueSum = 72;
skillNum = 21;
valueElementName = "skillValue";
skillBonusPointFormName = "skillBonusPointForm";
skillBonusPointRadioName = "skillBonusPointRadio";
skillPointSumFormName = "skillPointSumForm";
skillPointSumTextName = "skillPointSumText";
messageFormName = "messageForm";
messageTextName = "messageText";
messageStr = "";

skillValue   = new Array( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 );

function init(){
	document.write( jobName );
	document.write("<table bordercolor=\"#000000\" border=\"1\" cellspacing=\"0\" cellpadding=\"1\">");
	document.write("<tr>");
	for( i = 0; i < skillNum; i++ ){
		document.write("<td>" + skillName[i] + "</td>");
		document.write("<td>");
		document.write("<form name=\"" + i + "\" action=\"#\">");
		document.write("<input type=\"text\" name=\"" + valueElementName + "\" value=\"0\" size=\"4\">");
		document.write("<input type=\"button\" value=\"{\" onclick=\"plus( '" + i + "')\">");
		document.write("<input type=\"button\" value=\"|\" onclick=\"minus('" + i + "')\">");
		document.write("</td>");
		document.write("</form>");
		document.write("</tr>");
	}
	document.write("<td>‡Œv</td>");
	document.write("<td>");
	document.write("<form name=\"" + skillPointSumFormName + "\" action=\"#\">");
	document.write("<input type=\"text\" name=\"" + skillPointSumTextName + "\" value=\"0\" size=\"4\">");
	document.write("<input type=\"button\" value=\"reset\" onclick=\"resetValue('')\">");
	document.write("</td>");
	document.write("</form>");
	document.write("</tr>");
	document.write("</table>");

	document.write("<form name=\"" + messageFormName + "\" action=\"#\">");
	document.write("<input type=\"text\" name=\"" + messageTextName + "\" value=\"\" size=\"80\">");
	document.write("</form>");

	document.write("<form name=\"" + skillBonusPointFormName + "\" action=\"#\">");
	document.write("<input type=\"radio\" name=\"" + skillBonusPointRadioName + "\" value=\"0\" checked>ˆø‘Þ–³‚µ(ƒ{[ƒiƒX0pt)<br>");
	document.write("<input type=\"radio\" name=\"" + skillBonusPointRadioName + "\" value=\"2\">ˆø‘ÞLv30`(ƒ{[ƒiƒX2pt)<br>");
	document.write("<input type=\"radio\" name=\"" + skillBonusPointRadioName + "\" value=\"3\">ˆø‘ÞLv40`(ƒ{[ƒiƒX3pt)<br>");
	document.write("<input type=\"radio\" name=\"" + skillBonusPointRadioName + "\" value=\"4\">ˆø‘ÞLv50`(ƒ{[ƒiƒX4pt)<br>");
	document.write("<input type=\"radio\" name=\"" + skillBonusPointRadioName + "\" value=\"5\">ˆø‘ÞLv60`(ƒ{[ƒiƒX5pt)<br>");
	document.write("<input type=\"radio\" name=\"" + skillBonusPointRadioName + "\" value=\"6\">ˆø‘ÞLv70(ƒ{[ƒiƒX6pt)<br>");
	document.write("</form>");
	
	setSkillState();
}

function changeNumber( skillNumber, diffValue ){
	
	bonusSkillPoint = 0;
	formObj    = document.forms[skillBonusPointFormName];
	elementObj = formObj.elements[skillBonusPointRadioName];
	for ( i = 0; i < elementObj.length; i++ ) {
		if ( elementObj[i].checked ) {
			bonusSkillPoint = elementObj[i].value - 0;
		}
	}
	
	skillPointSum = checkSkillPointSum();
	if( skillPointSum + diffValue > maxSkillValueSum + bonusSkillPoint ){
		return false;
	}

	if( skillValue[skillNumber] + diffValue >= minSkillValue 
	 && skillValue[skillNumber] + diffValue <= maxSkillValue ){
		;
	}else{
		return false;
	}
	
	for( i = 0; i < skillNum; i++ ){
		if( skillValue[i] >= skillReq[skillNumber][i] ){
			;
		}else{
			return false;
		}
	}
	
	return true;
}

function setSkillState(){
	
	for( i = 0; i < skillNum; i++ ){
		for( j = 0; j < skillNum; j++ ){
			if( skillValue[j] >= skillReq[i][j] ){
				;
			}else{
				break;
			}
		}
		formObj    = document.forms[i];
		elementObj = formObj.elements[valueElementName];
		if( skillNum == j ){
			if( elementObj.value == "-" ){
				messageStr += skillName[i] + "Žæ“¾ ";
			}
			elementObj.value = skillValue[i];
		}else{
			if( elementObj.value != "-" ){
				messageStr += skillName[i] + "Á–Å ";
			}
			elementObj.value = "-";
			skillValue[i] = 0;
		}
	}
	
	formObj    = document.forms[skillPointSumFormName];
	elementObj = formObj.elements[skillPointSumTextName];
	elementObj.value = checkSkillPointSum();
}

function checkSkillPointSum(){
	skillPointSum = 0;
	for( i = 0; i < skillNum; i++ ){
		skillPointSum += skillValue[i];
	}
	return skillPointSum;
}

function getSkillNumber( formObj ){
	for( i = 0; i < document.forms.length; i++ ){
		if( formObj == document.forms[i] ){
			return i;
		}
	}
	return -1;
}

function setMessage(){
	formObj    = document.forms[messageFormName];
	elementObj = formObj.elements[messageTextName];
	elementObj.value = messageStr;
}

function setMessageSkillReq( skillNumber ){
	messageStr += skillName[skillNumber];
	messageStr += "F—v ";
	for( i = 0; i < skillNum; i++ ){
		if( skillReq[skillNumber][i] != 0 ){
			messageStr += skillName[i] + "Lv" + skillReq[skillNumber][i] + " ";
		}
	}
}

function plus( formName ){
	messageStr = "";
	formObj    = document.forms[formName];
	elementObj = formObj.elements[valueElementName];
	skillNumber = getSkillNumber( formObj );
	result = changeNumber( skillNumber, +1 );
	if( result == true ){
		skillValue[skillNumber] += 1;
		setSkillState();
	}else{
		setMessageSkillReq( skillNumber );
	}
	setMessage();
}

function minus( formName ){
	messageStr = "";
	formObj    = document.forms[formName];
	elementObj = formObj.elements[valueElementName];
	skillNumber = getSkillNumber( formObj );
	result = changeNumber( skillNumber, -1 );
	if( result == true ){
		skillValue[skillNumber] -= 1;
		setSkillState();
	}else{
		setMessageSkillReq( skillNumber );
	}
	setMessage();
}

function resetValue(){
	messageStr = "";
	for( i = 0; i < skillNum; i++ ){
		skillValue[i] = 0;
	}
	
	setSkillState();
	setMessage();
}

