{"version":3,"sources":["page/generalContentForm.js"],"names":["jQuery","fn","InitializePage","option","$","extend","initialJsonData","viewModelJs","JSON","parse","viewModel","ko","mapping","fromJS","pageContent","this","FullName","observable","ConfirmEmail","Relationship","Email","Message","CaptchaResponse","hasSubmitted","FullNameValid","RelationshipValid","EmailValid","ConfirmEmailValid","MessageValid","CaptchaValid","ErrorResponse","ValidForm","computed","GetRequestObject","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":"AAAAA,OAAOC,GAAGC,eAAiB,SAAUC,GAI7BA,EAASC,EAAEC,WAFXC,gBAAiB,MAEeH,GAHpC,IAMII,EAAcC,KAAKC,MAAMN,EAAOG,iBAChCI,EAAYC,GAAGC,QAAQC,OAAON,GAC9BO,EAAcV,EAAEW,MAGpBL,EAAUM,SAAWL,GAAGM,aAC3BP,EAAUQ,aAAeP,GAAGM,aAC5BP,EAAUS,aAAeR,GAAGM,aACzBP,EAAUU,MAAQT,GAAGM,aACxBP,EAAUW,QAAUV,GAAGM,aACvBP,EAAUY,gBAAkBX,GAAGM,aAC5BP,EAAUa,aAAeZ,GAAGM,YAAW,GAE1CP,EAAUc,cAAgBb,GAAGM,YAAW,GACxCP,EAAUe,kBAAoBd,GAAGM,YAAW,GACzCP,EAAUgB,WAAaf,GAAGM,YAAW,GACxCP,EAAUiB,kBAAoBhB,GAAGM,YAAW,GAC5CP,EAAUkB,aAAejB,GAAGM,YAAW,GACpCP,EAAUmB,aAAelB,GAAGM,YAAW,GACvCP,EAAUoB,cAAgBnB,GAAGM,aAC7BP,EAAUqB,UAAYpB,GAAGqB,SAAS,WAC9B,OAAQtB,EAAUc,iBAAmBd,EAAUgB,cAAgBhB,EAAUiB,qBAAuBjB,EAAUmB,iBAG9GnB,EAAUuB,iBAAmB,WAUzB,OARIjB,SAAUN,EAAUM,WACpBE,aAAcR,EAAUQ,eACxBE,MAAOV,EAAUU,QAC1BC,QAASX,EAAUW,UACnBF,aAAcT,EAAUS,eACxBG,gBAAiBZ,EAAUY,oBAM1BZ,EAAUwB,4BAA8B,WAsCpC,MApC6B,KAAzBxB,EAAUM,YAA6C,aAAxBN,EAAUM,iBAAsDmB,IAAzBzB,EAAUM,WAChFN,EAAUc,eAAc,GAGxBd,EAAUc,eAAc,GAE7Bd,EAAUS,eAILT,EAAUe,mBAAkB,GAH5Bf,EAAUe,mBAAkB,GAKjCf,EAAUW,UAILX,EAAUkB,cAAa,GAHvBlB,EAAUkB,cAAa,GAKA,KAAtBlB,EAAUU,SAAuC,aAArBV,EAAUU,cAAgDe,IAAtBzB,EAAUU,QAC3EV,EAAUgB,YAAW,GAErBhB,EAAUgB,YAAW,GAGQ,KAA7BhB,EAAUQ,gBAAqD,aAA5BR,EAAUQ,qBAA8DiB,IAA7BzB,EAAUQ,gBAAgCR,EAAUU,UAAYV,EAAUQ,eACxJR,EAAUiB,mBAAkB,GAE5BjB,EAAUiB,mBAAkB,GAGI,KAAhCjB,EAAUY,mBAA2D,aAA/BZ,EAAUY,wBAAoEa,IAAhCzB,EAAUY,kBAC9FZ,EAAUmB,cAAa,GAEvBnB,EAAUmB,cAAa,GAGnBnB,EAAUc,iBAAmBd,EAAUgB,cAAgBhB,EAAUiB,qBAAuBjB,EAAUmB,gBAAkBnB,EAAUe,qBAG1If,EAAU0B,gBAAkB,WACxBhC,EAAE,yBAAyBiC,IAAI,IAC/B3B,EAAUa,cAAa,IAI3Bb,EAAU4B,0BAA4B,WAClC,IAAIC,EAAiBC,kBAAsC,2CAEjEC,WAAWC,QAAQH,GAAkBI,OAAQ,aAAcC,KAAK,SAAUC,GAGzE,GAFAC,SAASC,eAAe,kBAAkBC,MAAQH,EAClDnC,EAAUY,gBAA6D,MAA7CwB,SAASC,eAAe,kBAA4BD,SAASC,eAAe,kBAAkBC,MAAQ,KAC5HtC,EAAUwB,8BAsBP,CACN,IAAIe,EAAS7C,EAAE,sBAAsB6C,SAASC,IAI9C,OAHA9C,EAAE,cAAc+C,SACfC,UAAWH,KAEL,EA1BP,IAAII,EAAkB3C,EAAUuB,mBAChC7B,EAAEkD,MACDC,IAAK,qDACLC,KAAM,OACNC,SAAU,OACVC,YAAa,kCACbC,KAAMhD,GAAGC,QAAQgD,OAAOP,GACxBQ,OAAO,EACPC,QAAS,SAAUH,IACL,IAATA,EACHjD,EAAUa,cAAa,GAEvBb,EAAUoB,cAAc6B,IAG1BI,MAAO,SAAUC,EAAKC,EAAYC,GACjCC,QAAQC,IAAIJ,GACZG,QAAQC,IAAI,gBAAkBH,GAC9BE,QAAQC,IAAI,iBAAmBF,SAcjCvD,GAAG0D,cAAc3D,EAAWI,EAAYwD,IAAI","file":"generalContentForm.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 var pageContent = $(this);\r\n\r\n //// ViewModel to Send\r\n viewModel.FullName = ko.observable();\r\n\tviewModel.ConfirmEmail = ko.observable();\r\n\tviewModel.Relationship = ko.observable();\r\n viewModel.Email = ko.observable();\r\n\tviewModel.Message = ko.observable();\r\n\tviewModel.CaptchaResponse = ko.observable();\r\n viewModel.hasSubmitted = ko.observable(false);\r\n //// Components to handle validated of Email Form\r\n\tviewModel.FullNameValid = ko.observable(true);\r\n\tviewModel.RelationshipValid = ko.observable(true);\r\n viewModel.EmailValid = ko.observable(true);\r\n\tviewModel.ConfirmEmailValid = ko.observable(true);\r\n\tviewModel.MessageValid = 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\t\t\tMessage: viewModel.Message(),\r\n\t\t\tRelationship: viewModel.Relationship(),\r\n\t\t\tCaptchaResponse: viewModel.CaptchaResponse()\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\t\tif (!viewModel.Relationship()) {\r\n viewModel.RelationshipValid(false);\r\n }\r\n else {\r\n viewModel.RelationshipValid(true);\r\n }\r\n\t\tif (!viewModel.Message()) {\r\n viewModel.MessageValid(false);\r\n }\r\n else {\r\n viewModel.MessageValid(true);\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() == viewModel.RelationshipValid());\r\n };\r\n\r\n viewModel.ClearFormFields = function () {\r\n $(\".subscribe-form-input\").val(\"\");\r\n viewModel.hasSubmitted(false);\r\n\t};\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/general/GeneralContentFormSubmission\",\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 });\r\n };\r\n\r\n //// Apply Bindings\r\n ko.applyBindings(viewModel, pageContent.get(0));\r\n};\r\n"]}