$(document).ready(function() { var headerTitleElement = $("#header h1"); var entriesElement = $("#guestbook-entries"); var formElement = $("#guestbook-form"); var submitElement = $("#guestbook-submit"); var entryContentElement = $("#guestbook-entry-content"); var hostAddressElement = $("#guestbook-host-address"); var appendGuestbookEntries = function(data) { entriesElement.empty(); $.each(data, function(key, val) { entriesElement.append("

" + val + "

"); }); } var handleSubmission = function(e) { e.preventDefault(); var entryValue = entryContentElement.val() if (entryValue.length > 0) { entriesElement.append("

...

"); $.getJSON("rpush/guestbook/" + entryValue, appendGuestbookEntries); } return false; } // colors = purple, blue, red, green, yellow var colors = ["#549", "#18d", "#d31", "#2a4", "#db1"]; var randomColor = colors[Math.floor(5 * Math.random())]; (function setElementsColor(color) { headerTitleElement.css("color", color); entryContentElement.css("box-shadow", "inset 0 0 0 2px " + color); submitElement.css("background-color", color); })(randomColor); submitElement.click(handleSubmission); formElement.submit(handleSubmission); hostAddressElement.append(document.URL); // Poll every second. (function fetchGuestbook() { $.getJSON("lrange/guestbook").done(appendGuestbookEntries).always( function() { setTimeout(fetchGuestbook, 1000); }); })(); });