﻿function ShowHideTechDet(obj) {
    var tab = document.getElementById("t" + obj);
    var img = document.getElementById("i" + obj);
    if (tab.style.visibility == 'visible') {
        tab.style.visibility = 'hidden';
        tab.style.display = 'none';
        img.src = "../App_Themes/" + theme + "/gfx/icn_plus.gif";
    } else {
        tab.style.visibility = 'visible';
        tab.style.display = 'block';
        img.src = "../App_Themes/" + theme + "/gfx/icn_minus.gif";
    }
}

function GetFilter(cat, tdp) {
    var param = "cat:" + cat + ";load:" + tdp + ";";
    AjaxRequest(ajaxServiceURL, 
        "filter", 
        param, 
        RefreshFilter);
}

function UpdateFilter(cat, obj) {
    var param = "type:" + obj.substring(1, obj.length) + ";Val:" + document.getElementById(obj).checked;
    param = "cat:" + cat + ";" + param + ";";
    AjaxRequest(ajaxServiceURL, 
        "filter", 
        param, 
        RefreshFilter);
}

function ChangeCheckbox(cat, obj)
{
    document.getElementById(obj).checked = !document.getElementById(obj).checked;
    UpdateFilter(cat,obj);
}

function RefreshFilter() {
    if ((ajaxRequest1.readyState == 4) && (ajaxRequest1.status == 200)) {
        var tmpErr = ajaxRequest1.responseXML.getElementsByTagName("error");
        if (tmpErr != null && tmpErr.item(0) != null && tmpErr.item(0).firstChild.nodeValue == "reload")
        {
            location.reload();
        }
        var nodes = ajaxRequest1.responseXML.getElementsByTagName("filter").item(0);
        for (i=0; i < nodes.childNodes.length; i++) {
            if (nodes.childNodes[i].nodeName != "#text") 
            {
                var node = nodes.childNodes[i];
                var elem = null;
                switch(node.nodeName.toUpperCase()) {
                    case "MAN":
                        elem = document.getElementById("cMan_" + node.getAttribute('id'));
                        break;
                    case "POS":
                        var elemName = "cPos" + node.getAttribute('tdp');
                        if (node.getAttribute('tdv')) 
                        {
                            elemName += "_Val" + node.getAttribute('tdv');
                        }
                        else if (node.getAttribute('tdd')) 
                        {
                            elemName += "_Dat" + node.getAttribute('tdd');
                        }
                        elem = document.getElementById(elemName);
                        break;
                    case "PRC":
                        elem = document.getElementById("cPrc_" + node.getAttribute('id'));
                        break;
                    case "AVA":
                        elem = document.getElementById("cAva_" + node.getAttribute('id'));
                        break;
                    case "TOTAL":
                        document.getElementById("spanFilterAmountTop").innerHTML = node.firstChild.nodeValue;
                        document.getElementById("spanFilterAmountBottom").innerHTML = node.firstChild.nodeValue;
                        break;
                    case "NEW":
                        var dOpt = document.getElementById("fltcld" + node.getAttribute('tdp'));
                        var tOpt = document.createElement("table");
                        tOpt.className = "filter";
                        tOpt.width = "100%";
                        var tbOpt = document.createElement("tbody");
                        for (j = 0; j < node.childNodes.length; j++) {
                            if (node.childNodes[j].nodeName != "#text") 
                            {
                                var trOpt = document.createElement("tr");
                                var tdOpt = document.createElement("td");
                                var imgSpc = document.createElement("img");
                                imgSpc.src = "../App_Themes/default/gfx/pixel.gif";
                                imgSpc.width = "15";
                                imgSpc.height = "1";
                                tdOpt.appendChild(imgSpc);
                                tdOpt.style.paddingLeft = 15;
                                tdOpt.appendChild(document.createTextNode(node.childNodes[j].getAttribute('txt')));
                                trOpt.appendChild(tdOpt);
                                
                                var tdChk = document.createElement("td");
                                tdChk.setAttribute("align", "right");
                                var cb = document.createElement("input");
                                cb.type = "checkbox";
                                if (node.childNodes[j].getAttribute("tdd")) 
                                {
                                    cb.id = "cPos" + node.getAttribute('tdp') + "_Dat" + node.childNodes[j].getAttribute("tdd");
                                }
                                else if (node.childNodes[j].getAttribute("tdv")) 
                                {
                                    cb.id = "cPos" + node.getAttribute('tdp') + "_Val" + node.childNodes[j].getAttribute("tdv");
                                }
                                tdOpt.onclick = new Function("ChangeCheckbox("+ node.getAttribute('cat') + ",'" + cb.id + "')"); 
                                cb.onclick = new Function("UpdateFilter(" + node.getAttribute('cat') + ", this.getAttribute('ID'))");
                                tdChk.appendChild(cb);
                                trOpt.appendChild(tdChk);
                                
                                tbOpt.appendChild(trOpt);   
                            }                     
                        }
                        tOpt.appendChild(tbOpt);
                        dOpt.appendChild(tOpt);
                        var iSnd = document.getElementById("tr" + node.getAttribute('tdp'));
                        iSnd.onclick = new Function("SwitchDiv('i" + node.getAttribute('tdp') + "', 'fltcld" + node.getAttribute('tdp') + "', false)");
                        var img = document.getElementById("i" + node.getAttribute('tdp'));
                        img.src = "../App_Themes/" + theme + "/gfx/icn_minus.gif";
                        if (iSnd.captureEvents) iSnd.captureEvents(Event.CLICK);
                        SwitchDiv(iSnd, "fltcld" + node.getAttribute('tdp'));
                }
                if (node.nodeName.toUpperCase() != "NEW") {
                    if (elem) 
                    {
                        var disNode = null;
                        if(node.childNodes[0].nodeName == "#text") 
                        {
                            disNode = node.childNodes[1];
                        }
                        else
                        {
                            disNode = node.childNodes[0];
                        }
                        if (disNode.firstChild.nodeValue.toUpperCase() == "TRUE") {
                            elem.disabled = true;
                        } 
                        else 
                        {
                            elem.disabled = false;
                        }
                    }
                }
            }
        }
    }
    else if (ajaxRequest1.readyState == 4) 
    {
        alert("Ein Problem ist aufgetreten");
        var tmpErr = ajaxRequest1.responseXML.getElementsByTagName("error");
        if (tmpErr != null && tmpErr.item(0) != null && tmpErr.item(0).firstChild.nodeValue == "reload")
        {
            location.reload();
        }
    }
}

function SwitchAll(sender, cat, obj) { 
    var chks = obj.split(",");
    for (var i = 0; i < chks.length-1; i++) {
        document.getElementById(sender.id + "_" + chks[i]).checked = sender.checked;
    }
    UpdateFilter(cat, sender.id);
}

function SwitchCategory(catID, close) 
{
    var img = document.getElementById('mb' + catID + '_Icon');
    var div = img.parentNode;
    if (close) {
        img.onclick = new Function("SwitchCategory('" + catID + "', false)");
        div.onclick = new Function("SwitchCategory('" + catID + "', false)");
        
        SwitchDiv('mb' + catID + '_Icon', 'divMbNavigation' + catID, true);
        img.src = "../App_Themes/" + theme + "/gfx/icn_plus.gif";
    }
    else
    {
       // img.onclick = new Function("SwitchDiv('mb" + catID + "_Icon', 'divMbNavigation" + catID + "', true)");
        div.onclick = new Function("SwitchDiv('mb" + catID + "_Icon', 'divMbNavigation" + catID + "', true)");
        img.src = "../App_Themes/" + theme + "/gfx/icn_minus.gif";
    }
    var elem = document.getElementById('divMbNavigation' + catID);
    if (elem)
    {
        SwitchCategoryTree(elem, catID, close);
    }    
}
function SwitchCategoryTree(sender, catID, close) {
    var divMenu = sender.firstChild;
    if( divMenu.nodeName =="#text")
        {
            divMenu = divMenu.nextSibling;
        }
    for (j = 0; j < divMenu.childNodes.length; j++) {
        var divElem = divMenu.childNodes[j];
        
        if (divElem.nodeName !="#text" && divElem.getAttribute("deep") == 2)
        {
            divElem.style.visibility = "visible";
            divElem.style.display= "block";
        }
//        if(sender.childNodes[j].tagName == "TR" && sender.childNodes[j].childNodes[1] != null)
//        {
//            tdElem = sender.childNodes[j].childNodes[1];
//        }
//        else
//        {
//            tdElem = sender.childNodes[j].firstChild;
//        }
//        
//        if(sender.childNodes[j].tagName == "DIV" || sender.childNodes[j].tagName == "TABLE" || sender.childNodes[j].tagName == "TBODY") {
//            SwitchCategoryTree(sender.childNodes[j], catID, close);
//        } 
//        else if (sender.childNodes[j].tagName == "TR" && sender.childNodes[j].style.visibility == "hidden")
//        {
//            sender.childNodes[j].style.visibility = "visible";
//            sender.childNodes[j].style.display = "";
//        }
//        else if (sender.childNodes[j].tagName == "TR" && (tdElem.className.indexOf("Sel") < 0 || tdElem.style.fontWeight != "bold")) 
//        {
//            sender.childNodes[j].style.visibility = "hidden";
//            sender.childNodes[j].style.display = "none";
//        }
//        if (close && sender.childNodes[j] != null && sender.childNodes[j].tagName == "TR" && tdElem.className.indexOf("Sel") > 0 && tdElem.style.fontWeight == "bold")
//        {
//            var icn = sender.childNodes[j].getElementsByTagName("img").item(1);
//            var a = sender.childNodes[j].getElementsByTagName("a").item(0);
//            icn.setAttribute("isopen", "0");
//            icn.setAttribute("isloaded", "1");
//            if(icn.src.indexOf("icn_minus") >= 0) {
//                icn.src = "../App_Themes/" + theme + "/gfx/icn_plus.gif";
//            }
//            var tmpCat = icn.getAttribute("id").substring(3);
//            icn.onclick = new Function("SwitchCategory('" + catID + "', false)");
//            a.onclick = new Function("SwitchCategory('" + catID + "', false)");
//        }
//        else if (!close && sender.childNodes[j] != null && sender.childNodes[j].tagName == "TR" && tdElem.className.indexOf("Sel") > 0 && tdElem.style.fontWeight == "bold")
//        {
//            sender.childNodes[j].style.visibility = "visible";
//            sender.childNodes[j].style.display = "";
//            
//            var icn = sender.childNodes[j].getElementsByTagName("img").item(0);
//            var a = sender.childNodes[j].getElementsByTagName("a").item(0);
//            icn.setAttribute("isopen", "1");
//            icn.setAttribute("isloaded", "1");
//            
//            if(icn.src.indexOf("icn_plus") >= 0) {
//                icn.src = "../App_Themes/" + theme + "/gfx/icn_minus.gif";
//            }
//            var tmpCat = icn.getAttribute("id").substring(3);
//            icn.onclick = new Function("GetTree('" + tmpCat + "')");
//            a.onclick = new Function("GetTree('" + tmpCat + "')");
//        }
   }
}

function SelectAllProducts() {
    var check = document.getElementsByName("compare");
    var setChecked = document.getElementById("cProductCompare").checked;
    for(i=0; i < check.length; i++) {
        check[i].checked = setChecked;
        CompareProduct(check[i]);
    }
}

