PageSourceSearch

https://edemocracy-empapas.gr/wp-content/plugins/speakup-email-pet…?ver=93a0fa998befefacf73dd30eb404f2fa

js edemocracy-empapas.gr collected 2026-10-03 00:41:53 UTC 6,598 bytes, 164 lines download raw bytes

1jQuery( document ).ready( function( $ ) {
2	'use strict';
3
4	// display required asteriscs
5	jQuery( '.dk-speakup-widget-popup-wrap label.required' ).append('<span> *</span>');
6
7	// run only if widget is on the page
8	if( jQuery( '.dk-speakup-widget-wrap' ).length ) {
9		jQuery( '.dk-speakup-widget-button' ).click( function( e ) {
10			var petition_form = '#' + jQuery( this ).attr( 'rel' ),
11				screenHeight  = jQuery( document ).height(),
12				screenWidth   = jQuery( window ).width(),
13				windowHeight  = jQuery( window ).height(),
14				windowWidth   = jQuery( window ).width();
15
16			jQuery( '#dk-speakup-widget-windowshade' ).css( {
17				'width'  : screenWidth,
18				'height' : screenHeight
19			});
20			jQuery( '#dk-speakup-widget-windowshade' ).fadeTo( 500, 0.8 );
21
22			// center the pop-up window
23			jQuery( petition_form ).css( 'top',  ( ( windowHeight / 2 ) - ( jQuery( petition_form ).height() / 2 ) ) );
24			jQuery( petition_form ).css( 'left', ( windowWidth / 2 ) - ( jQuery( petition_form ).width() / 2 ) );
25
26			// display the form
27			jQuery( petition_form ).fadeIn( 500 );
28		});
29
30		/* Close the pop-up petition form */
31		// by clicking windowshade area
32		jQuery( '#dk-speakup-widget-windowshade' ).click( function () {
33			jQuery( this ).fadeOut( 'slow' );
34			jQuery( '.dk-speakup-widget-popup-wrap' ).hide();
35		});
36		// or by clicking the close button
37		jQuery( '.dk-speakup-widget-close' ).click( function() {
38			jQuery( '#dk-speakup-widget-windowshade' ).fadeOut( 'slow' );
39			jQuery( '.dk-speakup-widget-popup-wrap' ).hide();
40		});
41		// or by pressing ESC
42		jQuery( document ).keyup( function( e ) {
43			if ( e.keyCode === 27 ) {
44				jQuery( '#dk-speakup-widget-windowshade' ).fadeOut( 'slow' );
45				jQuery( '.dk-speakup-widget-popup-wrap' ).hide();
46			}
47		});
48
49		// process petition form submissions
50		jQuery( '.dk-speakup-widget-submit' ).click( function( e ) {
51			e.preventDefault();
52
53			var id             = jQuery( this ).attr( 'name' ),
54				current_url    = document.URL,
55				share_url      = jQuery( '#dk-speakup-widget-shareurl-' + id ).val(),
56				posttitle      = jQuery( '#dk-speakup-widget-posttitle-' + id ).val(),
57				tweet          = jQuery( '#dk-speakup-widget-tweet-' + id ).val(),
58				lang           = jQuery( '#dk-speakup-widget-lang-' + id ).val(),
59				firstname      = jQuery( '#dk-speakup-widget-first-name-' + id ).val(),
60				lastname       = jQuery( '#dk-speakup-widget-last-name-' + id ).val(),
61				email          = jQuery( '#dk-speakup-widget-email-' + id ).val(),
62				email_confirm  = jQuery( '#dk-speakup-widget-email-confirm-' + id ).val(),
63				street         = jQuery( '#dk-speakup-widget-street-' + id ).val(),
64				city           = jQuery( '#dk-speakup-widget-city-' + id ).val(),
65				state          = jQuery( '#dk-speakup-widget-state-' + id ).val(),
66				postcode       = jQuery( '#dk-speakup-widget-postcode-' + id ).val(),
67				country        = jQuery( '#dk-speakup-widget-country-' + id ).val(),
68				custom_field   = jQuery( '#dk-speakup-widget-custom-field-' + id ).val(),
69				custom_message = jQuery( 'textarea#dk-speakup-widget-message-' + id ).val(),
70				optin          = '',
71				ajaxloader     = jQuery( '#dk-speakup-widget-ajaxloader-' + id );
72
73			if ( share_url === '' ) {
74				share_url = current_url.split('#')[0];
75			}
76
77			if ( jQuery( '#dk-speakup-widget-optin-' + id ).attr( 'checked' ) ) {
78				optin = 'on';
79			}
80
81			// make sure error notices are turned off before checking for new errors
82			jQuery( '#dk-speakup-widget-popup-wrap-' + id + ' input' ).removeClass( 'dk-speakup-widget-error' );
83
84			// validate form values
85			var errors = 0,
86				emailRegEx = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
87
88			if ( email_confirm !== undefined && email_confirm !== email ) {
89				if ( email_confirm !== email ) {
90					jQuery( '#dk-speakup-widget-email-' + id ).addClass( 'dk-speakup-widget-error' );
91					jQuery( '#dk-speakup-widget-email-confirm-' + id ).addClass( 'dk-speakup-widget-error' );
92					errors ++;
93				}
94			}
95			if ( email === '' || !emailRegEx.test( email ) ) {
96				jQuery( '#dk-speakup-widget-email-' + id ).addClass( 'dk-speakup-widget-error' );
97				errors ++;
98			}
99			if ( firstname === '' ) {
100				jQuery( '#dk-speakup-widget-first-name-' + id ).addClass( 'dk-s
100peakup-widget-error' );
101				errors ++;
102			}
103			if ( lastname === '' ) {
104				jQuery( '#dk-speakup-widget-last-name-' + id ).addClass( 'dk-speakup-widget-error' );
105				errors ++;
106			}
107
108			// if no errors found, submit the data via ajax
109			if ( errors === 0 && jQuery( this ).attr( 'rel' ) !== 'disabled' ) {
110
111				// set rel to disabled as flag to block double clicks
112				jQuery( this ).attr( 'rel', 'disabled' );
113
114				var data = {
115					action:         'dk_speakup_sendmail',
116					id:             id,
117					first_name:     firstname,
118					last_name:      lastname,
119					email:          email,
120					street:         street,
121					city:           city,
122					state:          state,
123					postcode:       postcode,
124					country:        country,
125					custom_field:   custom_field,
126					custom_message: custom_message,
127					optin:          optin,
128					lang:           lang
129				};
130
131				// display AJAX loading animation
132				ajaxloader.css({ 'visibility' : 'visible'});
133
134				// submit form data and handle ajax response
135				$.post( dk_speakup_widget_js.ajaxurl, data,
136					function( response ) {
137						var response_class = 'dk-speakup-widget-response-success';
138						if ( response.status === 'error' ) {
139							response_class = 'dk-speakup-widget-response-error';
140						}
141						jQuery( '#dk-speakup-widget-popup-wrap-' + id + ' .dk-speakup-widget-form' ).hide();
142						jQuery( '.dk-speakup-widget-response' ).addClass( response_class );
143						jQuery( '#dk-speakup-widget-popup-wrap-' + id + ' .dk-speakup-widget-response' ).fadeIn().html( response.message );
144						jQuery( '#dk-speakup-widget-popup-wrap-' + id + ' .dk-speakup-widget-share' ).fadeIn();
145
146						// launch Facebook sharing window
147						jQuery( '.dk-speakup-widget-facebook' ).click( function() {
148							var url = 'http://www.facebook.com/sharer.php?u=' + share_url + '&t=' + posttitle;
149							window.open( url, 'facebook', 'height=420,width=550,left=100,top=100,resizable=yes,location=no,status=no,toolbar=no' );
150						});
151						// launch Twitter sharing window
152						jQuery( '.dk-speakup-widget-twitter' ).click( function() {
153							var url = 'http://twitter.com/share?url=' + share_url + '&text=' + tweet;
154							window.open( url, 'twitter', 'height=420,width=550,left=100,top=100,resizable=yes,location=no,status=no,toolbar=no' );
155							ajaxloader.css({ 'visibility' : 'hidden'});
156						});
157					}, 'json'
158				);
159			}
160		});
161
162	}
163
164});

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.