First draft of an input system
Cleaner Hodge diamond

Less HTML clutter, more semantics
Fixed missing initial value for Kodaira dimension
Layout changes

And I decided to drop Euler numbers and or Euler characteristics. There will be two ways of determining the input data: via h^{i,j}'s, or the Chern numbers.
Various ideas for input

Or rather, I realised that this approach is suboptimal. See next commit.
First draft of a D3 input

So now we'll input things using c_1^2 and c_2, which is then displayed on a graph similar to the graph found on Wikipedia.
Auto generate surfaces general type

We are getting somewhere: generate all data points for surfaces of general type by checking the 4 types of conditions.
Inputting all minimal data points

The problem is that the pair (c_1^2, c_2) doesn't determine the Hodge diamond uniquely... So the idea would be as follows:

1) selecting a data point (based on the possible values, given the Kodaira dimension) corresponds to choosing a minimal model

2) for each minimal model we keep track of which examples there exist (e.g. if the Kodaira dimension is 0, and c_1^2 = c_2 = 0 we have both hyperelliptic and abelian surfaces), which are then listed in a "list of known surfaces" for this pair of Chern numbers

3) one can then select an example from the list (if there are any), in which case we give the Hodge diamond and all other numerical values (because only then this becomes possible!)

4) if an example has been selected, it becomes possible to blow it up, which will change h^{1,1}, and therefore c_2 moves up and c_1^2 moves to the left, we draw a "special" dot indicating that we are looking at a non-minimal surface
Restructured code for the D3 input
Kodaira dimension influences layout of table
Fixed mistake in ruled surfaces data points
SVG doesn't have z-index so we move things around

See http://stackoverflow.com/questions/14167863/how-can-i-bring-a-circle-to-the-front-with-d3
Small improvement to comments
Implemented known surfaces

So right now it is possible to click on a data point, get a list of known surfaces for c_1^2 and c_2 of your choice, and then click on a surface of your choice to see its invariants!
Improved behaviour when changing dimension
The table recognises some mouse events
Fixed positioning of messages regarding candidates
Trying to improve the Hodge diamond

I'd like to show the h^{i,j}'s in a meaningful way.
All the numerical invariants from Wikipedia

They are not dynamic yet, but the layout seems to be okay.
Two column layout

Ideally speaking I'd like to have to following:

1) when the screen is sufficiently wide: two columns of fieldsets

2) when the field is not big enough (i.e. <= +/- 1200px at the moment) go to 1 column

3) have the svg element as position: fixed so it is always in view, even when scrolling down on small screens to see the invariants

I now realise that with a bit of JS hacking this is not too hard, but I hope there is a CSS solution (I'm afraid that the position: fixed might ruin this hope though)