wizard.js
3.6 KB
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
// Class Wizard
function wizard() {
}
// Does a form check on every new page load
wizard.prototype.doFormCheck = function() {
w.addReadOnly();
}
// Disable DnD on element
// Element has to have a readOnly status set to readonly
wizard.prototype.disableDnd = function(el_id) {
el = document.getElementById(el_id);
el.removeAttribute('readOnly');
}
// Add readOnly access on all inputs of a form
wizard.prototype.addReadOnly = function() {
inputs = document.getElementsByTagName('input');
for(i=0;i<inputs.length;i++) {
var input_id = inputs[i].id;
if(input_id != '') {
// inputs[i].setAttribute('readOnly', 'readonly');
// inputs[i].setAttribute('onfocus', "javascript:{w.disableDnd('"+ input_id +"')}");
// inputs[i].focus();
// w.focusElement(inputs[i]);
}
}
}
// Toggle Advance Database options
wizard.prototype.showAO = function() {
var el = document.getElementsByClassName("adv_options");
if(el[0].style.display == 'none')
el[0].style.display = 'block';
else
el[0].style.display = 'none';
}
// Toggle display of an element
wizard.prototype.toggleElement = function(el) {
if(el.style.display == 'none')
el.style.display = 'block';
else
el.style.display = 'none';
}
// Handle steps within database page
wizard.prototype.showStep = function(p, d) {
// Don't check if previous is clicked
if(d != 'p') {
// Check for errors
var ueq = 0;
if(p == 2) {
ueq = w.validateUsers('dmsname', 'dmspassword', 'dmspassword2');
} else if(p == 3) {
ueq = w.validateUsers('dmsusername', 'dmsuserpassword', 'dmsuserpassword2');
}
if(ueq != 0) {
return w.display("error_"+ ueq + "_" + p) ;
}
}
w.hideErrors(); // If theres no errors, hide the ones displaying
var el = document.getElementsByClassName("step"+p);
el[0].style.display = 'none';
if(d == "n") {
var j = p+1;
} else if(d == "p") {
var j = p-1;
}
var el = document.getElementsByClassName("step"+j);
el[0].style.display = 'block';
return true;
}
// Validate Users
wizard.prototype.validateUsers = function(id1, id2, id3) {
var el1 = document.getElementById(id1);
var el2 = document.getElementById(id2);
var el3 = document.getElementById(id3);
var elVal1 = el1.value;
var elVal2 = el2.value;
var elVal3 = el3.value;
if(elVal1 == '') { // User name empty
w.focusElement(el1);
return 1;
} else if(elVal2 == '') { // Empty Password
w.focusElement(el2);
return 2;
} else if(elVal3 == '') { // Empty Confirmation Password
w.focusElement(el3);
return 3;
} else if(elVal2 != elVal3) { // Passwords not equal
w.focusElement(el2);
return 4;
} else {
return 0;
}
}
// Display Errors
wizard.prototype.display = function(elname, er) {
var el = document.getElementById(elname);
w.showElement(el);
}
// Hide Errors
wizard.prototype.hideErrors = function() {
var errors = document.getElementsByClassName('error');
var i;
for(i=0;i<errors.length;i++) {
w.hideElement(errors[i]);
}
return true;
}
// Hide an element
wizard.prototype.hideElement = function(el) {
if(el.style.display == 'block')
el.style.display = 'none';
}
// Show an element
wizard.prototype.showElement = function(el) {
if(el.style.display == 'none')
el.style.display = 'block';
}
// Focus on element
wizard.prototype.focusElement = function(el) {
el.focus();
}
// Catch form submit and validate
wizard.prototype.onSubmitValidate = function() {
var response = w.showStep(3, 'n');
if(response == true) {
document.getElementById('sendAll').name = 'Next'; // Force the next step
document.getElementById('sendAll').value = 'next';
document.getElementById('dbsettings').submit();
}
}