AWPCP.define("awpcp/frontend/actions-section-controller",["jquery","awpcp/jquery-collapsible"],function(s){function e(e,t){var i=this;i.template=e.template,i.store=t,i.error="",i.message=""}return s.extend(e.prototype,{render:function(e){var t=this;t.$element||(t.$element=s("<div></div>").appendTo(e)),t.$element.hasClass("rendered")||t.renderTemplate()},renderTemplate:function(){var t=this;t.$element=s(t.template).replaceAll(t.$element).collapsible(),t.$content=t.$element.find(".awpcp-submit-listing-section-content .awpcp-actions-submit-listing-section__edit_mode"),t.$actions=t.$element.find(".awpcp-listing-actions-component"),t.$actions.on("click","[data-action]",function(e){e.preventDefault(),t.onTriggerAction(s(this))}),t.message&&t.showSuccessMessage(t.message),t.error&&t.showErrors([t.error]),t.$element.addClass("rendered")},onTriggerAction:function(e){var t=this;t.$element.find(".awpcp-message").remove(),e.data("confirmation-message")?t.showConfirmationMessage(e):t.execute(e)},showConfirmationMessage:function(t){var i=this,n=s('<div class="awpcp-listing-action-confirmation"></div>'),e=s('<button class="awpcp-cancel-listing-action-button">'+t.data("cancel-button")+"</button>"),a=s('<button class="awpcp-confirm-listing-action-button">'+t.text()+"</button>");n.append(s("<span>"+t.data("confirmation-message")+"</span>")),n.append(e),n.append(a),e.click(function(e){e.preventDefault(),n.remove(),i.$actions.show()}),n.click(function(e){e.preventDefault(),n.remove(),i.execute(t)}),i.$content.prepend(n),i.$actions.hide()},execute:function(e){var t=this,e={url:s.AWPCP.get("ajaxurl"),data:{action:"awpcp_execute_listing_action",listing_action:e.data("action"),listing_id:t.store.getListingId(),nonce:e.data("nonce")},dataType:"json",method:"POST",type:"POST"};s.ajax(e).done(function(e){"error"===e.status&&e.error&&(t.error=e.error,t.showErrors([e.error])),"ok"===e.status&&e.message&&(t.message=e.message,t.showSuccessMessage(e.message)),"ok"===e.status&&e.redirect_url?setTimeout(function(){document.location.href=e.redirect_url},1e3):("ok"===e.status&&e.reload&&(t.store.requestSectionUpdate(t.id),t.store.refresh()),t.$actions.show())})},showSuccessMessage:function(e){this.$element.find(".awpcp-submit-listing-section-content").prepend('<div class="awpcp-message awpcp-message-success notice notice-success success"><p>'+e+"</p></div>")},showErrors:function(e){var i=this;s.each(e,function(e,t){i.$content.prepend('<div class="awpcp-message awpcp-error notice notice-error error"><p>'+t+"</p></div>")})},reload:function(e){this.template=e.template,this.renderTemplate()},clear:function(){}}),e}),AWPCP.define("awpcp/frontend/order-section-controller",["jquery","awpcp/categories-selector","awpcp/category-dropdown","awpcp/user-selector","awpcp/payment-terms-list","awpcp/credit-plans-list","awpcp/jquery-collapsible","awpcp/jquery-userfield","awpcp/jquery-validate-methods"],function(n,a,s,o,r,d){function e(e,t){var i=this;i.id=e.id,i.template=e.template,i.store=t}return n.extend(e.prototype,{render:function(e){var t=this;t.$element||(t.renderTemplate(e),t.updateInitialState()),"loading"===t.store.getSectionState(t.id)&&t.store.getListingId()?t.store.setSectionStateToPreview(t.id):t.updateTemplate()},renderTemplate:function(e){var i=this,t=(i.$element=n(i.template).collapsible(),e.append(i.$element),i.$editModeContainer=n(".awpcp-order-submit-listing-section__edit_mode"),i.$readModeContainer=n(".awpcp-order-submit-listing-section__read_mode"),i.$listingId=i.$element.find('[name="listing_id"]'),i.$transactionId=i.$element.find('[name="transaction_id"]'),i.$captcha=i.$element.find(".awpcp-captcha"),i.$listOfSelectedCategories=n(".awpcp-order-submit-listing-section--selected-categories"),i.$listingOwner=n(".awpcp-order-submit-listing-section--listing-owner"),i.$paymentTerm=n(".awpcp-order-submit-listing-section--payment-term"),i.$creditPlanLabel=n(".awpcp-order-submit-listing-section--credit-plan-label"),i.$creditPlan=n(".awpcp-order-submit-listing-section--credit-plan"),i.$loadingMessage=i.$readModeContainer.find(".awpcp-order-submit-listing-section--loading-message"),i.$changeSelectionButton=i.$readModeContainer.find(".awpcp-order-submit-listing-section--change-selection-button"),i.$paymentTermList=i.$editModeContainer.find(".awpcp-payment-terms-list"),i.paymentTermsList=new r(i.$paymentTermList,{onChange:function(e){i.store.updateSelectedPaymentTerm(e)}}),i.$categoriesDropdown=e.find(".awpcp-multiple-category-dropdown"),0<i.$categoriesDropdown.length?i.categoriesSelector=new s(i.$categoriesDropdown,{onChange:function(e){i.store.updateSelectedCategories(e)}}):(i.$categoriesDropdown=e.find(".awpcp-category-dropdown"),i.categoriesSelector=new a(i.$categoriesDropdown,{onChange:function(e){i.store.updateSelectedCategories(e)}})),i.$userSelect=e.find(".awpcp-user-selector"),n.extend(i.$userSelect.data("configuration"),{onChange:function(e){var t=i.getUserInformation(e.id);t&&n.publish("/user/updated",[t]),i.store.updateSelectedUser(e)}}));i.userSelector=new o(i.$userSelect,t),i.creditPlansList=new d(e.find(".awpcp-credit-plans-table"),{onChange:function(e){i.store.updateSelectedCreditPlan(e)}}),i.$editModeContainer.find("form").validate({messages:n.AWPCP.l10n("page-place-ad-order"),submitHandler:function(e,t){t.preventDefault(),i.onContinueButtonClicked()}}),i.paymentTermsList.includesFreePaymentTermOnly()&&i.$paymentTermList.closest(".awpcp-form-spacer").hide(),e.on("click",".awpcp-order-submit-listing-section--change-selection-button",function(e){e.preventDefault(),i.onChangeSelectionButtonClicked()}),n.publish("/user/updated",[i.getSelectedUserInformation()]),n.publish("/categories/change",[i.$categoriesDropdown,i.getSelectedCategoriesIds()]),n.publish("/awpcp/post-listing-page/order-step/ready",[i.$element])},getSelectedUserInformation:function(){var e=this.userSelector.getSelectedUser();return e?this.getUserInformation(e.id):null},getUserInformation:function(e){e=this.$userSelect.find('option[value="'+e+'"]');return e.length?e.data("user-information"):null},getSelectedCategoriesIds:function(){return n.map(this.getSelectedCategories(),function(e){return e.id})},getSelectedCategories:function(){return this.categoriesSelector.getSelectedCategories()},updateInitialState:function(){var e=this,t=parseInt(e.$listingId.val(),10),i=e.$transactionId.val();t&&e.store.setListingId(t),i&&e.store.setTransactionId(e.$transactionId.val()),e.store.updateSelectedPaymentTerm(e.paymentTermsList.getSelectedPaymentTerm()),e.store.updateSelectedCategories(e.categoriesSelector.getSelectedCategories()),e.store.updateSelectedUser(e.userSelector.getSelectedUser())},updateTemplate:function(){var e=this,t=e.store.getSectionState(e.id);"loading"===t?e.showLoadingMode():"preview"===t?e.showPreviewMode():"read"===t?e.showReadingMode():e.updateEditModeTemplate()},showLoadingMode:function(){this.showReadingMode(),this.$loadingMessage.show()},showPreviewMode:function(){this.showReadingMode(),this.$changeSelectionButton.show()},showReadingMode:function(){var e=this,t=(e.$editModeContainer.hide(),e.$readModeContainer.show(),e.$loadingMessage.hide(),e.$listOfSelectedCategories.empty().text(e.store.getSelectedCategoriesNames().join(", ")),e.$paymentTerm.hide(),e.$creditPlan.hide(),e.$listingOwner.hide(),e.store.getSelectedPaymentTerm()),t=(t&&(e.$paymentTerm.html(n('[data-id="'+t.type+"-"+t.id+'"]').html()).show(),e.$paymentTerm.find("input").prop("disabled",!0),e.$paymentTerm.find("label").hide(),e.$paymentTerm.find(".awpcp-payment-term-price-in-"+t.mode).show()),e.store.getSelectedCreditPlanSummary());t&&e.$creditPlan.show().find("span").html(t),e.store.getSelectedUserId()&&(e.$listingOwner.find("span").html(e.store.getSelectedUserName()),e.$listingOwner.show()),e.$changeSelectionButton.hide()},updateEditModeTemplate:function(){this.$readModeContainer.hide(),this.$editModeContainer.show(),this.store.getListingId()&&this.$captcha.hide()},onContinueButtonClicked:function(){var e=this,t=e.store.getListingId();t&&e.store.isValid("update-listing-order")?(e.updateListingOrder(),e.store.setSectionStateToLoading(e.id)):!t&&e.store.isValid("create-listing")&&(e.createEmptyListing(),e.store.setSectionStateToLoading(e.id))},updateListingOrder:function(){var e=this.getListingOrderData();e.action="awpcp_update_listing_order",e.nonce=n.AWPCP.get("update_listing_order_nonce"),e.listing_id=this.store.getListingId(),e.transaction_id=this.store.getTransactionId(),this.doAjaxRequest(e)},getListingOrderData:function(){var e=this,t=e.store.getSelectedPaymentTerm(),i=e.store.getSelectedCreditPlanId();return{categories:e.store.getSelectedCategoriesIds(),payment_term_id:t.id,payment_term_type:t.type,payment_term_payment_type:t.mode,credit_plan:i,user_id:e.store.getSelectedUserId(),custom:e.store.getCustomData(),current_url:document.location.href}},doAjaxRequest:function(t){var i=this;i.$element.find(".awpcp-message.awpcp-error").remove(),callback=function(){t=n.extend(t,i.getCaptchaFields());var e={url:n.AWPCP.get("ajaxurl"),data:t,dataType:"json",method:"POST",type:"POST"};n.ajax(e).done(function(e){"ok"===e.status&&e.redirect_url?document.location.href=e.redirect_url:("ok"===e.status&&(i.store.setOrderModifiedDate(new Date),i.store.setTransactionId(e.transaction),i.store.setListingId(e.listing.ID)),"error"===e.status&&e.errors&&(i.showErrors(e.errors),i.store.setSectionStateToPreview(i.id)),e=i.$captcha.find(".awpcp-recaptcha").attr("data-recaptcha-widget-id"),"undefined"!=typeof grecaptcha&&grecaptcha.reset&&void 0!==e&&grecaptcha.reset(e))})},window.AWPCPGetReCaptchaResponse?window.AWPCPGetReCaptchaResponse(callback):callback()},getCaptchaFields:function(){var e=this;return e.$captcha.find('[name="captcha-hash"]').length?{captcha:e.$captcha.find('[name="captcha"]').val(),"captcha-hash":e.$captcha.find('[name="captcha-hash"]').val()}:e.$captcha.find('[name="g-recaptcha-response"]').length?{"g-recaptcha-response":e.$captcha.find('[name="g-recaptcha-response"]').val()}:e.$captcha.find('[name="awpcp_recaptcha_v3_response"]').length?{awpcp_recaptcha_v3_response:e.$captcha.find('[name="awpcp_recaptcha_v3_response"]').val()}:{}},createEmptyListing:function(){var e=this.getListingOrderData();e.action="awpcp_create_empty_listing",e.nonce=n.AWPCP.get("create_empty_listing_nonce"),this.doAjaxRequest(e)},onChangeSelectionButtonClicked:function(){this.store.setSectionStateToEdit(this.id)},reload:function(){},clear:function(){var e=this;"read"!==e.store.getSectionState(e.id)&&(e.paymentTermsList.clearSelectedPaymentTerm(),e.categoriesSelector.clearSelectedCategories(),e.creditPlansList.clearSelectedCreditPlan(),e.updateInitialState(),e.store.setSectionStateToEdit(e.id))},showErrors:function(e){var i=this.$element.find(".awpcp-order-submit-listing-section__read_mode .form-submit");n.each(e,function(e,t){i.before('<div class="awpcp-message awpcp-error notice notice-error error"><p>'+t+"</p></div>")})}}),e}),AWPCP.define("awpcp/frontend/listing-dates-section-controller",["jquery","awpcp/datepicker-field"],function(i,e){function t(e,t){this.id=e.id,this.template=e.template,this.store=t}return i.extend(t.prototype,{render:function(e){var t=this;if(t.$element||(t.$element=i("<div></div>").appendTo(e)),t.shouldUpdateTemplate())return t.updateSelectedValues(),t.prepareToUpdateTemplate();t.updateSelectedValues(),t.prepareTemplate()},shouldUpdateTemplate:function(){var e=this.store.getListingId();return null!==e&&e!==this.listing},prepareToUpdateTemplate:function(){var e=this;"disabled"!==e.store.getSectionState(e.id)&&e.store.setSectionStateToLoading(e.id),e.store.requestSectionUpdate(e.id)},updateSelectedValues:function(){this.listing=this.store.getListingId()},prepareTemplate:function(){this.$element.hasClass("rendered")||this.renderTemplate(),this.updateTemplate()},renderTemplate:function(){var n=this;n.$element=i(n.template).replaceAll(n.$element).collapsible(),n.$startDate=n.$element.find('[name="start_date"]'),n.$endDate=n.$element.find('[name="end_date"]'),n.$element.find("[datepicker-placeholder]").each(function(){i.noop(new e(i(this).siblings("[name]:hidden"),{datepicker:{onSelect:function(e,t){var i={};i[t.id]=t.settings.altField.val(),n.store.updateListingFields(i)}}}))}),n.$element.addClass("rendered")},updateTemplate:function(){var e=this,t=e.store.getSectionState(e.id);return"disabled"===t?e.showDisabledMode():"loading"===t?e.showLoadingMode():e.showEditMode()},showDisabledMode:function(){this.$element.hide()},showLoadingMode:function(){this.$element.find(".awpcp-listing-dates-submit-listing-section__loading_mode").show(),this.$element.find(".awpcp-listing-dates-submit-listing-section__edit_mode").hide(),this.$element.show()},showEditMode:function(){this.$element.find(".awpcp-listing-dates-submit-listing-section__loading_mode").hide(),this.$element.find(".awpcp-listing-dates-submit-listing-section__edit_mode").show(),this.$element.show()},reload:function(e){this.template=e.template,this.$element.removeClass("rendered"),this.prepareTemplate()},clear:function(){this.$element.find("[datepicker-placeholder]").val(null).trigger("change")}}),t}),AWPCP.define("awpcp/frontend/listing-fields-section-controller",["jquery","awpcp/settings","awpcp/restricted-length-field","awpcp/multiple-region-selector-validator","awpcp/datepicker-field","awpcp/jquery-collapsible","awpcp/jquery-validate-methods"],function(s,t,i,n,a){function e(e,t){var i=this;i.id=e.id,i.template=e.template,i.store=t,i.listing=null,i.selectedCategories=[],i.selectedPaymentTerm=null,i.selectedUserId=null,i.updater=null}return s.extend(e.prototype,{render:function(e){var t=this;if(t.$element||(t.$element=s("<div></div>").appendTo(e)),t.shouldUpdateTemplate())return t.updateSelectedValues(),t.store.setSectionStateToLoading(t.id),t.store.requestSectionUpdate(t.id);t.updateSelectedValues(),t.prepareTemplate()},shouldUpdateTemplate:function(){var e,t,i,n=this,a=n.store.getListingId();return!(null===a||a===n.listing&&(a=n.store.getSelectedCategoriesIds(),e=n.store.getSelectedPaymentTermId(),t=n.store.getSelectedUserId(),i=n.store.getOrderModifiedDate(),0===a.length||null===e||_.isEqual(a,n.selectedCategories)&&e===n.selectedPaymentTerm&&t===n.selectedUserId&&i===n.orderModifiedDate))},prepareTemplate:function(){var e=this;e.$element.hasClass("rendered")||e.renderTemplate(),e.shouldHideTemplate()?e.showDisabledMode():e.updateTemplate()},renderTemplate:function(){var n=this,e=n.store.getListingFields();n.$element=s(n.template).replaceAll(n.$element).slice(0,n.$element.length),n.$element.collapsible(),n.$element.addClass("rendered"),n.$regionsSelector=n.$element.find(".awpcp-multiple-region-selector"),t.get("overwrite-contact-information-on-user-change"),s.noop(new i(n.$element.find('[name="ad_title"]'))),s.noop(new i(n.$element.find('[name="ad_details"]'))),n.$regionsSelector.length&&n.$regionsSelector.MultipleRegionSelector(e.regions),n.$element.find("[datepicker-placeholder]").each(function(){s.noop(new a(s(this).siblings("[name]:hidden"),{datepicker:{onSelect:function(e,t){var i={};i[t.id]=t.settings.altField.val(),n.store.updateListingFields(i)}}}))}),s.publish("/awpcp/post-listing-page/details-step/ready",[n.$element,n.store]),n.$element.find("form").validate({messages:s.AWPCP.l10n("submit-listing-form-fields"),onfocusout:!1}),n.$element.on("change",".awpcp-has-value",function(){n.onContinueButtonClicked()}),n.onContinueButtonClicked()},onContinueButtonClicked:function(){var a={};this.$element.find(".awpcp-has-value").each(function(e,t){var t=s(t),i=t.attr("type"),n=t.attr("name");("radio"!==i&&"checkbox"!==i||t.is(":checked"))&&(void 0!==a[n]&&s.isArray(a[n])?a[n].push(t.val()):void 0!==a[n]?a[n]=[a[n],t.val()]:a[t.attr("name")]=t.val())}),this.$regionsSelector.length&&(a.regions=this.$regionsSelector.data("RegionSelector").getSelectedRegions()),this.store.updateListingFields(a)},shouldHideTemplate:function(){return 0===this.selectedCategories.length||null===this.selectedUserId||null===this.selectedPaymentTerm},updateTemplate:function(){var e=this,t=e.store.getSectionState(e.id);return"disabled"===t?e.showDisabledMode():"loading"===t?e.showLoadingMode():e.showEditMode()},showDisabledMode:function(){this.$element.hide()},showLoadingMode:function(){this.$element.find(".awpcp-listing-fields-submit-listing-section__loading_mode").show(),this.$element.find(".awpcp-listing-fields-submit-listing-section__edit_mode").hide(),this.$element.show()},showEditMode:function(){var e;this.$element.find(".awpcp-listing-fields-submit-listing-section__loading_mode").hide(),this.$element.find(".awpcp-listing-fields-submit-listing-section__edit_mode").show(),e=this.store.getListingFields(),s.each(e,function(e,n){s('[name="'+e+'"]').each(function(){var e=s(this),t=e.attr("type"),i=s.isArray(n);"checkbox"===t||"radio"===t?(!i||-1===s.inArray(e.val(),n))&&(i||n!==e.val())?e.prop("checked",!1):e.prop("checked",!0):"hidden"!==t&&e.val(n)})}),this.$element.show()},updateSelectedValues:function(){var e=this;e.listing=e.store.getListingId(),e.selectedCategories=e.store.getSelectedCategoriesIds(),e.selectedPaymentTerm=e.store.getSelectedPaymentTermId(),e.selectedUserId=e.store.getSelectedUserId(),e.orderModifiedDate=e.store.getOrderModifiedDate()},reload:function(e){this.template=e.template,this.$element.removeClass("rendered"),this.prepareTemplate()},clear:function(){this.$element.find(".awpcp-has-value").not("[readonly]").val(null).trigger("change"),this.$regionsSelector.length&&this.$regionsSelector.data("RegionSelector").clearSelectedRegions()},validate:function(e){var t,i;return"update-listing-order"!==e&&(e=this.$element.find("form"),i=t=!1,t=n.showErrorsIfUserSelectedDuplicatedRegions(e),i=n.showErrorsIfRequiredFieldsAreEmpty(e),!e.valid()||t||i)?[!0]:[]},showErrors:function(){}}),e}),AWPCP.define("awpcp/frontend/save-section-controller",["jquery"],function(d){function e(e,t){this.id=e.id,this.template=e.template,this.store=t}return d.extend(e.prototype,{render:function(e){var t=this;if(t.$element||(t.$element=d("<div></div>").appendTo(e)),t.shouldUpdateSectionState())return t.updateSelectedValues(),t.store.setSectionStateToEdit(t.id);t.prepareTemplate()},shouldUpdateSectionState:function(){var e=this.store.getListingId();return null!==e&&e!==this.listing},updateSelectedValues:function(){this.listing=this.store.getListingId()},prepareTemplate:function(){var e=this;if(e.$element.hasClass("rendered")||e.renderTemplate(),"disabled"===e.store.getSectionState(e.id))return e.showDisabledMode();e.showEditMode()},renderTemplate:function(){var t=this;t.$element=d(t.template).replaceAll(t.$element),t.$previewButton=t.$element.find(".awpcp-preview-listing-button"),t.$submitButton=t.$element.find(".awpcp-submit-listing-button"),t.$resetButton=t.$element.find('[type="reset"]'),t.$previewContainer=t.$element.find(".awpcp-listing-preview-container"),t.$errorsSibling=t.$submitButton.closest(".form-submit"),t.$previewContainer.hide(),t.$previewButton.click(function(e){e.preventDefault(),t.store.isValid()&&t.saveListingInformationAndShowPreview()}),t.$submitButton.click(function(e){e.preventDefault(),t.store.isValid()&&t.saveListingInformationAndRedirect()}),t.$resetButton.click(function(e){e.preventDefault(),window.location.reload()}),t.$element.addClass("rendered")},saveListingInformationAndShowPreview:function(){var e=this;e.saveListingInformation().done(function(){e.showListingPreview()})},saveListingInformation:function(){var t=this,i=d.Deferred();return t.clearErrors(),t.doSaveListingRequest().done(function(e){"ok"===e.status&&e.redirect_url?i.resolve(e):"error"===e.status&&e.errors&&(t.showErrors(e.errors),i.reject(e))}),i},doSaveListingRequest:function(){var e=this,t=e.store.getSelectedPaymentTerm(),i=e.store.getSelectedCreditPlanId(),n=[],a=0,s=d.extend({},e.store.getListingFields(),{action:"awpcp_save_listing_information",nonce:d.AWPCP.get("save_listing_information_nonce"),transaction_id:e.store.getTransactionId(),ad_id:e.store.getListingId(),user_id:e.store.getSelectedUserId(),categories:e.store.getSelectedCategoriesIds(),payment_term_id:e.store.getSelectedPaymentTermId(),payment_term_type:t.type,payment_type:t.mode,credit_plan:i,custom:e.store.getCustomData(),current_url:document.location.href});s.regions&&s.regions.length&&(a=s.regions.length);for(var o=0;o<a;o+=1){var r={};d.each(s.regions[o],function(e,t){t.selected&&(r[t.type]=t.selected)}),r&&n.push(r)}return s.regions=n,t={url:d.AWPCP.get("ajaxurl"),data:s,dataType:"json",method:"POST",type:"POST"},d.ajax(t)},clearErrors:function(){this.$element.find(".awpcp-message.awpcp-error").remove()},showErrors:function(e){var i=this;d.each(e,function(e,t){i.$errorsSibling.before('<div class="awpcp-message awpcp-error notice notice-error error"><p>'+t+"</p></div>")})},showListingPreview:function(){var t=this;t.doGenerateListingPreviewRequest().done(function(e){"ok"===e.status&&e.preview&&(t.preview=e.preview,t.$previewButton.blur(),t.store.refresh())})},doGenerateListingPreviewRequest:function(){var e={action:"awpcp_generate_listing_preview",ad_id:this.store.getListingId()},e={url:d.AWPCP.get("ajaxurl"),data:e,dataType:"json",method:"POST",type:"POST"};return d.ajax(e)},saveListingInformationAndRedirect:function(){this.saveListingInformation().done(function(e){e.redirect_url&&(document.location.href=e.redirect_url)})},clearListingInformation:function(){this.store.clearSections()},showDisabledMode:function(){this.$element.hide()},showEditMode:function(){var e=this;e.preview&&(e.$previewButton.val(e.$previewButton.data("refresh-label")),e.$previewContainer.html(e.preview).show()),e.$element.show()},reload:function(e){this.template=e.template,this.$element.removeClass("rendered"),this.prepareTemplate()},clear:function(){}}),e}),AWPCP.define("awpcp/frontend/upload-media-section-controller",["jquery","awpcp/media-center","awpcp/settings","awpcp/jquery-collapsible"],function(i,e,t){function n(e,t){var i=this;i.id=e.id,i.template=e.template,i.store=t,i.selectedPaymentTerm=null,i.listing=null}return i.extend(n.prototype,{render:function(e){var t=this;if(t.$element||(t.$element=i("<div></div>").appendTo(e)),t.shouldUpdateTemplate())return t.updateSelectedValues(),t.store.setSectionStateToLoading(t.id),t.store.requestSectionUpdate(t.id);t.updateSelectedValues(),t.prepareTemplate()},shouldUpdateTemplate:function(){var e,t=this,i=t.store.getListingId();return!(null===i||i===t.listing&&(i=t.store.getSelectedPaymentTermId(),e=t.store.getOrderModifiedDate(),null===i||i===t.selectedPaymentTerm&&e===t.orderModifiedDate))},updateSelectedValues:function(){var e=this;e.selectedPaymentTerm=e.store.getSelectedPaymentTermId(),e.listing=e.store.getListingId(),e.orderModifiedDate=e.store.getOrderModifiedDate()},prepareTemplate:function(){var e=this;e.$element.hasClass("rendered")||e.renderTemplate(),e.shouldHideTemplate()?e.showDisabledMode():e.updateTemplate()},renderTemplate:function(){var e=this;e.$element=i(e.template).replaceAll(e.$element).collapsible(),e.$element.find(".awpcp-media-center").StartMediaCenter({mediaManagerOptions:t.get("media-manager-data"),mediaUploaderOptions:t.get("media-uploader-data")}),e.$element.addClass("rendered")},shouldHideTemplate:function(){return null===this.selectedPaymentTerm},updateTemplate:function(){var e=this,t=e.store.getSectionState(e.id);return"disabled"===t?e.showDisabledMode():"loading"===t?e.showLoadingMode():e.showEditMode()},showDisabledMode:function(){this.$element.hide()},showLoadingMode:function(){this.$element.find(".awpcp-upload-media-listing-section__loading_mode").show(),this.$element.find(".awpcp-upload-media-listing-section__edit_mode").hide(),this.$element.show()},showEditMode:function(){this.$element.find(".awpcp-upload-media-listing-section__loading_mode").hide(),this.$element.find(".awpcp-upload-media-listing-section__edit_mode").show(),this.$element.show()},reload:function(e){this.template=e.template,this.$element.removeClass("rendered"),this.prepareTemplate()},clear:function(){}}),n}),AWPCP.define("awpcp/frontend/submit-listing-data-store",["jquery"],function(n){function e(e){this.data=e||{},this.listener=null,this.mode="",this.refreshCalls=0}return n.extend(e.prototype,{setSectionStateToPreview:function(e){this.setSectionState(e,"preview")},setSectionStateToRead:function(e){this.setSectionState(e,"read")},setSectionState:function(e,t){this.setSectionStateWithoutRefreshing(e,t),this.refresh()},setSectionStateWithoutRefreshing:function(e,t){var i=this;void 0===i.data.sections&&(i.data.sections={}),void 0===i.data.sections[e]&&(i.data.sections[e]={}),i.data.sections[e].state=t},setSectionStateToEdit:function(e){this.setSectionState(e,"edit")},setSectionStateToLoading:function(e){this.setSectionState(e,"loading")},refresh:function(){var e=this;e.refreshCalls=e.refreshCalls+1,void 0===e.data.sectionsToUpdate&&(e.data.sectionsToUpdate=[]),e.listener.render(),e.refreshCalls=e.refreshCalls-1,e.refreshCalls<=0&&e.data.sectionsToUpdate.length&&e.updateSections()},getSectionState:function(e){return this.data.sections&&this.data.sections[e]&&this.data.sections[e].state?this.data.sections[e].state:"edit"},requestSectionUpdate:function(e){this.data.sectionsToUpdate.push(e)},updateSelectedCategories:function(e){this.data.categories=e,this.refresh()},getSelectedCategoriesIds:function(){return n.map(this.data.categories||[],function(e){return e.id})},getSelectedCategoriesNames:function(){return n.map(this.data.categories||[],function(e){return e.name})},updateSelectedUser:function(e){this.data.user=e,this.refresh()},getSelectedUserId:function(){return this.data.user?this.data.user.id:null},getSelectedUserName:function(){return this.data.user?this.data.user.name:""},updateSelectedPaymentTerm:function(e){this.data.paymentTerm=e,this.refresh()},getSelectedPaymentTerm:function(){return this.data.paymentTerm||null},getSelectedPaymentTermId:function(){return this.data.paymentTerm?this.data.paymentTerm.id:null},getSelectedPaymentTermSummary:function(){return this.data.paymentTerm?this.data.paymentTerm.summary:""},updateSelectedCreditPlan:function(e){this.data.creditPlan=e,this.refresh()},getSelectedCreditPlan:function(){return this.data.creditPlan||null},getSelectedCreditPlanId:function(){return this.data.creditPlan?this.data.creditPlan.id:null},getSelectedCreditPlanSummary:function(){return this.data.creditPlan?this.data.creditPlan.summary:""},setCAPTCHAAnswer:function(e){this.data.captcha=e},getCAPTCHAAnswer:function(){return this.data.captcha||{}},setTransactionId:function(e){this.data.transaction=e},getTransactionId:function(){return this.data.transaction||null},setOrderModifiedDate:function(e){this.data.order={modifiedDate:e}},getOrderModifiedDate:function(){return void 0===this.data.order||void 0===this.data.order.modifiedDate?null:this.data.order.modifiedDate},updateListingFields:function(e){this.data.fields=n.extend(this.data.fields||{},e),this.refresh()},setListingId:function(e){e&&(this.data.listing={ID:e},this.refresh())},getListingId:function(){return this.data.listing?this.data.listing.ID:null},getListingFields:function(){return this.data.fields||{}},updateCustomData:function(e){this.data.custom=n.extend(this.data.custom||{},e),this.refresh()},getCustomData:function(){return this.data.custom||{}},updateSections:function(){var e,t,i=this;i.updateSectionsTimeout&&clearTimeout(i.updateSectionsTimeout),e={action:"awpcp_update_submit_listing_sections",sections:i.data.sectionsToUpdate,mode:i.mode,nonce:n.AWPCP.get("update_submit_listing_sections_nonce"),listing:i.getListingId(),transaction_id:i.getTransactionId()},t={url:n.AWPCP.get("ajaxurl"),data:e,dataType:"json",method:"POST",type:"POST"},i.updateSectionsTimeout=setTimeout(function(){n.ajax(t).done(function(e){"ok"===e.status&&i.listener.reload(e.sections),i.data.sectionsToUpdate=[]})},250)},clearSections:function(){this.listener.clear()},isValid:function(e){return this.listener.validate(e)}}),e}),AWPCP.run("awpcp/frontend/submit-listing-page",["jquery","awpcp/frontend/submit-listing-data-store","awpcp/frontend/actions-section-controller","awpcp/frontend/order-section-controller","awpcp/frontend/listing-fields-section-controller","awpcp/frontend/listing-dates-section-controller","awpcp/frontend/upload-media-section-controller","awpcp/frontend/save-section-controller"],function(t,e,s,o,r,d,c,l){function p(e,t,i){this.store=e,this.sections=t,this.$container=i}t.extend(p.prototype,{render:function(){var i=this;t.each(i.sections,function(e,t){t.render(i.$container)})},reload:function(e){var i=this;t.each(e,function(e,t){void 0!==i.sections[t.id]&&(i.store.setSectionStateWithoutRefreshing(t.id,t.state),i.sections[t.id].reload(t,i.$container))})},clear:function(){t.each(this.sections,function(e,t){t.clear()})},validate:function(i){var n=this,a={},s=0;if(t.each(n.sections,function(e,t){t.validate&&(a[t.id]=t.validate(i),s+=a[t.id].length)}),0===s)return!0;t.each(a,function(e,t){n.sections[e].showErrors(t)}),t("html, body").animate({scrollTop:n.$container.find(".awpcp-error:visible").eq(0).offset().top-200},"fast")}}),t(function(){var i=new e,n={},a={actions:s,order:o,"listing-dates":d,"listing-fields":r,"upload-media":c,save:l};t.publish("awpcp/register-submit-listing-section-controllers",[a]),t.each(AWPCPSubmitListingPageData.sections,function(e,t){n[e]=new a[e](t,i),i.setSectionStateWithoutRefreshing(t.id,t.state)}),i.listener=new p(i,n,t(".awpcp-submit-listing-page-form")),i.mode=AWPCPSubmitListingPageData.mode,i.refresh()})});