]>
jfr.im git - irc/quakenet/qwebirc.git/blob - js/ui/panes/connect.js
1 qwebirc
.ui
.GenericLoginBox = function(parentElement
, callback
, initialNickname
, initialChannels
, autoConnect
, autoNick
, networkName
) {
3 qwebirc
.ui
.ConfirmBox(parentElement
, callback
, initialNickname
, initialChannels
, autoNick
, networkName
);
5 qwebirc
.ui
.LoginBox(parentElement
, callback
, initialNickname
, initialChannels
, networkName
);
9 qwebirc
.ui
.AuthLogin = function(e
) {
10 var cookie
= Cookie
.write("redirect", document
.location
);
11 document
.location
= qwebirc
.global
.dynamicBaseURL
+ "auth/";
15 qwebirc
.ui
.ConfirmBox = function(parentElement
, callback
, initialNickname
, initialChannels
, autoNick
, networkName
) {
16 var outerbox
= new Element("table");
17 outerbox
.addClass("qwebirc-centrebox");
18 parentElement
.appendChild(outerbox
);
19 var tbody
= new Element("tbody");
20 outerbox
.appendChild(tbody
);
21 var tr
= new Element("tr");
22 tbody
.appendChild(tr
);
23 var td
= new Element("td");
26 var box
= new Element("table");
27 box
.addClass("qwebirc-confirmbox");
30 var tbody
= new Element("tbody");
31 box
.appendChild(tbody
);
33 var tr
= new Element("tr");
34 tbody
.appendChild(tr
);
37 var text
= new Element("td");
40 var nick
= new Element("b");
41 nick
.set("text", initialNickname
);
43 var c
= initialChannels
.split(" ")[0].split(",");
45 text
.appendChild(document
.createTextNode("To connect to " + networkName
+ " IRC and join channel" + ((c
.length
>1)?"s":"") + " "));
47 for(var i
=0;i
<c
.length
;i
++) {
48 if((c
.length
> 1) && (i
== c
.length
- 1)) {
49 text
.appendChild(document
.createTextNode(" and "));
51 text
.appendChild(document
.createTextNode(", "));
53 text
.appendChild(new Element("b").set("text", c
[i
]));
58 text
.appendChild(document
.createTextNode(" as "));
59 text
.appendChild(nick
);
62 text
.appendChild(document
.createTextNode(" click 'Connect'."));
63 text
.appendChild(new Element("br"));
64 if(qwebirc
.auth
.enabled() && qwebirc
.auth
.quakeNetAuth() && !qwebirc
.auth
.loggedin())
65 text
.appendChild(document
.createTextNode("If you'd like to connect using your Q auth click 'Log in'."));
67 var tr
= new Element("tr");
68 tbody
.appendChild(tr
);
71 var td
= new Element("td");
74 var yes
= new Element("input", {"type": "submit", "value": "Connect"});
77 yes
.addEvent("click", function(e
) {
78 parentElement
.removeChild(outerbox
);
79 callback({"nickname": initialNickname
, "autojoin": initialChannels
});
82 if(qwebirc
.auth
.enabled() && qwebirc
.auth
.quakeNetAuth() && !qwebirc
.auth
.loggedin()) {
83 var auth
= new Element("input", {"type": "submit", "value": "Log in"});
85 auth
.addEvent("click", qwebirc
.ui
.AuthLogin
);
88 if(!window
!= window
.top
)
92 qwebirc
.ui
.LoginBox = function(parentElement
, callback
, initialNickname
, initialChannels
, networkName
) {
93 var outerbox
= new Element("table");
94 outerbox
.addClass("qwebirc-centrebox");
95 parentElement
.appendChild(outerbox
);
96 var tbody
= new Element("tbody");
97 outerbox
.appendChild(tbody
);
98 var tr
= new Element("tr");
99 tbody
.appendChild(tr
);
100 var td
= new Element("td");
103 var box
= new Element("table");
104 box
.addClass("qwebirc-loginbox");
107 var tbody
= new Element("tbody");
108 box
.appendChild(tbody
);
110 var tr
= new Element("tr");
111 tbody
.appendChild(tr
);
114 var td
= new Element("td");
116 td
.set("html", "<h1>Connect to " + networkName
+ " IRC</h1>");
118 var tr
= new Element("tr");
119 tbody
.appendChild(tr
);
122 var td
= new Element("td");
125 var form
= new Element("form");
126 td
.appendChild(form
);
128 var boxtable
= new Element("table");
129 form
.appendChild(boxtable
);
131 var tbody
= new Element("tbody");
132 boxtable
.appendChild(tbody
); /* stupid IE */
134 function createRow(label
, e2
, style
) {
135 var r
= new Element("tr");
136 tbody
.appendChild(r
);
138 var d1
= new Element("td");
140 d1
.set("text", label
);
143 var d2
= new Element("td");
148 if($defined(style
)) {
156 var nick
= new Element("input");
157 createRow("Nickname:", nick
);
159 var chanStyle
= null;
160 if(qwebirc
.auth
.enabled() && qwebirc
.auth
.bouncerAuth())
161 chanStyle
= {display: "none"};
163 var chan
= new Element("input");
164 createRow("Channels:", chan
, chanStyle
);
166 if(qwebirc
.auth
.enabled()) {
167 if(qwebirc
.auth
.passAuth()) {
168 var authRow
= createRow("Auth to services:");
169 var authCheckBox
= qwebirc
.util
.createInput("checkbox", authRow
, "connect_auth_to_services", false);
171 var usernameBox
= new Element("input");
172 var usernameRow
= createRow("Username:", usernameBox
, {display: "none"})[0];
174 var passwordRow
= createRow("Password:", null, {display: "none"});
175 var passwordBox
= qwebirc
.util
.createInput("password", passwordRow
[1], "connect_auth_password");
177 authCheckBox
.addEvent("click", function(e
) { qwebirc
.ui
.authShowHide(authCheckBox
, authRow
, usernameBox
, usernameRow
, passwordRow
[0]) });
178 } else if(qwebirc
.auth
.bouncerAuth()) {
179 var passwordRow
= createRow("Password:");
180 var passwordBox
= qwebirc
.util
.createInput("password", passwordRow
, "connect_auth_password");
184 var connbutton
= new Element("input", {"type": "submit"});
185 connbutton
.set("value", "Connect");
186 var r
= createRow(undefined, connbutton
);
188 if(qwebirc
.auth
.enabled() && qwebirc
.auth
.quakeNetAuth() && !qwebirc
.auth
.loggedin()) {
189 var auth
= new Element("input", {"type": "submit", "value": "Log in"});
191 auth
.addEvent("click", qwebirc
.ui
.AuthLogin
);
194 form
.addEvent("submit", function(e
) {
196 var nickname
= nick
.value
;
197 var chans
= chan
.value
;
198 if(chans
== "#") /* sorry channel "#" :P */
202 alert("You must supply a nickname.");
207 var data
= {"nickname": nickname
, "autojoin": chans
};
208 if(qwebirc
.auth
.enabled()) {
209 if(qwebirc
.auth
.passAuth() && authCheckBox
.checked
) {
210 if(!usernameBox
.value
|| !passwordBox
.value
) {
211 alert("You must supply your username and password in auth mode.");
212 if(!usernameBox
.value
) {
220 data
["serverPassword"] = usernameBox
.value
+ " " + passwordBox
.value
;
221 } else if(qwebirc
.auth
.bouncerAuth()) {
222 if(!passwordBox
.value
) {
223 alert("You must supply a password.");
228 data
["serverPassword"] = passwordBox
.value
;
231 parentElement
.removeChild(outerbox
);
236 nick
.set("value", initialNickname
);
237 chan
.set("value", initialChannels
);
239 if(!window
!= window
.top
)
243 qwebirc
.ui
.authShowHide = function(checkbox
, authRow
, usernameBox
, usernameRow
, passwordRow
) {
244 var visible
= checkbox
.checked
;
245 var display
= visible
?null:"none";
246 usernameRow
.setStyle("display", display
);
247 passwordRow
.setStyle("display", display
);
250 // authRow.parentNode.setStyle("display", "none");