PageSourceSearch

https://gasthaus-lege.de/media/com_acymailing/js/acymailing.js?v=1657189203

js gasthaus-lege.de collected 2026-10-07 11:17:57 UTC 20,836 bytes, 607 lines download raw bytes

1/**
2 * @package    AcyMailing for Joomla!
3 * @version    5.11.2
4 * @author     acyba.com
5 * @copyright  (C) 2009-2022 ACYBA S.A.R.L. All rights reserved.
6 * @license    GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html
7 */
8
9function checkChangeForm(){
10	var varform = document['adminForm'];
11	nameField = varform.elements['data[subscriber][name]'];
12	if(nameField && typeof acymailingModule != 'undefined' && ((typeof acymailingModule['reqFieldsComp'] != 'undefined' && acymailingModule['reqFieldsComp'].indexOf('name') >= 0 && (nameField.value == acymailingModule['NAMECAPTION'] || nameField.value.replace(/ /g, "").length < 2)))){
13		alert(acymailingModule['NAME_MISSING']);
14		nameField.className = nameField.className + ' invalid';
15		return false;
16	}
17
18	var emailField = varform.elements['data[subscriber][email]'];
19	if(emailField){
20		if(typeof acymailingModule == 'undefined' || emailField.value != acymailingModule['EMAILCAPTION']) emailField.value = emailField.value.replace(/ /g, "");
21		if(typeof acymailingModule != 'undefined') {
22			var filter = acymailingModule['emailRegex'];
23		}else{
24			var filter = /\@/i;
25		}
26		if(!emailField || (typeof acymailingModule != 'undefined' && emailField.value == acymailingModule['EMAILCAPTION']) || !filter.test(emailField.value)){
27			if(typeof acymailingModule != 'undefined'){
28				alert(acymailingModule['VALID_EMAIL']);
29			}
30			emailField.className = emailField.className + ' invalid';
31			return false;
32		}
33	}
34
35	if(typeof acymailingModule != 'undefined' && typeof acymailingModule['reqFieldsComp'] != 'undefined' && acymailingModule['reqFieldsComp'].length > 0){
36		for(var i = 0; i < acymailingModule['reqFieldsComp'].length; i++){
37			elementName = 'data[subscriber][' + acymailingModule['reqFieldsComp'][i] + ']';
38			elementToCheck = varform.elements[elementName];
39			if(elementToCheck){
40				var isValid = false;
41				if(typeof elementToCheck.value != 'undefined'){
42					if(elementToCheck.value == ' ' && typeof varform[elementName + '[]'] != 'undefined'){
43						if(varform[elementName + '[]'].checked){
44							isValid = true;
45						}else{
46							for(var a = 0; a < varform[elementName + '[]'].length; a++){
47								if((varform[elementName + '[]'][a].checked || varform[elementName + '[]'][a].selected) && varform[elementName + '[]'][a].value.length > 0) isValid = true;
48							}
49						}
50					}else{
51						if(elementToCheck.value.replace(/ /g, "").length > 0) isValid = true;
52					}
53				}else{
54					for(var a = 0; a < elementToCheck.length; a++){
55						if(elementToCheck[a].checked && elementToCheck[a].value.length > 0) isValid = true;
56					}
57				}
58				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'))){
59					isValid = true;
60				}
61				if(!isValid){
62					elementToCheck.className = elementToCheck.className + ' invalid';
63					alert(acymailingModule['validFieldsComp'][i]);
64					return false;
65				}
66			}else{
67				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)){
68					if(varform.elements[elementName + '[day]'] && varform.elements[elementName + '[day]'].value < 1) varform.elements[elementName + '[day]'].className = varform.elements[elementName + '[day]'].className + ' invalid';
69					if(varform.elements[elementName + '[month]'] && varform.elements[elementName + '[month]'].value < 1) varform.elements[elementName + '[month]'].className = varform.elements[elementName + '[month]'].className + ' invalid';
70					if(varform.elements[elementName + '[year]'] && varform.elements[elementName + '[year]'].value < 1902) varform.elements[elementName + '[year]'].className = varform.elements[elementName + '[year]'].className + ' invalid';
71					alert(acymailingModule['validFieldsComp'][i]);
72					return false;
73				}
74
75				if((varform.elements[elementName + '[country]'] && varform.elements[elementName + '[country]'].value < 1) || (varform.elements[elementName + '[num]'] && varform.elements[elementName + '[num]'].value < 3)){
76					if((varform.elements[elementName + '[country]'] && varform.elements[elementName + '[country]'].parentElement.parentElement.style.display != 'none') || (varform.elements[elementName + '[num]'] && varform.elements[elementName + '[num]'].parentElement.parentElement.style.display != 'none')){
77						if(varform.elements[elementName + '[country]'] && varform.elements[elementName + '[country]'].value < 1) varform.elements[elementName + '[country]'].className = varform.elements[elementName + '[country]'].className + ' invalid';
78						if(varform.elements[elementName + '[num]'] && varform.elements[elementName + '[num]'].value < 3) varform.elements[elementName + '[num]'].className = varform.elements[elementName + '[num]'].className + ' invalid';
79						alert(acymailingModule['validFieldsComp'][i]);
80						return false;
81					}
82				}
83			}
84		}
85	}
86
87	if(typeof acymailingModule != 'undefined' && typeof acymailingModule['checkFields'] != 'undefined' && acymailingModule['checkFields'].length > 0){
88		for(var i = 0; i < acymailingModule['checkFields'].length; i++){
89			elementName = 'data[subscriber][' + acymailingModule['checkFields'][i] + ']';
90			elementtypeToCheck = acymailingModule['checkFieldsType'][i];
91			elementToCheck = varform.elements[elementName].value;
92			switch(elementtypeToCheck){
93				case 'number':
94					myregexp = new RegExp('^[0-9]*$');
95					break;
96				case 'letter':
97					myregexp = new RegExp('^[A-Za-z\u00C0-\u017F ]*$');
98					break;
99				case 'letnum':
100					myregexp = new RegExp('^[0-9a-zA-Z\u00C0-\u017F ]*$');
101					break;
102				case 'regexp':
103					myregexp = new RegExp(acymailingModule['checkFieldsRegexp'][i]);
104					break;
105			}
106			if(!myregexp.test(elementToCheck)){
107				alert(acymailingModule['validCheckFields'][i]);
108				return false;
109			}
110		}
111	}
112
113	var captchaField = varform.elements['acycaptcha'];
114	if(captchaField){
115		if(captchaField.value.length < 1){
116			if(typeof acymailingModule != 'undefined'){
117				alert(acymailingModule['CAPTCHA_MISSING']);
118			}
119			captchaField.className = captchaField.className + ' invalid';
120			return false;
121		}
122	}
123	return true;
124}
125
126(function(){
127	function preventDefault(){
128		this.returnValue = false;
129	}
130
131	function stopPropagation(){
132		this.cancelBubble = true;
133	}
134
135	var Oby = {
136		version: 20120930, ajaxEvents: {},
137
138		hasClass: function(o, n){
139			if(o.className == '') return false;
140			var reg = new RegExp("(^|\\s+)" + n + "(\\s+|$)");
141			return reg.test(o.className);
142		}, addClass: function(o, n){
143			if(!this.hasClass(o, n)){
144				if(o.className == ''){
145					o.className = n;
146				}else{
147					o.className += ' ' + n;
148				}
149			}
150		}, trim: function(s){
151			return (s ? '' + s : '').replace(/^\s*|\s*$/g, '');
152		}, removeClass: function(e, c){
153			var t = this;
154			if(t.hasClass(e, c)){
155				var cn = ' ' + e.className + ' ';
156				e.className = t.trim(cn.replace(' ' + c + ' ', ''));
157			}
158		}, addEvent: function(d, e, f){
159			if(d.attachEvent){
160				d.attachEvent('on' + e, f);
161			}else if(d.addEventListener){
162				d.addEventListener(e, f, false);
163			}else{
164				d['on' + e] = f;
165			}
166			return f;
167		}, removeEvent: function(d, e, f){
168			try{
169				if(d.detachEvent){
170					d.detachEvent('on' + e, f);
171				}else if(d.removeEventListener){
172					d.removeEventListener(e, f, false);
173				}else{
174					d['on' + e] = null;
175				}
176			}catch(e){
177			}
178		}, cancelEvent: function(e){
179			if(!e){
180				e = window.event;
181				if(!e){
182					return false;
183				}
184			}
185			if(e.stopPropagation){
186				e.stopPropagation();
187			}else{
188				e.cancelBubble = true;
189			}
190			if(e.preventDefault){
191				e.preventDefault();
192			}else{
193				e.returnValue = false;
194			}
195			return false;
196		}, evalJSON: function(text, secure){
197			if(typeof(text) != "string" || !text.length) return null;
198			if(secure && !(/^[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]*$/).test(text.replace(/\\./g, '@').replace(/"[^"\\\n\r]*"/g, ''))) return null;
199			return eval('(' + text + ')');
200		}, getXHR: function(){
201			var xhr = null, w = window;
202			if(w.XMLHttpRequest || w.ActiveXObject){
203				if(w.ActiveXObject){
204					try{
205						xhr = new ActiveXObject("Microsoft.XMLHTTP");
206					}catch(e){
207					}
208				}else{
209					xhr = new w.XMLHttpRequest();
210				}
211			}
212			return xhr;
213		}, xRequest: function(url, options, cb, cbError){
214			var t = this, xhr = t.getXHR();
215			if(!options) options = {};
216			if(!cb){
217				cb = function(){
218				};
219			}
220			options.mode = options.mode || 'GET';
221			options.update = options.update || false;
222			xhr.onreadystatechange = function(){
223				if(xhr.readyState == 4){
224					if(xhr.status == 200 || (xhr.status == 0 && xhr.responseText > 0) || !cbError){
225						if(cb){
226							cb(xhr, options.params);
227						}
228						if(options.update){
229							t.updateElem(options.update, xhr.responseText);
230						}
231					}else{
232						cbError(xhr, options.params);
233					}
234				}
235			};
236			xhr.open(options.mode, url, true);
237			if(options.mode.toUpperCase() == 'POST'){
238				xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
239			}
240			xhr.send(options.data);
241		}, getFormData: function(target){
242			var d = document, ret = '';
243			if(typeof(target) == 'string'){
244				target = d.getElementById(target);
245			}
246			if(target === undefined){
247				target = d;
248			}
249			var typelist = ['input', 'select', 'textarea'];
250			for(var t in typelist){
251				t = typelist[t];
252				var inputs = target.getElementsByTagName(t);
253				for(var i = inputs.length - 1; i >= 0; i--){
254					if(inputs[i].name && !inputs[i].disabled){
255						var evalue = inputs[i].value, etype = '';
256						if(t == 'input'){
257							etype = inputs[i].type.toLowerCase();
258						}
259						if(etype == 'radio' && !inputs[i].checked){
260							evalue = null;
261						}
262						if((etype != 'file' && etype != 'submit') && evalue != null){
263							if(ret != '') ret += '&';
264							ret += encodeURI(inputs[i].name) + '=' + encodeURIComponent(evalue);
265						}
266					}
267				}
268			}
269			return ret;
270		}, updateElem: function(elem, data){
271			var d = document, scripts = '';
272			if(typeof(elem) == 'string'){
273				elem = d.getElementById(elem);
274			}
275			var text = data.replace(/<script[^>]*>([\s\S]*?)<\/script>/gi, function(all, code){
276				scripts += code + '\n';
277				return '';
278			});
279			elem.innerHTML = text;
280			if(scripts != ''){
281				var script = d.createElement('script');
282				script.setAttribute('type', 'text/javascript');
283				script.text = scripts;
284				d.head.appendChild(script);
285				d.head.removeChild(script);
286			}
287		}
288	};
289
290	var acymailing = {
291		submitFct: null,
292		submitBox: function(data){
293			var t = this, d = document, w = window;
294			if(t.submitFct){
295				try{
296					t.submitFct(data);
297				}catch(err){
298				}
299			}
300			t.closeBox();
301		}, deleteId: function(id){
302			var t = this, d = document, el = id;
303			if(typeof(id) == "string"){
304				el = d.getElementById(id);
305			}
306			if(!el){
307				return;
308			}
309			el.parentNode.removeChild(el);
310		}, dup: function(tplName, htmlblocks, id, extraData, appendTo){
311			var d = document, tplElem = d.getElementById(tplName), container = tplElem.parentNode;
312			if(!tplElem) return;
313			elem = tplElem.cloneNode(true);
314			if(!appendTo){
315				container.insertBefore(elem, tplElem);
316			}else{
317				if(typeof(appendTo) == "string"){
318					appendTo = d.getElementById(appendTo);
319				}
320				appendTo.appendChild(elem);
321			}
322			elem.style.display = "";
323			elem.id = '';
324			if(id){
325				elem.id = id;
326			}
327			for(var k in htmlblocks){
328				elem.innerHTML = elem.innerHTML.replace(new RegExp("{" + k + "}", "g"), htmlblocks[k]);
329				elem.innerHTML = elem.innerHTML.replace(new RegExp("%7B" + k + "%7D", "g"), htmlblocks[k]);
330			}
331			if(extraData){
332				for(var k in extraData){
333					elem.innerHTML = elem.innerHTML.replace(new RegExp('{' + k + '}', 'g'), extraData[k]);
334					elem.innerHTML = elem.innerHTML.replace(new RegExp('%7B' + k + '%7D', 'g'), extraData[k]);
335				}
336			}
337		}, deleteRow: function(id){
338			var t = this, d = document, el = id;
339			if(typeof(id) == "string"){
340				el = d.getElementById(id);
341			}else{
342				while(el != null && el.tagName.toLowerCase() != 'tr'){
343					el = el.parentNode;
344				}
345			}
346			if(!el){
347				return;
348			}
349			var table = el.parentNode;
350			table.removeChild(el);
351			if(table.tagName.toLowerCase() == 'tbody'){
352				table = table.parentNode;
353			}
354			t.cleanTableRows(table);
355			return;
356		}, dupRow: function(tplName, htmlblocks, id, extraData){
357			var d = document, tplLine = d.getElementById(tplName), tableUser = tplLine.parentNode;
358			if(!tplLine) return;
359			trLine = tplLine.cloneNode(true);
360			tableUser.appendChild(trLine);
361			trLine.style.display = "";
362			trLine.id = "";
363			if(id){
364				trLine.id = id;
365			}
366			for(var i = tplLine.cells.length - 1; i >= 0; i--){
367				if(trLine.cells[i]){
368					for(var k in htmlblocks){
369						trLine.cells[i].innerHTML = trLine.cells[i].innerHTML.replace(new RegExp("{" + k + "}", "g"), htmlblocks[k]);
370						trLine.cells[i].innerHTML = trLine.cells[i].innerHTML.replace(new RegExp("%7B" + k + "%7D", "g"), htmlblocks[k]);
371					}
372					if(extraData){
373						for(var k in extraData){
374							trLine.cells[i].innerHTML = trLine.cells[i].innerHTML.replace(new RegExp('{' + k + '}', 'g'), extraData[k]);
375							trLine.cells[i].innerHTML = trLine.cells[i].innerHTML.replace(new RegExp('%7B' + k + '%7D', 'g'), extraData[k]);
376						}
377					}
378				}
379			}
380			if(tplLine.className == "row0") tplLine.className = "row1";else if(tplLine.className == "row1") tplLine.className = "row0";
381		}, cleanTableRows: function(id){
382			var d = document, el = id;
383			if(typeof(id) == "string"){
384				el = d.getElementById(id);
385			}
386			if(el == null || el.tagName.toLowerCase() != 'table'){
387				return;
388			}
389
390			var k = 0, c = '', line = null, lines = el.getElementsByTagName('tr');
391			for(var i = 0; i < lines.length; i++){
392				line = lines[i];
393				if(line.style.display != "none"){
394					c = ' ' + line.className + ' ';
395					if(c.indexOf(' row0 ') >= 0 || c.indexOf(' row1 ') >= 0){
396						line.className = c.replace(' row' + (1 - k) + ' ', ' row' + k + ' ').replace(/^\s*|\s*$/g, '');
397						k = 1 - k;
398					}
399				}
400			}
401		}, checkRow: function(id){
402			var t = this, d = document, el = id;
403			if(typeof(id) == "string"){
404				el = d.getElementById(id);
405			}
406			if(el == null || el.tagName.toLowerCase() != 'input'){
407				return;
408			}
409			if(this.clicked){
410				this.clicked = null;
411				t.isChecked(el);
412				return;
413			}
414			el.checked = !el.checked;
415			t.isChecked(el);
416		}
416, isChecked: function(id, cancel){
417			var d = document, el = id;
418			if(typeof(id) == "string"){
419				el = d.getElementById(id);
420			}
421			if(el == null || el.tagName.toLowerCase() != 'input'){
422				return;
423			}
424			if(el.form.boxchecked){
425				if(el.checked){
426					el.form.boxchecked.value++;
427				}else{
428					el.form.boxchecked.value--;
429				}
430			}
431		}, checkAll: function(checkbox, stub){
432			stub = stub || 'cb';
433			if(checkbox.form){
434				var cb = checkbox.form, c = 0;
435				for(var i = 0, n = cb.elements.length; i < n; i++){
436					var e = cb.elements[i];
437					if(e.type == checkbox.type){
438						if((stub && e.id.indexOf(stub) == 0) || !stub){
439							e.checked = checkbox.checked;
440							c += (e.checked == true ? 1 : 0);
441						}
442					}
443				}
444				if(cb.boxchecked){
445					cb.boxchecked.value = c;
446				}
447				return true;
448			}
449			return false;
450		}, submitbutton: function(pressbutton) {
451			acymailing.submitform(pressbutton);
452		}, submitform: function(task, form, extra){
453			var d = document;
454			if(typeof form == 'string'){
455				var f = d.getElementById(form);
456				if(!f){
457					f = d.getElementByName(form);
458				}
459				if(!f){
460					return true;
461				}
462				form = f;
463			}
464
465			if (!form) {
466				form = document.getElementById('adminForm');
467			}
468
469			if(task){
470				form.task.value = task;
471			}
472			if(typeof form.onsubmit == 'function'){
473				form.onsubmit(event);
474			}
475			form.submit();
476			return false;
477		}, get: function(elem, target){
478			window.Oby.xRequest(elem.getAttribute('href'), {update: target});
479			return false;
480		}, form: function(elem, target){
481			var data = window.Oby.getFormData(target);
482			window.Oby.xRequest(elem.getAttribute('href'), {update: target, mode: 'POST', data: data});
483			return false;
484		}, tabSelect: function(m, c, id){
485			var d = document, sub = null;
486			if(typeof m == 'string'){
487				m = d.getElementById(m);
488			}
489			if(typeof id == 'string'){
490				id = d.getElementById(id);
491			}
492			sub = m.getElementsByTagName('div');
493			for(var i = sub.length - 1; i >= 0; i--){
494				if(sub[i].getAttribute('class') == c){
495					sub[i].style.display = 'none';
496				}
497			}
498			id.style.display = '';
499		}, getOffset: function(el){
500			var x = 0, y = 0;
501			while(el && !isNaN(el.offsetLeft) && !isNaN(el.offsetTop)){
502				x += el.offsetLeft - el.scrollLeft;
503				y += el.offsetTop - el.scrollTop;
504				el = el.offsetParent;
505			}
506			return {top: y, left: x};
507		},
508		openpopup: function(url, width, height){
509			if(document.getElementById('acymailingpopupshadow') !== null) return;
510			var shadow = document.createElement('div');
511			shadow.id = 'acymailingpopupshadow';
512			shadow.onclick = function(){ acymailing.closeBox(); };
513			document.getElementsByTagName('body')[0].appendChild(shadow);
514
515			var closecross = document.createElement('div');
516			closecross.id = 'closepop';
517			closecross.onclick = function(){ acymailing.closeBox(); };
518
519			var iframe = document.createElement('iframe');
520			iframe.src = url;
521
522			var container = document.createElement('div');
523			container.id = 'acymailingpopup';
524			
525			if(width == 0){
526				container.style.width = '82%';
527				container.style.height = '84%';
528				container.style.left = (window.innerWidth*9/100)+'px';
529				container.style.top = (window.innerHeight*2/25)+'px';
530			}else {
531				container.style.width = width + 'px';
532				container.style.height = height + 'px';
533				container.style.left = ((window.innerWidth - width) / 2)+'px';
534				container.style.top = ((window.innerHeight - height) / 2)+'px';
535			}
536
537			document.getElementsByTagName('body')[0].appendChild(shadow);
538			container.appendChild(closecross);
539			container.appendChild(iframe);
540			document.getElementsByTagName('body')[0].appendChild(container);
541		},
542		closeBox: function(parent) {
543			var d = document;
544			if(parent){
545				d = window.parent.document;
546			}
547			try {
548				var popup = d.getElementById('acymailingpopup');
549				popup.parentNode.removeChild(popup);
550				var shadow = d.getElementById('acymailingpopupshadow');
551				shadow.parentNode.removeChild(shadow);
552			} catch(err) {}
553		},
554		tableOrdering: function(order, dir, task){
555			var form = document.adminForm;
556
557			form.filter_order.value = order;
558			form.filter_order_Dir.value = dir;
559			acymailing.submitform(task, form);
560		},
561		setOnclickPopup: function(element, url, width, height){
562			elem = document.getElementById(element);
563
564			elem.removeAttribute("onclick");
565			elem.onclick = function(){
566				acymailing.openpopup(url, width, height); return false;
567			};
568		}
569	};
570	
571	if((typeof(window.Oby) == 'undefined') || window.Oby.version < Oby.version){
572		window.Oby = Oby;
573		window.obscurelighty = Oby;
574	}
575	window.acymailing = acymailing;
576})();
577
578function acymailing_initTooltips(){
579	var tooltips = document.querySelectorAll(".acymailingtooltip");
580
581	for (var i = 0; i < tooltips.length; i++) {
582		tooltips[i].addEventListener("mouseover", function (event) {
583			var tooltiptext = this.getElementsByClassName("acymailingtooltiptext")[0];
584
585			if(this.parentElement.className == 'overviewbubble') {
586				tooltiptext.style.width = "140px";
587				tooltiptext.style.top = "-50px";
588				tooltiptext.style.left = "-65px";
589
590				if (event.clientX - 65 < 0) tooltiptext.style.left = '10px';
591			}else{
592				var newTop = event.clientY - tooltiptext.clientHeight - 5;
593				if(newTop < 0) newTop = 0;
594
595				var newleft = event.clientX - tooltiptext.clientWidth/2;
596				if(newleft < 0) newleft = 0;
597				tooltiptext.style.top = newTop + "px";
598				tooltiptext.style.left = newleft + "px";
599			}
600		});
601	}
602}
603
604document.addEventListener('DOMContentLoaded', function(){
605	acymailing_initTooltips();
606});
607

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.