|
:
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:
class= codeBody " prettyprint " do id= " codeSnippet731347 " do >var FORM_MANAGER_CONDITION_SEPARATOR = “E”;
var FORM_MANAGER_POSSIBILITY_SEPARATOR = “OU”;
var FORM_MANAGER_NAME_VALUE_SEPARATOR = “SENDO”;
o var FORM_MANAGER_DEPENDS = “DEPENDE DE”;
o var FORM_MANAGER_CONFLICTS = “OPOR A”;
o var FORM_MANAGER_EMPTY = “ESVAZIA”;
função addEvent (EL, ev, f) {
se (el.addEventListener)
el.addEventListener (ev, f, falsos);
mais se (el.attachEvent) {
var t = função () {
f.apply (EL);
};
addEvent.events.push ({“elemento”: EL, “evento”: ev, “alimentador”: f});
el.attachEvent ("ON" + ev, t);
} mais
EL ["ON" + ev] = f;
}
addEvents da função (els, evs, f) {
para (var i = 0; i < els.length; ++i)
para (var j = 0; j < evs.length; ++j)
addEvent (els [i], evs [j], f);
}
addEvent.events = [];
se (typeof window.event! o == “undefined”)
addEvent (a janela, “descarrega”, a função () {
para (var i = 0, e = addEvent.events; i < e.length; ++i)
e [i] .element.detachEvent ("ON" + e [i] .event, e [i] .handler);
}
);
getRadioValue da função (EL) {
se (! retorno de el.length) nulo;
para (var i = 0; i < el.length; ++i)
se (EL [i] .checked) EL do retorno [i] .value;
zero do retorno;
}
getSelectValue da função (EL) {
se (! el.tagName || el.tagName.toLowerCase ()! o == “seleciona”)
zero do retorno;
el.options do retorno [el.selectedIndex] .value;
}
isElementValue da função (EL, v) {
se (=== FORM_MANAGER_EMPTY de v) v = '';
retornar (
== v do getRadioValue (EL) ||
== v do getSelectValue (EL) ||
(
&& de el.tagName
el.tagName.toLowerCase ()! o == “seleciona” o &&
== v de el.value
)
);
}
setupDependencies da função () {
showEl = função do var () {
this.style.display = "";
se (== “etiqueta” de this.parentNode.tagName.toLowerCase ())
this.parentNode.style.display = "";
};
hideEl = função do var () {
this.style.display = “nenhuns”;
se (typeof this.checked! o == “undefined”) this.checked = falso;
outro this.value = "";
se (== “etiqueta” de this.parentNode.tagName.toLowerCase ())
this.parentNode.style.display = “nenhuns”;
this.hidden = retificam;
};
calcDeps = função do var () {
para (var i = 0, e = this.elements; i < e.length; ++i) {
e [i] .hidden = falso;
para (var j = 0, f = e [i] .className.split (FORM_MANAGER_CONDITION_SEPARATOR); j < f.length; ++j)
se (=== 0 de f [j] .indexOf (FORM_MANAGER_DEPENDS)) {
para (var k = 0, g = f [j] .substr (FORM_MANAGER_DEPENDS.length) .split (FORM_MANAGER_POSSIBILITY_SEPARATOR); k < g.length; ++k)
se (=== -1 de g [k] .indexOf (FORM_MANAGER_NAME_VALUE_SEPARATOR)) {
se (e [g [k]] ruptura do && e [g [k]] .checked);
mais se (k + 1 == g.length)
e [i] .hide ();
} mais {
var n = g [k] .split (FORM_MANAGER_NAME_VALUE_SEPARATOR),
v = n [1];
n = n [0];
se (e [n])
se (isElementValue (e [n], v)) ruptura;
mais se (k + 1 == g.length) e [i] .hide ();
}
} mais se (=== 0 de f [j] .indexOf (FORM_MANAGER_CONFLICTS)) {
se (=== -1 de f [j] .indexOf (FORM_MANAGER_NAME_VALUE_SEPARATOR)) {
se (e [f [j] .substr (FORM_MANAGER_CONFLICTS.length)] && e [f [j] .substr (FORM_MANAGER_CONFLICTS.length)].checked) {
e [i] .hide ();
ruptura;
}
} mais {
var n = f [j] .substr (FORM_MANAGER_CONFLICTS.length) .split (FORM_MANAGER_NAME_VALUE_SEPARATOR),
v = n [1];
n = n [0];
se (e [n]) {
se (isElementValue (e [n], v)) {
e [i] .hide ();
ruptura;
}
}
}
}
se (! e [i] .hidden) e [i] .show ();
}
};
changeHandler = função do var () {
this.form.calculateDependencies ();
do retorno retificam;
};
para (var i = 0; i < arguments.length; ++i) {
para (var j = 0, e = window.document.forms [argumentos [i]] .elements; j < e.length; ++j) {
addEvents ([e [j]], [“mudança”, “keyup”, “foco”, “clique”, “keydown”], changeHandler);
e [j] .hide = hideEl;
e [j] .show = showEl;
}
(e = window.document.forms [argumentos [i]]) .calculateDependencies = calcDeps;
e.calculateDependencies ();
}
}
class= desobstruído " lineNumbers " >1 do >
< codeBody do " prettyprint " " do class= do id= " codeSnippet731346 do >
Índice-Tipo texto " do http-equiv= do
Document Untitled
src= " FormManager.js " do
type= " texto/Javascript " do
Selecionar por favor seus terreno e disciplina académico.
name= " weboptions " do "" do action= do
class= >
" desobstruído " de