window.onload = function() {
	doc=document;
	f=doc.MAKING;
//	chkDisableDataSave();
	onLoadPcMaking();
	document.getElementById('jacket').style.visibility='visible';
}

function submitTextOutput() {
	var em=f.message.value;
	if (em!='') {
		if (!confirm(em + "\n\n上記のエラーがありますが、テキスト出力を行ってもよろしいですか？")) {
			return false;
		}
	}
	f.target = '_blank';
//	f.action = 'action.php';
	f.mode.value = 'textoutput';
	return true;
}
function submitCharSheetOutput(){
	var em=f.message.value;
	if (em!='') {
		if (!confirm(em + "\n\n上記のエラーがありますが、キャラシート風出力を行ってもよろしいですか？")) {
			return false;
		}
	}
	f.target = '_blank';
	f.mode.value = 'charsheetoutput';
	return true;
}

function submitDataSave() {
	//gameを一応チェック
	var g=f.game.value;
	switch(g){
		case 'arianrhod':
		case 'alshardff':
		case 'alshardgaia':
		case 'alshardff-gaia':
		case 'beastbindnt':
		case 'angelgear':
		case 'tenrawar':
		case 'nightwizard2':
		case 'sevenfortressmobius':
		case 'swordworld2':
		break;
		default:
		alert("フォームの値が保存できない変な状態になってます。いったん画面を開き直してみてください。\ngame="+g);
		return false;
		break;
	}
	// タイトル空欄チェック
	var dt=f.data_title.value;
	if(dt.replace(/^[\s　]+|[\s　]+$/g,'')==''){
		alert('タイトルが空欄です。何か入力してください。');
		return false;
	}
	//パスワードチェック
//	var up=f.use_password;
//	if(up!=undefined && up.checked){
//		var pw=f.password.value;
//		if(pw==''){
//			alert("パスワードが空欄です。\nパスワード使用のチェックをはずすか、パスワードを入力してください。");
//			return false;
//		}else if(pw.length>32){
//			alert("パスワードが32文字を超えています。\n32文字以下にしてください。");
//			return false;
//		}
//	}
	
	// 新規登録か上書きか
	var em=f.message.value,ph=f.phrase,id=f.data_id,m,fg,os;
	if(ph!=undefined && id!=undefined){
		if(ph.value.length != 32 || isNaN(id.value)){
			//idとphraseが不正の場合は新規登録とする
			ph.value='';
			id.value='';
			m='新規保存';
		}else{
			// キーが設定されている場合、上書きか新規保存かを選ぶ
			m='上書き保存';
			os=f.save_mode;
			fg=os[0].checked?os[0].value:(os[1].checked?os[1].value:'');
			m=(fg=='new')?'新規に登録':'上書き保存';
		}
	}else{
		// idとphraseがない場合は新規登録とする
		ph.value='';
		id.value='';
		m='保存';
	}
	if(em==''){
		if(!confirm('このデータを'+m+'してよろしいですか？')){
			return false;
		}
	}else{
		if (!confirm(em + "\n\n上記のエラーがありますが、このデータを"+m+"してよろしいですか？")) {
			return false;
		}
	}
	f.target='_top';
//	f.action='action.php';
	f.mode.value='datasave';
	return true;
}

function dispChange_input_pw(){
	var up=f.use_password;
	if (up!=undefined) {
//		doc.getElementById('input_pw').style.display=up.checked?'inline':'none';
		f.password.disabled=up.checked?false:true;
	}
}

function chkDisableDataSave(){
	var np=f.new_password;
	var up=f.use_password.checked;
	var pw=f.password;
	var ipw=doc.getElementById('input_pw').style;
	if(np!=undefined){
		//パスワード設定済みデータ
		var os=f.save_mode,l=os.length,i,v;
		for(i=0;i<l;i++){
			if(os[i].checked){
				v=os[i].value;
				break;
			}
		}
		var inp=doc.getElementById('input_newpw').style;
		var dpt=doc.getElementById('use_pw_txt');
		var pwt=doc.getElementById('pw_txt');
		if(v=='rewrite'){
			//上書き
			pw.disabled=false;
			ipw.display='inline';
			if(!up)np.value='';
			np.disabled=up?false:true;
			inp.display=up?'inline':'none';
			dpt.innerHTML='<span style="color:#FF0000">パスワードを削除したい場合はチェックをはずしてパスワード入力</span>';
			pwt.innerHTML='最大32文字・上書き保存時は必須';
		}else{
			//新規登録
			np.value='';
			np.disabled=true;
			pw.disabled=up?false:true;
			dpt.innerHTML='パスワードを使う';
			pwt.innerHTML='最大32文字';
			dpt.display='none';
			inp.display='none';
			ipw.display=up?'inline':'none';
		}
	}else{
		//新規画面、パスワード未設定データ
		pw.disabled=up?false:true;
		ipw.display=up?'inline':'none';
	}

}
/*** 行追加・削除処理 ***/
//メッセージ
var msgWarnCantDelLine='これ以上減らすことは出来ません。';
var msgCfrmDelLastLine='値が入っている項目がありますが、一番下の行を削除していいですか？';
//テンプレート行のオブジェクトをもとにして、指定の表の指定行に挿入する
//テンプレートでは値が保存されないようにするため、disable
//追加処理時にINPUTとSELECTのdisable=falseにしている
function insertRowByTemplate(obj_row,obj_table,index){
	var tpl_cell=obj_row.cells;
	var new_row=obj_table.insertRow(index),cel,oc,o,t,l,m=tpl_cell.length;
	for(var i=0;i<m;i++){
		cel=tpl_cell[i].cloneNode(true);
		oc=cel.childNodes;
		l=oc.length;
		for(var j=0;j<l;j++){
			o=oc[j];
			if((t=o.tagName)=='INPUT'||t=='SELECT')o.disabled=false;
		}
		new_row.appendChild(cel);
	}
}
//行削除
//obj_table:削除する行があるTABLEオブジェクト,del_index:削除する行のindex
//a_field:入力値確認のフィールド名の配列,min:最少の入力欄数
function deleteRowByIndex(obj_table,del_index,a_field,min){
	var tbl=obj_table,m=f.elements[a_field[0]].length-1,l=a_field.length,s='';
	// m:削除行の入力欄のindex
	var mn=(min<=0)?2:min+1;
//	if(min<=0)min=1;
	if(m<mn){
		alert(msgWarnCantDelLine);
		return;
	}else{
		for(var i=0;i<l;i++){
			s+=f.elements[a_field[i]][m].value;
		}
		if(s!=''&&s!=0){
			if(!confirm(msgCfrmDelLastLine))return;
		}
	}
	tbl.deleteRow(del_index);
}
//メモ欄の拡大縮小処理
function setPcMemoRows(){
	var v=f.pc_making_memo_rows.value;
	f.pc_making_memo.rows=(isNaN(v))?6:v;
}
function chgPcMemoRows(num){
	var o=f.pc_making_memo_rows,n,v;
	if(isNaN(v=o.value))v=6;
	if(isNaN(num))return;
	o.value=((n=(v-0)+num)<1)?v:n;
	setPcMemoRows();
}
