]>
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"});
76 yes
.addEvent("click", function(e
) {
77 parentElement
.removeChild(outerbox
);
78 callback({"nickname": initialNickname
, "autojoin": initialChannels
});
81 if(qwebirc
.auth
.enabled() && qwebirc
.auth
.quakeNetAuth() && !qwebirc
.auth
.loggedin()) {
82 var auth
= new Element("input", {"type": "submit", "value": "Log in"});
84 auth
.addEvent("click", qwebirc
.ui
.AuthLogin
);
87 if(window
== window
.top
)
91 qwebirc
.ui
.LoginBox = function(parentElement
, callback
, initialNickname
, initialChannels
, networkName
) {
92 var outerbox
= new Element("table");
93 outerbox
.addClass("qwebirc-centrebox");
94 parentElement
.appendChild(outerbox
);
95 var tbody
= new Element("tbody");
96 outerbox
.appendChild(tbody
);
97 var tr
= new Element("tr");
98 tbody
.appendChild(tr
);
99 var td
= new Element("td");
102 var box
= new Element("table");
103 box
.addClass("qwebirc-loginbox");
106 var tbody
= new Element("tbody");
107 box
.appendChild(tbody
);
109 var tr
= new Element("tr");
110 tbody
.appendChild(tr
);
113 var td
= new Element("td");
115 td
.set("html", "<h1>Connect to " + networkName
+ " IRC</h1>");
117 var tr
= new Element("tr");
118 tbody
.appendChild(tr
);
121 var td
= new Element("td");
124 var form
= new Element("form");
125 td
.appendChild(form
);
127 var boxtable
= new Element("table");
128 form
.appendChild(boxtable
);
130 var tbody
= new Element("tbody");
131 boxtable
.appendChild(tbody
); /* stupid IE */
133 function createRow(label
, e2
, style
) {
134 var r
= new Element("tr");
135 tbody
.appendChild(r
);
137 var d1
= new Element("td");
139 d1
.set("text", label
);
142 var d2
= new Element("td");
147 if($defined(style
)) {
155 var nick
= new Element("input");
156 createRow("Nickname:", nick
);
158 var chanStyle
= null;
159 if(qwebirc
.auth
.enabled() && qwebirc
.auth
.bouncerAuth())
160 chanStyle
= {display: "none"};
162 var chan
= new Element("input");
163 createRow("Channels:", chan
, chanStyle
);
165 if(qwebirc
.auth
.enabled()) {
166 if(qwebirc
.auth
.passAuth()) {
167 var authRow
= createRow("Auth to services:");
168 var authCheckBox
= qwebirc
.util
.createInput("checkbox", authRow
, "connect_auth_to_services", false);
170 var usernameBox
= new Element("input");
171 var usernameRow
= createRow("Username:", usernameBox
, {display: "none"})[0];
173 var passwordRow
= createRow("Password:", null, {display: "none"});
174 var passwordBox
= qwebirc
.util
.createInput("password", passwordRow
[1], "connect_auth_password");
176 authCheckBox
.addEvent("click", function(e
) { qwebirc
.ui
.authShowHide(authCheckBox
, authRow
, usernameBox
, usernameRow
, passwordRow
[0]) });
177 } else if(qwebirc
.auth
.bouncerAuth()) {
178 var passwordRow
= createRow("Password:");
179 var passwordBox
= qwebirc
.util
.createInput("password", passwordRow
, "connect_auth_password");
183 var connbutton
= new Element("input", {"type": "submit"});
184 connbutton
.set("value", "Connect");
185 var r
= createRow(undefined, connbutton
);
187 if(qwebirc
.auth
.enabled() && qwebirc
.auth
.quakeNetAuth() && !qwebirc
.auth
.loggedin()) {
188 var auth
= new Element("input", {"type": "submit", "value": "Log in"});
190 auth
.addEvent("click", qwebirc
.ui
.AuthLogin
);
193 form
.addEvent("submit", function(e
) {
195 var nickname
= nick
.value
;
196 var chans
= chan
.value
;
197 if(chans
== "#") /* sorry channel "#" :P */
201 alert("You must supply a nickname.");
206 var data
= {"nickname": nickname
, "autojoin": chans
};
207 if(qwebirc
.auth
.enabled()) {
208 if(qwebirc
.auth
.passAuth() && authCheckBox
.checked
) {
209 if(!usernameBox
.value
|| !passwordBox
.value
) {
210 alert("You must supply your username and password in auth mode.");
211 if(!usernameBox
.value
) {
219 data
["serverPassword"] = usernameBox
.value
+ " " + passwordBox
.value
;
220 } else if(qwebirc
.auth
.bouncerAuth()) {
221 if(!passwordBox
.value
) {
222 alert("You must supply a password.");
227 data
["serverPassword"] = passwordBox
.value
;
230 parentElement
.removeChild(outerbox
);
235 nick
.set("value", initialNickname
);
236 chan
.set("value", initialChannels
);
238 if(window
== window
.top
)
242 qwebirc
.ui
.authShowHide = function(checkbox
, authRow
, usernameBox
, usernameRow
, passwordRow
) {
243 var visible
= checkbox
.checked
;
244 var display
= visible
?null:"none";
245 usernameRow
.setStyle("display", display
);
246 passwordRow
.setStyle("display", display
);
249 // authRow.parentNode.setStyle("display", "none");