Horloge originale Amour de couple
29,08€
Vous aimez votre moitié ? Un peu ? Beaucoup ? Passionnément ? À la folie ? Ou pas du tout … Cette horloge murale originale pour couple représente cette question du quotidien. Les heures sont représentées en fonction du nombre de 150 ) {
cgkit_add_class_on_scroll();
} else {
cgkit_remove_class_on_scroll();
}
});
window.addEventListener( 'scroll', function( e ) {
if ( window.innerHeight + window.pageYOffset === document.documentElement.offsetHeight ) {
cgkit_remove_class_on_scroll();
}
});
window.onscroll = function(e) {
if ( ( window.innerHeight + window.scrollY ) >= document.body.scrollHeight ) {
cgkit_remove_class_on_scroll();
}
};
}
function cgkit_synchronize_variation_forms( cgkit_select ) {
var cgkit_form = cgkit_select.closest( 'form' );
var cgkit_form_clone = null;
var cgkit_select_clone = null;
if( cgkit_form.classList.contains( 'commercekit_sticky-atc-origin' ) ) {
cgkit_select_clone = document.querySelector( 'form.commercekit_sticky-atc select[name="'+cgkit_select.getAttribute('name')+'"]' );
cgkit_form_clone = cgkit_select_clone.closest( 'form' );
} else {
cgkit_select_clone = document.querySelector( 'form.commercekit_sticky-atc-origin select[name="'+cgkit_select.getAttribute('name')+'"]' );
cgkit_form_clone = cgkit_select_clone.closest( 'form' );
}
if ( cgkit_select_clone ){
if ( cgkit_select.value == cgkit_select_clone.value ) {
return;
} else {
cgkit_select_clone.value = cgkit_select.value;
setTimeout( function() {
if( jQuery ) {
jQuery( cgkit_select_clone ).change();
} else {
cgkit_select_clone.dispatchEvent( new Event('change') );
}
if ( typeof cgkitUpdateAvailableAttributes === 'function' ) {
setTimeout(function(){
cgkitUpdateAvailableAttributes(cgkit_form_clone);
var cgkit_swatches = cgkit_form_clone.querySelectorAll('.cgkit-attribute-swatches');
var is_image_updated = false;
cgkit_swatches.forEach(function(cgkit_swatch){
var cgkit_sel_swatche = cgkit_swatch.querySelector('.cgkit-swatch.cgkit-swatch-selected');
if( cgkit_sel_swatche ){
cgkitUpdateAttributeSwatch2(cgkit_sel_swatche);
cgkitUpdateAttributeSwatchImage(cgkit_sel_swatche);
var var_img = cgkit_sel_swatche.getAttribute( 'data-gimg_id' );
if ( var_img ) {
is_image_updated = true;
}
} else {
var no_selection = cgkit_swatch.getAttribute('data-no-selection');
var text_tr = cgkit_swatch.closest('tr');
var text_obj = text_tr ? text_tr.querySelector('.cgkit-chosen-attribute') : null;
if( text_obj ){
text_obj.innerHTML = no_selection;
text_obj.classList.add('no-selection');
}
}
});
var vimg_id = cgkit_form_clone.getAttribute('current-image');
if( ! is_image_updated && vimg_id != '' ){
is_image_updated = true;
}
if ( ! is_image_updated ) {
cgkitClearAttributeSwatchImage(cgkit_form_clone);
cgkitClearAttributeSwatchImage(cgkit_form);
}
}, 100);
}
}, 100 );
}
}
}
function cgkit_synchronize_input_qty( cgkit_input ) {
var cgkit_form = cgkit_input.closest( 'form' );
var cgkit_input_clone = null;
if( cgkit_form.classList.contains( 'commercekit_sticky-atc-origin' ) ) {
cgkit_input_clone = document.querySelector( 'form.commercekit_sticky-atc input.qty[name="'+cgkit_input.getAttribute('name')+'"]' );
} else {
cgkit_input_clone = document.querySelector( 'form.commercekit_sticky-atc-origin input.qty[name="'+cgkit_input.getAttribute('name')+'"]' );
}
if ( cgkit_input_clone ){
if ( cgkit_input.value == cgkit_input_clone.value ) {
return;
} else {
cgkit_input_clone.value = cgkit_input.value;
setTimeout( function() {
if( jQuery ) {
jQuery( cgkit_input_clone ).change();
} else {
cgkit_input_clone.dispatchEvent( new Event('change') );
}
}, 100 );
}
}
}
function loadQATC(){
if( jQuery ) {
jQuery( 'body' ).on( 'change', 'form.commercekit_sticky-atc-origin .variations select, form.commercekit_sticky-atc .variations select', function() {
cgkit_synchronize_variation_forms( this );
});
jQuery( 'body' ).on( 'change', 'form.commercekit_sticky-atc-origin input.qty, form.commercekit_sticky-atc input.qty', function() {
cgkit_synchronize_input_qty( this );
});
}
}
const QATCUserInteractionEvents = ['mouseover', 'keydown', 'touchstart', 'touchmove', 'wheel'];
QATCUserInteractionEvents.forEach(function(event) {
window.addEventListener(event, triggerQATCScriptLoader, {
passive: !0
})
});
function triggerQATCScriptLoader() {
loadQATCScripts();
QATCUserInteractionEvents.forEach(function(event) {
window.removeEventListener(event, triggerQATCScriptLoader, {
passive: !0
})
})
}
function loadQATCScripts() {
loadQATC();
}
var cgkit_tab_click = false;
var cgkit_tab_click_id = 0;
window.addEventListener( 'click', function( event ) {
var elem = event.target;
var elemp = elem.closest( '.commercekit-atc-tab' );
if ( elem.classList.contains( 'commercekit-atc-tab' ) || elemp ) {
event.preventDefault();
if( elemp ){
var tid = elemp.getAttribute('data-id');
var cid = elemp.getAttribute('href');
} else {
var tid = elem.getAttribute('data-id');
var cid = elem.getAttribute('href');
}
var wctab = document.querySelector( tid + ' > a' );
if( wctab ){
wctab.click();
window.dispatchEvent(new Event('resize'));
}
var sticky_tab = document.querySelector( tid + '-title' );
if( sticky_tab ){
cgkit_sticky_tabs_activate( sticky_tab );
}
cgkit_tab_click = true;
if ( ! cgkit_tab_click_id ) {
cgkit_tab_click_id = setTimeout( function(){ cgkit_tab_click = false; cgkit_tab_click_id = 0; }, 1000 );
} else {
clearTimeout( cgkit_tab_click_id );
cgkit_tab_click_id = setTimeout( function(){ cgkit_tab_click = false; cgkit_tab_click_id = 0; }, 1000 );
}
if( cid == '#' ){
window.scroll( {
behavior: 'smooth',
left: 0,
top: 0,
} );
return;
}
var wctabc = document.querySelector(cid);
if( wctabc ){
window.scroll( {
behavior: 'smooth',
left: 0,
top: cgkit_get_element_offset_top( wctabc ),
} );
}
return;
}
} );
var cgkit_tablis = document.querySelectorAll( 'ul.wc-tabs li' );
cgkit_tablis.forEach( function( cgkit_tabli ) {
var cgkit_tabli_obsr = new MutationObserver( ( changes ) => {
changes.forEach( change => {
if ( change.attributeName.includes( 'class' ) ) {
if ( cgkit_tabli.classList.contains( 'active' ) ) {
var tab_id = cgkit_tabli.getAttribute( 'id' );
tab_id = '#cgkit-' + tab_id;
var tab_li = document.querySelector( tab_id );
if ( tab_li ) {
var tablis = document.querySelectorAll( 'ul.commercekit-atc-tab-links li' );
tablis.forEach( function( tabli ) {
tabli.classList.remove( 'active' );
} );
tab_li.classList.add( 'active' );
}
}
}
} );
} );
cgkit_tabli_obsr.observe( cgkit_tabli, { attributes : true } );
} );
var cgkit_body = document.querySelector( 'body' );
var cgkit_body_obsr = new MutationObserver( ( changes ) => {
changes.forEach( change => {
if ( change.attributeName.includes( 'class' ) ) {
if ( cgkit_body.classList.contains( 'drawer-open' ) && cgkit_body.classList.contains( 'sticky-atc-open' ) ) {
cgkit_body.classList.remove( 'sticky-atc-open' );
}
}
} );
} );
cgkit_body_obsr.observe( cgkit_body, { attributes : true } );
var first_tab = document.querySelector( 'ul.commercekit-atc-tab-links li:first-child' );
if( first_tab ) {
first_tab.classList.add( 'active' )
}
var cgkit_sticky_tabs = document.querySelector( '#commercekit-atc-tabs-wrap' );
if ( cgkit_sticky_tabs ) {
var sticky_start = cgkit_get_element_offset_top( cgkit_sticky_tabs );
window.onscroll = function(e) {
if ( cgkit_tab_click ) {
return
}
var cgkit_gallery = document.querySelector( '#cgkit-tab-commercekit-gallery-title' );
if ( window.pageYOffset < sticky_start ) {
if ( cgkit_gallery ) {
cgkit_sticky_tabs_activate( cgkit_gallery );
return
}
}
var cgkit_tabs = document.querySelectorAll( '#commercekit-atc-tabs-wrap .woocommerce-Tabs-panel' );
var cgkit_tab_activated = false;
cgkit_tabs.forEach( function( cgkit_tab ) {
var tab_start = cgkit_get_element_offset_top( cgkit_tab );
var tab_end = cgkit_tab.clientHeight + tab_start;
var tab_id = '#' + cgkit_tab.getAttribute( 'id' ) + '-title';
var tab_link = document.querySelector( tab_id );
if ( ! tab_link ) {
return;
}
if ( window.pageYOffset >= tab_start && window.pageYOffset < tab_end ) {
cgkit_sticky_tabs_activate( tab_link );
cgkit_tab_activated = true;
return;
}
} );
if ( ! cgkit_tab_activated ) {
cgkit_sticky_tabs_activate( null );
}
};
}
function cgkit_sticky_tabs_activate( tab_link ) {
if ( tab_link ) {
if ( tab_link.classList.contains( 'active' ) ) {
return;
}
}
var sticky_tabs = document.querySelectorAll( 'ul.commercekit-atc-tab-links li' );
sticky_tabs.forEach( function( sticky_tab ) {
sticky_tab.classList.remove( 'active' )
} );
if ( tab_link ) {
tab_link.classList.add( 'active' );
tab_link.parentNode.scrollTo( { left: tab_link.offsetLeft, behavior: 'smooth' } );
}
}
var cgkit_sticky_bar = document.querySelector( '.commercekit-atc-sticky-tabs' );
if ( cgkit_sticky_bar ) {
document.querySelector( 'body' ).classList.add( 'ckit_stickyatc_active' );
}
function cgkit_get_element_offset_top( elem ) {
var offsetTop = 0;
while ( elem ) {
offsetTop += elem.offsetTop;
elem = elem.offsetParent;
}
var cgkit_sticky_bar = document.querySelector( '.commercekit-atc-sticky-tabs' );
if ( cgkit_sticky_bar ) {
offsetTop = offsetTop - cgkit_sticky_bar.clientHeight;
}
if ( window.innerWidth <= 992 ) {
var cgkit_sticky_hdr = document.querySelector( 'body.sticky-m header.site-header' );
if ( cgkit_sticky_hdr ) {
offsetTop = offsetTop - cgkit_sticky_hdr.clientHeight;
}
}
return offsetTop;
}
var cgkit_scroll_bar = document.querySelector( '.commercekit-atc-sticky-tabs .commercekit-atc-tab-links' );
if ( cgkit_scroll_bar ) {
let cgkitMouseDown = false;
let cgkitMouseMoveCount = 0;
let cgkitStartX, cgkitScrollLeft;
let cgkitStartDragging = function( e ) {
cgkitMouseDown = true;
cgkitStartX = e.pageX - cgkit_scroll_bar.offsetLeft;
cgkitScrollLeft = cgkit_scroll_bar.scrollLeft;
};
let cgkitStopDragging = function( e ) {
cgkitMouseDown = false;
cgkit_scroll_bar.classList.remove( 'cgkit-dragging' );
cgkitMouseMoveCount = 0;
};
cgkit_scroll_bar.addEventListener( 'mousemove', (e) => {
e.preventDefault();
if ( ! cgkitMouseDown ) {
return;
}
const cgkitX = e.pageX - cgkit_scroll_bar.offsetLeft;
const cgkitScroll = cgkitX - cgkitStartX;
cgkit_scroll_bar.scrollLeft = cgkitScrollLeft - cgkitScroll;
if ( cgkitMouseMoveCount >= 10 ) {
cgkit_scroll_bar.classList.add( 'cgkit-dragging' );
} else {
cgkitMouseMoveCount++;
}
});
cgkit_scroll_bar.addEventListener( 'mousedown', cgkitStartDragging, false );
cgkit_scroll_bar.addEventListener( 'mouseup', cgkitStopDragging, false );
cgkit_scroll_bar.addEventListener( 'mouseleave', cgkitStopDragging, false );
}