function replaceURLWithHTMLLinks(text) {
    var exp = /(\b(www?|ftp|file)[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig;
    return text.replace(exp,"<a target='_blank' href='http://$1'>$1</a>"); 
}

function pasteHTML(container,text) {
    if (container && text) {
        // Alle DIV-Kindelemente entfernen
        var elements = $(container).getElementsByTagName("div");
        for (var i = 0; i < elements.length; i++) {
            $(container).removeChild(elements[i]);
        }
        // Text als DIV einfuegen
        var newdiv = document.createElement("div");
        newdiv.innerHTML = text;
        $(container).appendChild(newdiv);
    }
}

function extractHTML(container) {
    if (container) {
        var elements = $(container).getElementsByTagName("div");
        if (elements.length > 0) return elements[0].innerHTML;
    }
    return "";
}

function splitText(txt,splitthres) {
    var splitted = txt.split(" ");
    if (splitted.length <= splitthres) return new Array(txt,"");
    var part1 = "";
    var part2 = "";
    for (var i = 0; i < splitted.length; i++) {
        if (i < Math.round(splitted.length/2)) {
            part1 += splitted[i];
            if (i+1 <splitted.length) {
                part1 += " ";
            }
        } else {
            part2 += splitted[i];
            if (i+1 <splitted.length) {
                part2 += " ";
            }
        }
    }
    return new Array(part1,part2);
}

function stripHTML(string){ return string.replace(/<[^>]*>/g, ''); }

function html2dmu(string) {
    // Fett
    string = string.replace(/\<b\>([^\b\<\/b\>\b]+)\<\/b\>/g,'**$1**');

    // Ueberschriften
    string = string.replace(/<\/h3>/g,'==');
    string = string.replace(/<h3>/g,'==');
    string = string.replace(/<\/H3>/g,'==');
    string = string.replace(/<H3>/g,'==');
    // Trennstriche
    string = string.replace(/<hr>/g,'----');
    // Leerzeilen
    string = string.replace(/<br>/g,'#');
    string = string.replace(/<BR>/g,'#');
    // weiteren HTML Code entfernen
    string = stripHTML(string);
    return string;
}

function dmu2html(string) {
    string = stripHTML(string);

    // Fett
    string = string.replace(/\*\*([^\b\*\*\b]+)\*\*/g,'<b>$1</b>');

    // Ueberschriften
    string = string.replace(/==([^\b==\b]+)==/g,'<h3>$1</h3>');

    // Trennlinie
    string = string.replace(/----/g,'<hr />');

    // Leerzeilen
    string = string.replace(/#/g,'<br/>');
    //string = string.replace(/\n/g,'<br/>');

    string = replaceURLWithHTMLLinks(string);

    return string;
}

