$(this).closest('#contactTopicFormConfigWrapper').find('.js-contactTopicFormConfig')
.formValidation(
{
autoFocus: false,
framework: 'bootstrap',
icon: {
valid: null,
invalid: null,
validating: null
},
fields: {
'values[contactTopicFormDefinition_contactTopic]': {
trigger: 'change',
validators: {
notEmpty: {
message: 'โปรดเลือกหัวข้อของคุณ',
message_en: 'โปรดเลือกหัวข้อของคุณ'
}
}
}
}
}
)
.on('success.field.fv', function() {
/* note: we need to check if there is an error in the form, as the plugin does a validation on field level.
Validating the whole form on blur of a field is no option, as the customer does not want to see error messages on all fields
when entering one field. In case of an error on at least one field we disable the submit button manually */
var $form = $(this).closest('form');
if ($form.find('.form-group.has-error').length > 0) {
var $button = $form.find('.js-button');
if (!$button.hasClass('disabled')) {
$button.addClass('disabled');
}
}
})
.on('err.field.fv', function(e, data) {
/*
* On error field validation, enable submit button.
* Source: https://old.formvalidation.io/examples/enabling-submit-button/
*/
data.fv.disableSubmitButtons(false);
$(data.element).attr('aria-invalid', 'true');
// Get error messages
var messages = data.fv.getMessages(data.element);
// â Announce error to screen readers
if ($(data.element).closest('.js-advent-calendar-container').length > 0 && messages.length > 0 &&
window.ACC &&
window.ACC.adventcalendar &&
typeof ACC.adventcalendar.adventcalendarUpdateErrorSpanAttributes === 'function') {
const selectedField = data.element.attr('id');
ACC.adventcalendar.adventcalendarUpdateErrorSpanAttributes(selectedField, true);
ACC.adventcalendar.announceToScreenReader('Error: ' + messages[0]);
}
if(data.element.closest('.form-combo-molecule').length){
/* Get the messages of field */
var messages = data.fv.getMessages(data.element);
/* Get the error message content of the field */
var errorContent = data.element.closest('.form-combo-molecule').find('.errors');
/* Get the hidden error message of the field */
var errorField = errorContent.find('.swa-form-input__error-message[data-field="' + data.field + '"][style="display: none;"]');
/* Loop over the messages */
for (var i in messages) {
if (errorField[1] == undefined) {
var newErrorContainer = document.createElement("small");
$(newErrorContainer).attr("class", "swa-form-input__error-message swa-headline-sans--supertiny");
$(newErrorContainer).attr("data-field", data.field);
$(newErrorContainer).attr("data-fv-validator", "callback");
$(newErrorContainer).attr("data-fv-for", $(data.element[0]).attr("name") );
$(newErrorContainer).attr("data-fv-result", "INVALID");
$(newErrorContainer).attr("data-tracked", "true");
$(newErrorContainer).html(messages[i]);
if (errorContent.text().includes(messages[i])) {
$(newErrorContainer).hide();
}
errorContent.append(newErrorContainer);
}
}
}
})
.on('success.field.fv', function(e, data) {
/*
* On success field validation, enable submit button.
* Source: https://old.formvalidation.io/examples/enabling-submit-button/
*/
if ($(data.element).closest('.js-advent-calendar-container').length > 0 &&
window.ACC &&
window.ACC.adventcalendar &&
typeof ACC.adventcalendar.adventcalendarUpdateErrorSpanAttributes === 'function') {
const selectedField = data.element.attr('id');
ACC.adventcalendar.adventcalendarUpdateErrorSpanAttributes(selectedField, false);
}
data.fv.disableSubmitButtons(false);
// â Remove aria-invalid on field
$(data.element).attr('aria-invalid', 'false');
/* Remove the field messages */
$errorContent = data.element.closest('.form-combo-molecule').find('.errors');
$errorContent.find('.swa-form-input__error-message[data-field="' + data.field + '"]').remove();
$errorContent.find('.swa-form-input__error-message[data-fv-result="INVALID"]').removeAttr("style");
})
.on('success.form.fv', function() {
var formId = 'ShortContactTopic';
if (!formId || formId === 'cfRequest' || formId === 'cfResponse') {
formId = 'contactTopicFormDefinition';
}
ACC.tracking.pushFormSubmit(formId);
});
var replaceDatePatternWithValue = function(mandatory, fieldConfigCode, fieldConfigPattern) {
var date = fieldConfigPattern.toUpperCase();
var year = $("#" + fieldConfigCode + "_year").val();
var month = $("#" + fieldConfigCode + "_month").val();
var day = $("#" + fieldConfigCode + "_day").val();
date = date.replace(/[Y]+/, year);
date = date.replace(/[M]+/, month);
date = date.replace(/[D]+/, day);
var hiddenDateField = $('.js-' + fieldConfigCode + '_hidden');
if (mandatory) {
hiddenDateField.val(date);
} else {
hiddenDateField.val(date == "" ? "" : date);
}
};
var triggerFormValidation = function(fieldId, mandatory, fieldCode, dateFormat) {
replaceDatePatternWithValue(mandatory, fieldCode, dateFormat);
$('.js-fieldCode').formValidation('revalidateField', 'values[fieldCode_'+ fieldId + ']');
};
var removeDateMoleculeError = function(molecule) {
if(molecule.hasClass('has-error')){
molecule.removeClass('has-error');
molecule.find('.help-block').find('span').remove();
}
};
2
Subject
Select one of the following subjects
$(this).closest('#contactSubjectFormConfigWrapper').find('.js-contactSubjectFormConfig')
.formValidation(
{
autoFocus: false,
framework: 'bootstrap',
icon: {
valid: null,
invalid: null,
validating: null
},
fields: {
'values[contactSubjectFormDefinition_contactSubject]': {
trigger: 'change',
validators: {
notEmpty: {
message: 'โปรดเลือกหัวข้อของคุณ',
message_en: 'โปรดเลือกหัวข้อของคุณ'
}
}
}
}
}
)
.on('success.field.fv', function() {
/* note: we need to check if there is an error in the form, as the plugin does a validation on field level.
Validating the whole form on blur of a field is no option, as the customer does not want to see error messages on all fields
when entering one field. In case of an error on at least one field we disable the submit button manually */
var $form = $(this).closest('form');
if ($form.find('.form-group.has-error').length > 0) {
var $button = $form.find('.js-button');
if (!$button.hasClass('disabled')) {
$button.addClass('disabled');
}
}
})
.on('err.field.fv', function(e, data) {
/*
* On error field validation, enable submit button.
* Source: https://old.formvalidation.io/examples/enabling-submit-button/
*/
data.fv.disableSubmitButtons(false);
$(data.element).attr('aria-invalid', 'true');
// Get error messages
var messages = data.fv.getMessages(data.element);
// â Announce error to screen readers
if ($(data.element).closest('.js-advent-calendar-container').length > 0 && messages.length > 0 &&
window.ACC &&
window.ACC.adventcalendar &&
typeof ACC.adventcalendar.adventcalendarUpdateErrorSpanAttributes === 'function') {
const selectedField = data.element.attr('id');
ACC.adventcalendar.adventcalendarUpdateErrorSpanAttributes(selectedField, true);
ACC.adventcalendar.announceToScreenReader('Error: ' + messages[0]);
}
if(data.element.closest('.form-combo-molecule').length){
/* Get the messages of field */
var messages = data.fv.getMessages(data.element);
/* Get the error message content of the field */
var errorContent = data.element.closest('.form-combo-molecule').find('.errors');
/* Get the hidden error message of the field */
var errorField = errorContent.find('.swa-form-input__error-message[data-field="' + data.field + '"][style="display: none;"]');
/* Loop over the messages */
for (var i in messages) {
if (errorField[1] == undefined) {
var newErrorContainer = document.createElement("small");
$(newErrorContainer).attr("class", "swa-form-input__error-message swa-headline-sans--supertiny");
$(newErrorContainer).attr("data-field", data.field);
$(newErrorContainer).attr("data-fv-validator", "callback");
$(newErrorContainer).attr("data-fv-for", $(data.element[0]).attr("name") );
$(newErrorContainer).attr("data-fv-result", "INVALID");
$(newErrorContainer).attr("data-tracked", "true");
$(newErrorContainer).html(messages[i]);
if (errorContent.text().includes(messages[i])) {
$(newErrorContainer).hide();
}
errorContent.append(newErrorContainer);
}
}
}
})
.on('success.field.fv', function(e, data) {
/*
* On success field validation, enable submit button.
* Source: https://old.formvalidation.io/examples/enabling-submit-button/
*/
if ($(data.element).closest('.js-advent-calendar-container').length > 0 &&
window.ACC &&
window.ACC.adventcalendar &&
typeof ACC.adventcalendar.adventcalendarUpdateErrorSpanAttributes === 'function') {
const selectedField = data.element.attr('id');
ACC.adventcalendar.adventcalendarUpdateErrorSpanAttributes(selectedField, false);
}
data.fv.disableSubmitButtons(false);
// â Remove aria-invalid on field
$(data.element).attr('aria-invalid', 'false');
/* Remove the field messages */
$errorContent = data.element.closest('.form-combo-molecule').find('.errors');
$errorContent.find('.swa-form-input__error-message[data-field="' + data.field + '"]').remove();
$errorContent.find('.swa-form-input__error-message[data-fv-result="INVALID"]').removeAttr("style");
})
.on('success.form.fv', function() {
var formId = 'ShortContactSubject';
if (!formId || formId === 'cfRequest' || formId === 'cfResponse') {
formId = 'contactSubjectFormDefinition';
}
ACC.tracking.pushFormSubmit(formId);
});
var replaceDatePatternWithValue = function(mandatory, fieldConfigCode, fieldConfigPattern) {
var date = fieldConfigPattern.toUpperCase();
var year = $("#" + fieldConfigCode + "_year").val();
var month = $("#" + fieldConfigCode + "_month").val();
var day = $("#" + fieldConfigCode + "_day").val();
date = date.replace(/[Y]+/, year);
date = date.replace(/[M]+/, month);
date = date.replace(/[D]+/, day);
var hiddenDateField = $('.js-' + fieldConfigCode + '_hidden');
if (mandatory) {
hiddenDateField.val(date);
} else {
hiddenDateField.val(date == "" ? "" : date);
}
};
var triggerFormValidation = function(fieldId, mandatory, fieldCode, dateFormat) {
replaceDatePatternWithValue(mandatory, fieldCode, dateFormat);
$('.js-fieldCode').formValidation('revalidateField', 'values[fieldCode_'+ fieldId + ']');
};
var removeDateMoleculeError = function(molecule) {
if(molecule.hasClass('has-error')){
molecule.removeClass('has-error');
molecule.find('.help-block').find('span').remove();
}
};
$(this).closest('#contactSubjectOtherFormConfigWrapper').find('.js-contactSubjectOtherFormConfig')
.formValidation(
{
autoFocus: false,
framework: 'bootstrap',
icon: {
valid: null,
invalid: null,
validating: null
},
fields: {
'values[contactSubjectOtherFormDefinition_contactSubjectTxt]': {
trigger: 'keyup',
validators: {
notEmpty: {
message: 'ใส่หัวข้อที่คุณต้องการ',
message_en: 'ใส่หัวข้อที่คุณต้องการ'
},
stringLength: {
message: 'จำนวนอักขระสำหรับช่องนี้ต้องอยู่ระหว่าง 0 และ 40',
message_en: 'The number of characters for this field must be between 0 and 40',
min: 0
,
max: 40
},
}
}
}
}
)
.on('success.field.fv', function() {
/* note: we need to check if there is an error in the form, as the plugin does a validation on field level.
Validating the whole form on blur of a field is no option, as the customer does not want to see error messages on all fields
when entering one field. In case of an error on at least one field we disable the submit button manually */
var $form = $(this).closest('form');
if ($form.find('.form-group.has-error').length > 0) {
var $button = $form.find('.js-button');
if (!$button.hasClass('disabled')) {
$button.addClass('disabled');
}
}
})
.on('err.field.fv', function(e, data) {
/*
* On error field validation, enable submit button.
* Source: https://old.formvalidation.io/examples/enabling-submit-button/
*/
data.fv.disableSubmitButtons(false);
$(data.element).attr('aria-invalid', 'true');
// Get error messages
var messages = data.fv.getMessages(data.element);
// â Announce error to screen readers
if ($(data.element).closest('.js-advent-calendar-container').length > 0 && messages.length > 0 &&
window.ACC &&
window.ACC.adventcalendar &&
typeof ACC.adventcalendar.adventcalendarUpdateErrorSpanAttributes === 'function') {
const selectedField = data.element.attr('id');
ACC.adventcalendar.adventcalendarUpdateErrorSpanAttributes(selectedField, true);
ACC.adventcalendar.announceToScreenReader('Error: ' + messages[0]);
}
if(data.element.closest('.form-combo-molecule').length){
/* Get the messages of field */
var messages = data.fv.getMessages(data.element);
/* Get the error message content of the field */
var errorContent = data.element.closest('.form-combo-molecule').find('.errors');
/* Get the hidden error message of the field */
var errorField = errorContent.find('.swa-form-input__error-message[data-field="' + data.field + '"][style="display: none;"]');
/* Loop over the messages */
for (var i in messages) {
if (errorField[1] == undefined) {
var newErrorContainer = document.createElement("small");
$(newErrorContainer).attr("class", "swa-form-input__error-message swa-headline-sans--supertiny");
$(newErrorContainer).attr("data-field", data.field);
$(newErrorContainer).attr("data-fv-validator", "callback");
$(newErrorContainer).attr("data-fv-for", $(data.element[0]).attr("name") );
$(newErrorContainer).attr("data-fv-result", "INVALID");
$(newErrorContainer).attr("data-tracked", "true");
$(newErrorContainer).html(messages[i]);
if (errorContent.text().includes(messages[i])) {
$(newErrorContainer).hide();
}
errorContent.append(newErrorContainer);
}
}
}
})
.on('success.field.fv', function(e, data) {
/*
* On success field validation, enable submit button.
* Source: https://old.formvalidation.io/examples/enabling-submit-button/
*/
if ($(data.element).closest('.js-advent-calendar-container').length > 0 &&
window.ACC &&
window.ACC.adventcalendar &&
typeof ACC.adventcalendar.adventcalendarUpdateErrorSpanAttributes === 'function') {
const selectedField = data.element.attr('id');
ACC.adventcalendar.adventcalendarUpdateErrorSpanAttributes(selectedField, false);
}
data.fv.disableSubmitButtons(false);
// â Remove aria-invalid on field
$(data.element).attr('aria-invalid', 'false');
/* Remove the field messages */
$errorContent = data.element.closest('.form-combo-molecule').find('.errors');
$errorContent.find('.swa-form-input__error-message[data-field="' + data.field + '"]').remove();
$errorContent.find('.swa-form-input__error-message[data-fv-result="INVALID"]').removeAttr("style");
})
.on('success.form.fv', function() {
var formId = 'contactSubjectOther';
if (!formId || formId === 'cfRequest' || formId === 'cfResponse') {
formId = 'contactSubjectOtherFormDefinition';
}
ACC.tracking.pushFormSubmit(formId);
});
var replaceDatePatternWithValue = function(mandatory, fieldConfigCode, fieldConfigPattern) {
var date = fieldConfigPattern.toUpperCase();
var year = $("#" + fieldConfigCode + "_year").val();
var month = $("#" + fieldConfigCode + "_month").val();
var day = $("#" + fieldConfigCode + "_day").val();
date = date.replace(/[Y]+/, year);
date = date.replace(/[M]+/, month);
date = date.replace(/[D]+/, day);
var hiddenDateField = $('.js-' + fieldConfigCode + '_hidden');
if (mandatory) {
hiddenDateField.val(date);
} else {
hiddenDateField.val(date == "" ? "" : date);
}
};
var triggerFormValidation = function(fieldId, mandatory, fieldCode, dateFormat) {
replaceDatePatternWithValue(mandatory, fieldCode, dateFormat);
$('.js-fieldCode').formValidation('revalidateField', 'values[fieldCode_'+ fieldId + ']');
};
var removeDateMoleculeError = function(molecule) {
if(molecule.hasClass('has-error')){
molecule.removeClass('has-error');
molecule.find('.help-block').find('span').remove();
}
};
{"didYouKnowLabel":"คุณทราบหรือไม่:","product-size":["หากต้องการทราบขนาดที่เหมาะสม กรุณาใช้คู่มือขนาดของเรา","สำหรับข้อมูลเพิ่มเติม กรุณาตรวจสอบที่ <a href="/s-swarovski-ring-size/" target="_blank" rel="noopener noreferrer">คู่มือขนาด</a>"],"product-availability":["คุณสามารถตรวจสอบความพร้อมของสินค้าในร้าน โปรดทำตามขั้นตอนเหล่านี้: <br/>1. เลือกสินค้าของคุณจากร้านค้าออนไลน์ของเรา <br/>2. ในหน้ารายละเอียดสินค้า ถัดจาก “เพิ่มในถุง” ให้เลือก “ค้นหาในร้าน” จากนั้นคลิก Click & Collect: ตรวจสอบความพร้อม <br/>3. ป้อนตำแหน่งปัจจุบันหรือที่ต้องการของคุณและเรียกดูตัวเลือกที่มีอยู่","สำหรับข้อมูลเพิ่มเติม โปรดตรวจสอบที่ <a href="/s-faq-order/?accordionID=CC-Overview_AE-product_availibility" target="_blank" rel="noopener noreferrer">คำถามที่พบบ่อย</a>"],"product-colors":["ใช้ตัวกรองสีในหน้ารายการสินค้า หรือตรวจสอบตัวเลือกสีในหน้ารายละเอียดสินค้าเพื่อค้นหาสีที่ตรงใจ"],"promotion-info":["Swarovski มีโปรโมชั่นลดราคาตลอดทั้งปี เพื่อให้คุณไม่พลาดข่าวสาร เราขอแนะนำให้สมัครรับจดหมายข่าวของเรา"],"promotion-extension":["โปรโมชั่นของเรามีระยะเวลาที่กำหนดไว้เสมอ และเมื่อสิ้นสุดระยะเวลา รหัสส่วนลดจะหยุดทำงานโดยอัตโนมัติหรือราคาจะกลับมาเป็นราคาปกติ คำสั่งซื้อที่ทำก่อนการเปิดตัวโปรโมชั่นไม่สามารถแก้ไขเพื่อใช้ประโยชน์จากโปรโมชั่นใหม่ได้"],"promotion-quality":["โปรดตรวจสอบ ข้อกำหนดและเงื่อนไข ของโปรโมชั่นเพื่อให้แน่ใจว่าสินค้าของคุณมีคุณสมบัติตรงตามที่กำหนด และยืนยันว่าคุณสั่งซื้อภายในระยะเวลาโปรโมชั่น","สำหรับข้อมูลเพิ่มเติม โปรดตรวจสอบที่ <a href="/s-faq-order/?accordionID=CC-Overview_AE-purchase_qualify" target="_blank" rel="noopener noreferrer">คำถามที่พบบ่อย</a>"],"order-resendOrderConfirmation":["แน่นอน! หากคุณต้องการอัปเดตคำสั่งซื้อของคุณ โปรดไปที่ <a href="/s-faq-orderstatus/Swarovski-Order-Status-FAQs/" target="_blank" rel="noopener noreferrer">สถานะคำสั่งซื้อ</a> หากคุณไม่ทราบหมายเลขคำสั่งซื้อของคุณ เพียงแค่ระบุที่อยู่อีเมลของคุณ แล้วเราจะส่งคำยืนยันคำสั่งซื้อให้คุณอีกครั้ง"],"order-orderStatus":["คุณสามารถตรวจสอบสถานะคำสั่งซื้อของคุณได้ง่ายๆ ที่นี่ <a href="/s-faq-orderstatus/Swarovski-Order-Status-FAQs/" target="_blank" rel="noopener noreferrer">สถานะคำสั่งซื้อ</a>."],"order-cancelEntire":["คุณสามารถยกเลิกคำสั่งซื้อได้ภายในประมาณ 15 นาทีหลังจากได้รับการยืนยันคำสั่งซื้อ","สำหรับข้อมูลเพิ่มเติม กรุณาตรวจสอบที่ <a href="/s-faq-order/?accordionID=CC-Overview_AE-cancel_order_new" target="_blank" rel="noopener noreferrer">คำถามที่พบบ่อย</a>"],"order-cancelPartially":["การยกเลิกบางส่วนไม่สามารถทำได้ คุณสามารถยกเลิกคำสั่งซื้อได้ทั้งหมดภายในเวลาประมาณ 15 นาทีหลังการยืนยัน","โปรดดู <a href="/s-faq-order/?accordionID=CC-Overview_AE-cancel_order_new" target="_blank" rel="noopener noreferrer">FAQ</a> สำหรับรายละเอียด"],"order-changeBillingAddress":["เราไม่สามารถเปลี่ยนที่อยู่สำหรับการเรียกเก็บเงินได้"],"order-return":["คุณสามารถทำตามขั้นตอนที่ระบุไว้ใน <a href="/s-faq-return/?accordionID=CC-Overview_AE-how-do-I-return-my-item" target="_blank" rel="noopener noreferrer">คำถามที่พบบ่อย</a> ของเราเพื่อรับคำแนะนำอย่างละเอียด"],"order-returnPolicy":["สำหรับข้อมูลเพิ่มเติมเกี่ยวกับนโยบายการคืนสินค้าของเรา คลิกที่นี่ <a href="/s-faq-return/?accordionID=CC-Overview_AE-can-I-do-a-return" target="_blank" rel="noopener noreferrer">FAQ</a>"],"order-onlineRefundStatus":["การคืนสินค้าจะใช้เวลาประมาณ 14 วันทำการ คุณจะได้รับอีเมลยืนยันเมื่อเราได้รับสินค้าคืนแล้ว และการคืนเงินอาจใช้เวลาถึง 10 วันทำการในการปรากฏในบัญชีของคุณ","สำหรับข้อมูลเพิ่มเติม โปรดดูที่ <a href="/s-faq-return/?accordionID=CC-Purchase-Returns_AE-when-will-I-receive-my-refund" target="_blank" rel="noopener noreferrer">คำถามที่พบบ่อย</a>."],"exchange-exchangeProduct":["Exchanges aren't possible. Please return unwanted items per our returns policy and place a new order for the correct product.","For more details, see our <a href="/s-faq-return/?accordionID=CC-Purchase-Returns_AE-exchange-purchase" target="_blank" rel="noopener noreferrer">FAQ</a>"],"exchange-exchangeInStore":["You can find detailed information in our <a href="/s-faq-return/?accordionID=CC-Purchase-Returns_AE-exchange-product" target="_blank" rel="noopener noreferrer">FAQ</a>"],"exchange-exchangeProductFromAnotherCountry":["Due to various reasons, Swarovski does not have an international exchange or refund policy. As a result, we are unable to exchange, substitute, or refund products purchased abroad."],"delivery-tracking":["You received the tracking link with your shipping confirmation. Alternatively, you can check the progress of your shipment here: <a href="/s-faq-orderstatus/Swarovski-Order-Status-FAQs/" target="_blank" rel="noopener noreferrer">order status</a>."],"delivery-damagedItem":["We apologize for the inconvenience. Please contact our customer service and provide pictures of the shipping box and the damaged product and we will look into a solution for you."],"delivery-missingItem":["We’re sorry for the inconvenience. Was the shipping box tampered with? Please contact our customer service with photos of the shipping box, we will investigate it and find a solution for you."],"delivery-changeAddress":["Changing the delivery address or date may not be possible once a parcel is in transit. You can use our delivery partner's web portal to manage delivery options.","For more details, see our <a href="/s-faq-shipping/Swarovski-Shipping-FAQs/?accordionID=CC-Overview_AE-delivery_address" target="_blank" rel="noopener noreferrer">FAQ</a>"],"delivery-changeCountry":["Delivery to another country/region is not possible. Please order from the online shop of the delivery destination. To change country/region and language, click on the country/region name in the selector menu."],"payment-electronicCard":["Electronic gift cards are entered at payment stage in the checkout. Confirm you are entering the 10 or 16-digit card number correctly. Make sure you are not entering a money-off or discount voucher code.","For more information check here <a href="/s-faq-giftcard-voucher/Swarovski-Gift-Cards-Voucher-FAQs/?accordionID=CC-Purchase-Vouchers_AE-voucher-not-working" target="_blank" rel="noopener noreferrer">FAQ</a>"],"payment-multipleElectronicGiftCards":["To pay with multiple gift cards, please follow the steps to merge gift cards at the payment stage."],"payment-payWith":["To redeem your gift card, please follow these easy steps described in our <a href="/s-faq-giftcard-voucher/Swarovski-Gift-Cards-Voucher-FAQs/?accordionID=CC-Purchase-Vouchers_AE-redeem-gift-card" target="_blank" rel="noopener noreferrer">FAQ</a>"],"payment-rejection":["Please make sure your payment and personal data are consistent.","For more information please check <a href="/s-faq-payment/Swarovski-Payment-FAQs/?accordionID=CC-Purchase-Payment_AE-methods" target="_blank" rel="noopener noreferrer">FAQ</a>"],"website-unableToCheckout":["Please check here before contacting us <a href="/s-faq-order/?accordionID=CC-Purchase-Order_AE-website-issue" target="_blank" rel="noopener noreferrer">FAQ</a>"],"website-resetPassword":["Please use the "forgot your password" function.","For more information please check here <a href="/s-faq-order/?accordionID=CC-Purchase-Order_AE-reset_pasword" target="_blank" rel="noopener noreferrer">FAQ</a>"],"website-unableToLogin":["Please use the "forgot your password" function.","For more information please check here <a href="/s-faq-order/?accordionID=CC-Purchase-Order_AE-reset_pasword" target="_blank" rel="noopener noreferrer">FAQ</a>"],"swarovskiclub-unsubscribeNewsletter":["We send two types of emails: newsletters with promotions and collections, and membership updates (rewards, status, or program changes). To unsubscribe from newsletters, click “unsubscribe” at the email’s bottom or update your settings in “My Account” on Swarovski.com. To stop all communications, including rewards, contact Customer Service to close your account."],"swarovskiclub-emailAfterUnsubscribe":["If you’ve unsubscribed from our newsletter but remain a Swarovski Club member, you’ll still receive emails about rewards, tier status, or program changes. To stop these, contact Customer Service to close your account. You may also be subscribed to updates from one of our sub-brands."],"swarovskiclub-voucherNotWorking":["For more details, please visit our FAQ entry on how to link your club membership and use your discount voucher. <a href="/s-faq-club/?accordionID=CC-Membership-Swa-Club_AE-not-use-discount-voucher" target="_blank" rel="noopener noreferrer">FAQ</a>"],"swarovskiclub-extendedVoucher":["Swarovski Club discount vouchers cannot be extended. The validity period is specified in the Terms & Conditions included in the reward email you received."],"swarovskiclub-saleItem":["Swarovski Club discount vouchers cannot be used on sale items. For more details, please refer to the Terms & Conditions in the reward email you received."],"swarovskiclub-birthdayGiftVoucher":["You may collect your gift from your preferred store. If you don't have one, or you aren’t sure which one to visit, you can log in to your account and select a preferred store. Alternatively, you can also use our Store finder to find a store that offers the Swarovski Club. Customers in some markets can redeem their gift online with their next online purchase."],"scsmembership-renewMembership":["To renew your membership, please follow these easy steps described in our <a href="/s-faq-scs/Swarovski-Crystal-Society-FAQs-/?accordionID=SCS-LP_FAQ_AE-how-can-I-renew-membership" target="_blank" rel="noopener noreferrer">FAQ</a>"],"scsmembership-becomeMember":["To become a new member, please follow these easy steps described in our <a href="/s-faq-scs/Swarovski-Crystal-Society-FAQs-/?accordionID=CC-Membership-SCS_AE-how-to-join-renew-online" target="_blank" rel="noopener noreferrer">FAQ</a>"],"scsmembership-membershipArrival":["Membership packages are typically sent 4-6 weeks after sign-up, with new or renewed memberships dispatched on the first day of the following month. For 3-year memberships (2nd and 3rd year), packages are sent early in the year, allowing members to enjoy the annual gift and explore new novelties."],"warranty-itemCoveredByWarrant":["Swarovski provides a full warranty for manufacturing and material defects on products purchased from official stores or authorized retailers.","For details on our warranty policy, see our <a href="/s-faq-warranty/?accordionID=CC-Products-Warranty_AE-policy" target="_blank" rel="noopener noreferrer">FAQ</a>"],"warranty-warrantyPolicy":["For a complete overview of our warranty policy, please visit our dedicated <a href="/s-faq-warranty/?accordionID=CC-Products-Warranty_AE-policy" target="_blank" rel="noopener noreferrer">FAQ</a> section."],"repair-repairableItem":["To find out, please bring your product and proof of purchase to your nearest Swarovski store for assessment.","You can find your nearest store using our online <a href="/store-finder/?features=repairService" target="_blank" rel="noopener noreferrer">Store Finder</a>"],"repair-status":["You can easily check the status of your repair here <a href="/s-faq-repairs/Swarovski-Repair-Replacement-FAQs/?accordionID=CheckRepairStatusThemedAccordionEntryComponent" target="_blank" rel="noopener noreferrer">View repair status</a>"],"repair-cost":["Please bring your product and proof of purchase to your nearest Swarovski store for assessment","You can find your nearest store using our online <a href="/store-finder/?features=repairService" target="_blank" rel="noopener noreferrer">Store Finder</a>"],"repair-visitStore":["You need to visit a store because only authorized stores are equipped to properly assess and repair the product."]}