function window_colorpicker(HEX, ID) {
    var PickedColor = window.open("https://ssl.incrovision.de/data.onlinebuero/colorpicker.php?color="+ HEX +"&formid="+ ID, "ColorPickerWindow","toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes,copyhistory=no,width=480,height=305");
}

function ShowHideDiv(thisDIV) {
    var theDiv = document.getElementById(thisDIV).style.display;
    if (theDiv == 'none') {
        document.getElementById(thisDIV).style.display = 'block';
    }else{
        document.getElementById(thisDIV).style.display = 'none';
    }
}

function ShowHideDiv2(Klicktext,thisDIV) {
    var theDiv = document.getElementById(thisDIV).style.display;
    if (theDiv == 'none') {
        document.getElementById(thisDIV).style.display = 'block';
        document.getElementById(Klicktext).innerHTML = 'Details-Text ausblenden';
    }else{
        document.getElementById(thisDIV).style.display = 'none';
        document.getElementById(Klicktext).innerHTML = 'Details-Text anzeigen';
    }
}

function display_kalender_eintrag(divID) {
    var theDiv = document.getElementById(divID).style.display;
    if (theDiv == 'none') {
        document.getElementById(divID).style.display = 'block';
        document.getElementById('kalendereintragslink').innerHTML = 'Termin-Eintragsfenster verbergen';
    }else{
        document.getElementById(divID).style.display = 'none';
        document.getElementById('kalendereintragslink').innerHTML = 'Kalender-Eintrag vornehmen';
    }
}

function show_upload() {
    document.getElementById('show_upload').style.display = 'block';
    document.getElementById('upload_form').style.display = 'none';
}


function auswahl_termin() {
    document.getElementById('termin_art').disabled = false;

    document.getElementById('beginn_option').innerHTML = 'Termin-Beginn';
    document.getElementById('termin_beginn').disabled = false;
    document.getElementById('termin_ende').disabled = false;
    document.getElementById('termin_ende').style.display = 'inline';

    document.getElementById('todo_tag').disabled = true;
    document.getElementById('todo_mon').disabled = true;
    document.getElementById('todo_jahr').disabled = true;

    document.getElementById('todo_fuer').disabled = true;
}
function auswahl_todo_notiz() {
    document.getElementById('termin_art').disabled = true;

    document.getElementById('termin_beginn').disabled = false;
    document.getElementById('beginn_option').innerHTML = 'erledigen bis...';
    document.getElementById('termin_ende').disabled = true;
    document.getElementById('termin_ende').style.display = 'none';

    document.getElementById('todo_tag').disabled = false;
    document.getElementById('todo_mon').disabled = false;
    document.getElementById('todo_jahr').disabled = false;

    document.getElementById('todo_fuer').disabled = false;
}
function auswahl_geburtstag() {
    document.getElementById('termin_art').disabled = true;

    document.getElementById('beginn_option').innerHTML = 'Termin-Beginn';
    document.getElementById('termin_beginn').disabled = true;
    document.getElementById('termin_ende').disabled = true;
    document.getElementById('termin_ende').style.display = 'inline';

    document.getElementById('todo_tag').disabled = true;
    document.getElementById('todo_mon').disabled = true;
    document.getElementById('todo_jahr').disabled = true;

    document.getElementById('todo_fuer').disabled = true;
}

function change_ma_adress(val) {
    var valcut = val.split("#");
    var strasse = valcut[1];
    var plz = valcut[2];
    var ort = valcut[3];
    var telefon = valcut[4];
    var fax = valcut[5];

    if (valcut[0] == "none") {
        document.getElementById('ma_strasse').disabled = false;
        document.getElementById('ma_strasse').value = strasse;
        document.getElementById('ma_plz').disabled = false;
        document.getElementById('ma_plz').value = plz;
        document.getElementById('ma_ort').disabled = false;
        document.getElementById('ma_ort').value = ort;
        document.getElementById('ma_telefon').value = telefon;
        document.getElementById('ma_fax').value = fax;
    }else{
        document.getElementById('ma_strasse').disabled = true;
        document.getElementById('ma_strasse').value = strasse;
        document.getElementById('ma_plz').disabled = true;
        document.getElementById('ma_plz').value = plz;
        document.getElementById('ma_ort').disabled = true;
        document.getElementById('ma_ort').value = ort;
        document.getElementById('ma_telefon').value = telefon;
        document.getElementById('ma_fax').value = fax;
    }
}
function change_ma_adress2(val) {
    var valcut = val.split("#");
    var strasse = valcut[1];
    var plz = valcut[2];
    var ort = valcut[3];
    var telefon = valcut[4];
    var fax = valcut[5];

    if (valcut[0] == "none") {
        document.getElementById('strasse').disabled = false;
        document.getElementById('strasse').value = strasse;
        document.getElementById('plz').disabled = false;
        document.getElementById('plz').value = plz;
        document.getElementById('ort').disabled = false;
        document.getElementById('ort').value = ort;
        document.getElementById('telefon').value = telefon;
        document.getElementById('fax').value = fax;
    }else{
        document.getElementById('strasse').disabled = true;
        document.getElementById('strasse').value = strasse;
        document.getElementById('plz').disabled = true;
        document.getElementById('plz').value = plz;
        document.getElementById('ort').disabled = true;
        document.getElementById('ort').value = ort;
        document.getElementById('telefon').value = telefon;
        document.getElementById('fax').value = fax;
    }
}
/* Inhalt in einen Feldnamen eintragen */
function writeInputForm(eintrag, fieldname) {
    document.getElementById(fieldname).value = eintrag;
    document.getElementById(fieldname).focus();
}
function writeInputForm2(eintrag1, fieldname1, eintrag2, fieldname2) {
    document.getElementById(fieldname1).value = eintrag1;
    document.getElementById(fieldname2).value = eintrag2;
}
function CheckButton(buttonname) {
    document.getElementById(buttonname).checked = true;
}

function Auswahl_NeuePortalVertraege(itsID) {
    var personalisierung = document.getElementById('vduid').disabled;

    if (personalisierung == true) document.getElementById('vduid').disabled = false;
    if (personalisierung == false) document.getElementById('vduid').disabled = true;
    document.getElementById(itsID).checked = true;
}

function AuswahlBilderFloat(itsID, colorBGNorm, colorBorderNorm, NewColorBG, NewColorBorder, Anzahl) {
    CheckButton(itsID);

    for (i = 1; i <= Anzahl; i++) {
        document.getElementById('box' + i).style.background = '#' + colorBGNorm;
        document.getElementById('box' + i).style.border = '1px solid #' + colorBorderNorm;
    }

    document.getElementById('box' + itsID).style.background = '#' + NewColorBG;
    document.getElementById('box' + itsID).style.border = '1px solid #' + NewColorBorder;
}

function CheckBox(boxname, colorText, colorBgNorm, colorBorderNorm) {
    var button = document.getElementById(boxname).checked;
    if (button == true) {
        document.getElementById(boxname).checked = false;
        document.getElementById('box' + boxname).style.background = '#' + colorBgNorm;
        document.getElementById('box' + boxname).style.border = '1px solid #' + colorBorderNorm;
        document.getElementById('box' + boxname).style.color = '#' + colorText;
    }else{
        document.getElementById('box' + boxname).style.background = '#CC0000';
        document.getElementById('box' + boxname).style.border = '1px solid #FFFFFF';
        document.getElementById('box' + boxname).style.color = '#FFFFFF';
        document.getElementById(boxname).checked = true;
    }
}

function CheckWohnungDel(ID, oldColor) {
    var button = document.getElementById('checkbox' + ID).checked;
    var anzTD = 9;
    if (button == true) {
        document.getElementById('checkbox' + ID).checked = false;
        for (i = 1; i <= anzTD; i++) {
            document.getElementById('td'+ i +'_'+ ID).style.background = 'none';
            document.getElementById('td'+ i +'_'+ ID).style.background = '#'+ oldColor;
        }
    }else{
        document.getElementById('checkbox' + ID).checked = true;
        for (i = 1; i <= anzTD; i++) {
            document.getElementById('td'+ i +'_'+ ID).style.background = '#FFD7D7';
        }
    }
}

function CheckBoxAllg(ID) {
    var button = document.getElementById(ID).checked;
    if (button == true) {
        document.getElementById(ID).checked = false;
    }else{
        document.getElementById(ID).checked = true;
    }
}

function CheckTableTR(ID, oldColor, anzGes) {
    var button = document.getElementById('checkbox' + ID).checked;
    if (button == true) {
        document.getElementById('checkbox' + ID).checked = false;
        for (i = 1; i <= anzGes; i++) {
            document.getElementById('td'+ i +'_'+ ID).style.background = 'none';
        }
    }else{
        document.getElementById('checkbox' + ID).checked = true;
        for (i = 1; i <= anzGes; i++) {
            document.getElementById('td'+ i +'_'+ ID).style.background = '#AEFFAE';
        }
    }
}

function tr_over(topID, NEW_CLASS) {
    document.getElementById(topID).className = NEW_CLASS;
}

function tr_out(topID, OLD_CLASS) {
    document.getElementById(topID).className = OLD_CLASS;
}
function tr2_over(topID, NEW_CLASS) {
    document.getElementById(topID).className = NEW_CLASS;
    // zweite Zeile, z.B. Teil-rowspan
    document.getElementById(topID+'2').className = NEW_CLASS;
}

function tr2_out(topID, OLD_CLASS) {
    document.getElementById(topID).className = OLD_CLASS;
    // zweite Zeile, z.B. Teil-rowspan
    document.getElementById(topID+'2').className = OLD_CLASS;
}

function selectAll(anzGes) {
    var button = document.getElementById('checkbox1').checked;
    var anzTD = 9;

    for (j = 1; j <= anzGes; j++) {
        if (button == true) {
            document.getElementById('checkbox' + j).checked = false;
            for (i = 1; i <= anzTD; i++) {
                document.getElementById('td'+ i +'_'+ j).style.background = 'none';
            }
        }else{
            document.getElementById('checkbox' + j).checked = true;
            for (i = 1; i <= anzTD; i++) {
                document.getElementById('td'+ i +'_'+ j).style.background = '#FFD7D7';
            }
        }
    }
}

function ChangeSelections(anzGes) {
    for (j = 1; j <= anzGes; j++) {
        CheckWohnungDel(j);
    }
}

function ShowHideDiv(thisDIV) {
    var theDiv = document.getElementById(thisDIV).style.display;
    if (theDiv == 'none') {
        document.getElementById(thisDIV).style.display = 'block';
    }else{
        document.getElementById(thisDIV).style.display = 'none';
    }
}


/* Tag-Einfügen in Textareas, z.B. Aktuelles */
function writeTextareaForm(StartTag, EndTag, fieldname) {
    var input = document.getElementById(fieldname);
    input.focus();
    /* für Internet Explorer */
    if(typeof document.selection != 'undefined') {
        /* Einfügen des Formatierungscodes */
        var range = document.selection.createRange();
        var insText = range.text;
        range.text = StartTag + insText + EndTag;
        /* Anpassen der Cursorposition */
        range = document.selection.createRange();
        if (insText.length == 0) {
          range.move('character', -EndTag.length);
        } else {
          range.moveStart('character', StartTag.length + insText.length + EndTag.length);
        }
        range.select();
    }else if(typeof input.selectionStart != 'undefined') {
        /* für neuere auf Gecko basierende Browser */
        /* Einfügen des Formatierungscodes */
        var start = input.selectionStart;
        var end = input.selectionEnd;
        var insText = input.value.substring(start, end);
        input.value = input.value.substr(0, start) + StartTag + insText + EndTag + input.value.substr(end);
        /* Anpassen der Cursorposition */
        var pos;
        if (insText.length == 0) {
          pos = start + StartTag.length;
        } else {
          pos = start + StartTag.length + insText.length + EndTag.length;
        }
        input.selectionStart = pos;
        input.selectionEnd = pos;
    }else{
        /* für die übrigen Browser */
        /* Abfrage der Einfügeposition */
        var pos;
        var re = new RegExp('^[0-9]{0,3}$');
        while(!re.test(pos)) {
          pos = prompt("Einfügen an Position (0.." + input.value.length + "):", "0");
        }
        if(pos > input.value.length) {
          pos = input.value.length;
        }
        /* Einfügen des Formatierungscodes */
        var insText = prompt("Bitte geben Sie den zu formatierenden Text ein:");
        input.value = input.value.substr(0, pos) + StartTag + insText + EndTag + input.value.substr(pos);
    }
}


hex = "0123456789ABCDEF";

function hexdec(hexcolor) {
    var inp;
    var out;

    inp = hexcolor;
    out = parseInt(inp,16);
    if (isNaN(out)) {
        out = "";
    }
    return out;
}
function dechex(dec) {
    var inp;
    var out;

    inp = parseInt(dec);
    out = "";
    if (!isNaN(inp)) {
        while(inp != 0) {
            out = hex.charAt(inp%16)+out;
            inp = inp >> 4;
        }
    }
    return out;
}

function HexToRGB(hexcolor, rgb) {
    var r = hexdec(hexcolor.substr(0, 2));
    var g = hexdec(hexcolor.substr(2, 2));
    var b = hexdec(hexcolor.substr(4, 2));

    switch(rgb) {
        case "r": return r;
                  break;
        case "g": return g;
                  break;
        case "b": return b;
                  break;
        default:  ret = new Array();
                  ret['r'] = r;
                  ret['g'] = g;
                  ret['b'] = b;
                  return ret;
                  break;
    }
}
function RGBToHex(r, g, b) {
    var red = dechex(r);
    var green = dechex(g);
    var blue = dechex(b);

    var hex = sprintf('%02s%02s%02s', red, green, blue)
    return hex.toUpperCase();
    // return strtoupper(red + green + blue);
}

function HexDifferenz(hexcolor1, hexcolor2) {
    var colors1 = HexToRGB(hexcolor1);
    var colors2 = HexToRGB(hexcolor2);
    var diff = new Array();

    if (colors1['r'] > colors2['r']) {
        diff['r'] = colors1['r'] - colors2['r'];
    }else{
        diff['r'] = colors2['r'] - colors1['r'];
    }
    if (colors1['g'] > colors2['g']) {
        diff['g'] = colors1['g'] - colors2['g'];
    }else{
        diff['g'] = colors2['g'] - colors1['g'];
    }
    if (colors1['b'] > colors2['b']) {
        diff['b'] = colors1['b'] - colors2['b'];
    }else{
        diff['b'] = colors2['b'] - colors1['b'];
    }

    return RGBToHex(diff['r'], diff['g'], diff['b']);
}

function editShow(itsID, boxIDname, linkIDname, TextNorm, TextAfter) {
    var show = document.getElementById(boxIDname + itsID).style.display;
    if (show == "none") {
        document.getElementById(boxIDname + itsID).style.display = "block";
        document.getElementById(linkIDname + itsID).innerHTML = TextAfter;
    }else{
        document.getElementById(boxIDname + itsID).style.display = "none";
        document.getElementById(linkIDname + itsID).innerHTML = TextNorm;
    }
}

function editShowTRs(trIDs, anzahl, linkIDname, TextNorm, TextAfter) {
    var show = document.getElementById('tr1_'+ trIDs).style.display;
    if (show == "none") {
        for (i = 1; i <= anzahl; i++) {
            document.getElementById('tr' + i + '_'+ trIDs).style.display = "block";
        }
        document.getElementById(linkIDname + trIDs).innerHTML = TextAfter;
    }else{
        for (i = 1; i <= anzahl; i++) {
            document.getElementById('tr' + i + '_'+ trIDs).style.display = "none";
        }
        document.getElementById(linkIDname + trIDs).innerHTML = TextNorm;
    }
}

function ChangeRechnungEreignisArt(val, ID) {
    if (val == 'zahlung') {
        document.getElementById('brutto_' + ID).disabled = false;
        document.getElementById('typbeginn_' + ID).disabled = false;
    }else{
        document.getElementById('brutto_' + ID).disabled = true;
        document.getElementById('typbeginn_' + ID).disabled = true;
    }
}

function changeButton(itsID, TextNorm, TextAfter, ClassNorm, ClassAfter) {
    if (document.getElementById(itsID).className == ClassNorm) {
        document.getElementById(itsID).value = TextAfter;
        document.getElementById(itsID).className = ClassAfter;
    }else{
        document.getElementById(itsID).value = TextNorm;
        document.getElementById(itsID).className = ClassNorm;
    }
}