PageSourceSearch

https://www.pyroking.cz/SiteJay2.0/jquery.newsletterpopup.js

js pyroking.cz collected 2026-10-09 22:20:43 UTC 7,495 bytes, 198 lines download raw bytes

1;(function($) {
2	$.newsletterPopup = function(options) {
3		var settings = $.extend({
4			forcePopup: false,
5			width: 800,
6			height: 300,
7			heading: '',
8			subheading: '',
9			infoText: '',
10			content: '',
11			image: '',
12			buttonName: 'Odosla',
13			imagePosition: 'right',
14			allowGroups: false,
15			groupsChecked: false,
16			selectedGroupsIds: [],
17			groups: '',
18			sessionID: '',
19			showAfter: 3,
20			showDelay: 3,
21			showAgainDelay: 1,
22			source: 'popup',
23			subscribedMessage: 'subscribed',
24			hideForMobile: false
25		}, options);
26
27		if (settings.forcePopup == true) {
28			showPopup(settings);
29		}
30		else if (!getCookie('shop-newsletter-subscribed') && (settings.hideForMobile == false || (screen.width + 100 > settings.width && screen.height + 100 > settings.height))) {
31			if(!getCookie('shop-newsletter-displayed-pages'))
32				setCookie('shop-newsletter-displayed-pages', '0', 0);
33
34			setCookie('shop-newsletter-displayed-pages', parseInt(getCookie('shop-newsletter-displayed-pages')) + 1, 0);
35
36			if (parseInt(getCookie('shop-newsletter-displayed-pages')) >= settings.showAfter)
37				setTimeout(function(){ setCookie('shop-newsletter-displayed-pages', '0', 0); setCookie('shop-newsletter-subscribed', '0', parseInt(settings.showAgainDelay)); showPopup(settings); }, settings.showDelay*1000);
38		}
39	};
40
41	// Get cookie
42	var getCookie = function(name) {
43		var nameEQ = name + "=";
44		var ca = document.cookie.split(';');
45		for(var i=0;i < ca.length;i++) {
46			var c = ca[i];
47			while (c.charAt(0)==' ') c = c.substring(1,c.length);
48			if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length,c.length);
49		}
50		return null;
51	};
52
53	// Set cookie
54	var setCookie = function(name,value,days) {
55		var expires = "";
56		if (days) {
57			var date = new Date();
58			date.setTime(date.getTime()+(days*24*60*60*1000));
59			expires = "; expires="+date.toGMTString();
60		}
61		document.cookie = name+"="+value+expires+"; path=/";
62	};
63
64	// Disclosure routines
65	var showPopup = function(options) {
66		var settings = options;
67
68		var html = '<div class="shop-newsletter-popup" id="shop-newsletter-popup" style="max-width:' + settings.width + 'px;">';
69
70		if (settings.image != '') {
71			html += '<div class="shop-newsletter-popup-image"><img src="' + settings.image + '" /></div>';
72		}
73
74		html += '<div class="shop-newsletter-popup-content" id="shop-newsletter-popup-content">';
75
76		if (settings.image == '') {
77			html += '<div class="shop-newsletter-popup-icon"><svg width="82" height="73" viewBox="0 0 82 73" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M72.5 0.5C77.4219 0.5 81.5 4.57812 81.5 9.5C81.5 14.5625 77.4219 18.5 72.5 18.5C67.4375 18.5 63.5 14.5625 63.5 9.5C63.5 4.57812 67.4375 0.5 72.5 0.5Z" fill="#00AA00"/><path d="M7.25 21.0312L37.0625 44.2344C39.3125 45.9219 42.5469 45.9219 44.7969 44.2344L72.0781 23C64.7656 22.8594 59 16.9531 59 9.5H11.75C7.95312 9.5 5 12.5938 5 16.25C5 18.0781 5.84375 19.9062 7.25 21.0312ZM47.6094 47.75C45.6406 49.2969 43.3906 50 41 50C38.6094 50 36.2188 49.2969 34.25 47.75L5 24.9688V56.75C5 60.5469 7.95312 63.5 11.75 63.5H70.25C73.9062 63.5 77 60.5469 77 56.75V24.9688L47.6094 47.75Z" fill="#505050"/></svg></div>';
78		}
79
80		if (settings.heading != '' || settings.subheading != '')
81			html += '<div class="shop-newsletter-popup-content-headings">';
82
83		// nadpis
84		if (settings.heading != '')
85			html += '<h1>' + settings.heading + '</h1>';
86
87		// podnadpis
88		if (settings.subheading != '')
89			html += '<h2>' + settings.subheading + '</h2>';
90
91		if (settings.heading != '' || settings.subheading != '')
92			html += '</div>';
93
94
95
96		//informacny text
97		if (settings.infoText != '' || settings.infoText != '')
98			html += '<div class="shop-newsletter-popup-info-content">' + settings.infoText + '</div>';
99
100		html += '<div id="shop-newsletter-popup-inputs">';
101
102		// skupiny
103		if(Array.isArray(settings.selectedGroupsIds) && settings.selectedGroupsIds.length > 0) {
104			html += '<div class="shop-newsletter-popup-groups">';
105
106			for (const groupId of settings.selectedGroupsIds) {
107				html += '<div class="shop-newsletter-popup-group">';
108				html += '<input type="checkbox"';
109				if (settings.groupsChecked)
110					html += ' checked="checked"';
111				html += ' name="newsletter-group-' + groupId + '" id="newsletter-popup-group-' + groupId + '" />';
112				html += '<label for="newsletter-popup-group-' + groupId + '">' + settings.groups[groupId] + '</label>';
113				html += '</div>';
114			}
115
116			html += '</div>';
117		}
118
119		// email a tlacidlo
120
121		html += '<div class="shop-newsletter-popup-inputs">';
122		html += '<label for="shop-newsletter-email" hidden >Email</label>';
123		html += '<input type="text" name="email" id="shop-newsletter-email" placeholder="Zadajte email" />';
124		html += '<button id="shop-newsletter-submit">' + settings.buttonName + '</button></div>';
125		html += '<span id="shop-newsletter-message"></span>';
126
127		// doplnujuci obsah
128		if (settings.content != '')
129			html += '<div class="shop-newsletter-popup-custom-content">' + settings.content + '</div>';
130
131		html += '</div></div></div>';
132
133		$.fancybox.open({
134			src  : html,
135			type : 'inline',
136			opts : {
137				baseClass: 'shop-newsletter-popup-fancybox'
138			}
139		});
140
141		$('#shop-newsletter-submit').on("click",function() {
142			var clickedForm = $(this).closest('.shop-newsletter-popup');
143			var postData = {request: $('#shop-newsletter-email', clickedForm).val(), sessionId: settings.sessionID, source: settings.source};
144			$(".shop-newsletter-popup-groups :checkbox", clickedForm).each(function(index){
145				if(this.checked == true)
146					postData[this.name] = 1;
147			});
148
149			$.ajax({
150				url: '/newsletter-subscription.php',
151				data:  postData
152			})
153				.done (function(data) {
154					switch(data["response"]["status"]) {
155						case "ok":
156							switch (data["response"]["message"]) {
157								case "email sent":
158									$('#shop-newsletter-popup-inputs').html('<div class="shop-newsletter-subscribed-message">Na vašu emailovú adresu bola odoslaná žiados o potvrdenie.</div>');
159									setCookie('shop-newsletter-subscribed', '1', 365);
160									break;
161								case "email not sent":
162									$('#shop-newsletter-popup-inputs').html('<div class="shop-newsletter-subscribed-message">Email so žiadosou o potvrdenie sa nepodarilo odosla.</div>');
163									break;
164							}
165							break;
166						case "failed":
167							switch (data["response"]["message"]) {
168								case "already subscribed":
169									$('#shop-newsletter-message').html('Emailová adresa je už registrovaná.');
170									break;
171								case "subscription failed":
172									$('#shop-newsletter-message').html('Registrácia zlyhala.');
173									break;
174								case "email not set":
175									$('#shop-newsletter-message').html('Zadajte email.');
176									break;
177								case "wrong email":
178									$('#shop-newsletter-message').html('Nesprávny email.');
179									break;
180								case "no group selected":
181									$('#shop-newsletter-message').html('Vyberte skupinu.');
182									break;
183								case "email already sent":
184									$('#shop-newsletter-message').html('Email so žiadosou o potvrdenie už bol odoslaný.');
185									break;
186								default:
187									alert (data["response"]["message"]);
188									break;
189							}
190							break;
191					}
192				})
193				.fail (function(jqXHR, textStatus) {
194					$('#shop-newsletter-message').html('Registrácia zlyhala.');
195				});
196		});
197	};
198})(jQuery);

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.