PageSourceSearch

https://www.kreiszeitung-wesermarsch.de/Scripts/Custom/CustNewsletterQuickRegistrationModule.js?_=b7f104a5

js kreiszeitung-wesermarsch.de collected 2026-09-25 00:23:39 UTC 6,833 bytes, 162 lines download raw bytes

1//*************************************************************************************************
2/// <summary>
3/// Javascript library for the DIALOG Funkinform Wcms User.Modules namespace
4/// </summary>
5//*************************************************************************************************
6
7/// <reference path="/Lib/jquery/jquery.js" />
8/// <reference path="/UtilLib/JS/Key.js" />
9/// <reference path="/UtilLib/JS/AjaxTool.js" />
10
11//=================================================================================================
12/// Declaration of the root namespaces
13//=================================================================================================
14var FI = FI || {};
15FI.Wcms = FI.Wcms || {};
16FI.Wcms.Custom = FI.Wcms.Custom || {};
17
18//*************************************************************************************************
19/// <summary>
20/// base class for the User.Modules namespace
21/// </summary>
22//*************************************************************************************************
23FI.Wcms.Custom.Modules = (function () {
24   //==============================================================================================
25   /// initialize all modules of the User namesspace
26   //==============================================================================================
27   function _Init(
28   ) {
29
30      // initialize all NewsletterQuickRegistrationModule controls
31      FI.Wcms.Custom.Modules.NewsletterQuickRegistrationModule.Init();
32
33   }
34
35   return { Init: _Init };
36}
37   ());
38
39//*************************************************************************************************
40/// <summary>
41/// class for QuickRegistrationModule controls
42/// </summary>
43//*************************************************************************************************
44FI.Wcms.Custom.Modules.NewsletterQuickRegistrationModule = (function () {
45   //==============================================================================================
46   /// initialize all QuickRegistrationModule controls
47   //==============================================================================================
48   function _Init(
49   ) {
50      var strWcmsModuleControlName = "NewsletterQuickRegistrationModule";
51      FI.Wcms.Module.CWcmsModuleTool.RegisterInitWcmsModuleControl(strWcmsModuleControlName, function () {
52         var jModule = $(this);
53         var jValidatedForm = jModule.find('form');
54
55         jValidatedForm.validator().on('submit', function (e) {
56            if (e.isDefaultPrevented()) {
57               // handle the invalid form...
58            }
59            else {
60               // clientside check succeeded
61               _SendEmail(jModule);
62               return false;
63            }
64         });
65
66         // register click event for submit button
67         jModule.find('.fi-btn-register').submit(function (oEvent) {
68            jValidatedForm.validator('validate');
69            oEvent.preventDefault();
70            return false;
71         });
72      });
73
74      FI.Wcms.Module.CWcmsModuleTool.InitWcmsModules(strWcmsModuleControlName);
75   }
76
77   //==============================================================================================
78   function _SendEmail(jModule) {
79      var jSubmitBtn = jModule.find('.fi-btn-register');
80      jSubmitBtn.attr("disabled", true);
81      var jPleaseWait = jModule.find(".fi-please-wait");
82      jPleaseWait.show();
83      var jErrorDiv = jModule.find(".NewsletterQuickRegistrationError");
84
85      var strHandlerUrl = jModule.attr("data-fi-url");
86      var strRetransferUrl = jModule.attr("data-fi-retransfer-url");
87
88      var strEmail = jModule.find('.fi-quick-registration-email').val();
89      var strEmailTemplate = jModule.attr('data-fi-emailtemplate');
90      var strNewsletterDefcustId = jModule.attr('data-fi-newsletterdefcustid');
91      var strNewsletterName = jModule.attr('data-fi-newslettername');
92      var strSenderEmail = jModule.attr('data-fi-senderemail');
93      var strCheckPolicy = jModule.find('#strcheckboxPolicy').val();
94      var bUnSubscribe = jModule.find('input[name="UnSubscribe"]').val();
95
96      var oParams = {};
97      oParams.strEmail = strEmail;
98      oParams.strRetransferUrl = strRetransferUrl;
99      oParams.strEmailTemplate = strEmailTemplate;
100      oParams.strNewsletterDefcustId = strNewsletterDefcustId;
101      oParams.strNewsletterName = strNewsletterName;
102      oParams.strSenderEmail = strSenderEmail;
103      oParams.strCheckPolicy = strCheckPolicy;
104      oParams.UnSubscribe = bUnSubscribe;
105
106      FI.Util.CAjaxTool.PostForm(
107         strHandlerUrl,
108         oParams,
109         function (strWarnings, oData) { /* on success callback */
110            jPleaseWait.hide();
111            jSubmitBtn.attr("disabled", false);
112
113            //first check unsubscribe
114            let bUnSubscribe = oData.UnSubscribe;
115            let bUnSubscribeError = oData.UnSubscribeError
116            if (bUnSubscribe && !bUnSubscribeError) {
117               let strUrl = window.location.protocol + '//' + window.location.host + window.location.pathname;
118               window.location.href = FI.Util.CUriTool.AddParamString(strUrl, "NewsletterUnsubscribe=true");
119               return;
120            }
121            else if (bUnSubscribe && bUnSubscribeError) {
122               jErrorDiv.html('Bei der Newsletter Abmeldung ist leider ein Fehler aufgetreten.').show();
123               return;
124            }
125            //check subscribe
126            let bCheckEmailSucceeded = oData.CheckEmailSucceeded;
127            if (bCheckEmailSucceeded) {
128               let bLoginNameAlreadyExists = oData.LoginNameAlreadyExists;
129               if (bLoginNameAlreadyExists) {
130                  jErrorDiv.html('Die E-Mail-Adresse wird bereits verwendet.').show();
131               }
132               else {
133                  jErrorDiv.hide();
134                  jModule.find("form").fadeOut();
135                  jModule.find(".NewsletterQuickRegistrationConfirmEmail").fadeIn(800);
136               }
137            }
138            else {
139               jErrorDiv.html('Die E-Mail-Adresse darf nicht verwendet werden.').show();
140            }
141         },
142         function (strError, strErrorMsg) { /* on error callback */
143            console.log(strError);
144
145            jPleaseWait.hide();
146            jSubmitBtn.attr("disabled", false);
147
148            jErrorDiv.html('Bei der Newsletter Registrierung ist leider ein Fehler aufgetreten.').show();
149         });
150   }
151
152   return { Init: _Init };
153}
154());
155
156//=================================================================================================
157/// initialize all User javascript on page ready event
158//=================================================================================================
159$(function () {
160   // initialize all User controls
161   FI.Wcms.Custom.Modules.Init();
162});

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.