function showAttributeListOfCategory(catID,catName)
{
    var attrList = buildAttributeList(catID);        
    var explain = "Nur die Eintr&auml;ge anzeigen, welche die folgenden Kriterien erfüllen:";
    var before = "<div class=\"explain\">" + explain + "</div><form method=\"get\" action=\"/\" class=\"selectFilterAttribs\">";
    var after = "<div class=\"align-right\">"+
                "<input type=\"button\" value=\"Abbrechen\" onclick=\"closeModal()\" /> " + 
                "<input type=\"hidden\" name=\"setCategory\" value=\"" + catID + "\" />" +
                "<input type=\"submit\" value=\"&Uuml;bernehmen\">" + 
                "</div></form>";
    var content = before + attrList + after;
    openModal(catName, content);
    /*var elem = document.getElementById("attriblist" + catID);
    elem.style.display = 'block';
    var moveY = elem.offsetHeight / 2;
    elem.style.top = (elem.offsetTop - moveY) + "px";*/
}

function buildAttributeList(catID)
{
    var cat = categories[""+catID];
    var cntAttr = cat.length;
    var cols = 2;
    if(cntAttr > 16)
        cols = 3;
        
    var result = "<table><tr>";
    var i = 0;
    for(var i=0;i<cat.length;i++)
    {
        var attr = cat[i];
        var checked = "";
        if(attr["selected"] == 1)
            checked = " checked=\"checked\"";
        
        if(attr["typ"] == "int")
        {
            var from = "";
            var to = "";
            if(attr["from"])
                from = attr["from"];
            if(attr["to"])
                to = attr["to"];
            if(i>0 && cat[i-1]["typ"] != "int")
            {
                if((i)%cols != 0)
                {
                    for(k=0;k<cols-((i)%cols);k++)
                        result += "<td></td>";
                    result += "</tr><tr>";
                }
            }
            result += "<td><input type=\"checkbox\" onclick=\"checkIntChanged(this)\" name=\"category[" + catID + "][]\" value=\"" + attr["id"] + "\"" + checked + " /> " + attr["name"] + "</td>";
            result += "<td>von <input type=\"text\" onchange=\"fromtochanged(this)\" name=\"value[" + attr["id"] + "][SPEC_FROM]\" value=\"" + from + "\" /> bis <input type=\"text\" onchange=\"fromtochanged(this)\" name=\"value[" + attr["id"] + "][SPEC_TO]\" value=\"" + to + "\" /></td>";
            
            for(k=0;k<cols-2;k++) 
                result +="<td></td>";
                
            result += "</tr><tr>";
        }
        else
        {
            result += "<td><input type=\"checkbox\" name=\"category[" + catID + "][]\" value=\"" + attr["id"] + "\"" + checked + " /> " + attr["name"] + "</td>";
            if((1+i)%cols == 0)
                result += "</tr><tr>";
        }
    }
    result += "</td></tr></table>";
    return result;
}

function fromtochanged(elem)
{
    var td = elem.parentNode.previousSibling;
    var cbox = td.firstChild;
    while(cbox && cbox.type != "checkbox")
        cbox = cbox.nextSibling;    
    if(!cbox)
        return;
    
    var children = elem.parentNode.childNodes;
    var elem2 = null;
    for(var j=0;j<children.length;j++)
    {
        if(children[j].type == "text" && children[j] != elem)
        {
            elem2 = children[j];
            break;
        }
    }
    if(elem.value == "" && elem2.value == "")
        cbox.checked = false;
    else
        cbox.checked = true;   
        
}

function checkIntChanged(elem)
{
    if(!elem.checked)
    {
        var td = elem.parentNode.nextSibling;
        var tBoxes = td.getElementsByTagName("input");
        var tBox1 = tBoxes[0];
        var tBox2 = tBoxes[1];
        while(tBox2 && tBox2.type != "text")
            tBox2 = tBox2.nextSibling;
        tBox1.value = "";
        tBox2.value = "";
    }
        
}


