1var specificity = require('./specificity');
2
3function specificitiesOverlap(selector1, selector2, cache) {
4  var specificity1;
5  var specificity2;
6  var i, l;
7  var j, m;
8
9  for (i = 0, l = selector1.length; i < l; i++) {
10    specificity1 = findSpecificity(selector1[i][1], cache);
11
12    for (j = 0, m = selector2.length; j < m; j++) {
13      specificity2 = findSpecificity(selector2[j][1], cache);
14
15      if (specificity1[0] === specificity2[0] && specificity1[1] === specificity2[1] && specificity1[2] === specificity2[2]) {
16        return true;
17      }
18    }
19  }
20
21  return false;
22}
23
24function findSpecificity(selector, cache) {
25  var value;
26
27  if (!(selector in cache)) {
28    cache[selector] = value = specificity(selector);
29  }
30
31  return value || cache[selector];
32}
33
34module.exports = specificitiesOverlap;
35