function UnbTextKeydownHandler(){if(!window.event)return!0;if(window.event.keyCode==9)return document.selection.createRange().duplicate().text.length?window.event.shiftKey?(document.selection.createRange().duplicate().text=document.selection.createRange().duplicate().text.replace(/\n\t/g,"\n"),document.selection.createRange().duplicate().text=document.selection.createRange().duplicate().text.replace(/^\t/g,"")+"\n"):document.selection.createRange().duplicate().text="\t"+document.selection.createRange().duplicate().text.replace(/\n/g,
"\n\t")+"\n":window.event.shiftKey||UnbInsertText("\t"),!1}
function UnbEditorDoCmd(b,c,a){textbox.focus();switch(c){case "bold":UnbEncloseText("[b]","[/b]",1);break;case "italic":UnbEncloseText("[i]","[/i]",1);break;case "underline":UnbEncloseText("[u]","[/u]",1);break;case "strike":UnbEncloseText("[s]","[/s]",1);break;case "mono":UnbEncloseText("[m]","[/m]",1);break;case "quote":if(b.shiftKey){if(UnbInsertText("[/quote]\n\n\n\n[quote]\n"),textbox.selectionStart>=0)textbox.selectionStart=textbox.selectionEnd-=10}else UnbEncloseText("[quote]\n","\n[/quote]",
1);break;case "code":if(b.shiftKey){if(UnbInsertText("[/code]\n\n\n\n[code]\n"),textbox.selectionStart>=0)textbox.selectionStart=textbox.selectionEnd-=10}else UnbEncloseText("[code]\n","\n[/code]",1);break;case "url":if(b.shiftKey){if(UnbEncloseText("[url=]","[/url]",0),textbox.selectionStart>=0)textbox.selectionStart=textbox.selectionEnd=textbox.selectionStart+5}else UnbEncloseText("[url]","[/url]",1);break;case "img":UnbEncloseText("[img]","[/img]",1);break;case "color":UnbEncloseText("[color="+
a+"]","[/color]",1);break;case "font":UnbEncloseText("[font="+a+"]","[/font]",1);break;case "size":UnbEncloseText("[size="+a+"]","[/size]",1);break;case "undo":document.selection.createRange().execCommand("Undo");case "redo":document.selection.createRange().execCommand("Redo")}}
function UnbEncloseText(b,c,a){if(navigator.appName=="Microsoft Internet Explorer"&&document.selection&&document.selection.createRange().duplicate().text.length)a=document.selection.createRange().duplicate().text,a.substring(0,b.length)==b&&a.substring(a.length-c.length,a.length)==c?document.selection.createRange().duplicate().text=a.substring(b.length,a.length-c.length):document.selection.createRange().duplicate().text=b+a+c;else if(textbox.selectionEnd&&textbox.selectionEnd-textbox.selectionStart>
0){var d=textbox.selectionStart,e=textbox.selectionEnd,f=textbox.scrollTop,g=textbox.scrollLeft,h=textbox.value.substring(0,d),a=textbox.value.substring(d,e),j=textbox.value.substring(e,textbox.textLength);a.substring(0,b.length)==b&&a.substring(a.length-c.length,a.length)==c?(a=a.substring(b.length,a.length-c.length),b=e-b.length-c.length):(a=b+a+c,b=e+b.length+c.length);textbox.value=h+a+j;textbox.selectionStart=d;textbox.selectionEnd=b;textbox.scrollTop=f;textbox.scrollLeft=g}else UnbInsertText(b+
c),a<=1&&(textbox.selectionEnd-=c.length),a<=0&&(textbox.selectionEnd-=b.length)}
function UnbInsertText(b,c){c==null&&(c=0);if(textbox.createTextRange)textbox.focus(),document.selection.createRange().duplicate().text=b,textbox.focus();else if(textbox.selectionStart>=0){var a=textbox.selectionStart,d=textbox.selectionEnd,e=textbox.scrollTop,f=textbox.scrollLeft,g=textbox.value.substring(0,a-c),d=textbox.value.substring(d,textbox.textLength);textbox.value=g+b+d;textbox.selectionStart=textbox.selectionEnd=a-c+b.length;textbox.focus();textbox.scrollTop=e;textbox.scrollLeft=f}else textbox.value+=
b,textbox.focus()}var UnbUpdateTimeout=null;function UnbCheckLength(b,c){if(b){UnbUpdateTimeout&&window.clearTimeout(UnbUpdateTimeout);UnbUpdateTimeout=window.setTimeout("UnbUpdateLength("+b.value.length+", "+c+")",100);if(c<=0||b.value.length<=c)return!0;b.value=b.value.substr(0,c);return!1}}function UnbUpdateLength(b,c){var a=document.getElementById("textlength");if(a)a.firstChild.nodeValue=b,a.className=c>0&&b>=c*0.95?"warning":""}
function UnbTextKeyup(b,c){var a=b.which,a=UnbGetCharBeforeCursor(c),d=unicodeAlternatives(a);if(d==""){for(i=32;i<=127;i++)if(d=unicodeAlternatives(i),d.indexOf(String.fromCharCode(a))!=-1)break;i>127&&(d="")}UnbShowChars(d)}function UnbGetCharBeforeCursor(b){if(b!=null)return b.selectionStart>0?b.value.charCodeAt(b.selectionStart-1):0}
function UnbShowChars(b){for(var c;c=getel("altchars").firstChild;)getel("altchars").removeChild(c);for(c=0;c<b.length;c++){if(c<10){var a=document.createTextNode(c+":"),d=document.createElement("small");d.appendChild(a);getel("altchars").appendChild(d)}var a=b.substr(c,1),d=document.createElement("a"),e=document.createTextNode(a);d.appendChild(e);d.setAttribute("href","javascript:nothing()");d.setAttribute("class","altchar");c<10&&d.setAttribute("accesskey",c);a=a.replace(/"/,'\\"');d.setAttribute("onclick",
'UnbInsertText("'+a+'", 1)');getel("altchars").appendChild(d);a=document.createTextNode(" ");getel("altchars").appendChild(a)}b.length==0&&(d=document.createElement("span"),e=document.createTextNode(" "),d.appendChild(e),d.setAttribute("class","altchar"),getel("altchars").appendChild(d),d=document.createElement("small"),e=document.createTextNode(ALTCHARS_NOTE),d.appendChild(e),getel("altchars").appendChild(d))};

