1 <html> 2 <head> 3 <link rel="stylesheet" type="text/css" href="styles.css"> 4 <script src="util.js" type="text/javascript"></script> 5 <script> 6 function addServer() { 7 try { 8 var servers = JSON.parse(localStorage.servers || "[]"); 9 var serverName = $F('serverText'); 10 11 servers.forEach(function(server) { 12 if (server.name == serverName) { 13 throw "Connection to " + serverName + " already established"; 14 } 15 }); 16 17 var portValue = parseInt($F('serverPort')); 18 if (isNaN(portValue)) { 19 throw $F('serverPort') + " is not a valid port value"; 20 } 21 22 var nickValue = $F('nick'); 23 var newServer = { 24 name: serverName, 25 port: portValue, 26 nick: nickValue, 27 channels: [] 28 }; 29 30 servers.push(newServer); 31 32 localStorage.servers = JSON.stringify(servers); 33 window.opener.addServerConnection(newServer); 34 close(); 35 } catch (ex) { 36 alert(ex); 37 } 38 } 39 </script> 40 </head> 41 <body> 42 <div> 43 <input id="serverText" type="text" value="irc.freenode.net"> 44 <input id="serverPort" type="text" value="6667"> 45 </div> 46 <div> 47 <input id="nick" type="text" value="nick"> 48 </div> 49 <div> 50 <input type="button" value="Add New Server" 51 onclick="addServer();"> 52 </div> 53 </body> 54 </html>