Countdown to the Holidays
Title:Welcome our 2024 Advent Calendar. We love to create moments of wonder and magic, so what better way to welcome the holidays than with a calendar filled with crystals, games, and prizes? For 24 days from December 1st, enjoy a daily dose of Swarovski magic. Our wonderful selection of prizes includes jewelry pieces from our Millenia and Matrix families, our Holiday Cheers Tree, the Annual Edition Ornament 2024, and membership to the Swarovski Crystal Society.
You can play once per day and winners are decided by random selection.
Have fun, and we wish you luck.
Countdown to the Holiday
Welcome to the Swarovski Online Advent Calendar!
You can play as a guest straight away, log into your Swarovski account, or sign up if you wish to become a Swarovski Club member (optional).
Don’t forget to play every day and enjoy a moment of magic and wonder with Swarovski.
You can play as a guest straight away, log into your Swarovski account, or sign up if you wish to become a Swarovski Club member (optional).
Don’t forget to play every day and enjoy a moment of magic and wonder with Swarovski.
Please enter your email address. If you already have an account, you will be asked to log in.
$(this).closest('#adventCalendarCheckFullCustomerAccountFormConfigWrapper').find('.js-adventCalendarCheckFullCustomerAccountFormConfig')
.formValidation(
{
autoFocus: false,
framework: 'bootstrap',
icon: {
valid: null,
invalid: null,
validating: null
},
fields: {
'values[adventCalendarCheckFullCustomerAccountFormDefinition_email]': {
trigger: 'blur',
validators: {
regexp: {
regexp: new RegExp('^(?=.{0,255}$)(?=.{0,64}@)(?:(?!^\\.)(?!.*\\.@)(?!.*\\.\\.)[a-zA-Z0-9!#.$%&\'*+\/=?^_‘{|}~-]+|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f]){1,62}\")@(?!-)(?!.*\\.-)(?!.*-\\.)(?:[a-zA-Z0-9-]{1,61}\\.){1,126}(?=[a-zA-Z0-9-]*[a-zA-Z][a-zA-Z0-9-]*$)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?$', ''),
message: 'Please enter your email address.',
message_en: 'Please enter your email address.'
},
notEmpty: {
message: 'Please enter your email address.',
message_en: 'Please enter your email address.'
},
stringLength: {
message: 'The number of characters for this field must be between 0 and 70',
message_en: 'The number of characters for this field must be between 0 and 70',
min: 0
,
max: 70
},
}
},
}
}
)
.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);
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/
*/
data.fv.disableSubmitButtons(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 = 'adventCalendarCheckFullCustomerAccountForm';
if (!formId || formId === 'cfRequest' || formId === 'cfResponse') {
formId = 'adventCalendarCheckFullCustomerAccountFormDefinition';
}
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();
}
};
How to Play
Shine On
Take your holiday look into a new dimension with our bold festive jewelry. From striking silhouettes to rivers of crystals that reflect the light, find your shine this season.
Make an entrance in our iconic Millenia Choker and light-catching Matrix Earrings.
Light Up the Party
Title:
Too much? There’s no such thing. This holiday season, channel star power with maximalist styling. Pair our iconic full cut crystals with more intricate pieces for looks that glow with next level luminosity. Bring equally impactful radiance to your home - characterful figurines and crystallized hanging ornaments radiate wonder from every facet.
This is your invitation to shine.
This is your invitation to shine.
Holiday Glamour
Festive Jewelry Styling
Title:
Choose high-octane jewelry to dial up seasonal glamour. From the statement chic of bangles and earrings gilded with clear crystals to the shimmer of snowflake-themed pendants, go bold and radiate joyful extravagance.
Festive Home Décor
Title:
Introduce sweetness and light to your home and elevate your seasonal styling with our selection of crystal décor. Set the mood with elegant centerpiece figurines and add joy to festive tablescapes with sophisticated serveware in signature Swarovski shades.
Holiday Tree Styling
Title:
Highlight your holiday style and bathe spaces in beauty with hanging ornaments cut from light-reflecting crystals. Choose from star-shaped baubles for celestial radiance or add glamour with designs inspired by our jewelry families.
홀리데이 허브
Title:
홀리데이를 더욱 밝게 빛나게 만드는 데 필요한 모든 것을 만나보실 수 있습니다. 홀리데이를 기념하면서 스타일을 완성하는 눈부시게 빛나는 주얼리부터 연말 분위기를 물씬 느낄 수 있는 피겨린과 행잉 오너먼트까지, 홀리데이 허브가 시즌 내내 함께 합니다. Ariana Grande가 선사하는 영감으로 올해를 기억에 남는 매혹적인 한 해로 마무리해보세요.
For any questions on the Online Advent Calendar, please reach out to our Customer Service.