]>
jfr.im git - irc/quakenet/qwebirc.git/blob - js/ui/panes/feedback.js
1 qwebirc
.ui
.FeedbackPane
= new Class({
3 initialize: function(parent
) {
4 parent
.set("html", "<div class=\"loading\">Loading. . .</div>");
5 var r
= new Request
.HTML({url: "feedback.html", update: parent
, onSuccess: function() {
6 parent
.getElement("input[class=close]").addEvent("click", function() {
7 this.fireEvent("close");
9 parent
.getElement("input[class=close2]").addEvent("click", function() {
10 this.fireEvent("close");
13 var textbox
= parent
.getElement("textarea");
14 parent
.getElement("input[class=submitfeedback]").addEvent("click", function() {
15 this.sendFeedback(parent
, textbox
, textbox
.value
);
22 sendFeedback: function(parent
, textbox
, text
) {
23 text
= text
.replace(/^\s*/, "").replace(/\s*$/, "");
24 var mainText
= parent
.getElement("p[class=maintext]");
26 if(text
.length
< 25) {
27 mainText
.set("text", "I don't suppose you could enter a little bit more? Thanks!");
32 var mainBody
= parent
.getElement("div[class=enterarea]");
33 mainBody
.setStyle("display", "none");
35 var messageBody
= parent
.getElement("div[class=messagearea]");
36 var messageText
= parent
.getElement("p[class=messagetext]");
37 var messageClose
= parent
.getElement("input[class=close2]");
39 messageText
.set("text", "Submitting. . .");
40 messageBody
.setStyle("display", "");
42 /* basic checksum to stop really lame kiddies spamming */
44 var esctext
= encodeURIComponent(text
);
45 for(var i
=0;i
<text
.length
;i
++)
46 checksum
= ((checksum
+ 1) % 256) ^ (text
.charCodeAt(i
) % 256);
48 var r
= new Request({url: "/feedback", onSuccess: function() {
49 messageText
.set("text", "Submitted successfully, thanks for the feedback!");
50 messageClose
.setStyle("display", "");
51 }, onFailure: function() {
52 messageBody
.setStyle("display", "none");
53 mainBody
.setStyle("display", "");
54 mainText
.set("text", "Looks like something went wrong submitting :(");
55 }}).send("feedback=" + text
+ "&c=" + checksum
);