]>
jfr.im git - irc/quakenet/qwebirc.git/blob - js/qwebircinterface.js
1 qwebirc
.ui
.Interface
= new Class({
4 initialNickname: "qwebirc" + Math
.ceil(Math
.random() * 100000),
9 initialize: function(element
, ui
, options
) {
10 this.setOptions(options
);
12 window
.addEvent("domready", function() {
13 var ui_
= new ui($(element
), new qwebirc
.ui
.Theme(this.options
.theme
));
15 var callback = function(options
) {
16 var IRC
= new qwebirc
.irc
.IRCClient(options
, ui_
);
18 window
.addEvent("beforeunload", function() {
19 IRC
.quit("Page closed");
24 var ichans
= this.options
.initialChannels
;
25 var autoConnect
= false;
27 if(this.options
.searchURL
) {
28 var args
= qwebirc
.util
.parseURI(String(document
.location
));
30 var chans
= args
["channels"];
31 var nick
= args
["nick"];
33 var canAutoConnect
= false;
36 var cdata
= chans
.split(" ");
38 chans
= cdata
[0].split(",");
41 for(i
=0;i
<chans
.length
;i
++) {
44 if(chans
[i
].charAt(0) != '#')
45 chans2
[i
] = "#" + chans2
[i
]
47 cdata
[0] = chans2
.join(",");
48 ichans
= cdata
.join(" ");
49 canAutoConnect
= true;
55 if(args
["randomnick"] && args
["randomnick"] == 1)
56 inick
= this.options
.initialNickname
;
58 /* we only consider autoconnecting if the nick hasn't been supplied, or it has and it's not "" */
59 if(canAutoConnect
&& (!$defined(inick
) || ($defined(inick
) && (inick
!= "")))) {
60 var p
= args
["prompt"];
63 if(!$defined(p
) || p
== "") {
72 /* autoconnect if we have channels and nick but only if prompt != 1 */
73 if($defined(inick
) && !p
) {
75 } else if(!pdefault
&& !p
) { /* OR if prompt=0, but not prompt=(nothing) */
81 var usingAutoNick
= !$defined(nick
);
82 if(usingAutoNick
&& autoConnect
)
83 inick
= this.options
.initialNickname
;
85 var details
= ui_
.loginBox(callback
, inick
, ichans
, autoConnect
, usingAutoNick
);