PageSourceSearch

https://dimitrispapaioannou.com/media/com_acymailing/js/acymailing_module.js?v=450

js dimitrispapaioannou.com collected 2026-10-02 10:47:04 UTC 11,427 bytes, 315 lines download raw bytes

1/**
2 * @package    AcyMailing for Joomla!
3 * @version    4.5.0
4 * @author     acyba.com
5 * @copyright  (C) 2009-2013 ACYBA S.A.R.L. All rights reserved.
6 * @license    GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html
7 */
8
9function submitacymailingform(task,formName){
10	var varform = document[formName];
11	var filterEmail = /^([a-z0-9_'&\.\-\+=])+\@(([a-z0-9\-])+\.)+([a-z0-9]{2,10})+$/i;
12
13	if(!varform.elements){
14		if(varform[0].elements['user[email]'] && varform[0].elements['user[email]'].value && filterEmail.test(varform[0].elements['user[email]'].value)){
15			varform = varform[0];
16		}else{
17			varform = varform[varform.length - 1];
18		}
19	}
20
21	 if(task != 'optout'){
22		 nameField = varform.elements['user[name]'];
23		 if(nameField && (( typeof acymailing != 'undefined' && nameField.value == acymailing['NAMECAPTION'] ) || nameField.value.replace(/ /g,"").length < 2)){
24			 if(typeof acymailing != 'undefined'){ alert(acymailing['NAME_MISSING']); }
25			 nameField.className = nameField.className +' invalid';
26			 return false;
27		 }
28	 }
29
30	 var emailField = varform.elements['user[email]'];
31	 if(emailField){
32		if(typeof acymailing == 'undefined' || emailField.value != acymailing['EMAILCAPTION']) emailField.value = emailField.value.replace(/ /g,"");
33		if(!emailField || (typeof acymailing != 'undefined' && emailField.value == acymailing['EMAILCAPTION']) || !filterEmail.test(emailField.value)){
34			if(typeof acymailing != 'undefined'){ alert(acymailing['VALID_EMAIL']); }
35			emailField.className = emailField.className +' invalid';
36			return false;
37		}
38	 }
39
40	if(varform.elements['hiddenlists'].value.length < 1){
41		var listschecked = false;
42		var alllists = varform.elements['subscription[]'];
43		if(alllists && (typeof alllists.value == 'undefined' || alllists.value.length == 0)){
44			for(b=0;b<alllists.length;b++){
45				if(alllists[b].checked) listschecked = true;
46			}
47			if(!listschecked){ alert(acymailing['NO_LIST_SELECTED']); return false;}
48		}
49	}
50
51
52	 if(task != 'optout' && typeof acymailing != 'undefined' && typeof acymailing['reqFields'+formName] != 'undefined' && acymailing['reqFields'+formName].length > 0){
53
54		for(var i =0;i<acymailing['reqFields'+formName].length;i++){
55			elementName = 'user['+acymailing['reqFields'+formName][i]+']';
56			elementToCheck = varform.elements[elementName];
57			if(elementToCheck){
58				var isValid = false;
59				if(typeof elementToCheck.value != 'undefined'){
60					if(elementToCheck.value==' ' && typeof varform[elementName+'[]'] != 'undefined'){
61						if(varform[elementName+'[]'].checked){
62							isValid = true;
63						}else{
64							for(var a=0; a < varform[elementName+'[]'].length; a++){
65								if((varform[elementName+'[]'][a].checked || varform[elementName+'[]'][a].selected) && varform[elementName+'[]'][a].value.length>0) isValid = true;
66							}
67						}
68					}else{
69						if(elementToCheck.value.replace(/ /g,"").length>0){
70							if(typeof acymailing['excludeValues'+formName] == 'undefined' || typeof acymailing['excludeValues'+formName][acymailing['reqFields'+formName][i]] == 'undefined' || acymailing['excludeValues'+formName][acymailing['reqFields'+formName][i]] != elementToCheck.value) isValid = true;
71						}
72					}
73				}else{
74					for(var a=0; a < elementToCheck.length; a++){
75						 if(elementToCheck[a].checked && elementToCheck[a].value.length>0) isValid = true;
76					}
77				}
78				if(!isValid){
79					elementToCheck.className = elementToCheck.className +' invalid';
80					alert(acymailing['validFields'+formName][i]);
81					return false;
82				}
83			}else{
84				if((varform.elements[elementName+'[day]'] && varform.elements[elementName+'[day]'].value<1) || (varform.elements[elementName+'[month]'] && varform.elements[elementName+'[month]'].value<1) || (varform.elements[elementName+'[year]'] && varform.elements[elementName+'[year]'].value<1902)){
85					if(varform.elements[elementName+'[day]'] && varform.elements[elementName+'[day]'].value<1) varform.elements[elementName+'[day]'].className = varform.elements[elementName+'[day]'].className + ' invalid';
86					if(varform.elements[elementName+'[month]'] && varform.elements[elementName+'[month]'].value<1) varform.elements[elementName+'[month]'].
86className = varform.elements[elementName+'[month]'].className + ' invalid';
87					if(varform.elements[elementName+'[year]'] && varform.elements[elementName+'[year]'].value<1902) varform.elements[elementName+'[year]'].className = varform.elements[elementName+'[year]'].className + ' invalid';
88					alert(acymailing['validFields'+formName][i]);
89					return false;
90				}
91
92				if((varform.elements[elementName+'[country]'] && varform.elements[elementName+'[country]'].value<1) || (varform.elements[elementName+'[num]'] && varform.elements[elementName+'[num]'].value<3)){
93					if(varform.elements[elementName+'[country]'] && varform.elements[elementName+'[country]'].value<1) varform.elements[elementName+'[country]'].className = varform.elements[elementName+'[country]'].className + ' invalid';
94					if(varform.elements[elementName+'[num]'] && varform.elements[elementName+'[num]'].value<3) varform.elements[elementName+'[num]'].className = varform.elements[elementName+'[num]'].className + ' invalid';
95					alert(acymailing['validFields'+formName][i]);
96					return false;
97				}
98			}
99		}
100	}
101
102	 if(task != 'optout' && typeof acymailing != 'undefined' && typeof acymailing['checkFields'+formName] != 'undefined' && acymailing['checkFields'+formName].length > 0){
103		 for(var i =0;i<acymailing['checkFields'+formName].length;i++){
104			elementName = 'user['+acymailing['checkFields'+formName][i]+']';
105			elementtypeToCheck = acymailing['checkFieldsType'+formName][i];
106			elementToCheck = varform.elements[elementName].value;
107			switch(elementtypeToCheck){
108				case 'number':
109					myregexp = new RegExp('^[0-9]*$');
110					break;
111				case 'letter':
112					myregexp = new RegExp('^[A-Za-z\u00C0-\u017F ]*$');
113					break;
114				case 'letnum':
115					myregexp = new RegExp('^[0-9a-zA-Z\u00C0-\u017F ]*$');
116					break;
117				case 'regexp':
118					myregexp = new RegExp(acymailing['checkFieldsRegexp'+formName][i]);
119					break;
120			}
121			if(!myregexp.test(elementToCheck)){
122				alert(acymailing['validCheckFields'+formName][i]);
123				return false;
124			}
125		}
126	 }
127
128	var captchaField = varform.elements['acycaptcha'];
129	if(captchaField){
130		if(captchaField.value.length<1){
131			if(typeof acymailing != 'undefined'){ alert(acymailing['CAPTCHA_MISSING']); }
132			captchaField.className = captchaField.className +' invalid';
133					return false;
134		}
135	}
136
137	if(task != 'optout'){
138		var termsandconditions = varform.terms;
139		if(termsandconditions && !termsandconditions.checked){
140			if(typeof acymailing != 'undefined'){ alert(acymailing['ACCEPT_TERMS']); }
141			termsandconditions.className = termsandconditions.className +' invalid';
142			return false;
143		}
144	}
145
146	taskField = varform.task;
147	taskField.value = task;
148
149	if(!varform.elements['ajax'] || !varform.elements['ajax'].value || varform.elements['ajax'].value == '0'){
150		varform.submit();
151		return false;
152	}
153
154	try{
155		var form = document.id(formName);
156	}catch(err){
157		var form = $(formName);
158	}
159	data = form.toQueryString();
160
161	if (typeof Ajax == 'function'){
162		new Ajax(form.action, {
163			data: data,
164			method: 'post',
165			onRequest: function()
166			{
167				form.addClass('acymailing_module_loading');
168				form.setStyle("filter:","alpha(opacity=50)");
169				form.setStyle("-moz-opacity","0.5");
170				form.setStyle("-khtml-opacity", "0.5");
171				form.setStyle("opacity", "0.5");
172			},
173			onSuccess: function(response)
174			{
175				response = Json.evaluate(response);
176				acymailingDisplayAjaxResponse(unescape(response.message), response.type, formName);
177			},
178			onFailure: function(){
179				acymailingDisplayAjaxResponse('Ajax Request Failure', 'error', formName);
180			}
181		}).request();
182	}else{
183		new Request.JSON({
184			url: document.id(formName).action,
185			data: data,
186			method: 'post',
187			onRequest: function()
188			{
189				form.addClass('acymailing_module_loading');
190				form.setStyle("filter:","alpha(opacity=50)");
191				form.setStyle("-moz-opacity","0.5");
192				form.setStyle("-khtml-opacity", "0.5");
193				form.setStyle("opacity", "0.5");
194			},
195			onSuccess: function(response)
196			{
197				acymailingDisplayAjaxResponse(unescape(response.message), response.type, formName);
198			},
199			onFailure: function(){
200				acymailingDisplayAjaxResponse('Ajax Request Failure', 'error', formName);
201			}
202		}).send();
203	}
204
205	return false;
206}
207
208function acymailingDisplayAjaxResponse(message, type, formName)
209{
210	try{
211		var toggleButton = document.id('acymailing_togglemodule_'+formName);
212	}catch(err){
213		var toggleButton = $('acymailing_togglemodule_'+formName);
214	}
215
216	if (toggleButton && toggleButton.hasClass('acyactive')) {
217		var wrapper = toggleButton.getParent().getParent().getChildren()[1];
218		wrapper.setStyle('height', '');
219	};
220
221	try{
222		var responseContainer = document.getElements('#acymailing_fulldiv_'+formName+' .responseContainer')[0];
223	}catch(err){
224		var responseContainer = $$('#acymailing_fulldiv_'+formName+' .responseContainer')[0];
225	}
226
227	if (typeof responseContainer == 'undefined'){
228		responseContainer = new Element('div');
229		try{
230			var fulldiv = document.id('acymailing_fulldiv_'+formName);
231		}catch(err){
232			var fulldiv = $('acymailing_fulldiv_'+formName);
233		}
234		responseContainer.inject(fulldiv, 'top');
235		oldContainerHeight = '0px';
236	}else{
237		oldContainerHeight = responseContainer.getStyle('height');
238	}
239
240	responseContainer.className = 'responseContainer';
241
242	try{
243		var form = document.id(formName);
244	}catch(err){
245		var form = $(formName);
246	}
247	form.removeClass('acymailing_module_loading');
248
249	responseContainer.innerHTML = message;
250
251	if(type == 'success'){
252		responseContainer.addClass('acymailing_module_success');
253	}else{
254		responseContainer.addClass('acymailing_module_error');
255		form.setStyle("filter:","alpha(opacity=100)");
256		form.setStyle("-moz-opacity","1");
257		form.setStyle("-khtml-opacity", "1");
258		form.setStyle("opacity", "1");
259	}
260
261	newContainerHeight = responseContainer.getStyle('height');
262
263	if (typeof Ajax == 'function')
264	{
265		if(type == 'success'){
266			var myEffect = new Fx.Styles(form, {duration: 500, transition: Fx.Transitions.linear});
267			myEffect.start({
268				'height': [form.getSize().size.y, 0],
269				'opacity': [1, 0]
270			});
271		}
272
273		try {
274			responseContainer.setStyle('height', oldContainerHeight+'px');
275			responseContainer.setStyle("filter:","alpha(opacity=0)");
276			responseContainer.setStyle("-moz-opacity","0");
277			responseContainer.setStyle("-khtml-opacity", "0");
278			responseContainer.setStyle("opacity", "0");
279		}
280		catch (e) {}
281
282		var myEffect2 = new Fx.Styles(responseContainer, {duration: 500, transition: Fx.Transitions.linear});
283		myEffect2.start({
284			'height': [oldContainerHeight, newContainerHeight],
285			'opacity': [0, 1]
286		});
287
288	}
289	else // Mootools >= 1.2
290	{
291		if(type == 'success'){
292			form.set('morph');
293			form.morph({
294				'height': '0px',
295				'opacity': 0
296			});
297
298			form.setStyles({
299				'display': 'none'
300			});
301		}
302
303		responseContainer.setStyles({
304			'height': oldContainerHeight,
305			'opacity': 0
306		});
307
308		responseContainer.set('morph');
309		responseContainer.morph({
310			'height': newContainerHeight,
311			'opacity': 1
312		});
313
314	}
315}

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.