        function getObj(namevar)
        {
            if (document.getElementById)
            {
                var objekt = document.getElementById(namevar);
            }
            else if (document.all)
            {
                var objekt = document.all[namevar];
            }
            else if (document.layers)
            {
                var objekt = document.layers[namevar];
            }
            return objekt;
        }
        
        function ismaxlength(obj)
        {
            var mlength = obj.getAttribute? parseInt(obj.getAttribute("maxlength")) : ""
            if (obj.getAttribute && obj.value.length>mlength)
            {
                obj.value=obj.value.substring(0,mlength);
            }
        }
        
        var clientPC = navigator.userAgent.toLowerCase();
var is_gecko = ((clientPC.indexOf('gecko')!=-1) && (clientPC.indexOf('spoofer')==-1)
                && (clientPC.indexOf('khtml') == -1) && (clientPC.indexOf('netscape/7.0')==-1));

function insertTags(txtarea, tagOpen, tagClose, sampleText) {
        // IE
        if(document.selection  && !is_gecko) {
                var theSelection = document.selection.createRange().text;
                if(!theSelection) { theSelection=sampleText;}
                txtarea.focus();
                if(theSelection.charAt(theSelection.length - 1) == " "){
                        // exclude ending space char, if any
                        theSelection = theSelection.substring(0, theSelection.length - 1);
                        document.selection.createRange().text = tagOpen + theSelection + tagClose + " ";
                } else {
                        document.selection.createRange().text = tagOpen + theSelection + tagClose;
                }
       
        // Mozilla
        } else if(txtarea.selectionStart || txtarea.selectionStart == '0') {
                var replaced = false;
                var startPos = txtarea.selectionStart;
                var endPos = txtarea.selectionEnd;
                if(endPos-startPos) replaced=true;
                var scrollTop=txtarea.scrollTop;
                var myText = (txtarea.value).substring(startPos, endPos);
                if(!myText) { myText=sampleText;}
                if(myText.charAt(myText.length - 1) == " "){
                        // exclude ending space char, if any
                        subst = tagOpen + myText.substring(0, (myText.length - 1)) + tagClose + " ";
                } else {
                        subst = tagOpen + myText + tagClose;
                }
                txtarea.value = txtarea.value.substring(0, startPos) + subst +
                  txtarea.value.substring(endPos, txtarea.value.length);
                txtarea.focus();
                //set new selection
                if(replaced){
                        var cPos=startPos+(tagOpen.length+myText.length+tagClose.length);
                        txtarea.selectionStart=cPos;
                        txtarea.selectionEnd=cPos;
                }else{
                        txtarea.selectionStart=startPos+tagOpen.length;   
                        txtarea.selectionEnd=startPos+tagOpen.length+myText.length;
                }       
                txtarea.scrollTop=scrollTop;
        }
        // reposition cursor if possible
        if (txtarea.createTextRange) txtarea.caretPos = document.selection.createRange().duplicate();
}
    
        function dodaj_tekst(tekst,id)
        {
            poczatek = getObj(id).selectionStart;
            koniec = getObj(id).selectionEnd;
        
            przedzaznaczonym = getObj(id).value.substring(0,poczatek);
            zaznaczone = getObj(id).value.substring(poczatek,koniec);
            pozaznaczonym = getObj(id).value.substring(koniec,getObj(id).value.length);
            getObj(id).value = "";
            getObj(id).value = przedzaznaczonym+tekst+pozaznaczonym;
        }
        
        function dodaj_tag(tekst,id)
        {
            poczatek = getObj(id).selectionStart;
            koniec = getObj(id).selectionEnd;
        
            przedzaznaczonym = getObj(id).value.substring(0,poczatek);
            zaznaczone = getObj(id).value.substring(poczatek,koniec);
            pozaznaczonym = getObj(id).value.substring(koniec,getObj(id).value.length);
            getObj(id).value = "";
            getObj(id).value = przedzaznaczonym+tekst+zaznaczone+tekst+pozaznaczonym;
        }