__isAncestor__ = function(target, node) {
    // if this node matches, return true,
    // otherwise recurse up (if there is a parentNode)
    return ((target == node) || ((target.parentNode) && (__isAncestor__(target.parentNode, node))));
}
@method __isAncestor__ - returns true if node is ancestor of target
@param  target         : Node - The node we are using as context
@param  node         : Node - The candidate ancestor node
@return : boolean