{"version":3,"sources":["page/contactUs.js"],"names":["jQuery","fn","InitializePage","option","$","extend","initialJsonData","viewModelJs","JSON","parse","viewModel","ko","mapping","fromJS","pageContent","this","FullName","observable","ConfirmEmail","Email","Message","CaptchaResponse","hasSubmitted","FullNameValid","EmailValid","ConfirmEmailValid","CaptchaValid","ErrorResponse","ValidForm","computed","GetRequestObject","isSubscriptionFormValidated","undefined","ClearFormFields","val","GenerateSubscriptionEmail","captchaSiteKey","recaptchaSiteKey","grecaptcha","ready","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,GAE9BO,EAAcV,EAAEW,MAGpBL,EAAUM,SAAWL,GAAGM,aACxBP,EAAUQ,aAAeP,GAAGM,aAC5BP,EAAUS,MAAQR,GAAGM,aACxBP,EAAUU,QAAUT,GAAGM,aACvBP,EAAUW,gBAAkBV,GAAGM,aAC5BP,EAAUY,aAAeX,GAAGM,YAAW,GAEvCP,EAAUa,cAAgBZ,GAAGM,YAAW,GACxCP,EAAUc,WAAab,GAAGM,YAAW,GACrCP,EAAUe,kBAAoBd,GAAGM,YAAW,GAC5CP,EAAUgB,aAAef,GAAGM,YAAW,GACvCP,EAAUiB,cAAgBhB,GAAGM,aAC7BP,EAAUkB,UAAYjB,GAAGkB,SAAS,WAC9B,OAAQnB,EAAUa,iBAAmBb,EAAUc,cAAgBd,EAAUe,qBAAuBf,EAAUgB,iBAG9GhB,EAAUoB,iBAAmB,WASzB,OAPId,SAAUN,EAAUM,WACpBE,aAAcR,EAAUQ,eACxBC,MAAOT,EAAUS,QAC1BC,QAASV,EAAUU,UACnBC,gBAAiBX,EAAUW,oBAM1BX,EAAUqB,4BAA8B,WA2BpC,MAzB6B,KAAzBrB,EAAUM,YAA6C,aAAxBN,EAAUM,iBAAsDgB,IAAzBtB,EAAUM,WAChFN,EAAUa,eAAc,GAGxBb,EAAUa,eAAc,GAGD,KAAtBb,EAAUS,SAAuC,aAArBT,EAAUS,cAAgDa,IAAtBtB,EAAUS,QAC3ET,EAAUc,YAAW,GAErBd,EAAUc,YAAW,GAGQ,KAA7Bd,EAAUQ,gBAAqD,aAA5BR,EAAUQ,qBAA8Dc,IAA7BtB,EAAUQ,gBAAgCR,EAAUS,UAAYT,EAAUQ,eACxJR,EAAUe,mBAAkB,GAE5Bf,EAAUe,mBAAkB,GAGI,KAAhCf,EAAUW,mBAA2D,aAA/BX,EAAUW,wBAAoEW,IAAhCtB,EAAUW,kBAC9FX,EAAUgB,cAAa,GAEvBhB,EAAUgB,cAAa,GAGnBhB,EAAUa,iBAAmBb,EAAUc,cAAgBd,EAAUe,qBAAuBf,EAAUgB,gBAG9GhB,EAAUuB,gBAAkB,WACxB7B,EAAE,yBAAyB8B,IAAI,IAC/BxB,EAAUY,cAAa,IAI9BZ,EAAUyB,0BAA4B,WAC/B,IAAIC,EAAiBC,kBAAsC,2CAEjEC,WAAWC,MAAM,WAChBD,WAAWE,QAAQJ,GAAkBK,OAAQ,aAAcC,KAAK,SAAUC,GAGzE,GAFAC,SAASC,eAAe,kBAAkBC,MAAQH,EAClDjC,EAAUW,gBAA6D,MAA7CuB,SAASC,eAAe,kBAA4BD,SAASC,eAAe,kBAAkBC,MAAQ,KAC5HpC,EAAUqB,8BAsBP,CACN,IAAIgB,EAAS3C,EAAE,sBAAsB2C,SAASC,IAI9C,OAHA5C,EAAE,cAAc6C,SACfC,UAAWH,KAEL,EA1BP,IAAII,EAAkBzC,EAAUoB,mBAChC1B,EAAEgD,MACDC,IAAK,4CACLC,KAAM,OACNC,SAAU,OACVC,YAAa,kCACbC,KAAM9C,GAAGC,QAAQ8C,OAAOP,GACxBQ,OAAO,EACPC,QAAS,SAAUH,IACL,IAATA,EACH/C,EAAUY,cAAa,GAEvBZ,EAAUiB,cAAc8B,IAG1BI,MAAO,SAAUC,EAAKC,EAAYC,GACjCC,QAAQC,IAAIJ,GACZG,QAAQC,IAAI,gBAAkBH,GAC9BE,QAAQC,IAAI,iBAAmBF,WAelCrD,GAAGwD,cAAczD,EAAWI,EAAYsD,IAAI","file":"contactUs.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\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 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\t\t\tMessage: viewModel.Message(),\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\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\t};\r\n\r\n //// Generate Email\r\n\tviewModel.GenerateSubscriptionEmail = function () {\r\n var captchaSiteKey = recaptchaSiteKey ? recaptchaSiteKey : '6LeU_LwUAAAAACtI805pwHWzZCsN3EDRIRjalq1D';\r\n\r\n\t\tgrecaptcha.ready(function () {\r\n\t\t\tgrecaptcha.execute(captchaSiteKey, { action: 'homepage' }).then(function (token) {\r\n\t\t\t\tdocument.getElementById(\"reCAPTCHATOKEN\").value = token;\r\n\t\t\t\tviewModel.CaptchaResponse(document.getElementById(\"reCAPTCHATOKEN\") != null ? document.getElementById(\"reCAPTCHATOKEN\").value : \"\");\r\n\t\t\t\tif (viewModel.isSubscriptionFormValidated()) {\r\n\t\t\t\t\tvar viewModelToSend = viewModel.GetRequestObject();\r\n\t\t\t\t\t$.ajax({\r\n\t\t\t\t\t\turl: \"/api/sitecore/general/ContactUsSubmission\",\r\n\t\t\t\t\t\ttype: \"POST\",\r\n\t\t\t\t\t\tdataType: \"json\",\r\n\t\t\t\t\t\tcontentType: \"application/json; charset=utf-8\",\r\n\t\t\t\t\t\tdata: ko.mapping.toJSON(viewModelToSend),\r\n\t\t\t\t\t\tcache: false,\r\n\t\t\t\t\t\tsuccess: function (data) {\r\n\t\t\t\t\t\t\tif (data === true) {\r\n\t\t\t\t\t\t\t\tviewModel.hasSubmitted(true);\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tviewModel.ErrorResponse(data);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\terror: function (xhr, textStatus, errorThrown) {\r\n\t\t\t\t\t\t\tconsole.log(xhr);\r\n\t\t\t\t\t\t\tconsole.log(\"textStatus : \" + textStatus);\r\n\t\t\t\t\t\t\tconsole.log(\"errorThrown : \" + errorThrown);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t} else {\r\n\t\t\t\t\tvar offset = $('.subscribe-landing').offset().top;\r\n\t\t\t\t\t$(\"html, body\").animate({\r\n\t\t\t\t\t\tscrollTop: offset\r\n\t\t\t\t\t});\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\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"]}