Tangents on circle

From JSXGraph Wiki

The underlying JavaScript code

brd = JXG.JSXGraph.initBoard('jxgbox',{boundingbox:[-5,5,5,-5]});
brd.options.point.strokeColor = 'red';
brd.options.point.fillColor = 'red';
brd.options.point.strokeOpacity = 0.8;
brd.options.point.fillOpacity = 0.8;

m = brd.create('point',[0.5,0.3]);
b = brd.create('point',[3,0]);
c = brd.create('circle',[m,b]);
p = brd.create('point',[-4,2]);

// If p is not on c, the tangent is the polar.
t = brd.create('tangent', [c,p], {name:'polar', withLabel:true}); 

i1 = brd.create('intersection', [c,t,0],{visible:false});
i2 = brd.create('intersection', [c,t,1],{visible:false});
t1 = brd.create('tangent', [c,i1]);
t2 = brd.create('tangent', [c,i2]);