PageSourceSearch

https://release-news.com/media/com_acymailing/js/acymailing_module.js?v=550

js release-news.com collected 2026-10-02 11:30:03 UTC 16,803 bytes, 423 lines download raw bytes

1/**
2 * @package    AcyMailing for Joomla!
3 * @version    5.5.0
4 * @author     acyba.com
5 * @copyright  (C) 2009-2016 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'] || (typeof acymailing['excludeValues' + formName] != 'undefined' && typeof acymailing['excludeValues' + formName]['name'] != 'undefined' && nameField.value == acymailing['excludeValues' + formName]['name'])) ) || nameField.value.replace(/ /g, "").length < 2)){
24			if(typeof acymailing != 'undefined'){
25				alert(acymailing['NAME_MISSING']);
26			}
27			nameField.className = nameField.className + ' invalid';
28			return false;
29		}
30	}
31
32	var emailField = varform.elements['user[email]'];
33	if(emailField){
34		if(typeof acymailing == 'undefined' || emailField.value != acymailing['EMAILCAPTION']) emailField.value = emailField.value.replace(/ /g, "");
35		if(!emailField || (typeof acymailing != 'undefined' && (emailField.value == acymailing['EMAILCAPTION'] || (typeof acymailing['excludeValues' + formName] != 'undefined' && typeof acymailing['excludeValues' + formName]['email'] != 'undefined' && emailField.value == acymailing['excludeValues' + formName]['email']))) || !filterEmail.test(emailField.value)){
36			if(typeof acymailing != 'undefined'){
37				alert(acymailing['VALID_EMAIL']);
38			}
39			emailField.className = emailField.className + ' invalid';
40			return false;
41		}
42	}
43
44	if(varform.elements['hiddenlists'].value.length < 1){
45		var listschecked = false;
46		var alllists = varform.elements['subscription[]'];
47		if(alllists && (typeof alllists.value == 'undefined' || alllists.value.length == 0)){
48			for(b = 0; b < alllists.length; b++){
49				if(alllists[b].checked) listschecked = true;
50			}
51			if(!listschecked){
52				alert(acymailing['NO_LIST_SELECTED']);
53				return false;
54			}
55		}
56	}
57
58
59	if(task != 'optout' && typeof acymailing != 'undefined'){
60		if(typeof acymailing['reqFields' + formName] != 'undefined' && acymailing['reqFields' + formName].length > 0){
61
62			for(var i = 0; i < acymailing['reqFields' + formName].length; i++){
63				elementName = 'user[' + acymailing['reqFields' + formName][i] + ']';
64				elementToCheck = varform.elements[elementName];
65				if(elementToCheck){
66					var isValid = false;
67					if(typeof elementToCheck.value != 'undefined'){
68						if(elementToCheck.value == ' ' && typeof varform[elementName + '[]'] != 'undefined'){
69							if(varform[elementName + '[]'].checked){
70								isValid = true;
71							}else{
72								for(var a = 0; a < varform[elementName + '[]'].length; a++){
73									if((varform[elementName + '[]'][a].checked || varform[elementName + '[]'][a].selected) && varform[elementName + '[]'][a].value.length > 0) isValid = true;
74								}
75							}
76						}else{
77							if(elementToCheck.value.replace(/ /g, "").length > 0){
78								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;
79							}
80						}
81					}else{
82						for(var a = 0; a < elementToCheck.length; a++){
83							if(elementToCheck[a].checked && elementToCheck[a].value.length > 0) isValid = true;
84						}
85					}
86					if((elementToCheck.length >= 1 && (elementToCheck[0].parentElement.parentElement.style.display == 'none' || elementToCheck[0].parentElement.parentElement.parentElement.style.display == 'none')) || (typeof elementToCheck.length == 'undefined' && (elementToCheck.parentElement.parentElement.style.display == 'none' || elementToCheck.parentElement.parentElement.parentElement.style.display == 'none'))){
87						isValid = true;
88					}
89					if(!isValid){
90						elementToCheck.className = elementToCheck.className + ' invalid';
91						alert(acymailing['validFields' + formName][i]);
92						return false;
93					}
94				}else{
95					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)){
96						if(varform.elements[elementName + '[day]'] && varform.elements[elementName + '[day]'].value < 1) varform.elements[elementName + '[day]'].className = varform.elements[elementName + '[day]'].className + ' invalid';
97						if(varform.elements[elementName + '[month]'] && varform.elements[elementName + '[month]'].value < 1) varform.elements[elementName + '[month]'].
97className = varform.elements[elementName + '[month]'].className + ' invalid';
98						if(varform.elements[elementName + '[year]'] && varform.elements[elementName + '[year]'].value < 1902) varform.elements[elementName + '[year]'].className = varform.elements[elementName + '[year]'].className + ' invalid';
99						alert(acymailing['validFields' + formName][i]);
100						return false;
101					}
102
103					if((varform.elements[elementName + '[country]'] && varform.elements[elementName + '[country]'].value < 1) || (varform.elements[elementName + '[num]'] && (varform.elements[elementName + '[num]'].value < 3 || (typeof acymailing['excludeValues' + formName] != 'undefined' && typeof acymailing['excludeValues' + formName][acymailing['reqFields' + formName][i]] != 'undefined' && acymailing['excludeValues' + formName][acymailing['reqFields' + formName][i]] == varform.elements[elementName + '[num]'].value)))){
104						if(varform.elements[elementName + '[country]'] && varform.elements[elementName + '[country]'].value < 1) varform.elements[elementName + '[country]'].className = varform.elements[elementName + '[country]'].className + ' invalid';
105						if(varform.elements[elementName + '[num]'] && (varform.elements[elementName + '[num]'].value < 3 || (typeof acymailing['excludeValues' + formName] != 'undefined' && typeof acymailing['excludeValues' + formName][acymailing['reqFields' + formName][i]] != 'undefined' && acymailing['excludeValues' + formName][acymailing['reqFields' + formName][i]] == varform.elements[elementName + '[num]'].value))) varform.elements[elementName + '[num]'].className = varform.elements[elementName + '[num]'].className + ' invalid';
106						alert(acymailing['validFields' + formName][i]);
107						return false;
108					}
109				}
110			}
111		}
112
113		if(typeof acymailing != 'undefined' && typeof acymailing['checkFields' + formName] != 'undefined' && acymailing['checkFields' + formName].length > 0){
114			for(var i = 0; i < acymailing['checkFields' + formName].length; i++){
115				elementName = 'user[' + acymailing['checkFields' + formName][i] + ']';
116				elementtypeToCheck = acymailing['checkFieldsType' + formName][i];
117				elementToCheck = varform.elements[elementName].value;
118				if(typeof acymailing['excludeValues' + formName] != 'undefined'){
119					var excludedValues = acymailing['excludeValues' + formName][acymailing['checkFields' + formName][i]];
120					if(typeof excludedValues != 'undefined' && elementToCheck == excludedValues){
121						continue;
122					}
123				}
124				switch(elementtypeToCheck){
125					case 'number':
126						myregexp = new RegExp('^[0-9]*$');
127						break;
128					case 'letter':
129						myregexp = new RegExp('^[A-Za-z\u00C0-\u017F ]*$');
130						break;
131					case 'letnum':
132						myregexp = new RegExp('^[0-9a-zA-Z\u00C0-\u017F ]*$');
133						break;
134					case 'regexp':
135						myregexp = new RegExp(acymailing['checkFieldsRegexp' + formName][i]);
136						break;
137				}
138				if(!myregexp.test(elementToCheck)){
139					alert(acymailing['validCheckFields' + formName][i]);
140					return false;
141				}
142			}
143		}
144	}
145
146	var captchaField = varform.elements['acycaptcha'];
147	if(captchaField){
148		if(captchaField.value.length < 1){
149			if(typeof acymailing != 'undefined'){
150				alert(acymailing['CAPTCHA_MISSING']);
151			}
152			captchaField.className = captchaField.className + ' invalid';
153			return false;
154		}
155	}
156
157	if(task != 'optout'){
158		var termsandconditions = varform.terms;
159		if(termsandconditions && !termsandconditions.checked){
160			if(typeof acymailing != 'undefined'){
161				alert(acymailing['ACCEPT_TERMS']);
162			}
163			termsandconditions.className = termsandconditions.className + ' invalid';
164			return false;
165		}
166
167		if(typeof acymailing != 'undefined' && typeof acymailing['excludeValues' + formName] != 'undefined'){
168			for(var fieldName in acymailing['excludeValues' + formName]){
169				if(!acymailing['excludeValues' + formName].hasOwnProperty(fieldName)) continue;
170				if(!varform.elements['user[' + fieldName + ']'] || varform.elements['user[' + fieldName + ']'].value != acymailing['excludeValues' + formName][fieldName]) continue;
171
172				varform.elements['user[' + fieldName + ']'].value = '';
173			}
174		}
175	}
176
177	if(typeof ga != 'undefined' && task != 'optout'){
178		ga('send', 'pageview', 'subscribe');
179	}else if(typeof ga != 'undefined'){
180		ga('send', 'pageview', 'unsubscribe');
181	}
182
183	taskField = varform.task;
184	taskField.value = task;
185
186	if(!varform.elements['ajax'] || !varform.elements['ajax'].value || varform.elements['ajax'].value == '0'){
187		varform.submit();
188		return false;
189	}
190
191	if(window.jQuery){
192		var form = jQuery('#' + formName);
193		form.addClass('acymailing_module_loading');
194		form.css("filter:", "alpha(opacity=50)");
195		form.css("-moz-opacity", "0.5");
196		form.css("-khtml-opacity", "0.5");
197		form.css("opacity", "0.5");
198		data = new FormData(form[0]);
199
200		jQuery.ajax({
201			url: document.getElementById(formName).action,
202			data: data,
203			type: 'POST',
204			async: true,
205			success: function(response){
206				response = JSON.parse(response);
207				acymailingDisplayAjaxResponseJQuery(unescape(response.message), response.type, formName);
208			},
209			error: function(){
210				acymailingDisplayAjaxResponseJQuery('Ajax Request Failure', 'error', formName);
211			},
212			cache: false,
213			contentType: false,
214			processData: false
215		});
216	}else{
217		try{
218			var form = document.id(formName);
219		}catch(err){
220			var form = $(formName);
221		}
222		data = form.toQueryString();
223
224		if(typeof Ajax == 'function'){
225			new Ajax(form.action, {
226				data: data, method: 'post', onRequest: function(){
227					form.addClass('acymailing_module_loading');
228					form.setStyle("filter:", "alpha(opacity=50)");
229					form.setStyle("-moz-opacity", "0.5");
230					form.setStyle("-khtml-opacity", "0.5");
231					form.setStyle("opacity", "0.5");
232				}, onSuccess: function(response){
233					response = Json.evaluate(response);
234					acymailingDisplayAjaxResponseMootools(unescape(response.message), response.type, formName);
235				}, onFailure: function(){
236					acymailingDisplayAjaxResponseMootools('Ajax Request Failure', 'error', formName);
237				}
238			}).request();
239		}else{
240			var formData = new FormData(form);
241
242			form.addClass('acymailing_module_loading');
243			form.setStyle("filter:", "alpha(opacity=50)");
244			form.setStyle("-moz-opacity", "0.5");
245			form.setStyle("-khtml-opacity", "0.5");
246			form.setStyle("opacity", "0.5");
247
248			var xhr = new XMLHttpRequest();
249			xhr.open('POST', document.id(formName).action);
250			xhr.onload = function(){
251				if (xhr.status === 200){
252					var response = JSON.parse(xhr.responseText);
253					acymailingDisplayAjaxResponseMootools(unescape(response.message), response.type, formName);
254				}else{
255					acymailingDisplayAjaxResponseMootools('Ajax Request Failure', 'error', formName);
256				}
257			};
258			xhr.send(formData);
259		}
260	}
261
262	return false;
263}
264
265function acymailingDisplayAjaxResponseJQuery(message, type, formName){
266	var toggleButton = jQuery('#acymailing_togglemodule_' + formName);
267
268	if(toggleButton && toggleButton.hasClass('acyactive')){
269		var wrapper = toggleButton.parent().parent().children()[1];
270		jQuery(wrapper).css('height', '');
271	}
272	;
273
274	var responseContainer = jQuery('#acymailing_fulldiv_' + formName + ' .responseContainer')[0];
275
276	if(typeof responseContainer == 'undefined'){
277		responseContainer = document.createElement('div');
278		var fulldiv = jQuery('#acymailing_fulldiv_' + formName);
279		fulldiv.prepend(responseContainer);
280		oldContainerHeight = '0px';
281	}else{
282		oldContainerHeight = jQuery(responseContainer).css('height');
283	}
284
285	responseContainer.className = 'responseContainer';
286
287	var form = jQuery('#' + formName);
288
289	form.removeClass('acymailing_module_loading');
290
291	responseContainer.innerHTML = message;
292
293	if(type == 'success'){
294		jQuery(responseContainer).addClass('acymailing_module_success');
295	}else{
296		jQuery(responseContainer).addClass('acymailing_module_error');
297		form.css("filter:", "alpha(opacity=100)");
298		form.css("-moz-opacity", "1");
299		form.css("-khtml-opacity", "1");
300		form.css("opacity", "1");
301	}
302
303	newContainerHeight = jQuery(responseContainer).css('height');
304
305	if(type == 'success'){
306		form.animate({
307						 'height': 0, 'opacity': 0
308					 });
309	}
310
311	jQuery(responseContainer).css({
312									  'height': oldContainerHeight, 'filter:': "alpha(opacity=0)", '-moz-opacity': 0, '-khtml-opacity': 0, 'opacity': 0
313								  });
314
315	jQuery(responseContainer).animate({
316										  'height': newContainerHeight, 'opacity': 1
317									  });
318}
319
320function acymailingDisplayAjaxResponseMootools(message, type, formName){
321	try{
322		var toggleButton = document.id('acymailing_togglemodule_' + formName);
323	}catch(err){
324		var toggleButton = $('acymailing_togglemodule_' + formName);
325	}
326
327	if(toggleButton && toggleButton.hasClass('acyactive')){
328		var wrapper = toggleButton.getParent().getParent().getChildren()[1];
329		wrapper.setStyle('height', '');
330	}
331	;
332
333	try{
334		var responseContainer = document.getElements('#acymailing_fulldiv_' + formName + ' .responseContainer')[0];
335	}catch(err){
336		var responseContainer = $$('#acymailing_fulldiv_' + formName + ' .responseContainer')[0];
337	}
338
339	if(typeof responseContainer == 'undefined'){
340		responseContainer = new Element('div');
341		try{
342			var fulldiv = document.id('acymailing_fulldiv_' + formName);
343		}catch(err){
344			var fulldiv = $('acymailing_fulldiv_' + formName);
345		}
346		responseContainer.inject(fulldiv, 'top');
347		oldContainerHeight = '0px';
348	}else{
349		oldContainerHeight = responseContainer.getStyle('height');
350	}
351
352	responseContainer.className = 'responseContainer';
353
354	try{
355		var form = document.id(formName);
356	}catch(err){
357		var form = $(formName);
358	}
359	form.removeClass('acymailing_module_loading');
360
361	responseContainer.innerHTML = message;
362
363	if(type == 'success'){
364		responseContainer.addClass('acymailing_module_success');
365	}else{
366		responseContainer.addClass('acymailing_module_error');
367		form.setStyle("filter:", "alpha(opacity=100)");
368		form.setStyle("-moz-opacity", "1");
369		form.setStyle("-khtml-opacity", "1");
370		form.setStyle("opacity", "1");
371	}
372
373	newContainerHeight = responseContainer.getStyle('height');
374
375	if(typeof Ajax == 'function'){
376		if(type == 'success'){
377			var myEffect = new Fx.Styles(form, {duration: 500, transition: Fx.Transitions.linear});
378			myEffect.start({
379							   'height': [form.getSize().size.y, 0], 'opacity': [1, 0]
380						   });
381		}
382
383		try{
384			responseContainer.setStyle('height', oldContainerHeight + 'px');
385			responseContainer.setStyle("filter:", "alpha(opacity=0)");
386			responseContainer.setStyle("-moz-opacity", "0");
387			responseContainer.setStyle("-khtml-opacity", "0");
388			responseContainer.setStyle("opacity", "0");
389		}
390		catch(e){
391		}
392
393		var myEffect2 = new Fx.Styles(responseContainer, {duration: 500, transition: Fx.Transitions.linear});
394		myEffect2.start({
395							'height': [oldContainerHeight, newContainerHeight], 'opacity': [0, 1]
396						});
397
398	}else // Mootools >= 1.2
399	{
400		if(type == 'success'){
401			form.set('morph');
402			form.morph({
403						   'height': '0px', 'opacity': 0
404					   });
405
406			form.setStyles({
407							   'display': 'none'
408						   });
409		}
410
411		if(newContainerHeight != 'auto'){
412			responseContainer.setStyles({
413											'height': oldContainerHeight, 'opacity': 0
414										});
415
416			responseContainer.set('morph');
417			responseContainer.morph({
418										'height': newContainerHeight, 'opacity': 1
419									});
420		}
421	}
422}
423

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.