{"version":3,"file":"sm.portal.vm.continuingEducation.min.js","names":["jQuery","sm","window","portal","extend","vm","continuingEducation","ContinuingEducationViewModel","self","this","PersonModel","smapi","community","EmploymentDataItem","AccountViewModel","DemographicDataModel","MailingAddressViewModel","ko","observable","DateOfBirth","validatedObservable","TemplatesLoaded","SetupOK","IsError","ErrorMessage","ErrorHeader","utility","getResourceValue","ErrorMessages","observableArray","HandleError","title","messages","DataLoading","isNullOrEmpty","ClearErrors","removeAll","NoAccess","Countries","GoverningDistricts","subscribe","dataLoading","blockUI","unblockUI","PrimaryEmailAddress","ConfirmPersonEmailAddress","Genders","EthnicOrigins","EthnicID","GenderID","CitizenshipID","EmploymentStatuses","EmploymentStatusID","EmployerID","OccupationID","Occupation","CurrentEmployer","Occupations","PrimaryEmailAddressID","PrimaryEmailAddressGID","PersonID","PersonGID","UserID","LoginUserName","BaseApiURL","TemplatesURL","PersonId","StudentId","HideTaxID","HideHispanic","HideVeteran","HideCurrentEmployerSearch","HideAddressFormat","ResidentState","TaxIdTemplate","CurrentEmployerTemplate","AddressFormatTemplate","HideCoreFields","custom","setCustomLocalizeKey","LoadInitialData","url","ajax","type","dataType","contentType","headers","processData","crossDomain","xhrFields","withCredentials","success","data","Status","Payload","mapping","fromJS","AllCountry","GoverningDistrict","Gender","PasswordRequirementMessage","PasswordRegexPattern","PasswordRegex","PasswordMinLength","PreexistingData","dateFormat","resources","portalResource","getValue","toUpperCase","GivenName","MiddleName","Surname","moment","Date","format","Email","isCanadaFeatureEnabled","SIN","TaxID","Citizenships","BirthCountryID","ResidentStateID","EthnicOriginIDs","IsHispanic","Veteran","complete","ExtractATO","citizenship","CitizenshipModel","CountryID","IsPrimary","push","mailingAddress","atoPerson","Addresses","Person","NewAccountPassword","EmploymentATO","EmploymentInformation","DemographicDataATO","Submit","IsLoggedIn","UpdateNonStudentPortalUser","CreateUserForCE","tempATO","toJSON","formatString","scriptParams","BaseApiUrl","global","textStatus","jqXHR","container","access","ApiContainerModel","ValidationTitle","ValidationMessages","ui","readyPage","error","exception","status","body","InitializeAndLoginUser","UserCreatedSuccessCallback","InitializeUser","setSessionCookie","StudentMatriculationGID","PortalUserName","PrimaryEmailID","PrimaryEmailGID","successCallback","encodeURIComponent","_ajaxUri","results","parseJSON","msg","GetRequestValidationTokenAndRefreshValue","SetAuthorizationContext","CheckForActiveCESAR","preID","ID","_currentPersonId","callCustomization","location","required","params","message","constant","validate_FieldRequired_Key","email","validate_ErrorInFormat0_Key","maxLength","validate_0CharactersOrLess_Key","validation","validator","val","duplicatedEmail","_baseApiUri","AjaxGet","async","validate_DuplicateEmail_Key","smMatchingValue","valueToCompare","ValidateCanadaSIN","ModelErrors","group","IsVMValid","computed","isValid","NewAccountConfirmPassword","loadAllCountryTemplates","ListData","AllCountryTemplates","itemModel","then","isCountryTemplatesLoaded"],"sources":["assets/js/viewmodels/academic/sm.portal.vm.continuingEducation.js"],"mappings":"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","ignoreList":[],"sourcesContent":["/// \r\n/// \r\n/// \r\n\r\n(function (jQuery, undefined) {\r\n var sm = window.sm = window.sm || {};\r\n var windowProxy;\r\n var actionQueue = [];\r\n\r\n if (typeof sm.portal === 'undefined') {\r\n jQuery.extend(sm, { portal: {} });\r\n }\r\n if (typeof sm.portal.vm === 'undefined') {\r\n jQuery.extend(sm.portal, { vm: {} });\r\n }\r\n if (typeof sm.portal.vm.continuingEducation === 'undefined') {\r\n jQuery.extend(sm.portal.vm, { continuingEducation: {} });\r\n }\r\n\r\n function ContinuingEducationViewModel () {\r\n var self = this;\r\n\r\n self.PersonModel = new smapi.community.PersonModel();\r\n self.EmploymentDataItem = new sm.portal.vm.EmploymentDataItem();\r\n self.AccountViewModel = new sm.portal.vm.AccountViewModel();\r\n self.DemographicDataModel = new smapi.community.DemographicDataModel();\r\n\r\n self.MailingAddressViewModel = ko.observable(new sm.portal.vm.MailingAddressViewModel());\r\n\r\n // Extra Info that is on this Cont Edu View Model Only\r\n self.DateOfBirth = ko.validatedObservable();\r\n self.TemplatesLoaded = ko.observable(false);\r\n self.SetupOK = ko.observable(true);\r\n\r\n // Model Error Handling\r\n self.IsError = ko.observable(false);\r\n self.ErrorMessage = ko.observable('');\r\n self.ErrorHeader = ko.observable(sm.portal.utility.getResourceValue('ThereWasAnError'));\r\n self.ErrorMessages = ko.observableArray();\r\n self.HandleError = function (title, messages) {\r\n self.DataLoading(false);\r\n self.IsError(true);\r\n if (sm.portal.utility.isNullOrEmpty(title)) {\r\n self.ErrorHeader(sm.portal.utility.getResourceValue('ThereWasAnError'));\r\n } else {\r\n self.ErrorHeader(title);\r\n }\r\n self.ErrorMessages(messages);\r\n };\r\n\r\n self.ClearErrors = function () {\r\n self.ErrorHeader('');\r\n self.ErrorMessages.removeAll();\r\n };\r\n\r\n self.NoAccess = ko.observable(false);\r\n\r\n // BEGIN Properties\r\n self.Countries = ko.observableArray([]);\r\n self.GoverningDistricts = ko.observableArray([]);\r\n self.DataLoading = ko.observable(false);\r\n self.DataLoading.subscribe(function (dataLoading) {\r\n if (dataLoading) {\r\n jQuery.blockUI();\r\n } else {\r\n jQuery.unblockUI();\r\n }\r\n });\r\n\r\n self.PrimaryEmailAddress = ko.validatedObservable();\r\n self.ConfirmPersonEmailAddress = ko.validatedObservable();\r\n self.Genders = ko.observableArray();\r\n self.EthnicOrigins = ko.observableArray();\r\n self.EthnicID = ko.observable();\r\n self.GenderID = ko.observable();\r\n self.CitizenshipID = ko.observable();\r\n self.EmploymentStatuses = ko.observableArray();\r\n self.EmploymentStatusID = ko.observable();\r\n self.EmployerID = ko.observable();\r\n self.OccupationID = ko.observable();\r\n self.Occupation = ko.observable();\r\n self.CurrentEmployer = ko.validatedObservable();\r\n self.Occupations = ko.observableArray();\r\n\r\n self.PrimaryEmailAddressID = ko.observable();\r\n self.PrimaryEmailAddressGID = ko.observable();\r\n self.PersonID = ko.observable();\r\n self.PersonGID = ko.observable();\r\n self.UserID = ko.observable();\r\n self.LoginUserName = ko.observable();\r\n self.BaseApiURL = ko.observable();\r\n self.TemplatesURL = ko.observable();\r\n self.PersonId = ko.observable('0');\r\n self.StudentId = ko.observable('0');\r\n self.HideTaxID = ko.observable(false);\r\n self.HideHispanic = ko.observable(false);\r\n self.HideVeteran = ko.observable(false);\r\n self.HideCurrentEmployerSearch = ko.observable(false);\r\n self.HideAddressFormat = ko.observable(false);\r\n self.ResidentState = ko.observable('ResidentState');\r\n self.TaxIdTemplate = ko.observable('');\r\n self.CurrentEmployerTemplate = ko.observable('');\r\n self.AddressFormatTemplate = ko.observable('');\r\n self.HideCoreFields = ko.observable(false);\r\n \r\n sm.portal.vm.custom.setCustomLocalizeKey(self); \r\n\r\n self.LoadInitialData = function () {\r\n self.DataLoading(true);\r\n var url = self.BaseApiURL() + 'api/ContinuingEducation/GetContinuingEducationApplicationData';\r\n\r\n var promise = jQuery.ajax({\r\n url: url,\r\n type: 'GET',\r\n dataType: 'json',\r\n contentType: 'application/json; charset=utf-8',\r\n headers: {\r\n 'x-api-version': '1' //, \r\n },\r\n processData: false,\r\n crossDomain: true,\r\n xhrFields: {\r\n withCredentials: true\r\n },\r\n success: function (data) {\r\n if (data.Status === 'success' && data.Payload) {\r\n self.SetupOK(data.Payload.SetupOK);\r\n\r\n // List Data\r\n if (data.Payload) {\r\n if (!sm.portal.utility.isNullOrEmpty(data.Payload.EthnicOrigins)) {\r\n ko.mapping.fromJS(data.Payload.EthnicOrigins, {}, self.EthnicOrigins);\r\n }\r\n\r\n if (!sm.portal.utility.isNullOrEmpty(data.Payload.AllCountry)) {\r\n ko.mapping.fromJS(data.Payload.AllCountry, {}, self.Countries);\r\n }\r\n\r\n if (!sm.portal.utility.isNullOrEmpty(data.Payload.GoverningDistrict)) {\r\n ko.mapping.fromJS(data.Payload.GoverningDistrict, {}, self.GoverningDistricts);\r\n }\r\n if (!sm.portal.utility.isNullOrEmpty(data.Payload.Gender)) {\r\n ko.mapping.fromJS(data.Payload.Gender, {}, self.Genders);\r\n }\r\n if (!sm.portal.utility.isNullOrEmpty(data.Payload.EmploymentStatuses)) {\r\n ko.mapping.fromJS(data.Payload.EmploymentStatuses, {}, self.EmploymentStatuses);\r\n }\r\n if (!sm.portal.utility.isNullOrEmpty(data.Payload.Occupations)) {\r\n ko.mapping.fromJS(data.Payload.Occupations, {}, self.Occupations);\r\n }\r\n // Password infromation\r\n if (!sm.portal.utility.isNullOrEmpty(data.Payload.PasswordRequirementMessage)) {\r\n self.AccountViewModel.PasswordRequirementMessage(data.Payload.PasswordRequirementMessage);\r\n }\r\n if (!sm.portal.utility.isNullOrEmpty(data.Payload.PasswordRegexPattern)) {\r\n self.AccountViewModel.PasswordRegex(data.Payload.PasswordRegexPattern);\r\n }\r\n if (!sm.portal.utility.isNullOrEmpty(data.Payload.PasswordMinLength)) {\r\n self.AccountViewModel.PasswordMinLength(data.Payload.PasswordMinLength);\r\n }\r\n\r\n if (data.Payload.PreexistingData) {\r\n var dateFormat = sm.resources.portalResource.getValue('DateFormatExample').toUpperCase();\r\n\r\n self.PersonModel.GivenName(data.Payload.PreexistingData.GivenName);\r\n self.PersonModel.MiddleName(data.Payload.PreexistingData.MiddleName);\r\n self.PersonModel.Surname(data.Payload.PreexistingData.Surname);\r\n self.PersonModel.GenderID(data.Payload.PreexistingData.GenderID);\r\n self.PersonModel.DateOfBirth(moment(new Date(data.Payload.PreexistingData.DateOfBirth)).format(dateFormat));\r\n self.PrimaryEmailAddress(data.Payload.PreexistingData.Email);\r\n self.ConfirmPersonEmailAddress(data.Payload.PreexistingData.Email);\r\n if(sm.portal.utility.isCanadaFeatureEnabled()){\r\n self.PersonModel.SIN(data.Payload.PreexistingData.TaxID);\r\n }else{\r\n self.PersonModel.TaxID(data.Payload.PreexistingData.TaxID);\r\n }\r\n self.DemographicDataModel.CitizenshipID = data.Payload.PreexistingData.Citizenships;\r\n self.CitizenshipID(data.Payload.PreexistingData.Citizenships);\r\n self.DemographicDataModel.BirthCountryID(data.Payload.PreexistingData.BirthCountryID);\r\n self.DemographicDataModel.ResidentStateID(data.Payload.PreexistingData.ResidentStateID);\r\n self.DemographicDataModel.EthnicOriginIDs = data.Payload.PreexistingData.EthnicOrigins;\r\n self.DemographicDataModel.IsHispanic(data.Payload.PreexistingData.IsHispanic ? 'true' : 'false');\r\n self.DemographicDataModel.Veteran(data.Payload.PreexistingData.Veteran ? 'true' : 'false');\r\n self.EmploymentDataItem.EmploymentStatusID(data.Payload.PreexistingData.EmploymentStatusID);\r\n self.EmploymentDataItem.OccupationID(data.Payload.PreexistingData.OccupationID);\r\n self.EmploymentDataItem.EmployerID(data.Payload.PreexistingData.EmployerID);\r\n }\r\n }\r\n }\r\n },\r\n complete: function () {\r\n self.DataLoading(false);\r\n }\r\n });\r\n return promise;\r\n };\r\n\r\n // END Properties\r\n\r\n this.ExtractATO = function () {\r\n if (!sm.portal.utility.isNullOrEmpty(self.DemographicDataModel.CitizenshipID) && self.DemographicDataModel.CitizenshipID > 0) {\r\n var citizenship = new smapi.community.CitizenshipModel({\r\n CountryID: self.DemographicDataModel.CitizenshipID,\r\n IsPrimary: true\r\n });\r\n self.DemographicDataModel.Citizenships.removeAll();\r\n self.DemographicDataModel.Citizenships().push(citizenship);\r\n }\r\n\r\n var mailingAddress = self.MailingAddressViewModel().ExtractATO();\r\n var atoPerson = self.PersonModel;\r\n //mailingAddress.CountryID = self.MailingAddressViewModel.SelectedCountryID();\r\n atoPerson.Addresses.push(mailingAddress);\r\n\r\n var atoModel = {\r\n Person: atoPerson,\r\n Email: self.PrimaryEmailAddress(),\r\n NewAccountPassword: self.AccountViewModel.NewAccountPassword(),\r\n EmploymentATO: self.EmploymentDataItem.ExtractATO().EmploymentInformation,\r\n DemographicDataATO: self.DemographicDataModel\r\n\r\n };\r\n return atoModel;\r\n };\r\n\r\n self.Submit = function () {\r\n if (self.AccountViewModel.IsLoggedIn()) {\r\n self.UpdateNonStudentPortalUser();\r\n } else {\r\n self.CreateUserForCE();\r\n }\r\n };\r\n\r\n self.UpdateNonStudentPortalUser = function () {\r\n self.DataLoading(true);\r\n var tempATO = ko.toJSON(self.ExtractATO());\r\n\r\n var url = sm.portal.utility.formatString(scriptParams.BaseApiUrl + '/api/ContinuingEducation/UpdateNonStudentPortalUser');\r\n\r\n jQuery.ajax({\r\n type: 'POST',\r\n contentType: 'application/json; charset=utf-8',\r\n data: tempATO,\r\n dataType: 'json',\r\n url: url,\r\n processData: true,\r\n global: true,\r\n crossDomain: true,\r\n xhrFields: {\r\n withCredentials: true\r\n },\r\n success: function (data, textStatus, jqXHR) {\r\n var container = new smapi.access.ApiContainerModel(data.Status, data.Payload, data.ValidationTitle, data.ValidationMessages);\r\n\r\n if (data.Status == 'success') {\r\n self.IsError(false);\r\n } else if (data.Status === 'validationerror') {\r\n self.HandleError(container.ValidationTitle, container.ValidationMessages);\r\n } else if (data.Status === 'error') {\r\n self.HandleError(container.ValidationTitle, container.ValidationMessages);\r\n }\r\n\r\n self.DataLoading(false);\r\n sm.portal.ui.readyPage();\r\n },\r\n error: function (jqXHR, exception) {\r\n if (jqXHR.status === 401) {\r\n var title = sm.portal.utility.getResourceValue('UnAuthorized');\r\n var body = sm.portal.utility.getResourceValue('NotAuthorizedToViewPage');\r\n self.HandleError(title, [body]);\r\n } else {\r\n self.HandleError(exception);\r\n }\r\n self.DataLoading(false);\r\n }\r\n\r\n });\r\n };\r\n\r\n self.CreateUserForCE = function () {\r\n self.DataLoading(true);\r\n var tempATO = ko.toJSON(self.ExtractATO());\r\n\r\n var url = sm.portal.utility.formatString(scriptParams.BaseApiUrl + '/api/ContinuingEducation/CreateNonStudentPortalUserAndLogin');\r\n\r\n jQuery.ajax({\r\n type: 'POST',\r\n contentType: 'application/json; charset=utf-8',\r\n data: tempATO,\r\n dataType: 'json',\r\n url: url,\r\n processData: true,\r\n global: true,\r\n crossDomain: true,\r\n xhrFields: {\r\n withCredentials: true\r\n },\r\n success: function (data, textStatus, jqXHR) {\r\n var container = new smapi.access.ApiContainerModel(data.Status, data.Payload, data.ValidationTitle, data.ValidationMessages);\r\n\r\n if (data.Status == 'success') {\r\n self.IsError(false);\r\n self.InitializeAndLoginUser(container.Payload, self.UserCreatedSuccessCallback);\r\n } else if (data.Status === 'validationerror') {\r\n self.HandleError(container.ValidationTitle, container.ValidationMessages);\r\n } else if (data.Status === 'error') {\r\n self.HandleError(container.ValidationTitle, container.ValidationMessages);\r\n }\r\n\r\n self.DataLoading(false);\r\n sm.portal.ui.readyPage();\r\n },\r\n error: function (jqXHR, exception) {\r\n if (jqXHR.status === 401) {\r\n var title = sm.portal.utility.getResourceValue('UnAuthorized');\r\n var body = sm.portal.utility.getResourceValue('NotAuthorizedToViewPage');\r\n self.HandleError(title, [body]);\r\n } else {\r\n self.HandleError(exception);\r\n }\r\n self.DataLoading(false);\r\n }\r\n\r\n });\r\n };\r\n\r\n self.InitializeUser = function (container) {\r\n sm.portal.ui.setSessionCookie('_ViewOnPortal', container.StudentMatriculationGID);\r\n\r\n // Set the appropriate variables\r\n self.PersonID(container.PersonID);\r\n self.PersonGID(container.PersonGID);\r\n self.UserID(container.UserID);\r\n self.LoginUserName(container.PortalUserName);\r\n self.PrimaryEmailAddressID(container.PrimaryEmailID);\r\n self.PrimaryEmailAddressGID(container.PrimaryEmailGID);\r\n };\r\n\r\n self.InitializeAndLoginUser = function (container, successCallback) {\r\n self.DataLoading(true);\r\n self.InitializeUser(container);\r\n\r\n // this is based on the account view model\r\n var data = 'username=' + encodeURIComponent(self.LoginUserName()) +\r\n '&password=' + encodeURIComponent(self.AccountViewModel.NewAccountPassword()) +\r\n '&defaultDomain=U4SM&action=remote_login';\r\n\r\n jQuery.ajax({\r\n url: _ajaxUri,\r\n type: 'POST',\r\n data: data,\r\n success: function (data, textStatus, jqXHR) {\r\n var results = jQuery.parseJSON(data);\r\n if (results.msg === 'success') {\r\n self.AccountViewModel.GetRequestValidationTokenAndRefreshValue(function () {\r\n self.AccountViewModel.SetAuthorizationContext(successCallback);\r\n });\r\n } else {\r\n self.HandleError(results.msg);\r\n }\r\n self.DataLoading(false);\r\n },\r\n error: function (jqXHR, exception) {\r\n self.HandleError(exception);\r\n self.DataLoading(false);\r\n }\r\n });\r\n };\r\n\r\n self.CheckForActiveCESAR = function () {\r\n self.DataLoading(true);\r\n\r\n // Build the standard ATO but att the currently logged in Person ID\r\n var preID = self.ExtractATO();\r\n preID.Person.ID(_currentPersonId);\r\n var tempATO = ko.toJSON(preID);\r\n\r\n var url = sm.portal.utility.formatString(scriptParams.BaseApiUrl + '/api/StudentPortal/VerifyNonStudentPortalUserAndLogin');\r\n jQuery.ajax({\r\n type: 'POST',\r\n contentType: 'application/json; charset=utf-8',\r\n data: tempATO,\r\n dataType: 'json',\r\n url: url,\r\n processData: true,\r\n global: true,\r\n crossDomain: true,\r\n xhrFields: {\r\n withCredentials: true\r\n },\r\n success: function (data, textStatus, jqXHR) {\r\n var container = new smapi.access.ApiContainerModel(data.Status, data.Payload, data.ValidationTitle, data.ValidationMessages);\r\n\r\n if (data.Status == 'success') {\r\n self.IsError(false);\r\n self.InitializeUser(container.Payload);\r\n self.UserCreatedSuccessCallback();\r\n } else if (data.Status === 'validationerror') {\r\n self.HandleError(container.ValidationTitle, container.ValidationMessages);\r\n } else if (data.Status === 'error') {\r\n self.HandleError(container.ValidationTitle, container.ValidationMessages);\r\n }\r\n\r\n self.DataLoading(false);\r\n sm.portal.ui.readyPage();\r\n },\r\n error: function (jqXHR, exception) {\r\n if (jqXHR.status === 401) {\r\n var title = sm.portal.utility.getResourceValue('UnAuthorized');\r\n var body = sm.portal.utility.getResourceValue('NotAuthorizedToViewPage');\r\n self.HandleError(title, [body]);\r\n } else {\r\n self.HandleError(exception);\r\n }\r\n self.DataLoading(false);\r\n }\r\n });\r\n };\r\n\r\n self.UserCreatedSuccessCallback = function () {\r\n sm.portal.ui.setSessionCookie(\"_ViewReenrollment\", true);\r\n\r\n sm.portal.vm.custom.callCustomization('RedirectToCustomPage', null,\r\n function () {\r\n window.location = '/index.php/u4sm_page/online-re-enrollment/'; \r\n }\r\n );\r\n };\r\n\r\n /** * VALIDATION METHODS ***/\r\n\r\n self.PrimaryEmailAddress.extend({\r\n required: {\r\n params: true,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_FieldRequired_Key)\r\n },\r\n email: {\r\n message: sm.portal.utility.formatString(sm.portal.utility.getResourceValue(smapi.constant.validate_ErrorInFormat0_Key), 'Example@domain.com')\r\n },\r\n maxLength: {\r\n params: 250,\r\n message: sm.portal.utility.formatString(sm.portal.utility.getResourceValue(smapi.constant.validate_0CharactersOrLess_Key), '250')\r\n },\r\n validation: {\r\n validator: function (val) {\r\n var url = _baseApiUri + 'api/studentportal/DuplicatedEmail?email=' + val;\r\n\r\n var duplicatedEmail;\r\n\r\n var successCallback = function (data) {\r\n duplicatedEmail = data;\r\n };\r\n\r\n var options = {\r\n async: false\r\n };\r\n\r\n sm.portal.utility.AjaxGet(url, successCallback, null, null, options);\r\n if (duplicatedEmail) { return false; }\r\n\r\n return true;\r\n },\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_DuplicateEmail_Key)\r\n }\r\n });\r\n\r\n self.ConfirmPersonEmailAddress.extend({\r\n required: {\r\n params: true,\r\n message: sm.portal.utility.getResourceValue(smapi.constant.validate_FieldRequired_Key)\r\n },\r\n smMatchingValue: {\r\n params: self.PrimaryEmailAddress,\r\n message: sm.portal.utility.getResourceValue('EmailDoesNotMatch')\r\n },\r\n validation: {\r\n validator: function (val, valueToCompare) {\r\n return valueToCompare == val;\r\n },\r\n message: sm.portal.utility.getResourceValue('EmailDoesNotMatch'),\r\n params: self.PrimaryEmailAddress\r\n },\r\n email: {\r\n message: sm.portal.utility.formatString(sm.portal.utility.getResourceValue(smapi.constant.validate_ErrorInFormat0_Key), 'Example@domain.com')\r\n },\r\n maxLength: {\r\n params: 250,\r\n message: sm.portal.utility.formatString(sm.portal.utility.getResourceValue(smapi.constant.validate_0CharactersOrLess_Key), '250')\r\n }\r\n });\r\n\r\n self.CurrentEmployer.extend({\r\n maxLength: {\r\n params: 100,\r\n message: sm.portal.utility.formatString(sm.portal.utility.getResourceValue(smapi.constant.validate_0CharactersOrLess_Key), '100')\r\n }\r\n });\r\n\r\n self.PersonModel.SIN.extend({\r\n validation:{\r\n validator: function(val){return sm.portal.utility.ValidateCanadaSIN(val)},\r\n message: sm.portal.utility.formatString(sm.portal.utility.getResourceValue(smapi.constant.validate_ErrorInFormat0_Key), '#########'),\r\n params: self.PersonModel.SIN\r\n }\r\n });\r\n\r\n self.ModelErrors = ko.validation.group(this);\r\n\r\n self.IsVMValid = ko.computed(function () {\r\n return self.SetupOK() &&\r\n self.PersonModel.GivenName.isValid() &&\r\n self.PersonModel.Surname.isValid() &&\r\n (self.AccountViewModel.IsLoggedIn() || (self.AccountViewModel.NewAccountPassword.isValid() &&\r\n self.AccountViewModel.NewAccountConfirmPassword.isValid())) &&\r\n self.PrimaryEmailAddress.isValid() && self.ConfirmPersonEmailAddress.isValid() &&\r\n self.MailingAddressViewModel().IsVMValid() && \r\n self.PersonModel.DateOfBirth.isValid() &&\r\n self.PersonModel.SIN.isValid();;\r\n }, self);\r\n\r\n self.loadAllCountryTemplates = function () {\r\n jQuery.blockUI();\r\n var url = _baseApiUri + 'api/studentportal/getapplicationsection?sectionName=contact&attemptmid='; // TODO: get the correct url\r\n var promise = jQuery.ajax({\r\n url: url,\r\n type: 'GET',\r\n dataType: 'json',\r\n contentType: 'application/json; charset=utf-8',\r\n headers: {\r\n 'x-api-version': '1' //, \r\n },\r\n processData: false,\r\n crossDomain: true,\r\n xhrFields: {\r\n withCredentials: true\r\n },\r\n success: function (data) {\r\n if (data.Status === 'success' && data.Payload) {\r\n var Payload = data.Payload;\r\n // List Data\r\n if (Payload.ListData) {\r\n if (!sm.portal.utility.isNullOrEmpty(Payload.ListData.AllCountry)) {\r\n ko.mapping.fromJS(Payload.ListData.AllCountry, {}, self.MailingAddressViewModel().Countries);\r\n }\r\n }\r\n\r\n // Country Templates\r\n if (!sm.portal.utility.isNullOrEmpty(Payload.AllCountryTemplates)) {\r\n ko.mapping.fromJS(Payload.AllCountryTemplates, {}, self.MailingAddressViewModel().AllCountryTemplates);\r\n }\r\n }\r\n },\r\n complete: function () {\r\n jQuery.unblockUI();\r\n }\r\n });\r\n return promise;\r\n };\r\n\r\n var isCountryTemplatesLoaded = false;\r\n\r\n // hacky method to cache country templates\r\n // todo: move country templates selector to new component or js service as requirejs module\r\n if (!isCountryTemplatesLoaded) {\r\n self.loadAllCountryTemplates(self.itemModel).then(function () {\r\n self.isCountryTemplatesLoaded = true;\r\n });\r\n }\r\n\r\n return self;\r\n }\r\n\r\n jQuery.extend(true, sm.portal.vm.continuingEducation, {\r\n ContinuingEducationViewModel: ContinuingEducationViewModel\r\n });\r\n})(jQuery);\r\n"]}