Made the main content DIV a fixed width, looks better. Made all PHP actions return JSON, optionally with .error set which is automatically added to the user message list. Fixed the page downloading code so that it now tries WkHtmlToPdf then cURL then just file_get_contents.