+ };
+
+ var inick = null;
+ var ichans = this.options.initialChannels;
+ var autoConnect = false;
+
+ if(this.options.searchURL) {
+ var args = qwebirc.util.parseURI(String(document.location));
+ this.options.hue = this.getHueArg(args, "");
+ this.options.saturation = this.getSaturationArg(args, "");
+ this.options.lightness = this.getLightnessArg(args, "");
+
+ this.options.thue = this.getHueArg(args, "t");
+ this.options.tsaturation = this.getSaturationArg(args, "t");
+ this.options.tlightness = this.getLightnessArg(args, "t");
+
+ if(args.contains("uio"))
+ this.options.uiOptionsArg = args.get("uio");
+
+ var url = args.get("url");
+ var chans, nick = args.get("nick");
+
+ if($defined(url)) {
+ ichans = this.parseIRCURL(url);
+ if($defined(chans) && chans != "")
+ canAutoConnect = true;
+ } else {
+ chans = args.get("channels");
+
+ var canAutoConnect = false;
+
+ if(chans) {
+ var cdata = chans.split(" ");
+
+ chans = cdata[0].split(",");
+ var chans2 = [];
+
+ for(var i=0;i<chans.length;i++) {
+ chans2[i] = chans[i];
+
+ var prefix = chans[i].charAt(0);
+ if(prefix != '#' && prefix != '&')
+ chans2[i] = "#" + chans2[i]
+ }
+ cdata[0] = chans2.join(",");
+ ichans = cdata.join(" ");
+ canAutoConnect = true;
+ }
+ }
+
+ if($defined(nick))
+ inick = this.randSub(nick);
+
+ if(args.contains("randomnick") && args.get("randomnick") == 1)
+ inick = this.options.initialNickname;
+
+ if(args.contains("cloak") && args.get("cloak") == 1)
+ this.options.cloak = true;
+
+ /* we only consider autoconnecting if the nick hasn't been supplied, or it has and it's not "" */
+ if(canAutoConnect && (!$defined(inick) || ($defined(inick) && (inick != "")))) {
+ var p = args.get("prompt");
+ var pdefault = false;
+
+ if(!$defined(p) || p == "") {
+ pdefault = true;
+ p = false;
+ } else if(p == "0") {
+ p = false;
+ } else {
+ p = true;
+ }
+
+ /* autoconnect if we have channels and nick but only if prompt != 1 */
+ if($defined(inick) && !p) {
+ autoConnect = true;
+ } else if(!pdefault && !p) { /* OR if prompt=0, but not prompt=(nothing) */
+ autoConnect = true;
+ }
+ }
+ }
+
+ var ui_ = new ui($(element), new qwebirc.ui.Theme(this.options.theme), this.options);
+
+ var usingAutoNick = !$defined(nick);
+ if(usingAutoNick && autoConnect)
+ inick = this.options.initialNickname;
+
+ var details = ui_.loginBox(callback, inick, ichans, autoConnect, usingAutoNick);