]>
jfr.im git - irc/quakenet/qwebirc.git/blob - js/ui/genericlogin.js
1 qwebirc
.ui
.GenericLoginBox = function(parentElement
, callback
, initialNickname
, initialChannels
, autoConnect
, autoNick
) {
3 qwebirc
.ui
.ConfirmBox(parentElement
, callback
, initialNickname
, initialChannels
, autoNick
);
5 qwebirc
.ui
.LoginBox(parentElement
, callback
, initialNickname
, initialChannels
);
9 qwebirc
.ui
.ConfirmBox = function(parentElement
, callback
, initialNickname
, initialChannels
, autoNick
) {
10 var box
= new Element("table");
11 box
.addClass("confirmbox");
12 parentElement
.appendChild(box
);
14 var tbody
= new Element("tbody");
15 box
.appendChild(tbody
);
17 var tr
= new Element("tr");
18 tbody
.appendChild(tr
);
21 var text
= new Element("td");
24 var nick
= new Element("b");
25 nick
.set("text", initialNickname
);
27 var c
= initialChannels
.split(" ")[0].split(",");
29 text
.appendChild(document
.createTextNode("To connect to IRC and join channel" + ((c
.length
>1)?"s":"") + " "));
31 for(var i
=0;i
<c
.length
;i
++) {
32 if((c
.length
> 1) && (i
== c
.length
- 1)) {
33 text
.appendChild(document
.createTextNode(" and "));
35 text
.appendChild(document
.createTextNode(", "));
37 text
.appendChild(new Element("b").set("text", c
[i
]));
42 text
.appendChild(document
.createTextNode(" as "));
43 text
.appendChild(nick
);
45 text
.appendChild(document
.createTextNode(" click 'Connect'."));
47 var tr
= new Element("tr");
48 tbody
.appendChild(tr
);
51 var td
= new Element("td");
54 var yes
= new Element("input", {"type": "submit", "value": "Connect"});
57 yes
.addEvent("click", function(e
) {
58 parentElement
.removeChild(box
);
59 callback({"nickname": initialNickname
, "autojoin": initialChannels
});
62 var user
= Cookie
.read("user")
64 var auth
= new Element("input", {"type": "submit", "value": "Log in"});
66 auth
.addEvent("click", function(e
) {
67 var cookie
= Cookie
.write("redirect", document
.location
);
68 document
.location
= "./auth/";
73 qwebirc
.ui
.LoginBox = function(parentElement
, callback
, initialNickname
, initialChannels
) {
74 var box
= new Element("table");
75 parentElement
.appendChild(box
);
76 box
.addClass("loginbox");
78 var tbody
= new Element("tbody");
79 box
.appendChild(tbody
);
81 var tr
= new Element("tr");
82 tbody
.appendChild(tr
);
85 var td
= new Element("td");
87 td
.set("html", "<h1>Connect to IRC</h1>");
89 var tr
= new Element("tr");
90 tbody
.appendChild(tr
);
93 var td
= new Element("td");
96 var form
= new Element("form");
99 var boxtable
= new Element("table");
100 form
.appendChild(boxtable
);
102 var tbody
= new Element("tbody");
103 boxtable
.appendChild(tbody
); /* stupid IE */
105 function createRow(label
, e2
) {
106 var r
= new Element("tr");
107 tbody
.appendChild(r
);
109 var d1
= new Element("td");
111 d1
.set("text", label
);
114 var d2
= new Element("td");
120 var nick
= new Element("input");
121 createRow("Nickname:", nick
);
122 var chan
= new Element("input");
123 createRow("Channels:", chan
);
125 var connbutton
= new Element("input", {"type": "submit"});
126 connbutton
.set("value", "Connect");
127 createRow(undefined, connbutton
)
129 form
.addEvent("submit", function(e
) {
131 var nickname
= nick
.value
;
132 var chans
= chan
.value
;
133 if(chans
== "#") /* sorry channel "#" :P */
137 alert("You must supply a nickname.");
142 parentElement
.removeChild(box
);
144 callback({"nickname": nickname
, "autojoin": chans
});
147 nick
.set("value", initialNickname
);
148 chan
.set("value", initialChannels
);