

function entry_custom_fields_reload_editor( block_id, template_id ) {
	// 現在入力中の値をPOSTしてから

	// 編集ブロックをリロードする
	if( template_id ) {
		$('#E_plugin_' + block_id ).reloadEditor( 'template_id=' + template_id );
	} else {
		$('#E_plugin_' + block_id ).reloadEditor();
	}
}

function entry_custom_fields_change_template( s, entry_id, block_id ) {
	// 選択されたテンプレートID
	var templateId = s.options[s.selectedIndex].value;

	// 新規登録の場合
	if( templateId == 'new' ) {
		s.selectedIndex = 0;
		return tb_show('new','/appli/plugin/EntryCustomFields/dialog/?step=new&target=' + block_id + '&amp;keepThis=true&amp;TB_iframe=true&amp;height=500&amp;width=600&amp;modal=true',false);
	}

	// 無視
	if( ! templateId ) {
		return;
	}

	// 編集ブロックをリロードする
	$('#E_plugin_' + block_id ).reloadEditor( 'template_id=' + templateId );
}

// save
function entry_custom_fields_save( entry_id, block_id, selected ) {
	// 引数チェック
	if( ! entry_id || ! block_id ) return;

	// 引数チェック
	if( ! selected ) {
		alert('フォーマットが選択されていません');
		return;
	}

	// 保存する値
	var data = {
		selected: selected
	};
	$("#entry_custom_fields_" + entry_id + '_' + block_id + " input[name^='field_']").each( function() {
		var key = $(this).attr('name');
		var val = $(this).val();
		data[key] = val;
	});
	$("#entry_custom_fields_" + entry_id + '_' + block_id + " textarea[name^='field_']").each( function() {
		var key = $(this).attr('name');
		var val = $(this).val();
		data[key] = val;
	});

	// ステータス表示
	$('#E_plugin_' + block_id).showStatus('保存しています');

	// 保存用のAPIをたたく
	$.ajax({
		type: 'POST',
		url: '/entry/' + entry_id + '/' + block_id + '/appli/plugin/EntryCustomFields/save/',
		data: data,
		dataType: 'json',
		success: function( res ) {
			if( res.success ) {
				$('#E_plugin_' + block_id).showStatus('保存しました');
			} else {
				alert( '保存に失敗しました' );
			}
			$('#E_plugin_' + block_id ).closeEditor();
		}
	});
}

// cancel
function entry_custom_fields_cancel( entry_id, block_id ) {
	$('#E_plugin_' + block_id ).closeEditor();
}

// delete
function entry_custom_fields_delete( entry_id, block_id, mode ) {
	// 引数チェック
	if( ! entry_id || ! block_id ) return;

	// 確認
	if( mode != 'noconfirm' ) {
		if( ! confirm('本当に削除しますか？') ) return;
	}

	// ステータス表示
	$('#E_plugin_' + block_id).showStatus('削除しています');

	// 削除用のAPIをたたく
	$.ajax({
		type: 'POST',
		url: '/entry/' + entry_id + '/' + block_id + '/appli/plugin/EntryCustomFields/delete/',
		data: {},
		dataType: 'json',
		success: function( res ) {
			if( res.success ) {
				$('#E_plugin_' + block_id).showStatus('削除しました');
			} else {
				alert( '削除に失敗しました' );
			}
			$('#E_plugin_' + block_id ).deleteBlock();
		}
	});
}
