function getSelectedText() {var post=document.form1.bbscontent; var selected='';
if(post.isTextEdit){post.focus();var sel= document.selection;var rng= sel.createRange();rng.colapse;
if((sel.type =="Text" || sel.type=="None") && rng !=null){
if(rng.text.length > 0) selected=rng.text;}}return selected;}
function AddText(NewCode) {document.all ? insertAtCaret(document.form1.bbscontent, NewCode) : document.form1.bbscontent.value += NewCode;setfocus();}
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 storeCaret(textEl){if(textEl.createTextRange){textEl.caretPos=document.selection.createRange().duplicate();}}
function setfocus() {document.form1.bbscontent.focus();}
function bold(){if (getSelectedText()) {var range=document.selection.createRange();range.text="[b]"+range.text+"[/b]";}
else {AddTxt="[b] [/b]";AddText(AddTxt);}}
function italicize() {if (getSelectedText()) {var range=document.selection.createRange();range.text="[i]"+range.text+"[/i]";}
else {AddTxt="[i] [/i]";AddText(AddTxt);}}
function underline(){if (getSelectedText()){var range=document.selection.createRange();range.text="[u]"+range.text+"[/u]";}
else{AddTxt="[u] [/u]";AddText(AddTxt);}}
function align(str){if(getSelectedText()){var range=document.selection.createRange();range.text="[align="+str+"]" + range.text + "[/align]";}
else {AddTxt="[align="+str+"] [/align]";AddText(AddTxt);}}
function email(){if (getSelectedText()){var range=document.selection.createRange();range.text="[email=yourname@yourdomain.com]" + range.text + "[/email]";}
else{AddTxt="[email]yourname@yourdomain.com[/email]";AddText(AddTxt);}}
function hyperlink(){if (getSelectedText()){var range=document.selection.createRange();range.text="[url=http://]" + range.text + "[/url]";}
else{AddTxt="[url]http://[/url]";AddText(AddTxt);}}
function image(){AddTxt="\r[img]http://[/img]\r";AddText(AddTxt);}
function flash(){AddTxt="\r[swf]http://[/swf]\r";AddText(AddTxt);}
function code(){if (getSelectedText()){var range=document.selection.createRange();range.text="[code]" + range.text + "[/code]";}
else {AddTxt="\r[code] [/code]";AddText(AddTxt);}}
function quote(){if (getSelectedText()){var range=document.selection.createRange();range.text="[quote]" + range.text + "[/quote]";}
else {AddTxt="\r[quote] [/quote]";AddText(AddTxt);}}
function media(){AddTxt="\r[media]http://[/media]\r";AddText(AddTxt);}
function fly(){if (getSelectedText()){var range=document.selection.createRange();range.text="[fly]" + range.text + "[/fly]";}
else {AddTxt="[fly] [/fly]";AddText(AddTxt);}}
function move(){if (getSelectedText()){var range=document.selection.createRange();range.text="[move]" + range.text + "[/move]";}
else {AddTxt="[move] [/move]";AddText(AddTxt);}}
function light(){if (getSelectedText()){var range=document.selection.createRange();range.text="[light]" + range.text + "[/light]";}
else {AddTxt="[light] [/light]";AddText(AddTxt);}}
function chcolor(color){if (getSelectedText()){var range=document.selection.createRange();range.text="[color=" + color + "]" + range.text + "[/color]";} else{AddTxt="[color="+color+"] [/color]";AddText(AddTxt);}}
function chsize(size){if (getSelectedText()){var range=document.selection.createRange();range.text="[size=" + size + "]" + range.text + "[/size]";}
else {AddTxt="[size="+size+"] [/size]";AddText(AddTxt);}}
function chfont(font){if (getSelectedText()){var range=document.selection.createRange();range.text="[font=" + font + "]" + range.text + "[/font]";}
else {AddTxt="[font="+font+"] [/font]";AddText(AddTxt);}}

function html_Paste(str){
str=str.replace(/\r/g,"");str=str.replace(/on(load|click|dbclick|mouseover|mousedown|mouseup)="[^"]+"/ig,"");
str=str.replace(/<script[^>]*?>([\w\W]*?)<\/script>/ig,"");str=str.replace(/<a[^>]+href="([^"]+)"[^>]*>(.*?)<\/a>/ig,"[url=$1]$2[/url]");
str=str.replace(/<font[^>]+color=([^ >]+)[^>]*>(.*?)<\/font>/ig,"[color=$1]$2[/color]");
str=str.replace(/<img[^>]+src="([^"]+)"[^>]*>/ig,"[img]$1[/img]");
str=str.replace(/<([\/]?)b>/ig,"[$1b]");str=str.replace(/<([\/]?)strong>/ig,"[$1b]");
str=str.replace(/<([\/]?)u>/ig,"[$1u]");str=str.replace(/<([\/]?)i>/ig,"[$1i]");
str=str.replace(/ /g," ");str=str.replace(/&/g,"&");str=str.replace(/"/g,"\"");str=str.replace(/&lt;/g,"<");
str=str.replace(/&gt;/g,">");str=str.replace(/<br>/ig,"\n");str=str.replace(/<[^>]*?>/g,"");
str=str.replace(/\[url=([^\]]+)\](\[img\]\1\[\/img\])\[\/url\]/g,"$2");return str;}
function Paste(){var str=window.clipboardData.getData("Text");if(str!=null){
str=html_Paste(str);if (getSelectedText()){var range=document.selection.createRange();range.text=str;}else{AddText(str);};}}
function getIndex(o,e) {
if (e) {
var cols=16;
var rows=4;
var emotion_shortcut=":) :D ;) :-O :P (H) :@ :S :$ :( :^) *-) :'( :| (A) :-# 8o| 8-| +o( <:o) |-) :-* ^o) 8-) (L) (U) (M) (@) (&) (sn) (st) (li) (S) (*) (#) (R) ({) (}) (K) (F) (W) (0) (T) (mo) (um) (so) (au) (ap) (B) (D) (C) (Z) (X) (~) (8) (E) (P) (G) (^) (ip) (I) (Y) (N) (h5)";
var emoarr=emotion_shortcut.split(" ");
var unitwidth=Math.ceil(o.offsetWidth/cols);
var unitheight=Math.ceil(o.offsetHeight/rows);
var xinimg=document.documentElement.scrollLeft+e.clientX-getPos(o,"Left");
var yinimg=document.documentElement.scrollTop+e.clientY-getPos(o,"Top");
var r=Math.floor(yinimg/unitheight);
var c=Math.floor(xinimg/unitwidth)+r*cols;
AddText(" "+emoarr[c]+" ");
document.getElementById('k_bbsemotion').style.visibility='hidden';}}

function getPos(el,sProp){var iPos=0;while (el!=null) {iPos+=el["offset"+sProp];el=el.offsetParent;}return iPos;}

function getUBB(o,e){
var c=getGuide(o,e)
switch(c){
case 0:bold();break;
case 1:italicize();break;
case 2:underline();break;
case 3:align("left");break;
case 4:align("center");break;
case 5:align("right");break;
case 6:hyperlink();break;
case 7:email();break;
case 8:image();break;
case 9:flash();break;
case 10:media();break;
case 11:code();break;
case 12:quote();break;
case 13:fly();break;
case 14:move();break;
case 15:light();break;
case 16:chkPaste();break;
case 17:emoshow();document.getElementById('k_bbshelp').style.visibility='hidden';break;
case 18:Help();document.getElementById('k_bbsemotion').style.visibility='hidden';break;}
if (c!=17 && c!=18){hiddenDiv();}}

function Help(){document.getElementById('k_bbshelp').style.visibility='visible';}

function emoshow(){document.getElementById('k_bbsemotion').style.visibility='visible';}

function getGuide(o,e){
if(e){var cols=19;var unitwidth=Math.ceil(o.offsetWidth/cols);var inimg=document.body.scrollLeft+e.clientX-getPos(o,"Left");
var c=Math.floor(inimg/unitwidth);return c;}}

function showTitle(o,e) {
var myArray = new Array("Bold","Italicize","UnderLine","Align Left","Align Center","Align Right","HyperLink","Email","Insert Image","Insert Flash","Insert Media","Insert Code","Quote","Fly","Move","Light","Paste","Insert Emotion","Help");
o.title = myArray[getGuide(o,e)]}

function hiddenDiv(){
document.getElementById('k_bbsemotion').style.visibility='hidden';
document.getElementById('k_bbshelp').style.visibility='hidden';}

txtContent=document.getElementById("txt");
function HTML2UBB(strHTML){
	var re=htmlDecode(strHTML);
	re=re.replace(/height *>/ig,"");
	re=re.replace(/width *>/ig,"");
	re=re.replace(/<(\/?)strong>/ig,"[$1b]");
	re=re.replace(/<(\/?)strong>/ig,"[$1b]");
	re=re.replace(/<center>/ig,"[align=center]");
	re=re.replace(/<\/center>/ig,"[\/align]");
	re=re.replace(/<(\/?)b>/ig,"[$1b]");
	re=re.replace(/<(\/?)em>/ig,"[$1i]");
	re=re.replace(/<(\/?)i>/ig,"[$1i]");
	re=re.replace(/< *(\/?) *div[\w\W]*?>/ig,"\r\n");
	re=re.replace(/< *img +[\w\W]*?src=["]?([^">\r\n]+)[\w\W]*?>/ig,"[img]$1[/img]");
	re=re.replace(/< *a +[\w\W]*?href=["]?([^">\r\n]+)[\w\W]*?>([\w\W]*?)< *\/ *a *>/ig,"[url=$1]$2[/url]");
	re=re.replace(/<script[\w\W]+?<\/script>/ig,"");
	re=re.replace(/<[\w\W]*?>/ig,"");
	re=re.replace(/(\r\n){2,}/g,"\r\n");
	return(re);}

function htmlEncode(strS){return(strS.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/ /g,"&nbsp;").replace(/\r\n/g,"<br\/>"));}
function htmlDecode(strS){return(strS.replace(/<br\/?>/ig,"\r\n").replace(/&nbsp;/ig," ").replace(/&gt;/ig,">").replace(/&lt;/ig,"<").replace(/&amp;/ig,"&"));}
function chkPaste(){txtContent.focus();
	tR=document.selection.createRange();
	dtf.document.body.innerHTML="";
	dtf.document.body.contentEditable=true;
	dtf.document.body.focus();
	dtf.document.execCommand("paste");
	tR.text=HTML2UBB(dtf.document.body.innerHTML);
	tR.select();}


