intanto è tutto javascript (da non confondersi con java) o meglio dhtml
e si basa su quanto spiegato in questo articolo
la possibilità di cambiare numero di colonne non è implementato neanche sul sito dell' autore quindi l' hanno fatto loro
e dovresti smontare il codice (lavoro a prima vista non indifferente) per capire come hanno fatto