70 lines
2.1 KiB
JavaScript
70 lines
2.1 KiB
JavaScript
var Account = {
|
|
original: null,
|
|
countdown: null,
|
|
|
|
openGoogleAuthenticate: function () {
|
|
window.open('/account/googleAuthenticate', 'googleAuthenticate', 'height=600,width=600')
|
|
},
|
|
|
|
authenticatedWithGoogleCallback: function (authenticatedWithGoogleUntil) {
|
|
var password = document.getElementsByTagName('form')[0].elements.password;
|
|
var button = document.getElementById('authenticateWithGoogleButton');
|
|
|
|
Account.original = {
|
|
type: password.type,
|
|
placeholder: password.placeholder,
|
|
required: password.required,
|
|
disabled: password.disabled
|
|
};
|
|
|
|
password.type = 'text';
|
|
password.placeholder = 'Authenticated!'
|
|
password.value = '';
|
|
password.required = false;
|
|
password.disabled = true;
|
|
|
|
button.disabled = true;
|
|
|
|
Account.countdown = setInterval(function () {
|
|
var timeLeft = Math.ceil((authenticatedWithGoogleUntil.getTime() - new Date().getTime()) / 1000);
|
|
|
|
if (timeLeft > 30) {
|
|
return;
|
|
}
|
|
|
|
if (timeLeft <= 0) {
|
|
Account.resetGoogleAuthentication();
|
|
return;
|
|
}
|
|
|
|
password.placeholder = 'Authenticated! ' + timeLeft + ' seconds left...';
|
|
}, 1000);
|
|
},
|
|
|
|
resetGoogleAuthentication: function () {
|
|
if (Account.countdown !== null) {
|
|
clearInterval(Account.countdown);
|
|
}
|
|
|
|
var password = document.getElementsByTagName('form')[0].elements.password;
|
|
var button = document.getElementById('authenticateWithGoogleButton');
|
|
|
|
password.type = Account.original.type;
|
|
password.placeholder = Account.original.placeholder
|
|
password.required = Account.original.required;
|
|
password.disabled = Account.original.disabled;
|
|
|
|
button.disabled = false;
|
|
}
|
|
};
|
|
|
|
(function () {
|
|
document.getElementById('authenticateWithGoogleButton').onclick = function () {
|
|
Account.openGoogleAuthenticate();
|
|
};
|
|
|
|
document.getElementsByTagName('form')[0].onreset = function () {
|
|
Account.resetGoogleAuthentication();
|
|
};
|
|
})();
|