/* * Account page scripts. */ (function (win, doc, undef) { "use strict"; let $pnl = sax.$pnl, $dlg = sax.$dlg, $frm = sax.$frm; //-------------------------------------------------------------- sax.refreshProfileContactInfo = function () { var $section = $('.sax-panel-section.ProfileContact'); $section.removeClass('sax-edit').addClass('sax-populating'); $('.sax-property', $section).hide(); sax.showDataRefreshingMsg($section); sax.refreshProfileContact(sax.onRefreshProfileContactInfo); } sax.refreshProfileContactForm = function () { if (!sax.closeEditPanels()) return; sax.refreshProfileContact(sax.onRefreshProfileContactForm); } sax.refreshProfileContact = function (callbackFn) { delete sax.page.profileContactChanged; sax.ajax.profileContact = sax.ajax.profileContact || { url: sax.url.base + 'Account/Ajax/GetProfileContact', formId: 'frmNavigate', noWaitIcon: true }; sax.ajax.profileContact.callbackFn = callbackFn; sax.doAjaxRequest(sax.ajax.profileContact, 50); } sax.onRefreshProfileContactInfo = function (response) { //sax.debug('onRefreshProfileContactInfo', response); if (!response || !response.success || !response.contact) return; $('.sax-panel-section').show(); var $section = $('.sax-panel-section.ProfileContact'); $('.sax-message', $section).stop(true, false).fadeOut(200).empty(); $('.sax-value', $section).empty(); sax.refreshInfo($section, 'AccountEmailAddress', response.contact.emailAddress); sax.refreshInfo($section, 'AccountName', response.contact.displayName); sax.refreshInfo($section, 'AccountLocation', response.contact.locationCaption); $('img.AccountContact', $section).prop('src', 'Image/Account/Contact/Profile?' + (new Date()).getTime()); sax.showNoInfoMsg($section); $section.removeClass('sax-populating'); } sax.onRefreshProfileContactForm = function (response) { //sax.debug('onRefreshProfileContactForm', response); if (!response || !response.success) return; sax.data.genders = response.genders; sax.data.months = response.months; $('.sax-panel-section').hide(); var $section = $('.sax-panel-section.ProfileContact').show(); $('.sax-message', $section).stop(true, false).fadeOut(200).empty(); sax.refreshInput($section, 'AccountEmailAddress', response.contact.emailAddress); sax.refreshSelect($section, 'AccountTitle', response.contact.title); sax.refreshInput($section, 'AccountFirstName', response.contact.firstName); sax.refreshInput($section, 'AccountLastName', response.contact.lastName); let $selGender = $('#cbAccountGender'); if (response.genders && response.genders.length) sax.populateSelectCodeDesc($('#cbAccountGender'), response.genders); sax.refreshSelect($section, 'AccountGender', response.contact.gender || ''); sax.refreshDob(); sax.refreshSelect($section, 'AccountDobYear', response.contact.dobYear); sax.refreshDob(); sax.refreshSelect($section, 'AccountDobMonth', response.contact.dobMonth); sax.refreshDob(); sax.refreshSelect($section, 'AccountDobDay', response.contact.dobDay); sax.refreshInput($section, 'AccountRegionIdCountry', response.contact.regionIdCountry); sax.refreshInput($section, 'AccountRegionCaptionCountry', response.contact.regionCaptionCountry); sax.refreshInput($section, 'AccountRegionIdProvince', response.contact.regionIdProvince); sax.refreshInput($section, 'AccountRegionCaptionProvince', response.contact.regionCaptionProvince); $('img.AccountContact', $section).prop('src', 'Image/Account/Contact/Profile?' + (new Date()).getTime()); $section.addClass('sax-edit'); } sax.storeProfileContact = function () { sax.clearControlErrors(); sax.ajax.storeProfileContact = sax.ajax.storeProfileContact || { url: sax.url.base + 'Account/Ajax/StoreProfileContact', formId: 'frmProfileContact', callbackFn: sax.onStoreProfileContact }; sax.doAjaxRequest(sax.ajax.storeProfileContact, 50); } sax.onStoreProfileContact = function (response) { sax.refreshControlValues(response.controlValues); if (!response.success) return; sax.refreshProfileContactInfo(); } //-------------------------------------------------------------- sax.refreshDob = function () { //sax.debug('refreshDob', $('#cbAccountDobYear').val(), $('#cbAccountDobMonth').val(), $('#cbAccountDobDay').val()); let now = new Date(); let $selDobYear = $('#cbAccountDobYear'); if (!$('option', $selDobYear).length) { $selDobYear.append($('