]>
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 if(!qwebirc
.auth
.loggedin()) {
63 var auth
= new Element("input", {"type": "submit", "value": "Log in"});
65 auth
.addEvent("click", function(e
) {
66 var cookie
= Cookie
.write("redirect", document
.location
);
67 document
.location
= "./auth/";
72 qwebirc
.ui
.LoginBox = function(parentElement
, callback
, initialNickname
, initialChannels
) {
73 var box
= new Element("table");
74 parentElement
.appendChild(box
);
75 box
.addClass("loginbox");
77 var tbody
= new Element("tbody");
78 box
.appendChild(tbody
);
80 var tr
= new Element("tr");
81 tbody
.appendChild(tr
);
84 var td
= new Element("td");
86 td
.set("html", "<h1>Connect to IRC</h1>");
88 var tr
= new Element("tr");
89 tbody
.appendChild(tr
);
92 var td
= new Element("td");
95 var form
= new Element("form");
98 var boxtable
= new Element("table");
99 form
.appendChild(boxtable
);
101 var tbody
= new Element("tbody");
102 boxtable
.appendChild(tbody
); /* stupid IE */
104 function createRow(label
, e2
) {
105 var r
= new Element("tr");
106 tbody
.appendChild(r
);
108 var d1
= new Element("td");
110 d1
.set("text", label
);
113 var d2
= new Element("td");
119 var nick
= new Element("input");
120 createRow("Nickname:", nick
);
121 var chan
= new Element("input");
122 createRow("Channels:", chan
);
124 var connbutton
= new Element("input", {"type": "submit"});
125 connbutton
.set("value", "Connect");
126 createRow(undefined, connbutton
)
128 form
.addEvent("submit", function(e
) {
130 var nickname
= nick
.value
;
131 var chans
= chan
.value
;
132 if(chans
== "#") /* sorry channel "#" :P */
136 alert("You must supply a nickname.");
141 parentElement
.removeChild(box
);
143 callback({"nickname": nickname
, "autojoin": chans
});
146 nick
.set("value", initialNickname
);
147 chan
.set("value", initialChannels
);