function closeItem(ID) {
    var row = getObj(ID);
    var tbl = row.parentNode;
    tbl.removeChild(row);
}

function getChildCount(obj, TagName) {
    var cc = 0;
    if (obj) {
        for (var i=0; i<obj.childNodes.length; i++) {
            if (obj.childNodes[i].tagName) {
                cc += (obj.childNodes[i].tagName.toLowerCase() == TagName.toLowerCase()) ? 1 : 0;
            }    
        }
        return cc;
    }
    return 0;
}

function openItem(e, ID) {
    e = (e.srcElement) ? e.srcElement : e.target;
    var row = e.parentNode.parentNode;
    var typ = '';
    
    if (ID.indexOf('termin') > -1) {
        ID = ID.replace('termin', '');
        typ = 'termin';
    }
    else if (ID.indexOf('ustunde') > -1) {
        ID = ID.replace('ustunde', '');
        typ = 'ustunde';
    }
    
    if (createXHR()) {
        if (row.nextSibling) {
            if (row.nextSibling.id != typ + ID.toString()) {
                
                doRequest("pages/ajax/iteminfo.php", "typ=" + typ + "&id=" + ID.toString(), function() { ItemInfo(e, typ + ID) } );
                return false;
            }
            else {
                var tbl = row.parentNode;
                tbl.removeChild(row.nextSibling);
                return false;
            }
        }
        doRequest("pages/ajax/iteminfo.php", "typ=" + typ + "&id=" + ID.toString(), function() { ItemInfo(e, typ + ID) } );
        return false;
    }
}

function ItemInfo(e, ID) {
    if (xhttp.readyState == 4 && xhttp.status == 200) {
        var resp = xhttp.responseText;

        if (resp != "") {                        
            var row = e.parentNode.parentNode;

            var tbl = row.parentNode;
            var rc = getChildCount(row, 'TD');
            var newrow = createObj('TR');
                    
            var newcell = createObj('TD');
            if (ID.indexOf('termin') > -1) {
                newcell.colSpan = (rc - 3);
            }
            else if (ID.indexOf('ustunde') > -1) {
                newcell.colSpan = (rc - 5);
            }
            newrow.appendChild(newcell);
                    
            newcell = createObj('TD');
            newcell.className = 'info';
            if (ID.indexOf('termin') > -1) {
                newcell.colSpan = 3;
            }
            else if (ID.indexOf('ustunde') > -1) {
                newcell.colSpan = 5;
            }
                    
            newcell.innerHTML = '<span class="close" onclick="closeItem(\'' + ID.toString() + '\')">x</span>' + resp;
            
            newrow.id = ID.toString();
            newrow.appendChild(newcell);

            if (!row.nextSibling) {
                tbl.appendChild(newrow);
            }
            else {
                if (row.nextSibling.id != ID.toString()) {
                    tbl.insertBefore(newrow, row.nextSibling);
                }
                else {
                    row.nextSibling.childNodes[1].innerHTML = info;
                }
            }
        }
        xhttp = null;
    }
}

function TrainingZusage(Img, ID) {
    if (xhttp) {
        if (xhttp.readyState == 4 && xhttp.status == 200) {
            var resp = xhttp.responseText;
            eval(resp);

            var List = getObj('tz' + ID);

            if (Zusage != "-1") {
                if (List) {
                    if (Zusage == "1") {
                        var Item = createObj('LI');
                        Item.id = 'tz' + ID + '_' + TNID;
                        Item.innerHTML = TName;
                        List.appendChild(Item);
                    }
                    else {
                        var Item = getObj('tz' + ID + '_' + TNID);
                        List.removeChild(Item);
                    }
                }
                with (getObj(Img)) {
                    title = (Zusage == "1") ? 'Teilnahme zurücknehmen' : 'Teilnahme zusagen';
                    src = (Zusage == "1") ? '/images/general/erase.png' : '/images/general/user.gif';
                }
            }
            else {
                var Table = getObj('tzt' + ID);
                if (Table) Table.parentNode.removeChild(Table);
                getObj(Img).parentNode.removeChild(getObj(Img));
            }
            xhttp = null;
        }
    }
    else {
        doRequest("pages/ajax/tnservice.php", "typ=ustunde" + "&id=" + ID.toString(), function() { TrainingZusage(Img, ID) } );
    }
}
