﻿//for Tree
var detailsTree;
var itemID = -1;
var cult;

function show()
{
	var dvList = document.getElementById('dvTree');
	dvList.style.display='inline';
}
function hide()
{
	var dvList = document.getElementById('dvTree');
	dvList.style.display='none';
}

/* Start Tree */
function getTreeSelection()
{
    return parseInt($("hCategoryID").value);
}

function pageLoad(culture)
{
    cult = culture;
    detailsTree = new dTree('detailsTree');
    detailsTree.config.useCookies=false;
    detailsTree.config.cssClass='node1';
    detailsTree.config.cssClassSel='nodeSel1';
    detailsTree.config.rightClick='return false;';
    populateDetailsTree();
}

function populateDetailsTree()
{
    $("dvMenuHolder_" + detailsTree.obj).innerHTML = "";
    $("imgLoadingMenu_" + detailsTree.obj).style.display = "block";
    Netlogiq.Web.Offerte.GetTreeMenu(cult, populateDetailsTree_callback);
}

function populateDetailsTree_callback(ret)
{
    populateTreeMenu(ret.value,detailsTree,itemID);
    
    $("imgLoadingMenu_" + detailsTree.obj).style.display = "none";
}

function populateTreeMenu(menuItems, menu, itemId)
{
    menu.aNodes.length = 0;
    var node = null;
    if(menu != null && menuItems != null && menuItems.length > 0){
        for(i = 0;i<menuItems.length;i++){
            //alert(menuItems[i].Name.replace(/"/g, "&quot;").replace(/'/,"&#39;"));
            url = "javascript:select(" + menuItems[i].ID + ", '" + menuItems[i].Name.replace(/"/g, "&quot;").replace(/'/,"&apof;") + "');";
            menu.add(menuItems[i].ID, menuItems[i].ParentID, menuItems[i].Name, url, menuItems[i].Level, menuItems[i].OptionID);
            if(menuItems[i].ID == getTreeSelection())
                node = menuItems[i];
        }
        $("dvMenuHolder_" + menu.obj).innerHTML = menu;
        //menu.openAll();
    }
    
    populateItemDetails(node);
}

function populateItemDetails(node)
{   
    if (node != null)
    {   
        for(i = 0;i<detailsTree.aNodes.length;i++){
            if(detailsTree.aNodes[i].id == node.ID){
                //detailsTree.s(i);
                break;
            }            
        }
        //open the path to the node

        var pId = node.ParentID;
        for(i = detailsTree.aNodes.length-1; i > 0; i--){
            if(detailsTree.aNodes[i].id == pId){
                detailsTree.o(i);
                pId = detailsTree.aNodes[i].pid;
            }
        }
        select(node.ID, node.Name);
    }
    
    if ($("hCategoryID").value != "0") {
        detailsTree.openTo(parseInt($("hCategoryID").value), true, false);
        select($("hCategoryID").value, $("hCategoryName").value.replace(/"/g, "&quot;").replace(/'/,"&apof;"));
        populateProducts();
    }
}

function select(id, label)
{
    $("hCategoryID").value = id;
    $("dvCategory").innerHTML = label.replace(/&apof;/,"'").replace(/`/,"'");
    hide();
    
    populateProducts();
}

function populateProducts() {
    Netlogiq.Web.Offerte.GetProducts(parseInt($("hCategoryID").value), cult, populateProducts_callback);
}

function populateProducts_callback(res) {
    var products;
    
    if (res && res.value) {
        products = res.value;
    }
        
    if (products.length && products.length > 0) {   
        var dd, option;
        
        dd = document.getElementById("ddProducts");
        dd.options.length = 0;
        
        option = document.createElement("option");
        option.text = " -- Kies een product -- ";
        option.value = "0";
        try {
            dd.add(option, null);
        } catch(ex) {
            dd.add(option);
        }
        
        for (var i = 0; i < products.length; i++) {
            option = document.createElement("option");
            option.value = products[i].ProductID;
            option.text = products[i].ProductName;
            try {
                dd.add(option, null); // standards compliant; doesn't work in IE
            }
            catch(ex) {
                dd.add(option); // IE only
            }
        }
        
        if ($("hProductID").value != "0") {
            dd.value = $("hProductID").value;
        }
        
        $("ddProducts").style.display = "block";
        $("spNoProducts").style.display = "none";  
    } else {
        $("hProductID").value = "0";
        $("ddProducts").style.display = "none";
        $("spNoProducts").style.display = "block";  
    }
}

function changeProduct() {
    document.location.href = "/offerte.aspx?categorie=" + $("hCategoryID").value + "&produkt=" + $("ddProducts").value;
}
/* End Tree */

