/*
* Account page scripts.
*/
(function (win, doc, undef)
{
"use strict";
let $pnl = sax.$pnl, $dlg = sax.$dlg, $frm = sax.$frm;
//--------------------------------------------------------------
sax.refreshProfileContactInfo = function ()
{
if ($pnl.proCon.hasClass('sax-edit'))
$pnl.proCon.slideUp(750, function () { $pnl.proCon.removeClass('sax-edit').addClass('sax-populating').slideDown(750); });
$('.sax-property', $pnl.proCon).hide();
sax.showDataRefreshingMsg($pnl.proCon);
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').slideDown(750);
$('.sax-message', $pnl.proCon).stop(true, false).fadeOut(200).empty();
$('.sax-value', $pnl.proConInf).empty();
sax.refreshInfo($pnl.proConInf, 'AccountEmailAddress', response.contact.emailAddress);
sax.refreshInfo($pnl.proConInf, 'AccountName', response.contact.displayName);
sax.refreshInfo($pnl.proConInf, 'AccountLocation', response.contact.locationCaption);
$('img.AccountContact', $pnl.proConInf).prop('src', 'Image/Account/Contact/Profile?' + (new Date()).getTime());
sax.showNoInfoMsg($pnl.proConInf);
$pnl.proCon.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.data.imageContentTypes = response.imageContentTypes;
$('.sax-message', $pnl.proCon).stop(true, false).fadeOut(200).empty();
sax.refreshInput($pnl.proConFrm, 'AccountEmailAddress', response.contact.emailAddress);
sax.refreshSelect($pnl.proConFrm, 'AccountTitle', response.contact.title);
sax.refreshInput($pnl.proConFrm, 'AccountFirstName', response.contact.firstName);
sax.refreshInput($pnl.proConFrm, 'AccountLastName', response.contact.lastName);
sax.refreshTextArea($pnl.proConFrm, 'AccountAbout', response.contact.about);
let $selGender = $('#cbAccountGender');
if (response.genders && response.genders.length)
sax.populateSelectCodeDesc($('#cbAccountGender'), response.genders);
sax.refreshSelect($pnl.proConFrm, 'AccountGender', response.contact.gender || '');
sax.refreshDob();
sax.refreshSelect($pnl.proConFrm, 'AccountDobYear', response.contact.dobYear);
sax.refreshDob();
sax.refreshSelect($pnl.proConFrm, 'AccountDobMonth', response.contact.dobMonth);
sax.refreshDob();
sax.refreshSelect($pnl.proConFrm, 'AccountDobDay', response.contact.dobDay);
sax.refreshInput($pnl.proConFrm, 'AccountRegionIdCountry', response.contact.regionIdCountry);
sax.refreshInput($pnl.proConFrm, 'AccountRegionCaptionCountry', response.contact.regionCaptionCountry);
sax.refreshInput($pnl.proConFrm, 'AccountRegionIdProvince', response.contact.regionIdProvince);
sax.refreshInput($pnl.proConFrm, 'AccountRegionCaptionProvince', response.contact.regionCaptionProvince);
$('img.AccountContact', $pnl.proConFrm).prop('src', 'Image/Account/Contact/Profile?' + (new Date()).getTime());
$('.sax-panel-section').slideUp(750, function () { $pnl.proCon.addClass('sax-edit').slideDown(750); });
}
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($('