var LoginPage = function() { return { updateLobby : function(lobby) { $('table.lobby tr').remove(":has(td)"); var baseViewUrl = '/somnium/viewGame.game'; var baseJoinUrl = '/somnium/joinGame.game'; for (var i = 0; i < lobby.entries.length; ++i) { var entry = lobby.entries[i]; $('table.lobby').appendDom([{ tagName: 'tr', childNodes: [{ tagName: 'td', class: 'lobbyGame', childNodes:[{ tagName: 'a', href: baseViewUrl + '?gameName='+entry.id, innerHTML: entry.name + ' (' + entry.id + ')' }] }, { tagName: 'td', class: 'lobbyPlayerOne', childNodes:[{ tagName: 'a', href: baseJoinUrl + '?gameName='+entry.id+'&openid_identifier='+entry.playerOneOpenid, innerHTML: entry.playerOneName }] }, { tagName: 'td', class: 'lobbyPlayerTwo', childNodes:[{ tagName: 'a', href: baseJoinUrl + '?gameName='+entry.id+'&openid_identifier='+entry.playerTwoOpenid, innerHTML: entry.playerTwoName }] }, { tagName: 'td', class: 'lobbyCreated', innerHTML: entry.created.toString() } ] }]); } } }; }(); // Wait for the content ... $(document).ready(function() { $("#newGameForm").validate({ submitHandler: function(form){ form.submit(); }, messages: { openid_identifier: {notEqualTo: "You cannot play against yourself"}, second_openid_identifier: {notEqualTo: "You cannot play against yourself"} }, rules: { gameName: { required:true }, playerOneName: { required:true }, playerTwoName: { required:true }, openid_identifier: { url:true, required:true, notEqualTo:"#second_openid_identifier" }, second_openid_identifier: { url:true, required:true, notEqualTo:"#openid_identifier" } } }); $("#joinGameForm").validate({ submitHandler: function(form){ if (form.valid()) { form.submit(); } }, rules: { gameName: { required:true }, openid_identifier: { url:true, required:true } } }); $("#viewGameForm").validate({ submitHandler: function(form){ if (form.valid()) { form.submit(); } }, rules: { gameName: { required:true } } }); dwr.engine.setErrorHandler(function(msg){ $.growl("Error", msg); dwr.engine.setActiveReverseAjax(true); }); dwr.engine.setActiveReverseAjax(true); });