anchor.diff:    div#info
       span Delaunay Triangulation
       br
  +    button#btnDelaunay Delaunay
  +    button#btnNoCross No Cross
       button#btnRandom Random
       button#btnAll All
  -    button#btnNoCross No Cross
  -    button#btnDelaunay Delaunay
     div#container
  
positive.code:       }
  
        function delaunayLines() {
          lines = [];
          for (var i = 0; i < POINT_COUNT; i++) {
            for (var j = i + 1; j < POINT_COUNT; j++) {
              lines.push(new Bu.Line(points[i], points[j]));
            }
          }
          for (var i = 0; i < lines.length; i++) {
            while (lineTryKillOthers(lines[i], lines))
              lineTryKillOthers(lines[i], lines);
          }
          for (var i = 0; i < lines.length; i++) {
            lines[i].strokeStyle = "#808";
            bu.append(lines[i]);
          }
        }
  
negative.code:       }
  
        // generate lines
  
        function randomLines() {
          lines = [];
          for (var i = 0; i < LINE_COUNT; i++) {
            var p1 = points[Math.floor(Bu.rand(POINT_COUNT))];
            var p2 = points[Math.floor(Bu.rand(POINT_COUNT))];
            var line = new Bu.Line(p1, p2);
            line.strokeStyle = "#f40";
            lines.push(line);
            bu.append(line);
          }
  