// === Quicktags Plus version 0.9.1b
// === Copyright (c) 2006 cie
//
// Library Name: Quicktags Plus
// Library URI: http://blog.livedoor.jp/cie/archives/50417516.html
// Description: Inserts a quicktag toolbar in the blog comment form. And Tag conversion.
// Version: 0.9.1 Beta
// Last Modified: April 12, 2006
// Author: cie
// Author URI: http://blog.livedoor.jp/cie/
//
//
// ** This Library is modified code from Alex King's JS Quicktags. **
// ----------------------------------------------------------------------------------------
// Library Name: JS QuickTags
// Library URI: http://www.alexking.org/index.php?content=software/javascript/content.php
// Description: Inserts a quicktag toolbar on the textarea.
// Version: 1.2
// Author: Alex King
// Author URI: http://www.alexking.org/
//
//
// ** Licensed under the LGPL license **
// http://www.gnu.org/copyleft/lesser.html (English)
// http://www.opensource.jp/lesser/lgpl.ja.html (Japanese)
// ----------------------------------------------------------------------------------------
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful,
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
// Lesser General Public License for more details.
// ----------------------------------------------------------------------------------------
//
// IE, Mozilla, Firefox, Netscape, Camino, Operaではカーソル位置にタグが挿入されますが
// Safari, OmniWebなどでは一番最後にタグが挿入されるようです。
//
// また、'edCanvas'は必ず<textarea>タグより後ろで定義しなくてはいけません。
// 使用例に関しましては同梱している'test.html'をご覧になってください。

var edButtons = new Array();
var edOpenTags = new Array();

// バージョン情報
var LibraryVersion = "0.9.1b";
// 初期ヘルプメッセージ
var HelpMessage = "ヘルプ：タグの閉じ忘れなどが無いよう注意してご利用下さい";

// ***********************************************
// （１）コメント全体のタグの id 属性
var commentAreaIdName = '';
// （２）コメント全体のタグ名
var commentAreaTag = 'div';
// （３）各コメントの class 属性
var commentBodyClassName = 'commenttext';
// ***********************************************

function edButton(id, display, title, help, tagStart, tagEnd, optStart, optEnd, access, visibility, open) {
	this.id = id;			// used to name the toolbar button
	this.display = display;		// label on button
	this.title = title;		// button title 
	this.help = help;		// help message 
	this.tagStart = tagStart; 	// open tag
	this.tagEnd = tagEnd;		// close tag
	this.optStart = optStart; 	// open option
	this.optEnd = optEnd;		// close option
	this.access = access;		// accesskey
	this.visibility = visibility;	// button visibility flag: visible:1 hide:0
	this.open = open;		// set to -1 if tag does not need to be closed
}

//----------------------- 使用するタグ設定ここから
edButtons.push(
	new edButton(
		'ed_bold'		// inputのid名
		,'太'			// inputのvalue部
		,'[strong]文字を太字にします[/strong]'	// inputのtitle部
		,'strong：文字を太字にします (alt+b)'	// ヘルプメッセージ
		,'[strong]'		// 開始タグ
		,'[/strong]'		// 終了タグ
		,''			// オプション開始タグ
		,''			// オプション終了タグ
		,'b'			// accesskeyの文字(無くても大丈夫)
		,1			// ボタン表示フラグ(表示：1 非表示：0)
	)
);

edButtons.push(
	new edButton(
		'ed_italic'
		,'斜'
		,'[/em]文字を斜体にします[/em]'
		,'em：文字を斜体にします (alt+i)'
		,'[em]'
		,'[/em]'
		,''
		,''
		,'i'
		,0
	)
);

edButtons.push(
	new edButton(
		'ed_under'
		,'下線'
		,'[u]文字に下線を引きます[/u]'
		,'u：文字に下線を引きます (alt+u)'
		,'[u]'
		,'[/u]'
		,''
		,''
		,'u'
		,1
	)
);

edButtons.push(
	new edButton(
		'ed_strike'
		,'打消'
		,'[del]文字に打ち消し線を引きます[/del]'
		,'del：文字に打ち消し線を引きます (alt+d)'
		,'[del]'
		,'[/del]'
		,''
		,''
		,'d'
		,1
	)
);

edButtons.push(
	new edButton(
		'ed_style'
		,'飾'
		,'[span][style]スタイル[/style]装飾したいテキスト[/span]'
		,'style：スタイルシートと装飾したいテキストを入力して下さい'
		,'[span]'
		,'[/span]'
		,'[style]'
		,'[/style]'
		,'y'
		,1
	)
);

edButtons.push(
	new edButton(
		'ed_paragraph'
		,'段'
		,'[p]段落[/p]'
		,'p：段落です (alt+p)'
		,'[p]'
		,'[/p]'
		,''
		,''
		,'p'
		,0
	)
);

edButtons.push(
	new edButton(
		'ed_ulist'
		,'一覧'
		,'[ul][li]一覧を作成します[/li][/ul]'
		,'ul：リストで使用する項目数を半角数字で入力し、内容を入力'
		,'[ul]'
		,'[/ul]'
		,'[li]'
		,'[/li]'
		,'l'
		,1
	)
);

edButtons.push(
	new edButton(
		'ed_block'
		,'引用'
		,'[blockquote]文章を引用します[/blockquote]'
		,'blockquote：引用したい文章を入力します (alt+q)'
		,'[blockquote]'
		,'[/blockquote]'
		,''
		,''
		,'q'
		,1
	)
);

edButtons.push(
	new edButton(
		'ed_heading'
		,'見出'
		,'[h4]見出し[/h4]'
		,'h4：見出しです (alt+4)'
		,'[h4]'
		,'[/h4]'
		,''
		,''
		,'4'
		,0
	)
);

edButtons.push(
	new edButton(
		'ed_anchor'
		,'リンク'
		,'[a]リンク先URL[txt]リンクテキスト[/txt][/a]'
		,'a：リンク先URLとリンクテキストを入力してください (alt+a)'
		,'[a]'
		,'[/a]'
		,'[txt]'
		,'[/txt]'
		,'a'
		,1
	)
);
//---------------------- 使用するタグ設定ここまで

var extendedStart = parseInt(edButtons.length);

// below here are the extended buttons
//---------------------- 使用する拡張タグ設定ここから
edButtons.push(
	new edButton(
		'ed_image'
		,'絵'
		,'[img]画像URL[alt]代替テキスト[/alt][/img] または [img]画像URL[/img]'
		,'img：画像URLと代替テキストを入力してください (alt+m)'
		,'[img]'
		,'[/img]'
		,'[alt]'
		,'[/alt]'
		,'m'
		,0
		,-1
	)
);

edButtons.push(
	new edButton(
		'ed_big'
		,'大'
		,'[big]文字をひとまわり大きく[/big]'
		,'big：文字をひとまわり大きく表示します(alt+g)'
		,'[big]'
		,'[/big]'
		,''
		,''
		,'g'
		,1
                ,-1
	)
);

edButtons.push(
	new edButton(
		'ed_small'
		,'小'
		,'[small]文字をひとまわり小さく[/small]'
		,'small：文字をひとまわり小さく表示します (alt+s)'
		,'[small]'
		,'[/small]'
		,''
		,''
		,'s'
		,1
                ,-1
	)
);

edButtons.push(
	new edButton(
		'ed_left'
		,'左'
		,'[left]左寄せ[/left]'
		,'left：左寄せの段落に書きます (alt+f)'
		,'[left]'
		,'[/left]'
		,''
		,''
		,'f'
		,0
	)
);

edButtons.push(
	new edButton(
		'ed_center'
		,'センター'
		,'[center]真ん中寄せ[/center]'
		,'center：真ん中寄せの段落に書きます (alt+c)'
		,'[center]'
		,'[/center]'
		,''
		,''
		,'c'
		,1
	)
);
edButtons.push(
	new edButton(
		'ed_right'
		,'ライト'
		,'[right]右寄せ[/right]'
		,'right：右寄せの段落に書きます (alt+r)'
		,'[right]'
		,'[/right]'
		,''
		,''
		,'r'
		,1
	)
);

edButtons.push(
	new edButton(
		'ed_hr'
		,'水平'
		,'水平線を挿入'
		,'hr：水平線を挿入します'
		,'[hr /]'
		,''
		,''
		,''
		,''
		,0
		,-1
	)
);
//---------------------- 使用する拡張タグ設定ここまで

function edShowButton(button, i) {
	if (button.access) {
		var accesskey = ' accesskey = "' + button.access + '"'
	}
	else {
		var accesskey = '';
	}

	// ボタン表示フラグ
	if (button.visibility == 1){
		switch (button.id) {
			case 'ed_image':
				document.write('<input type="button" id="' + button.id + '" ' + accesskey + ' class="ed_button" title="' + button.title + '" onclick="edInsertImage(edCanvas);" value="' + button.display + '" onmouseover="showHelpMsg(' + i + ');" onmouseout="hideHelpMsg();" />');
				break;
			case 'ed_anchor':
				document.write('<input type="button" id="' + button.id + '" ' + accesskey + ' class="ed_button" title="' + button.title + '" onclick="edInsertLink(edCanvas);" value="' + button.display + '" onmouseover="showHelpMsg(' + i + ');" onmouseout="hideHelpMsg();" />');
				break;
			case 'ed_style':
				document.write('<input type="button" id="' + button.id + '" ' + accesskey + ' class="ed_button" title="' + button.title + '" onclick="edInsertStyle(edCanvas);" value="' + button.display + '" onmouseover="showHelpMsg(' + i + ');" onmouseout="hideHelpMsg();" />');
				break;
			case 'ed_ulist':
				document.write('<input type="button" id="' + button.id + '" ' + accesskey + ' class="ed_button" title="' + button.title + '" onclick="edInsertList(edCanvas);" value="' + button.display + '" onmouseover="showHelpMsg(' + i + ');" onmouseout="hideHelpMsg();" />');
				break;
			default:
				document.write('<input type="button" id="' + button.id + '" ' + accesskey + ' class="ed_button" title="' + button.title + '" onclick="edInsertTag(edCanvas, ' + i + ');" value="' + button.display + '" onmouseover="showHelpMsg(' + i + ');" onmouseout="hideHelpMsg();" />');
				break;
		}
	}
}

function edAddTag(button) {
	if (edButtons[button].tagEnd != '') {
		edOpenTags[edOpenTags.length] = button;
		document.getElementById(edButtons[button].id).value = '/' + document.getElementById(edButtons[button].id).value;
		document.getElementById(edButtons[button].id).style.backgroundColor = "#ccc";
	}
}

function edRemoveTag(button) {
	for (i = 0; i < edOpenTags.length; i++) {
		if (edOpenTags[i] == button) {
			edOpenTags.splice(i, 1);
			document.getElementById(edButtons[button].id).value = document.getElementById(edButtons[button].id).value.replace('/', '');
			document.getElementById(edButtons[button].id).style.backgroundColor = '';
		}
	}
}

function edCheckOpenTags(button) {
	var tag = 0;
	for (i = 0; i < edOpenTags.length; i++) {
		if (edOpenTags[i] == button) {
			tag++;
		}
	}
	if (tag > 0) {
		return true; // tag found
	}
	else {
		return false; // tag not found
	}
}	

function edCloseAllTags() {
	var count = edOpenTags.length;
	for (o = 0; o < count; o++) {
		edInsertTag(edCanvas, edOpenTags[edOpenTags.length - 1]);
	}
}

function edToolbar() {
	document.write('<div id="ed_toolbar"><span>');
	for (i = 0; i < extendedStart; i++) {
		edShowButton(edButtons[i], i);
	}
	if (edShowExtraCookie()) {
		document.write(
			'<input type="button" id="ed_close" class="ed_button" title="閉じられてないタグを全て閉じる" onclick="edCloseAllTags();" value="タグを閉じる" onmouseover="document.getElementById(\'helpmsg\').value=this.title;" onmouseout="hideHelpMsg();" />'
			+ '<input type="button" id="ed_extra_show" class="ed_button" title="拡張タグを開く" onclick="edShowExtra()" value="&raquo;" onmouseover="document.getElementById(\'helpmsg\').value=this.title;" onmouseout="hideHelpMsg();" />'
			+ '</span><br />'
			+ '<span id="ed_extra_buttons">'
			+ '<input type="button" id="ed_extra_hide" class="ed_button" title="拡張タグを閉じる" onclick="edHideExtra();" value="&laquo;" onmouseover="document.getElementById(\'helpmsg\').value=this.title;" onmouseout="hideHelpMsg();" />'
		);
	}
	else {
		document.write(
			'<input type="button" id="ed_close" class="ed_button" title="閉じられてないタグを全て閉じる" onclick="edCloseAllTags();" value="タグを閉じる" onmouseover="document.getElementById(\'helpmsg\').value=this.title;" onmouseout="hideHelpMsg();" />'
			+ '<input type="button" id="ed_extra_show" class="ed_button" title="拡張タグを開く" onclick="edShowExtra()" value="&raquo;" onmouseover="document.getElementById(\'helpmsg\').value=this.title;" onmouseout="hideHelpMsg();" />'
			+ '</span><br />'
			+ '<span id="ed_extra_buttons" style="display: none;">'
			+ '<input type="button" id="ed_extra_hide" class="ed_button" title="拡張タグを閉じる" onclick="edHideExtra();" value="&laquo;" onmouseover="document.getElementById(\'helpmsg\').value=this.title;" onmouseout="hideHelpMsg();" />'
		);
	}
	for (i = extendedStart; i < edButtons.length; i++) {
		edShowButton(edButtons[i], i);
	}
	document.write(
			'&nbsp;<a href="http://blog.livedoor.jp/cie/" target="_blank" alt="Quicktags Plus" onmouseover="document.getElementById(\'helpmsg\').value=\'Goto Author Website.\';" onmouseout="hideHelpMsg();">v' + LibraryVersion + '</a>'
			+ '</span>'
			+ '<input type="text" id="helpmsg" name="helpmsg" size="80" readonly="readonly" value="' + HelpMessage + '" />'
	);
	document.write('</div>');
}

function edShowExtra() {
	document.getElementById('ed_extra_show').style.visibility = 'hidden';
	document.getElementById('ed_extra_buttons').style.display = 'block';
	edSetCookie(
		'js_quicktags_extra'
		, 'show'
		, new Date("December 31, 2100")
	);
}

function edHideExtra() {
	document.getElementById('ed_extra_buttons').style.display = 'none';
	document.getElementById('ed_extra_show').style.visibility = 'visible';
	edSetCookie(
		'js_quicktags_extra'
		, 'hide'
		, new Date("December 31, 2100")
	);
}

// insertion code

function edInsertTag(myField, i) {
	//IE support
	if (document.selection) {
		myField.focus();
	    sel = document.selection.createRange();
		if (sel.text.length > 0) {
			sel.text = edButtons[i].tagStart + sel.text + edButtons[i].tagEnd;
		}
		else {
			if (!edCheckOpenTags(i) || edButtons[i].tagEnd == '') {
				sel.text = edButtons[i].tagStart;
				edAddTag(i);
			}
			else {
				sel.text = edButtons[i].tagEnd;
				edRemoveTag(i);
			}
		}
		myField.focus();
	}
	//MOZILLA/NETSCAPE support
	else if (myField.selectionStart || myField.selectionStart == '0') {
		var startPos = myField.selectionStart;
		var endPos = myField.selectionEnd;
		var cursorPos = endPos;
		var scrollTop = myField.scrollTop;
		if (startPos != endPos) {
			myField.value = myField.value.substring(0, startPos)
			              + edButtons[i].tagStart
			              + myField.value.substring(startPos, endPos) 
			              + edButtons[i].tagEnd
			              + myField.value.substring(endPos, myField.value.length);
			cursorPos += edButtons[i].tagStart.length + edButtons[i].tagEnd.length;
		}
		else {
			if (!edCheckOpenTags(i) || edButtons[i].tagEnd == '') {
				myField.value = myField.value.substring(0, startPos) 
				              + edButtons[i].tagStart
				              + myField.value.substring(endPos, myField.value.length);
				edAddTag(i);
				cursorPos = startPos + edButtons[i].tagStart.length;
			}
			else {
				myField.value = myField.value.substring(0, startPos) 
				              + edButtons[i].tagEnd
				              + myField.value.substring(endPos, myField.value.length);
				edRemoveTag(i);
				cursorPos = startPos + edButtons[i].tagEnd.length;
			}
		}
		myField.focus();
		myField.selectionStart = cursorPos;
		myField.selectionEnd = cursorPos;
		myField.scrollTop = scrollTop;
	}
	else {
		if (!edCheckOpenTags(i) || edButtons[i].tagEnd == '') {
			myField.value += edButtons[i].tagStart;
			edAddTag(i);
		}
		else {
			myField.value += edButtons[i].tagEnd;
			edRemoveTag(i);
		}
		myField.focus();
	}
}

function edInsertContent(myField, myValue) {
	//IE support
	if (document.selection) {
		myField.focus();
		sel = document.selection.createRange();
		sel.text = myValue;
		myField.focus();
	}
	//MOZILLA/NETSCAPE support
	else if (myField.selectionStart || myField.selectionStart == '0') {
		var startPos = myField.selectionStart;
		var endPos = myField.selectionEnd;
		var scrollTop = myField.scrollTop;
		myField.value = myField.value.substring(0, startPos)
		              + myValue 
                      + myField.value.substring(endPos, myField.value.length);
		myField.focus();
		myField.selectionStart = startPos + myValue.length;
		myField.selectionEnd = startPos + myValue.length;
		myField.scrollTop = scrollTop;
	} else {
		myField.value += myValue;
		myField.focus();
	}
}
// リンク
function edInsertLink(myField) {
	var myURL = prompt('リンクするURLを入力してください' , 'http://');
	var txt;

	if (myURL) {
		var data = myURL.match(/(^http|^ftp|^https):\/\//);
		var data2 = myURL.match(/\s|"/);
		if (!data || data2){
			alert("URLが正しくありません。");
		}
		else {
			txt = prompt('リンクテキストを入力してください','');
			if (!txt) {
				alert("リンクテキストを入力してください。");
			}
			else if (txt != null){
				myURL = '[a]' + myURL + '[txt]' + txt + '[/txt][/a]';
				edInsertContent(myField, myURL); 
			}
		}
	}
}
// 画像
function edInsertImage(myField) {
	var myValue = prompt('画像のURLを入力してください', 'http://');
	var alt;
	
	if (myValue) {
		var data = myValue.match(/^http:\/\/.+(gif|jpe?g|png)$/);
		var data2 = myValue.match(/\s/);
		if (!data || data2){
			alert("画像URLは正しく入力してください。");
		}
		else {
			alt = prompt('代替テキストを入力してください。','');
			if (!alt) {
				myValue = '[img]' + myValue + '[/img]';
				edInsertContent(myField, myValue);
			}
			else if (alt != null){
				myValue = '[img]' + myValue + '[alt]' + alt + '[/alt][/img]';
				edInsertContent(myField, myValue);
			}
		}
	}
}
// スタイル
function edInsertStyle(myField) {
	var myStyle = prompt('スタイルを入力してください。例：color: #0F743D;' , '');
	var txt;
	
	if(myStyle) {
		var data = myStyle.match(/\;$/);
		var data2 = myStyle.match(/^\W/);
		if (!data || data2) {
			alert("スタイルを正しく記述して下さい。");
		}
		else {
			txt = prompt('装飾したいテキストを入力してください。','');
			if (!txt) {
				alert("装飾したいテキストを入力して下さい。");
			}
			else if (txt != null){
				myStyle = '[span][style]' + myStyle + '[/style]' + txt + '[/span]';
				edInsertContent(myField, myStyle);
			}
		}
	}
}

function edInsertList(myField) {
	var myList;
	var myItem = '';
	var listItem;
	var i = prompt('リストで使用する項目数を半角数字で入力してください。' , '');
	
	if (i) {
		var data = i.match(/\d/);
		var k = i;
		if(!data){
			alert("半角数字で入力してください");
		}
		else{
			for(j = 0; j < i; j++){
				var l = j+1;

				listItem = prompt('' + l + 'つ目の項目の内容を入力してください。残り' + k + 'つの項目。','');
				k--;
				
				if (listItem == null) {
					break;	// 途中でキャンセル
				}
				else{
					myItem = myItem + '[li]' + listItem + '[/li]';
				}
			}
			if (listItem != null) {
				myList = '[ul]' + myItem + '[/ul]';
				edInsertContent(myField, myList); 
			}
		}
	}
}


function countInstances(string, substr) {
	var count = string.split(substr);
	return count.length - 1;
}

function edSetCookie(name, value, expires, path, domain) {
	document.cookie= name + "=" + escape(value) +
		((expires) ? "; expires=" + expires.toGMTString() : "") +
		((path) ? "; path=" + path : "") +
		((domain) ? "; domain=" + domain : "");
}

function edShowExtraCookie() {
	var cookies = document.cookie.split(';');
	for (var i=0;i < cookies.length; i++) {
		var cookieData = cookies[i];
		while (cookieData.charAt(0) ==' ') {
			cookieData = cookieData.substring(1, cookieData.length);
		}
		if (cookieData.indexOf('js_quicktags_extra') == 0) {
			if (cookieData.substring(19, cookieData.length) == 'show') {
				return true;
			}
			else {
				return false;
			}
		}
	}
	return false;
}


// ----------------------------------------------------------------------------------------
// Tag変換用スクリプト
// ----------------------------------------------------------------------------------------
//--------Tag変換ココから
function changeCommentTags() {
	var tags = getCommentTags(edButtons);
	var objComArea;
	var classComArea;
	var objComBody = new Array();
	if (commentAreaIdName != '') {
		objComArea = document.getElementById(commentAreaIdName);
	if (!objComArea || !objComArea.innerHTML) return;
		classComArea = objComArea.getElementsByTagName(commentAreaTag);
	} else {
		classComArea = document.getElementsByTagName('*');
	}
	for (var i = 0; i < classComArea.length; i++) {
		if (classComArea[i].className == commentBodyClassName) objComBody[objComBody.length] = classComArea[i];
	}
	for (var i = 0; i < objComBody.length; i++) {
		objComBody[i].innerHTML = getStringCommentTags(tags, objComBody[i].innerHTML);
	}
}

// tagを設定(抽出)する設定
function getCommentTags(buttons){
	var tags = new Array();

	for(var i = 0; i < buttons.length; i++) {
		tags[tags.length] = new Array(strSubstring(buttons[i].tagStart));
		if(buttons[i].tagEnd != ''){
			tags[tags.length] = new Array(strSubstring(buttons[i].tagEnd));
		}
		
		if(buttons[i].optStart != ''){
			tags[tags.length] = new Array(strSubstring(buttons[i].optStart));
			tags[tags.length] = new Array(strSubstring(buttons[i].optEnd));
		}
	}

	return tags;
}
// 疑似タグからHTMLタグへ変換する関数
function getStringCommentTags(tags, s) {
	for (var i = 0; i < tags.length; i++) {
		// imgタグ用
		if(tags[i] == "img"){
			s = s.split('[' + tags[i] + ']').join('<' + tags[i] +' src="');
		} else if(tags[i] =="alt"){
			s = s.split('[' + tags[i] + ']').join('" ' + tags[i] + '="');
		} else if(tags[i] =="/alt"){
			s = s.split('[' + tags[i] + ']').join('');
		} else if(tags[i] == "/img"){
			s = s.split('[' + tags[i] + ']').join('" class="pic" />');
		}
		// aタグ用
        		else if(tags[i] == "a"){
			s = s.split('[' + tags[i] + ']').join('<' + tags[i] +' href="');
		} else if(tags[i] == "txt"){
			s = s.split('[' + tags[i] + ']').join('">');
		} else if(tags[i] == "/txt"){
			s = s.split('[' + tags[i] + ']').join('');
		} else if(tags[i] == "/a"){
			s = s.split('[' + tags[i] + ']').join('<' + tags[i] + '>');
		}
      		// span styleタグ用
		else if(tags[i] == "span"){
			s = s.split('[' + tags[i] + ']').join('<' + tags[i] + '');
		} else if(tags[i] == "style"){
			s = s.split('[' + tags[i] + ']').join(' ' + tags[i] +'="');
		} else if(tags[i] == "/style"){
			s = s.split('[' + tags[i] + ']').join('">');
		} else if(tags[i] == "/span"){
			s = s.split('[' + tags[i] + ']').join('<' + tags[i] + '>');
		}
		// left center right用
		else if(tags[i] == "left" || tags[i] == "center" || tags[i] == "right"){
			s = s.split('[' + tags[i] + ']').join('<p style="text-align: ' + tags[i] + ';">');
		} else if(tags[i] == "/left" || tags[i] == "/center" || tags[i] == "/right"){
			s = s.split('[' + tags[i] + ']').join('</p>');
		}
		// その他デフォルト用
		else{
			s = s.split('[' + tags[i] + ']').join('<' + tags[i] + '>');
		}
	}
	return s;
}
//--------Tag変換ココまで

function strSubstring(str){
	var end = str.indexOf("]");
	var s = str.substring(1,end);
	
	return s;
}


//---------------------- 文字数制限チェック
function maxNumCharCheck(){
	var maxNum = 400;
	var txt = document.comment_form.text.value;
	var b = getByte(txt);
	
	if(maxNum < b){
		alert("コメントは半角" + maxNum + "文字以内で入力してください\n現在は半角" + b + "文字です。");
		return(false);
	}
	
}
//---------------- バイト数を求める関数
function getByte(text){
	var count = 0;
	for(var i = 0; i < text.length; i++) {
		n = escape(text.charAt(i));
		if (n.length < 4){
			count++;
		}
		else{
			count+=2;
		}
	}
	return count;
}

//----------------- ヘルプメッセージ用関数
function showHelpMsg(i) {
	document.getElementById('helpmsg').value = edButtons[i].help;
}
function hideHelpMsg() {
	document.getElementById('helpmsg').value = HelpMessage;
}
