function insertBB (code1, code2, code3, code4) { var isMozilla = (navigator.userAgent.toLowerCase().indexOf('gecko')!=-1) ? true : false; var isIE = (navigator.userAgent.toLowerCase().indexOf('MSIE')!=-1) ? true : false; this.code1 = code1; this.code2 = code2; this.code3 = code3; this.code4 = code4; if (! isMozilla) { var str = document.selection.createRange().text; if (str.length > 0) { var sel = document.selection.createRange(); if ((code2 != '') && (code4 == '2')) { var text = prompt("", ""); if ((text == '') || (text == null)) { exit; } sel.text = code1 + text + code2 + str + code3; sel.collapse(); sel.select(); } else { if (code4 == 0) { sel.text = code1; sel.collapse(); sel.select(); window.close(); } else { sel.text = code1 + str + code3; sel.collapse(); sel.select(); } } } else { message.focus(message.caretPos); message.focus(message.value.length); message.caretPos = document.selection.createRange().duplicate(); var bidon = "%~%"; var orig = message.value; if ((code2 != '') && (code4 == '2')) { var text = prompt("", ""); if ((text == '') || (text == null)) { exit; } var text1 = prompt("", ""); if ((text1 == '') || (text1 == null)) { exit; } message.caretPos.text = bidon; var i = message.value.search(bidon); message.value = orig.substr(0,i) + code1 + text + code2 + text1 + code3 + orig.substr(i, message.value.length); } else { if (code4 == '1') { var text1 = prompt("", ""); if ((text1 == '') || (text1 == null)) { exit; } message.caretPos.text = bidon; var i = message.value.search(bidon); message.value = orig.substr(0,i) + code1 + text1 + code3 + orig.substr(i, message.value.length); } else { message.caretPos.text = bidon; var i = message.value.search(bidon); if (code4 == 0) { message.value = orig.substr(0,i) + code1 + orig.substr(i, message.value.length); window.close(); } else { message.value = orig.substr(0,i) + code1 + code3 + orig.substr(i, message.value.length); } } } message.focus(); } } else { // the text before the selection var pretext = message.value.substring(0, message.selectionStart); // the selected text with tags before and after var codetext = message.value.substring(message.selectionStart, message.selectionEnd); // the text after the selection var posttext = message.value.substring(message.selectionEnd, message.value.length); if (! codetext) { if ((code2 != '') && (code4 == '2')) { var text = prompt("", ""); if ((text == '') || (text == null)) { exit; } var text1 = prompt("", ""); if ((text1 == '') || (text1 == null)) { exit; } message.value = pretext + code1 + text + code2 + text1 + code3 + codetext + posttext; } else { if (code4 == '1') { var text1 = prompt("", ""); if ((text1 == '') || (text1 == null)) { exit; } message.value = pretext + code1 + text1 + code3 + codetext + posttext; } else { if (code4 == 0) { message.value = pretext + code1 + codetext + posttext; window.close(); } else { message.value = pretext + code1 + code3 + codetext + posttext; } } } } else { if ((code2 != '') && (code4 == '2')) { var text = prompt("", ""); if ((text == '') || (text == null)) { exit; } message.value = pretext + code1 + text + code2 + codetext + code3 + posttext; } else { if (code4 == 0) { message.value = pretext + code1 + posttext; window.close(); } else { message.value = pretext + code1 + codetext + code3 + posttext; } } } message.focus(); } }