How can I fix this code to properly detect overlapping circles?
The first circle is appointed by testing the location of the starting point. This first circle should be the basis of the overlapping circle map. Now, it only works if the tested circles overlap in a non-branching line...

(individual circles come as [x,y,radius])

```
var circles = [
    [6, 19, 1],
    [6, 11, 4],
    [8, 17, 3],
    [19, 19, 2],
    [19, 11, 4],
    [15, 7, 6],
    [12, 19, 4]
];
var i = 0;
var j = 0;
var start = [10, 19];
var starts = false;
var overlapping = [];

var isInside = function(point, list, check, push) {
    var temp = list.filter(function(item) { return Math.pow(item[0] - point[0], 2) + Math.pow(item[1] - point[1], 2) < item[2] * item[2] });
    if (push) { overlapping = overlapping.concat(temp) };
    return temp.length > 0
};

starts = isInside(start, circles, starts, true);

var overlappingCirclesTest = function() {
    if (j < circles.length && overlapping.length > 0) {
        var i = overlapping.length - 1;
        var r0 = overlapping[i][2];
        var r1 = circles[j][2];
        var x0 = overlapping[i][0];
        var x1 = circles[j][0];
        var y0 = overlapping[i][1];
        var y1 = circles[j][1];
        if (Math.hypot(x0 - x1, y0 - y1) <= (r0 + r1)) {
            overlapping.push(circles[j]);
            circles.splice(circles.indexOf(circles[j]), 1);
            j = 0;
            overlappingCirclesTest();
        }
        j++;
        overlappingCirclesTest();
    }
}
overlappingCirclesTest();

```

EDIT: for clarification: we have an array of potentially overlapping circles and two points, start and finish. We want to produce a path of overlapping circles, starting with the one with start in it and ending with the one with end in it. There can be several potential paths, we just want to know if there's any path at all.