options: {
initialNickname: "qwebirc" + Math.ceil(Math.random() * 100000),
initialChannels: "",
- searchURL: false,
+ searchURL: true,
theme: undefined
},
initialize: function(element, ui, options) {
window.addEvent("domready", function() {
var ui_ = new ui($(element), new Theme(this.options.theme));
-
- if(this.options.searchURL) {
- /* TODO: look at URI and detect nickname/channels... */
- }
-
- var details = ui_.loginBox(function(options) {
+ var inick = this.options.initialNickname;
+ var ichans = this.options.initialChannels;
+ var autoNick = true;
+
+ var callback = function(options) {
var IRC = new IRCClient(options, ui_);
IRC.connect();
window.addEvent("beforeunload", function() {
IRC.quit("Page closed");
});
- }, this.options.initialNickname, this.options.initialChannels);
+ };
+
+ var supplied = false;
+ if(this.options.searchURL) {
+ var args = parseURI(String(document.location));
+
+ var chans = args["channels"];
+ var nick = args["nick"];
+
+ if(chans) {
+ chans = chans.split(",");
+ var chans2 = [];
+
+ for(i=0;i<chans.length;i++) {
+ chans2[i] = chans[i];
+
+ if(chans[i].charAt(0) != '#')
+ chans2[i] = "#" + chans2[i]
+ }
+ ichans = chans2.join(",");
+ supplied = true;
+ }
+
+ if(nick) {
+ inick = nick;
+ autoNick = false;
+ }
+ }
+
+ var details = ui_.loginBox(callback, inick, ichans, supplied, autoNick);
}.bind(this));
}
});