function fnWrapWithTags(txt, sTag, sClass){
    var sHTML = "[" + sTag;
    sHTML += (sClass) ? " class=\"" + sClass + "\"" : "";
    sHTML += ("]" +txt + "[/" + sTag + "]");
    return sHTML;
}

function fnEmphatic(){
    var txt = this.toString();
    var sTag = "i";
    return fnWrapWithTags(txt, sTag, "");
}
String.prototype.em = fnEmphatic;

function fnVeryEmphatic(){
    var txt = this.toString();
    var sTag = "b";
    return fnWrapWithTags(txt, sTag, "");
}
String.prototype.strong = fnVeryEmphatic;

function fnUl(){
    var txt = this.toString();
    var sTag = "ul";
    return fnWrapWithTags(txt, sTag, "");
}
String.prototype.ul = fnUl;

function fnLi(){
    var txt = this.toString();
    var sTag = "li";
    return fnWrapWithTags(txt, sTag, "");
}
String.prototype.li = fnLi;

function fnHref(){
    var txt = this.toString();
    var sTag = "href";
    return fnWrapWithTags(txt, sTag, "");
}
String.prototype.href = fnHref;

function fnImg(){
    var txt = this.toString();
    var sTag = "img";
    return fnWrapWithTags(txt, sTag, "");
}
String.prototype.img = fnImg;

function fnLeft(){
    var txt = this.toString();
    var sTag = "left";
    return fnWrapWithTags(txt, sTag, "");
}
String.prototype.left= fnLeft;

function fnRight(){
    var txt = this.toString();
    var sTag = "right";
    return fnWrapWithTags(txt, sTag, "");
}
String.prototype.right= fnRight;

function fnCenter(){
    var txt = this.toString();
    var sTag = "center";
    return fnWrapWithTags(txt, sTag, "");
}
String.prototype.center= fnCenter;

function fnJustify(){
    var txt = this.toString();
    var sTag = "justify";
    return fnWrapWithTags(txt, sTag, "");
}
String.prototype.justify= fnJustify;

function fnApplyTag(sTag){
    // Спасибо Александру Карповичу <alexandr@cybermail.net> за найденные баги
    //if (!document.all && !document.all.item) return; // «Уходим, уходим, уходим», если это не IE4+
    //var oSelTxt = document.selection.createRange();
    //var sSelTxt = oSelTxt.text;
    //if (sSelTxt) oSelTxt.text = eval("sSelTxt."+sTag+"()");
	var obj=document.add.text;
	obj.focus();
	 
 if (document.selection) 
 {
	var oSelTxt = document.selection.createRange();
    var sSelTxt = oSelTxt.text;
    if (sSelTxt) oSelTxt.text = eval("sSelTxt."+sTag+"()");
 }
 
 else if (typeof(obj.selectionStart)=="number")
 
 {
   if (obj.selectionStart!=obj.selectionEnd)
   {
     var start = obj.selectionStart;
     var end = obj.selectionEnd;

     eval("var rs = "+sTag+"(obj.value.substr(start,end-start));");
     obj.value = obj.value.substr(0,start)+rs+obj.value.substr(end);
     obj.setSelectionRange(end,end);
   }
   return true;
 }
 
}

