This question has sort of been answered here: Combined area of overlapping circles
My problem is more specific though. I have an arbitrary number of arbitrarily sized ci
You must use a library like RaphaelJS. It is capable of more than what you ask for here.
Edit: You can apply alpha transparency through js by programmatically determining the distance between centres (D) and comparing it with the sum of the radii (S). If D < S, then they overlap so take care of red circles.
(http://raphaeljs.com/)