isAncestor : function(p, c) {
p = Ext.getDom(p);
c = Ext.getDom(c);
if (!p || !c) {
return false;
}
if (p.contains && !Ext.isSafari) {
return p.contains(c);
} else if (p.compareDocumentPosition) {
return !!(p.compareDocumentPosition(c) & 16);
} else {
var parent = c.parentNode;
while (parent) {
if (parent == p) {
return true;
}
else if (!parent.tagName || parent.tagName.toUpperCase() == "HTML") {
return false;
}
parent = parent.parentNode;
}
return false;
}
},
p = Ext.getDom(p);
c = Ext.getDom(c);
if (!p || !c) {
return false;
}
if (p.contains && !Ext.isSafari) {
return p.contains(c);
} else if (p.compareDocumentPosition) {
return !!(p.compareDocumentPosition(c) & 16);
} else {
var parent = c.parentNode;
while (parent) {
if (parent == p) {
return true;
}
else if (!parent.tagName || parent.tagName.toUpperCase() == "HTML") {
return false;
}
parent = parent.parentNode;
}
return false;
}
},