var canFormat = 0;
if (document.selection)
    canFormat = 1;
var ua = navigator.userAgent;
if (ua.indexOf('Gecko') >= 0 && ua.indexOf('Safari') < 0)
    canFormat = 1;

function getSelected (e) {
    if (document.selection) {
        e.focus();
        var range = document.selection.createRange();
        return range.text;
    } else {
        var length = e.textLength;
        var start = e.selectionStart;
        var end = e.selectionEnd;
        if (end == 1 || end == 2) end = length;
        return e.value.substring(start, end);
    }
}

function setSelection (e, v) {
    if (document.selection) {
        e.focus();
        var range = document.selection.createRange();
        range.text = v;
    } else {
        var length = e.textLength;
        var start = e.selectionStart;
        var end = e.selectionEnd;
        if (end == 1 || end == 2) end = length;
        e.value = e.value.substring(0, start) + v + e.value.substr(end, length);
        e.selectionStart = start + v.length;
        e.selectionEnd = start + v.length;
    }
    e.focus();
}

function formatStr (e, v) {
    if (!canFormat) return;
    var str = getSelected(e);
    if (!str) { 
    alert("Kein Text markiert!");
    return false;
    }
    setSelection(e, '<' + v + '>' + str + '</' + v + '>');
    return false;
}

function insertLink (e, isMail) {
    if (!canFormat) return;
    var str = getSelected(e);
    var link = '';
//    if (!isMail) {
        if (str.match(/^https?:/)) {
            link = str;
        } else if (str.match(/^(\w+\.)+\w{2,5}\/?/)) {
            link = 'http://' + str;
        } else if (str.match(/ /)) {
            link = 'http://';
        } else {
            link = 'http://' + str;
        }
//    } else {
        if (str.match(/@/)) {
            link = str;
        }
//    }
    var my_link = prompt(isMail ? 'Bild-URL eingeben (jpg, gif, png):' : 'URL eingeben:', link);
    if (my_link != null) {
         if (str == '') str = my_link;
//         if (isMail) my_link = 'mailto:' + my_link;
         if (my_link.match(/ofdb.de\/view\.php/)) my_link = my_link + '&partner=29421';

        if (isMail) {
        setSelection(e, '<img src="' + my_link + '" border="0" alt="" title="" />');
        } else {
        setSelection(e, '<a href="' + my_link + '">' + str + '</a>' + '<a href="' + my_link + '" target="_blank"><img src="/img/buttons/target.gif" width="13" height="10" border="0" alt="" title="neues Fenster" /></a>');
        }

    }
    return false;
}

function doCheckAll (f, v) {
    var e = f.id;
    if (e.value)
        e.checked = v;
    else
        for (i=0; i<e.length; i++) 
            e[i].checked = v;
}
