-
Notifications
You must be signed in to change notification settings - Fork 30
/
Copy pathoptions.js
55 lines (48 loc) · 1.53 KB
/
options.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
var $ = function (id) {
return document.getElementById(id);
},
show_message = function (message, hide) {
$('message').innerHTML = message;
if (hide) {
setTimeout(function () {
$('message').innerHTML = ' ';
}, 5000);
}
},
validate = function () {
var token = localStorage.token || '',
userkey = localStorage.userkey || '';
if (!userkey || !token) {
show_message('Please fill both fields!');
return;
}
var req = new XMLHttpRequest();
req.open('POST', 'https://api.pushover.net/1/users/validate.json', true);
var params = 'token=' + encodeURIComponent(token) +
'&user=' + encodeURIComponent(userkey);
req.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
req.send(params);
req.onreadystatechange = function () {
if (req.readyState === 4) {
if (req.status === 200) {
localStorage.valid = token + userkey;
show_message('OK, seems legit!', 1);
} else {
localStorage.valid = '';
show_message('Something is fishy: ' + req.responseText);
}
}
};
},
save = function () {
localStorage.userkey = $('userkey').value;
localStorage.token = $('token').value;
show_message('Saved!');
validate();
},
load = function () {
$('userkey').value = localStorage.userkey || '';
$('token').value = localStorage.token || '';
};
$('save').addEventListener('click', save);
window.addEventListener("load", load);