﻿var c1 = { "cats": [{ "n": "Biking", "id": 8, "c": [{ "n": "Mountain Bike", "id": 15, "c": [] }, { "n": "Mountain Bike Group Ride", "id": 16, "c": [] }, { "n": "Road Bike", "id": 17, "c": [] }, { "n": "Road Bike Group Ride", "id": 18, "c": [] }, { "n": "Trail Maintenance", "id": 20, "c": []}] }, { "n": "Multi-Sport", "id": 24, "c": [{ "n": "Duathlon", "id": 25, "c": [] }, { "n": "Triathlon", "id": 26, "c": []}] }, { "n": "Running", "id": 7, "c": [{ "n": "10K", "id": 12, "c": [] }, { "n": "10 Miler", "id": 31, "c": [] }, { "n": "5K", "id": 11, "c": [] }, { "n": "5 Miler", "id": 30, "c": [] }, { "n": "Fun Run", "id": 13, "c": [] }, { "n": "Group Run", "id": 14, "c": [] }, { "n": "Half Marathon", "id": 19, "c": [] }, { "n": "Marathon", "id": 9, "c": [] }, { "n": "Track meet", "id": 23, "c": [] }, { "n": "Ultra", "id": 10, "c": []}] }, { "n": "Swimming", "id": 22, "c": [] }, { "n": "Walking", "id": 21, "c": []}] };
var tree;

function getSelectedCategories(){
    var ret = [];
    var hiLit = tree.getNodesByProperty('highlightState', 1);
    if (!YAHOO.lang.isNull(hiLit)) {
        for (var i = 0; i < hiLit.length; i++) {
            ret.push(hiLit[i].id);
        }
    }

    hiLit = tree.getNodesByProperty('highlightState', 2);
    if (!YAHOO.lang.isNull(hiLit)) {
        for (var i = 0; i < hiLit.length; i++) {
            ret.push(hiLit[i].id);
        }
    }

    return ret;
    /*var ret = [];
    var nodes = tree.getRoot().children;
    for (var i=0;i<nodes.length;i++){
        if (nodes[i].checkState == 2){
            ret.push(nodes[i].id);  
            for (var j=0;j<nodes[i].children.length;j++){
                if (nodes[i].children[j].checkState == 2) ret.push(nodes[i].children[j].id);  
            }
        }
    }
    return ret;*/
}
function setSelectedCategories(vals){
    var ret = [];
    var nodes = tree.getRoot().children;
    for (var i=0;i<nodes.length;i++){
        for (var x=0;x<vals.length;x++){
            if (nodes[i].id == vals[x]){
                nodes[i].check();
                for (var j=0;j<nodes[i].children.length;j++){
                    for (var y=0;y<vals.length;y++){
                        if (nodes[i].children[j].id == vals[y]) nodes[i].children[j].check();
                    }
                }
                break;
            }
        }
    }
    return ret;
}

function buildCategoryTree(catNum, ctlID) {
    var cl = eval("c" + catNum);
	tree = new YAHOO.widget.TreeView(ctlID);
	var root = tree.getRoot();
    for (var x=0;x<cl.cats.length;x++){
        var tmpNode = new YAHOO.widget.TextNode(cl.cats[x].n, root, false);
	    //var tmpNode = new YAHOO.widget.TaskNode(cl.cats[x].n, root, false);
	    tmpNode.id = cl.cats[x].id;
	    for (var y=0;y<cl.cats[x].c.length;y++)
	    {
	        var n = new YAHOO.widget.TextNode(cl.cats[x].c[y].n, tmpNode, false);
	        //var n = new YAHOO.widget.TaskNode(cl.cats[x].c[y].n, tmpNode, false);
	        n.id = cl.cats[x].c[y].id;
	    }
	}
	tree.setNodesProperty('propagateHighlightUp', true);
	//tree.setNodesProperty('propagateHighlightDown', true);
	tree.subscribe('clickEvent', tree.onEventToggleHighlight);
    tree.draw();
}

