
/** エディタを保持する */
var currentEditor = null;

/**
 * エディタを作成します。
 */
createEditor = function () {
    currentEditor = new FXEDITOR();
    currentEditor.create();
};

/**
 * テンプレートエディタを作成します。
 */
createTemplateEditor = function () {
	currentEditor = new FXEDITOR_TEMPLATE();
    currentEditor.create();
};

/**
 * メールエディタを作成します。
 */
createMailEditor = function () {
	currentEditor = new FXEDITOR_MAIL();
	currentEditor.create();
};

/**
 * エディタを削除します。
 * @param editorID
 */
removeEditor = function () {
	currentEditor.remove();
};

/**
 * エディタ領域を更新します。
 * @param editorID
 * @param x
 * @param y
 * @param w
 * @param h
 */
updateEditorBounds = function(x, y, w, h) {
	currentEditor.updateBounds(x, y, w, h);
};

/**
 * プレビュー領域を更新します。
 * @param previewID
 * @param x
 * @param y
 * @param w
 * @param h
 */
updatePreviewBounds = function(x, y, w, h) {
	currentEditor.updatePreviewBounds(x, y, w, h);
};

/**
 * 表示／非表示の設定を行います。
 * @param value
 */
setVisible = function(value) {
	currentEditor.setVisible(value);
};

/**
 * エディタにフォーカスをセットします。
 */
focusInEditor = function () {
	currentEditor.focusIn();
}

/**
 * HTMLの内容を取得します。
 * @return
 */
getContent = function () {
	return currentEditor.getContent();
};

getTempContent = function () {
	var a = currentEditor.getTempContent();
	return a;
};

/**
 * HTMLの内容を設定します。
 * @param content
 */
setContent = function (content) {
	currentEditor.setContent(content);
};

/**
 * Headerの内容を設定します。
 * @param content
 */
setHeaderContent = function (content) {
	currentEditor.setHeaderContent(content);
};

/**
 * Footerの内容を設定します。
 * @param content
 */
setFooterContent = function (content) {
	currentEditor.setFooterContent(content);
};

/**
 * 日記リストを設定します。
 * @param editorID
 * @param diaries
 */
setDiaries = function (diaries) {
	currentEditor.setDiaries(diaries);
};

/**
 * フォームの内容を設定します。
 * @param editorID
 * @param forms
 */
setForms = function (forms) {
	currentEditor.setForms(forms);
};

/**
 * キャリアを設定します。
 * @param editorID
 * @param career
 */
setCareer = function (career) {
	currentEditor.setCareer(career);
};

/**
 * 背景色アップデート
 * @param color
 */
changeBgcolor = function (color) {
	currentEditor.changeBgcolor(color);
};

/**
 * テキスト色アップデート
 * @param color
 */
changeTextcolor = function (color) {
	currentEditor.changeTextcolor(color);
};

/**
 * リンク色アップデート
 * @param color
 */
changeLinkcolor = function (color) {
	currentEditor.changeLinkcolor(color);
};

/**
 * アクティブリンク色アップデート
 * @param color
 */
changeAlinkcolor = function (color) {
	currentEditor.changeAlinkcolor(color);
};

/**
 * 訪問済み色アップデート
 * @param color
 */
changeVlinkcolor = function (color) {
	currentEditor.changeVlinkcolor(color);
};


//==============================================================================
// editor extend command
//==============================================================================

/**
 * リンク設定
 */
function openPageLink(html, editor) {
	currentEditor.lock();
	$("main").openPageLink();
};

/**
 * リンク設定後のCallBack
 */
openPageLinkCallBack = function(link) {
	currentEditor.unlock();
	currentEditor.insertLink(link);
};

/**
 * メール作成用リンク設定後のCallBack
 */
openPageLinkMailEditorCallBack = function (address) {
	currentEditor.unlock();
	currentEditor.insertHtml(address);
};

/**
 * 画像挿入
 */
function insertimage(editor, button) {
	currentEditor.lock();
	$("main").insertImage();
};

/**
 * 画像挿入後のCallBack
 */
insertImageCallBack = function(src, alt, title) {
	currentEditor.unlock();
	currentEditor.insertImage(src, alt, title);
};

/**
 * 絵文字挿入
 */
function insertemoticon(button) {
	currentEditor.lock();
	$("main").insertEmoticon();
};

/**
 * 絵文字挿入後のCallBack
 */
insertEmoticonCallBack = function (src) {
	currentEditor.unlock();
	currentEditor.insertHtml(src);
};

/**
 * 差し込みタグ挿入
 */
function insertExchangeTag() {
	currentEditor.lock();
	$("main").insertExchangeTag();
};

/**
 * 差し込みタグ挿入後のCallBack
 */
insertExchangeTagCallBack = function (tag) {
	currentEditor.unlock();
	currentEditor.insertHtml(tag);
};

/**
 * 空メール挿入
 */
function insertBlankMailTo() {
	currentEditor.lock();
	$("main").insertBlankMailTo();
};

/**
 * 空メール挿入後のCallBack
 */
insertBlankMailToCallBack = function (address) {
	currentEditor.unlock();
	currentEditor.insertMailTo(address, 'メルマガ登録はコチラ');
};

/**
 * メール作成用空メール挿入後のCallBack
 */
insertBlankMailToMailEditorCallBack = function (address) {
	currentEditor.unlock();
	currentEditor.insertHtml(address);
};
