function findObj(theObj, theDoc){
	var i, foundObj;
  
	if(!theDoc) theDoc = document;
	if(!(foundObj = theDoc[theObj]) && theDoc.all)
  		foundObj = theDoc.all[theObj];
	for (i=0; !foundObj && i < theDoc.forms.length; i++) 
    	foundObj = theDoc.forms[i][theObj];
	if(!foundObj && document.getElementById)
  		foundObj = document.getElementById(theObj);

	return foundObj;
}

function insertText(str) {
	var oContent = findObj('content_r');
	if (oContent) {
		if (document.all) {
			insertAtCaret(oContent, str);
		} else {
			oContent.value += str;
		}
		oContent.focus();
	}
}

function insertAtCaret(textEl, text) {
	if (textEl.createTextRange && textEl.caretPos) {
		var caretPos = textEl.caretPos;
		caretPos.text += caretPos.text.charAt(caretPos.text.length - 2) == ' ' ? text + ' ' : text;
	} else if (textEl) {
		textEl.value += text;
	} else {
		textEl.value = text;
	}
}

function insertCode(code, option){
	var promptTitle;
	var promptValue;
	var codeBegin;
	var codeClose;
	var text;
	switch (code){
		case 'B':
			promptTitle = promptValue = "粗體文字";
			codeBegin = "[b]";
			codeClose = "[/b]";
		break;
		case 'I':
			promptTitle = promptValue = "斜體文字";
			codeBegin = "[i]";
			codeClose = "[/i]";
		break;
		case 'U':
			promptTitle = promptValue = "下劃線文字";
			codeBegin = "[u]";
			codeClose = "[/u]";
		break;
		case 'IMG':
			promptTitle = "圖片地址";
			promptValue = "http://";
			codeBegin = "[img]";
			codeClose = "[/img]";
		break;
		case 'URL':
			promptTitle = "超連結";
			promptValue = "http://";
			codeBegin = "[url]";
			codeClose = "[/url]";
		break;
		case 'EMAIL':
			promptTitle = "電子郵件";
			promptValue = "@";
			codeBegin = "[email]";
			codeClose = "[/email]";
		break;
		case 'FLY':
			promptTitle = promptValue = "飛行文字";
			codeBegin = "[fly]";
			codeClose = "[/fly]";
		break;
		case 'QUOTE':
			promptTitle = promptValue = "引文";
			codeBegin = "[quote]";
			codeClose = "[/quote]";
		break;		
		case 'EMBED' :
			promptTitle = promptValue = "影片網址";
			codeBegin = "[EMBED]";
			codeClose = "[/EMBED]";
		break;
		case 'SIZE' :
			promptTitle = "字號 (" +option+ ")";
			promptValue = option;
			codeBegin = "[size=" +option+ "]";
			codeClose = "[/size]";
		break;
		case 'COLOR' :
			promptTitle = "字體顏色 (" +option+ ")";
			promptValue = "顏色字";
			codeBegin = "[color=" +option+ "]";
			codeClose = "[/color]";
		break;
		case 'face1' :
			text = "[face]1[/face]";
		break;
		case 'face2' :
			text = "[face]2[/face]";
		break;
		case 'face3' :
			text = "[face]3[/face]";
		break;
		case 'face4' :
			text = "[face]4[/face]";
		break;
		case 'face5' :
			text = "[face]5[/face]";
		break;
		case 'face6' :
			text = "[face]6[/face]";
		break;
		case 'face7' :
			text = "[face]7[/face]";
		break;
		case 'face8' :
			text = "[face]8[/face]";
		break;
		case 'face9' :
			text = "[face]9[/face]";
		break;
		case 'face10' :
			text = "[face]10[/face]";
		break;
		case 'face11' :
			text = "[face]11[/face]";
		break;
		case 'face12' :
			text = "[face]12[/face]";
		break;
		case 'face13' :
			text = "[face]13[/face]";
		break;
		case 'face14' :
			text = "[face]14[/face]";
		break;
		case 'face15' :
			text = "[face]15[/face]";
		break;
		case 'face16' :
			text = "[face]16[/face]";
		break;
		case 'face17' :
			text = "[face]17[/face]";
		break;
		case 'face18' :
			text = "[face]18[/face]";
		break;
		case 'face19' :
			text = "[face]19[/face]";
		break;
		case 'face20' :
			text = "[face]20[/face]";
		break;
		case 'face21' :
			text = "[face]21[/face]";
		break;
		case 'face22' :
			text = "[face]22[/face]";
		break;
		case 'face23' :
			text = "[face]23[/face]";
		break;
		case 'face24' :
			text = "[face]24[/face]";
		break;
		case 'face25' :
			text = "[face]25[/face]";
		break;
		case 'face26' :
			text = "[face]26[/face]";
		break;
		case 'face27' :
			text = "[face]27[/face]";
		break;
		case 'face28' :
			text = "[face]28[/face]";
		break;
		case 'face29' :
			text = "[face]29[/face]";
		break;
		case 'face30' :
			text = "[face]30[/face]";
		break;
		case 'face31' :
			text = "[face]31[/face]";
		break;
		case 'face32' :
			text = "[face]32[/face]";
		break;
		case 'face33' :
			text = "[face]33[/face]";
		break;
		case 'face34' :
			text = "[face]34[/face]";
		break;
		case 'face35' :
			text = "[face]35[/face]";
		break;
		case 'face36' :
			text = "[face]36[/face]";
		break;
		case 'face37' :
			text = "[face]37[/face]";
		break;
		case 'face38' :
			text = "[face]38[/face]";
		break;
		case 'face39' :
			text = "[face]39[/face]";
		break;
		case 'face40' :
			text = "[face]40[/face]";
		break;
		case 'face41' :
			text = "[face]41[/face]";
		break;
		case 'face42' :
			text = "[face]42[/face]";
		break;
		case 'face43' :
			text = "[face]43[/face]";
		break;
		case 'face44' :
			text = "[face]44[/face]";
		break;
		case 'face45' :
			text = "[face]45[/face]";
		break;
		default:
			text = code;
	}
	if(text){
		insertText(text);
	}else if(option!='false'){
		txt = prompt( "請輸入文字" + promptTitle + ": ", promptValue);
		if (txt != null) {
			insertText(codeBegin + txt + codeClose);
		}
	}
}
