var getAncestors = function(n,root){varas=[];
while(n){as.unshift(n);
if(n!=root && n.tagName!='BODY'){
n = n.parentNode;
}else{break;
}}returnas;
};
var n1as = getAncestors(n1,root);
var n2as = getAncestors(n2,root);
var m = Math.min(n1as.length,n2as.length);
var com = n1as[0]; //at least, one element should be in the array: the root (BODY by default)for(var i=1;i<m;i++){if(n1as[i]===n2as[i]){
com = n1as[i]}else{break;
}}return com;