]>
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
= "./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
);
89 qwebirc
.ui
.LoginBox = function(parentElement
, callback
, initialNickname
, initialChannels
, networkName
) {
90 var outerbox
= new Element("table");
91 outerbox
.addClass("qwebirc-centrebox");
92 parentElement
.appendChild(outerbox
);
93 var tbody
= new Element("tbody");
94 outerbox
.appendChild(tbody
);
95 var tr
= new Element("tr");
96 tbody
.appendChild(tr
);
97 var td
= new Element("td");
100 var box
= new Element("table");
101 box
.addClass("qwebirc-loginbox");
104 var tbody
= new Element("tbody");
105 box
.appendChild(tbody
);
107 var tr
= new Element("tr");
108 tbody
.appendChild(tr
);
111 var td
= new Element("td");
113 td
.set("html", "<h1>Connect to " + networkName
+ " IRC</h1>");
115 var tr
= new Element("tr");
116 tbody
.appendChild(tr
);
119 var td
= new Element("td");
122 var form
= new Element("form");
123 td
.appendChild(form
);
125 var boxtable
= new Element("table");
126 form
.appendChild(boxtable
);
128 var tbody
= new Element("tbody");
129 boxtable
.appendChild(tbody
); /* stupid IE */
131 function createRow(label
, e2
, style
) {
132 var r
= new Element("tr");
133 tbody
.appendChild(r
);
135 var d1
= new Element("td");
137 d1
.set("text", label
);
140 var d2
= new Element("td");
145 if($defined(style
)) {
153 var nick
= new Element("input");
154 createRow("Nickname:", nick
);
156 var chanStyle
= null;
157 if(qwebirc
.auth
.enabled() && qwebirc
.auth
.bouncerAuth())
158 chanStyle
= {display: "none"};
160 var chan
= new Element("input");
161 createRow("Channels:", chan
, chanStyle
);
163 if(qwebirc
.auth
.enabled()) {
164 if(qwebirc
.auth
.passAuth()) {
165 var authRow
= createRow("Auth to services:");
166 var authCheckBox
= qwebirc
.util
.createInput("checkbox", authRow
, "connect_auth_to_services", false);
168 var usernameBox
= new Element("input");
169 var usernameRow
= createRow("Username:", usernameBox
, {display: "none"})[0];
171 var passwordRow
= createRow("Password:", null, {display: "none"});
172 var passwordBox
= qwebirc
.util
.createInput("password", passwordRow
[1], "connect_auth_password");
174 authCheckBox
.addEvent("click", function(e
) { qwebirc
.ui
.authShowHide(authCheckBox
, authRow
, usernameBox
, usernameRow
, passwordRow
[0]) });
175 } else if(qwebirc
.auth
.bouncerAuth()) {
176 var passwordRow
= createRow("Password:");
177 var passwordBox
= qwebirc
.util
.createInput("password", passwordRow
, "connect_auth_password");
181 var connbutton
= new Element("input", {"type": "submit"});
182 connbutton
.set("value", "Connect");
183 var r
= createRow(undefined, connbutton
);
185 if(qwebirc
.auth
.enabled() && qwebirc
.auth
.quakeNetAuth() && !qwebirc
.auth
.loggedin()) {
186 var auth
= new Element("input", {"type": "submit", "value": "Log in"});
188 auth
.addEvent("click", qwebirc
.ui
.AuthLogin
);
191 form
.addEvent("submit", function(e
) {
193 var nickname
= nick
.value
;
194 var chans
= chan
.value
;
195 if(chans
== "#") /* sorry channel "#" :P */
199 alert("You must supply a nickname.");
204 var data
= {"nickname": nickname
, "autojoin": chans
};
205 if(qwebirc
.auth
.passAuth() && authCheckBox
.checked
) {
206 if(!usernameBox
.value
|| !passwordBox
.value
) {
207 alert("You must supply your username and password in auth mode.");
208 if(!usernameBox
.value
) {
216 data
["serverPassword"] = usernameBox
.value
+ " " + passwordBox
.value
;
217 } else if(qwebirc
.auth
.bouncerAuth()) {
218 if(!passwordBox
.value
) {
219 alert("You must supply a password.");
224 data
["serverPassword"] = passwordBox
.value
;
227 parentElement
.removeChild(outerbox
);
232 nick
.set("value", initialNickname
);
233 chan
.set("value", initialChannels
);
238 qwebirc
.ui
.authShowHide = function(checkbox
, authRow
, usernameBox
, usernameRow
, passwordRow
) {
239 var visible
= checkbox
.checked
;
240 var display
= visible
?null:"none";
241 usernameRow
.setStyle("display", display
);
242 passwordRow
.setStyle("display", display
);
245 // authRow.parentNode.setStyle("display", "none");