{"version":3,"sources":["page/subscribeLanding.js"],"names":["jQuery","fn","InitializePage","option","$","extend","initialJsonData","viewModelJs","JSON","parse","viewModel","ko","mapping","fromJS","pageContent","this","FullName","observable","ConfirmEmail","Email","Company","Message","Title","CaptchaResponse","SelectedPractices","observableArray","hasSubmitted","FullNameValid","EmailValid","ConfirmEmailValid","CaptchaValid","ErrorResponse","ValidForm","computed","GetRequestObject","PracticeOptions","isSubscriptionFormValidated","undefined","ClearFormFields","val","GenerateSubscriptionEmail","captchaSiteKey","recaptchaSiteKey","grecaptcha","execute","action","then","token","document","getElementById","value","offset","top","animate","scrollTop","viewModelToSend","ajax","url","type","dataType","contentType","data","toJSON","cache","success","error","xhr","textStatus","errorThrown","console","log","applyBindings","get"],"mappings":"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","file":"subscribeLanding.js","sourcesContent":["jQuery.fn.InitializePage = function (option) {\r\n var defaults = {\r\n initialJsonData: null\r\n };\r\n var option = $.extend({}, defaults, option);\r\n\r\n //load json data\r\n var viewModelJs = JSON.parse(option.initialJsonData);\r\n var viewModel = ko.mapping.fromJS(viewModelJs)\r\n\r\n var pageContent = $(this);\r\n\r\n //// ViewModel to Send\r\n viewModel.FullName = ko.observable();\r\n viewModel.ConfirmEmail = ko.observable();\r\n viewModel.Email = ko.observable();\r\n viewModel.Company = ko.observable();\r\n viewModel.Message = ko.observable();\r\n viewModel.Title = ko.observable();\r\n viewModel.CaptchaResponse = ko.observable();\r\n viewModel.SelectedPractices = ko.observableArray();\r\n viewModel.hasSubmitted = ko.observable(false);\r\n //// Components to handle validated of Email Form\r\n viewModel.FullNameValid = ko.observable(true);\r\n viewModel.EmailValid = ko.observable(true);\r\n viewModel.ConfirmEmailValid = ko.observable(true);\r\n viewModel.CaptchaValid = ko.observable(true);\r\n viewModel.ErrorResponse = ko.observable();\r\n viewModel.ValidForm = ko.computed(function () {\r\n return (viewModel.FullNameValid() && viewModel.EmailValid() && viewModel.ConfirmEmailValid() && viewModel.CaptchaValid());\r\n });\r\n\r\n viewModel.GetRequestObject = function () {\r\n var reqObj = {\r\n FullName: viewModel.FullName(),\r\n ConfirmEmail: viewModel.ConfirmEmail(),\r\n Email: viewModel.Email(),\r\n Company: viewModel.Company(),\r\n Title: viewModel.Title(),\r\n Message: viewModel.Message(),\r\n CaptchaResponse: viewModel.CaptchaResponse(),\r\n SelectedPractices: viewModel.SelectedPractices(),\r\n PracticeOptions: viewModel.PracticeOptions()\r\n }\r\n\r\n return reqObj;\r\n };\r\n\r\n viewModel.isSubscriptionFormValidated = function () {\r\n\r\n if (viewModel.FullName() === \"\" || viewModel.FullName() == \"undefined\" || viewModel.FullName() === undefined) {\r\n viewModel.FullNameValid(false);\r\n }\r\n else {\r\n viewModel.FullNameValid(true);\r\n }\r\n\r\n if ((viewModel.Email() === \"\" || viewModel.Email() == \"undefined\" || viewModel.Email() === undefined)) {\r\n viewModel.EmailValid(false);\r\n } else {\r\n viewModel.EmailValid(true);\r\n }\r\n\r\n if (viewModel.ConfirmEmail() === \"\" || viewModel.ConfirmEmail() == \"undefined\" || viewModel.ConfirmEmail() === undefined || viewModel.Email() !== viewModel.ConfirmEmail()) {\r\n viewModel.ConfirmEmailValid(false);\r\n } else {\r\n viewModel.ConfirmEmailValid(true);\r\n }\r\n\r\n if (viewModel.CaptchaResponse() === \"\" || viewModel.CaptchaResponse() == \"undefined\" || viewModel.CaptchaResponse() === undefined) {\r\n viewModel.CaptchaValid(false);\r\n } else {\r\n viewModel.CaptchaValid(true);\r\n }\r\n\r\n return (viewModel.FullNameValid() == viewModel.EmailValid() == viewModel.ConfirmEmailValid() == viewModel.CaptchaValid());\r\n };\r\n\r\n viewModel.ClearFormFields = function () {\r\n $(\".subscribe-form-input\").val(\"\");\r\n viewModel.hasSubmitted(false);\r\n };\r\n\r\n //// Generate Email\r\n viewModel.GenerateSubscriptionEmail = function () {\r\n var captchaSiteKey = recaptchaSiteKey ? recaptchaSiteKey : '6LeU_LwUAAAAACtI805pwHWzZCsN3EDRIRjalq1D';\r\n\r\n\t\tgrecaptcha.execute(captchaSiteKey, { action: 'homepage' }).then(function (token) {\r\n\t\t\tdocument.getElementById(\"reCAPTCHATOKEN\").value = token;\r\n\t\t\tviewModel.CaptchaResponse(document.getElementById(\"reCAPTCHATOKEN\") != null ? document.getElementById(\"reCAPTCHATOKEN\").value : \"\");\r\n\t\t\tif (viewModel.isSubscriptionFormValidated()) {\r\n\t\t\t\tvar viewModelToSend = viewModel.GetRequestObject();\r\n\t\t\t\t$.ajax({\r\n\t\t\t\t\turl: \"/api/sitecore/insights/SubscribeSubmission\",\r\n\t\t\t\t\ttype: \"POST\",\r\n\t\t\t\t\tdataType: \"json\",\r\n\t\t\t\t\tcontentType: \"application/json; charset=utf-8\",\r\n\t\t\t\t\tdata: ko.mapping.toJSON(viewModelToSend),\r\n\t\t\t\t\tcache: false,\r\n\t\t\t\t\tsuccess: function (data) {\r\n\t\t\t\t\t\tif (data === true) {\r\n\t\t\t\t\t\t\tviewModel.hasSubmitted(true);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tviewModel.ErrorResponse(data);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t},\r\n\t\t\t\t\terror: function (xhr, textStatus, errorThrown) {\r\n\t\t\t\t\t\tconsole.log(xhr);\r\n\t\t\t\t\t\tconsole.log(\"textStatus : \" + textStatus);\r\n\t\t\t\t\t\tconsole.log(\"errorThrown : \" + errorThrown);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tvar offset = $('.subscribe-landing').offset().top;\r\n\t\t\t\t$(\"html, body\").animate({\r\n\t\t\t\t\tscrollTop: offset\r\n\t\t\t\t});\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t});\r\n };\r\n\r\n //// Apply Bindings\r\n ko.applyBindings(viewModel, pageContent.get(0));\r\n};\r\n"]}