#macro(writeJS $obj, $prefix)
var ${prefix}$obj.getId() = new LearningContainer();
${prefix}${obj.getId()}.setID("$obj.getId()");
${prefix}${obj.getId()}.setObjectTypeID("$obj.getObjectTypeId()");
#writeChildrenJS($obj)
#end
#macro(writeChildrenJS $parent)
#if ($parent.hasChildren())
#set ($childList = $parent.getChildren())
#foreach ($child in $childList)
#if ($parent.getObjectTypeId() == 5)
#writeJS($child,"module")
course${parent.getId()}.add(module$child.getId());
#elseif ($parent.getObjectTypeId() == 4)
#writeJS($child,"lo")
module${parent.getId()}.add(lo$child.getId());
#end
#end
#end
#end
#macro(addObjectNodeJS $obj)
#if ($obj.getObjectTypeId() == 4)
#writeObjectNodeJS($obj)
#addObjectNodeChildrenJS($obj)
#elseif ($obj.getObjectTypeId() == 3)
#writeObjectNodeJS($obj)
#elseif ($obj.getObjectTypeId() == 7)
#writeObjectNodeJS($obj)
#elseif ($obj.getObjectTypeId() == 6)
#writeObjectNodeJS($obj)
#end
#end
#macro(addObjectNodeChildrenJS $obj)
#if ($obj.hasChildren())
#foreach ($child in $obj.getChildren())
#addObjectNodeJS($child)
#end
#end
#end
#macro(writeObjectNodeJS $obj)
#set ($url = $e.getURL($obj))
#if ($obj.getObjectTypeId() == 4)
#set ($url = $e.getURL($obj,"course.html"))
#end
NodeObject.push(new ObjectNode("$obj.getParent().getId()", "$obj.getObjectTypeId()", "$obj.getId()", "$e.buildNodeId($obj)", "
$obj.getLabel()<\/a>"));
#end
#set ($root = $e.getRoot())
$root.getLabel()