1/**
2 * Securelogin Dokuwiki Plugin
3 *
4 * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
5 * @author     Mikhail I. Izmestev
6 * @maintainer Matt Bagley
7 *
8 * @see also   https://www.dokuwiki.org/plugin:securelogin
9 */
10
11var securelogin_forms = new Array();
12
13function securelogin_add_js(source) {
14    var jsNode = document.createElement('script');
15    jsNode.setAttribute('type', 'text/javascript');
16    jsNode.setAttribute('src', source);
17    document.getElementsByTagName('head')[0].appendChild(jsNode);
18}
19
20function securelogin_get_form(el) {
21    while(el && el.nodeName != 'FORM')
22        el = el.parentNode;
23    return el;
24}
25
26jQuery(function() {
27    var forms = new Array('dw__login', 'dw__register', 'test__publicKey', 'add_userid', 'modify_userid');
28
29    var jsNeeded = false;
30    for (var i = 0; i < forms.length; ++i) {
31        var form = securelogin_get_form(jQuery("#" + forms[i])[0]);
32        if(!form) continue;
33        if(!jsNeeded)
34            jsNeeded = true;
35        var slNode = document.createElement('input');
36        slNode.setAttribute('type', 'hidden');
37        slNode.setAttribute('name', 'securelogin');
38        slNode.setAttribute('id', 'securelogin');
39        form.appendChild(slNode);
40        securelogin_forms.push(new Array(forms[i], form));
41    }
42
43    if(jsNeeded) {
44        securelogin_add_js(DOKU_BASE+'lib/plugins/securelogin/rsalib.js');
45        securelogin_add_js(DOKU_BASE+'lib/plugins/securelogin/securelogin.js');
46    }
47});
48