Reimplementing the catincan popup

catincanlib.js doesn't seem to work properly so I replaced it with a
simple popup-once script.