$("#tree").dynatree({
    title
: "Dynatree", // Tree's name (only used for debug outpu)
    minExpandLevel
: 1, // 1: root node is not collapsible
    imagePath
: null, // Path to a folder containing icons. Defaults to 'skin/' subdirectory.
    children
: null, // Init tree structure from this object array.
    initId
: null, // Init tree structure from a <ul> element with this ID.
    initAjax
: null, // Ajax options used to initialize the tree strucuture.
    autoFocus
: true, // Set focus to first child, when expanding or lazy-loading.
    keyboard
: true, // Support keyboard navigation.
    persist
: false, // Persist expand-status to a cookie
    autoCollapse
: false, // Automatically collapse all siblings, when a node is expanded.
    clickFolderMode
: 3, // 1:activate, 2:expand, 3:activate and expand
    activeVisible
: true, // Make sure, active nodes are visible (expanded).
    checkbox
: false, // Show checkboxes.
    selectMode
: 2, // 1:single, 2:multi, 3:multi-hier
    fx
: null, // Animations, e.g. null or { height: "toggle", duration: 200 }
    noLink
: false, // Use <span> instead of <a> tags for all nodes
   
// Low level event handlers: onEvent(dtnode, event): return false, to stop default processing
    onClick
: null, // null: generate focus, expand, activate, select events.
    onDblClick
: null, // (No default actions.)
    onKeydown
: null, // null: generate keyboard navigation (focus, expand, activate).
    onKeypress
: null, // (No default actions.)
    onFocus
: null, // null: set focus to node.
    onBlur
: null, // null: remove focus from node.

   
// Pre-event handlers onQueryEvent(flag, dtnode): return false, to stop processing
    onQueryActivate
: null, // Callback(flag, dtnode) before a node is (de)activated.
    onQuerySelect
: null, // Callback(flag, dtnode) before a node is (de)selected.
    onQueryExpand
: null, // Callback(flag, dtnode) before a node is expanded/collpsed.

   
// High level event handlers
    onPostInit
: null, // Callback(isReloading, isError) when tree was (re)loaded.
    onActivate
: null, // Callback(dtnode) when a node is activated.
    onDeactivate
: null, // Callback(dtnode) when a node is deactivated.
    onSelect
: null, // Callback(flag, dtnode) when a node is (de)selected.
    onExpand
: null, // Callback(flag, dtnode) when a node is expanded/collapsed.
    onLazyRead
: null, // Callback(dtnode) when a lazy node is expanded for the first time.
    onCustomRender
: null, // Callback(dtnode) before a node is rendered. Return a HTML string to override.
    onCreate
: null, // Callback(dtnode, nodeSpan) after a node was rendered for the first time.
    onRender
: null, // Callback(dtnode, nodeSpan) after a node was rendered.
    postProcess
: null, // Callback(data, dataType) before an Ajax result is passed to dynatree.

   
// Drag'n'drop support
    dnd
: {
       
// Make tree nodes draggable:
        onDragStart
: null, // Callback(sourceNode), return true, to enable dnd
        onDragStop
: null, // Callback(sourceNode)
       
// Make tree nodes accept draggables
        autoExpandMS
: 1000, // Expand nodes after n milliseconds of hovering.
        preventVoidMoves
: true, // Prevent dropping nodes 'before self', etc.
        revert
: false, // true: slide helper back to source if drop is rejected
        onDragEnter
: null, // Callback(targetNode, sourceNode, ui, draggable)
        onDragOver
: null, // Callback(targetNode, sourceNode, hitMode)
        onDrop
: null, // Callback(targetNode, sourceNode, hitMode, ui, draggable)
        onDragLeave
: null // Callback(targetNode, sourceNode)
   
},
    ajaxDefaults
: { // Used by initAjax option
        cache
: false, // false: Append random '_' argument to the request url to prevent caching.
        timeout
: 0, // >0: Make sure we get an ajax error for invalid URLs
        dataType
: "json" // Expect json format and pass json object to callbacks.
   
},
    strings
: {
        loading
: "Loading…",
        loadError
: "Load error!"
   
},
    generateIds
: false, // Generate id attributes like <span id='dynatree-id-KEY'>
    idPrefix
: "dynatree-id-", // Used to generate node id's like <span id="dynatree-id-<key>">.
    keyPathSeparator
: "/", // Used by node.getKeyPath() and tree.loadKeyPath().
    cookieId
: "dynatree", // Choose a more unique name, to allow multiple trees.
    cookie
: {
        expires
: null // Days or Date; null: session cookie
   
},
   
// Class names used, when rendering the HTML markup.
   
// Note:
   
// These settings only apply on initialisation.
   
// If only single entries are passed for options.classNames, all other
   
// values are still set to default.
    classNames
: {
        container
: "dynatree-container",
        node
: "dynatree-node",
        folder
: "dynatree-folder",

        empty
: "dynatree-empty",
        vline
: "dynatree-vline",
        expander
: "dynatree-expander",
        connector
: "dynatree-connector",
        checkbox
: "dynatree-checkbox",
        nodeIcon
: "dynatree-icon",
        title
: "dynatree-title",
        noConnector
: "dynatree-no-connector",

        nodeError
: "dynatree-statusnode-error",
        nodeWait
: "dynatree-statusnode-wait",
        hidden
: "dynatree-hidden",
        combinedExpanderPrefix
: "dynatree-exp-",
        combinedIconPrefix
: "dynatree-ico-",
        hasChildren
: "dynatree-has-children",
        active
: "dynatree-active",
        selected
: "dynatree-selected",
        expanded
: "dynatree-expanded",
        lazy
: "dynatree-lazy",
        focused
: "dynatree-focused",
        partsel
: "dynatree-partsel",
        lastsib
: "dynatree-lastsib"
   
},
    debugLevel
: 1 // 0:quiet, 1:normal, 2:debug
});