Witam!!
Stworzyłem sobie funkcję do zamiany znaków bb na html. Lecz niestety nie wszystko działa pod różnymi przeglądarkimi, stąd zmuszony byłem napisać warunki na różne przeglądarki. Uprzedzam że dopiero zacząłem w JS i w kodzie jest pewnie sporo błędów. Tak więc proszę o odrobinę wyrozumiałości

Warunki do IE działają bez żadnych problemów. Lecz problem mam z warunkami do Mozilli, nie mogę sobie poradzić z poleceniami.
var cnt=new Array();
function Paste(co){
if(document.selection){
if (cnt[co] == "URL") {
var linkUrl = prompt('Podaj adres URL do strony www.', 'http://');
if(linkUrl != null){
document.forma.tresc.focus();
}
}else if(document.selection.createRange().text.length>0){
document.forma.tresc.focus();
document.selection.createRange().text='['+co+']'+document.selection.createRange().text+'[/'+co+']';
} else {
if (!cnt[co]) cnt[co]=0;
document.forma.tresc.focus();
document.selection.createRange().text="["+((cnt[co]%2)?"/":"")+co+"]";
cnt[co]++;
}
}else if(document.forma.tresc){
if (cnt[co] == "URL") {
var linkUrl = prompt('Podaj adres URL do strony www.', 'http://');
if(linkUrl != null){
document.forma.tresc.focus();
document.forma.tresc.value= document.forma.tresc.value.substring(0,document.forma.tresc.selectionStart) +'
'+linkUrl+''+ document.forma.tresc.value.substring(document.forma.tresc.selectionEnd, document.forma.tresc.textLength);
}
//Mozlilla - >
}else if(document.forma.tresc.textLenght && (document.forma.tresc.selectionEnd > document.forma.tresc.selectionStart)){
document.forma.tresc.focus();
document.forma.tresc.value= document.forma.tresc.value.substring(0,document.forma.tresc.selectionStart) +"["+((cnt[co]%2)?"/":"")+co+"]"+ document.forma.tresc.value.substring(document.forma.tresc.selectionEnd, document.forma.tresc.textLength);
} else {
if (!cnt[co]) cnt[co]=0;
document.forma.tresc.focus();
document.forma.tresc.value="["+((cnt[co]%2)?"/":"")+co+"]";
cnt[co]++;
}
//...koniec Mozilla
}else{
if (!cnt[co]) cnt[co]=0;
document.forma.tresc.value+="["+((cnt[co]%2)?"/":"")+co+"]";
cnt[co]++;
}
}
Problemy rozpoczynają się w momencie który wyznaczyłem w kodzie. Skrypt działa następująco.
Warunek dot. URL działa bez problemu w obu warunkach, zarówno dla IE jak i Mozilli. Dla IE wszystko jest OK. Lecz dalsza część warunków dla "Mozilli" nie działa.
- Nie działa zaznaczenie w textarea
- Klikając w przycisk otwieram najpierw znacznik [ B], a potem zamykam [ /B] lecz zamykający zamiast ustawić się po otwierającym - kasuje otwierający i wchodzi na jego miejsce. Jednym słowem nie działa zaznaczanie tekstu i w prowadzanie znaczników w wybranym miejscu w textarea.