PageSourceSearch

https://www.cc-madetmoselle.fr/globalflexit/backoffice/modules/for…/templates/js/flexitForms.js?d=1776841331

js cc-madetmoselle.fr collected 2026-10-02 19:52:39 UTC 11,192 bytes, 271 lines download raw bytes

1function createFlexitForms(selecteur) {
2	flexitForms = selecteur;
3	for(i = 0; i < flexitForms.length; i++) {
4		
5		// Vérification d'un formulaire déjà traité,
6		// on break tout si c'est le cas.
7		if(flexitForms[i].getElements('.ffFieldParent').length > 0) {
8			//break; // joe
9		}
10
11		// Sinon je continue
12		var classForm = flexitForms[i].get('class');
13		var regClassesForm = new RegExp("[ ]+", "g");
14		var allClassesForm = classForm.split(regClassesForm);
15
16		for(h = 0; h < allClassesForm.length; h++) {
17            var regSkin = new RegExp("[ffSkin_]","g");
18			if(allClassesForm[h].match(regSkin)) {
19				var idSkin = allClassesForm[h].substr(7, allClassesForm[h].length);
20			}
21		}
22
23        // Vérification si on est en mode bootstrap.
24        // Si c'est le cas, on ignore la création des champs personnalisés
25        if( flexitForms[i].hasClass('flexitform-bootstrap') /*&& !window.MooTools*/) { break; }
26
27		// Vérification que le formulaire possède bien une skin,
28		// on break si il y en a pas.
29		if(!idSkin) {
30			break;
31		}
32
33		// Puis je traite tous les champs récupérés
34		flexitFormFields = flexitForms[i].getElements('input, textarea, select');
35
36		for(j = 0; j < flexitFormFields.length; j++) {
37			if(flexitFormFields[j].hasClass("flexitFormsOk") || flexitFormFields[j].getStyle('display')=='none' || (flexitFormFields[j].get('tag') == 'input' && flexitFormFields[j].get('type')=='file'))continue;
38			
39			flexitFormFields[j].addClass("flexitFormsOk");
40			
41			var classElement = flexitFormFields[j].get('class');
42            var isError = false;
43            if(flexitFormFields[j].hasClass('ffError')) {
44                isError = true;
45            }
46            var isRequired = false;
47            if(flexitFormFields[j].hasClass('ffRequired')) {
48                isRequired = true;
49            }
50
51			// R�cup�ration des param�tres du champs
52			var tagElement = flexitFormFields[j].get('tag');
53			var typeElement = flexitFormFields[j].get('type');
54			var valueElement = flexitFormFields[j].get('value');
55			var nameElement = flexitFormFields[j].get('name');
56			var idElement = flexitFormFields[j].get('id');
57			var classElement = flexitFormFields[j].get("style");
58			var widthElement = "";
59
60
61
62			//if(classElement && classElement.contains("width")) {
63			if(Browser.Engine.trident && Browser.version < 9 && flexitFormFields[j].get('style')){
64				if(ereg("WIDTH",flexitFormFields[j].get('style')))var widthElement = flexitFormFields[j].getStyle('width');
65			} else if(classElement && classElement.contains("width")) {
66				var widthElement = flexitFormFields[j].getStyle('width');
67			}
68
69			if(typeElement != "checkbox" && typeElement != "radio" && typeElement != "image" && typeElement != "hidden" ) {
70				// Coins ou pas
71                var cornerCheck = false;
72                if( window.MooTools ) {
73				    cornerCheck = new Fx.CSS().search('.ffSkin_'+idSkin+' .hasCorners');
74                }
75					
76				// Création de la structure du code
77				var fieldParent = new Element("span", { "class": "ffFieldParent" });
78				var fieldContent = new Element("span", { "class": "ffContent" }); 
79				
80				if(cornerCheck && cornerCheck.width) {
81					var fieldTop = new Element("span", { "class": "ffHeader", "html": "<span>&#160;</span>" });
82					var fieldBottom = new Element("span", { "class": "ffFooter", "html": "<span>&#160;</span>" });
83					var fieldContentWrapper = new Element("span");
84				}
85
86				// Le champs est en erreur de saisie
87				if(isError) {
88					fieldParent.addClass("flexitFormError");
89				}
90				
91				// Le champs est requis
92				if(isRequired) {
93					fieldParent.addClass("flexitFormRequired");
94				}
95				
96				// Events, tous sauf IE, sinon problèmes sur les focus.
97				if(!Browser.Engine.trident) {
98					//flexitFormFields[j].set({"events": {"focus": function(){ $(this).getParent("span.ffFieldParent").addClass('flexitFormFocus'); }, "blur": function(){ $(this).getParent("span.ffFieldParent").removeClass('flexitFormFocus'); } }});
99                    if( window.MooTools ) {
100                        flexitFormFields[j].addEvent('focus', function() {
101                            fmoo.$(this).getParent("span.ffFieldParent").addClass('flexitFormFocus');
102                        });
103                        flexitFormFields[j].addEvent('blur', function() {
104                            fmoo.$(this).getParent("span.ffFieldParent").removeClass('flexitFormFocus');
105                        });
106                    }
107				}
108				
109				// Injection enfants => parents
110				if(cornerCheck && cornerCheck.width) {
111
112					fieldContentWrapper.wraps(flexitFormFields[j]);
113					fieldContent.wraps(fieldContentWrapper);
114					fieldParent.wraps(fieldContent);
115					fieldTop.inject(fieldContent,"before");
116					fieldBottom.inject(fieldContent,"after");
117			
118				} else {
119                    if( window.MooTools ) {
120                        fieldContent.wraps(flexitFormFields[j]);
121                        fieldParent.wraps(fieldContent);
122                    }
123
124				}
125				
126				// Je fixe les tailles  ( pour IE, compatibilité quand tu nous tiens ).
127				if(widthElement && typeElement != "submit") {
128					if(fieldParent.getSize().x > widthElement.toInt()) {
129						
130						if(cornerCheck && cornerCheck.width) {
131							paddingleftCW = fieldContentWrapper.getStyle("padding-left").toInt();
132							paddingrightCW = fieldContentWrapper.getStyle("padding-right").toInt();
133							
134							difSizeParent = fieldParent.getSize().x - ( fieldContentWrapper.getSize().x - (paddingleftCW + paddingrightCW));
135							finalSizeElement = widthElement.toInt() + difSizeParent;
136							fieldParent.setStyle("width",finalSizeElement+"px");
137						} else {
138                            if( window.MooTools ) {
139                                paddingleftCW = fieldContent.getStyle("padding-left").toInt();
140                                paddingrightCW = fieldContent.getStyle("padding-right").toInt();
141
142                                difSizeParent = fieldParent.getSize().x - ( fieldContent.getSize().x - (paddingleftCW + paddingrightCW));
143                                finalSizeElement = widthElement.toInt() + difSizeParent;
144                                fieldParent.setStyle("width",finalSizeElement+"px");
145                            }
146						}
147						
148					}
149					
150				} else if(typeElement != "submit") {
151					fieldParent.setStyle("width","100%");
152				} else if(typeElement == "submit") {
153					flexitFormFields[j].setStyle("width","auto");
154					flexitFormFields[j].addClass("ffBtnSubmit");
155					if(cornerCheck && cornerCheck.width) {
156						paddingleftCW = fieldContentWrapper.getStyle("padding-left").toInt();
157						paddingrightCW = fieldContentWrapper.getStyle("padding-right").toInt();
158						
159						difSizeParent = fieldParent.getSize().x - ( fieldContentWrapper.getSize().x - (paddingleftCW + paddingrightCW));
160						finalSizeElement = flexitFormFields[j].getSize().x + difSizeParent;
161
162						if(flexitFormFields[j].getSize().x>0)fieldParent.setStyle("width",finalSizeElement+"px");
163					} else {
164                        if( window.MooTools ) {
165                            paddingleftCW = fieldContent.getStyle("padding-left").toInt();
166                            paddingrightCW = fieldContent.getStyle("padding-right").toInt();
167
168                            difSizeParent = fieldParent.getSize().x - ( fieldContent.getSize().x - (paddingleftCW + paddingrightCW));
169                            finalSizeElement = flexitFormFields[j].getSize().x + difSizeParent;
170                            fieldParent.setStyle("width",finalSizeElement+"px");
171                        }
172					}
173					
174				}
175									
176			} else if(typeElement == "checkbox") {
177				var fieldParent = new Element("span", { "class": "ffFieldParent ffFieldTypeCheckbox" });
178				var fieldMask = new Element("div", { "class": "ffCheckBox" });
179
180				// Le champs est-il déjà coché ?
181				if(flexitFormFields[j].getProperty("checked")) {
182					fieldMask.addClass("ffItemChecked");
183				}
184
185				// On cache le champ original et on dégage bordure et fond du parent
186                if( idSkin != 5 ) {
187                    flexitFormFields[j].setStyles({"width": "auto", "position":"absolute", "left":"0", "top":"2px", "opacity": 0.01, "z-index": 10, "cursor": "pointer"});
188                }
189				if(Browser.Engine.trident) {
190					flexitFormFields[j].setStyle("filter","alpha(opacity=1)");
191				}
192				fieldParent.setStyles({"background": "none", "border": "none" });
193				
194				// Le champs est en erreur de saisie
195				if(isError) {
196					fieldParent.addClass("flexitFormError");
197				}
198				
199				flexitFormFields[j].addEvent('click', function() {
200					if(fmoo.$(this).getProperty("checked")) {
201                        fmoo.$(this).getNext("div.ffCheckBox").addClass("ffItemChecked");
202					} else {
203                        fmoo.$(this).getNext("div.ffCheckBox").removeClass("ffItemChecked");
204					}
205				});
206
207				fieldParent.wraps(flexitFormFields[j]);
208				fieldMask.inject(flexitFormFields[j], "after");
209				
210			} else if(typeElement == "radio") {
211				var fieldParent = new Element("span", { "class": "ffFieldParent ffFieldTypeCheckbox" });
212				var fieldMask = new Element("div", { "class": "ffRadio" });
213
214				// Le champs est-il déjà coché ?
215				if(flexitFormFields[j].getProperty("checked")) {
216					fieldMask.addClass("ffItemChecked");
217				}
218
219				// On cache le champ original et on dégage bordure et fond du parent
220				flexitFormFields[j].setStyles({"width": "auto", "position":"absolute", "left":"0", "top":"2px", "opacity": 0.1, "z-index": 10, "cursor": "pointer"});
221				if(Browser.Engine.trident) {
222					flexitFormFields[j].setStyle("filter","alpha(opacity=1)");
223				}
224				fieldParent.setStyles({"background": "none", "border": "none" });
225
226				// Le champs est en erreur de saisie
227				if(isError) {
228					fieldParent.addClass("flexitFormError");
229				}
230
231				flexitFormFields[j].addEvent('click', function() {
232                    this.getParent('table').getElements('div.ffRadio').removeClass("ffItemChecked");
233                    this.getParent('.ffFieldTypeCheckbox').getElement('div.ffRadio').addClass("ffItemChecked");
234				});
235
236				fieldParent.wraps(flexitFormFields[j]);
237				fieldMask.inject(flexitFormFields[j], "after");
238				
239			}
240			
241			flexitFormFields[j].removeClass("ffSkin_"+idSkin);
242		}
243	}
244}
245
246function createFlexitFormNotes( parentElem ) {
247    // gestion des Etoile (notations)
248	if( !parentElem ) {
249		flexitFormFields = fmoo.$$('span.ffFieldetoile');
250	} else {
251		flexitFormFields = fmoo.$$(parentElem + ' span.ffFieldetoile');
252	}
253
254    for(j = 0; j < flexitFormFields.length; j++) {
255        flexitFormFields[j].getElements('a').addEvent('click', function() {
256            this.getParent('span.ffFieldetoile').getElement('input').set('value',this.get('rel'));
257        });
258
259        flexitFormFields[j].getElements('a').addEvent('mouseover', function(elem) {
260            flexitform_roll_item(this,'span.ffFieldetoile','on');
261        });
262
263        flexitFormFields[j].getElements('a').addEvent('mouseout', function() {
264            flexitform_roll_item(this,'span.ffFieldetoile','out');
265        });
266    }
267}
268
269window.addEvent('domready', function() {
270	setTimeout("createFlexitForms(fmoo.$$('.flexitform')); createFlexitFormNotes();","500");
271});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.