Cleaned up JS a bit, added support for retrying weather API (it returned a 502 once for me).