]> jfr.im git - irc/quakenet/qwebirc.git/blame - js/qwebircinterface.js
Should now validate.
[irc/quakenet/qwebirc.git] / js / qwebircinterface.js
CommitLineData
e20e5a6b 1qwebirc.ui.Interface = new Class({
d65fe45f
CP
2 Implements: [Options],
3 options: {
4 initialNickname: "qwebirc" + Math.ceil(Math.random() * 100000),
5 initialChannels: "",
66de775f 6 searchURL: true,
d65fe45f
CP
7 theme: undefined
8 },
9 initialize: function(element, ui, options) {
10 this.setOptions(options);
11
12 window.addEvent("domready", function() {
e20e5a6b 13 var ui_ = new ui($(element), new qwebirc.ui.Theme(this.options.theme));
66de775f
CP
14 var inick = this.options.initialNickname;
15 var ichans = this.options.initialChannels;
16 var autoNick = true;
17
18 var callback = function(options) {
e20e5a6b 19 var IRC = new qwebirc.irc.IRCClient(options, ui_);
d65fe45f
CP
20 IRC.connect();
21 window.addEvent("beforeunload", function() {
22 IRC.quit("Page closed");
23 });
66de775f
CP
24 };
25
26 var supplied = false;
27 if(this.options.searchURL) {
e20e5a6b 28 var args = qwebirc.util.parseURI(String(document.location));
66de775f
CP
29
30 var chans = args["channels"];
31 var nick = args["nick"];
32
33 if(chans) {
34 chans = chans.split(",");
35 var chans2 = [];
36
37 for(i=0;i<chans.length;i++) {
38 chans2[i] = chans[i];
39
40 if(chans[i].charAt(0) != '#')
41 chans2[i] = "#" + chans2[i]
42 }
43 ichans = chans2.join(",");
44 supplied = true;
45 }
46
bede573a 47 if($defined(nick)) {
66de775f
CP
48 inick = nick;
49 autoNick = false;
50 }
bede573a
CP
51
52 if(supplied && args["prompt"])
53 supplied = false;
66de775f 54 }
bede573a 55
66de775f 56 var details = ui_.loginBox(callback, inick, ichans, supplied, autoNick);
d65fe45f
CP
57 }.bind(this));
58 }
59});