/
home
/
infinitibizsol
/
ridecashout.com
/
wp-content
/
themes
/
cardealer
/
js
/
frontend
/
File Upload :
llllll
Current File: /home/infinitibizsol/ridecashout.com/wp-content/themes/cardealer/js/frontend/cardealer.js
/*================================================ [ Table of contents ] ================================================ :: window load functions :: Lazyload :: Preloader :: Document ready functions :: Video Popup :: placeholder :: tooltip :: Photoswipe popup gallery for car listing page :: Social share :: NICE SELECT :: iOS Modal Fix :: back-to-top :: Contact Form 7 - Show Hide Fields :: Review Stamp Popup ====================================== [ End table content ] ======================================*/ var native_share_available = false; if ( navigator.canShare ) { native_share_available = true; } ( function( $ ) { "use strict"; // Check element exists. $.fn.exists = function () { return this.length > 0; }; jQuery(window).load(function() { /* --------------------------------------------- Lazyload --------------------------------------------- */ cardealer_lazyload(); /********************* :: Preloader *********************/ if( typeof cardealer_options_js == 'undefined' ) { jQuery("#load").fadeOut(); jQuery('#loading').delay(0).fadeOut('slow'); } }); jQuery(document).ready(function($) { /*************************************** :: Vehicle Buttons ***************************************/ $( document ).on( 'click', '.vehicle-button-link.vehicle-button-link-type-js_event', function (e) { e.preventDefault(e); var eventName = $(this).data('event'); $( document.body ).trigger( eventName, [this] ); }); /**************** :: Video Popup *****************/ cdhl_video(); $( document.body ).on( 'cdhl_video_event', function() { cdhl_video(); }); /************************* :: placeholder *************************/ jQuery('[placeholder]').focus(function() { var input =jQuery(this); if (input.val() == input.attr('placeholder')) { input.val(''); input.removeClass('placeholder'); } }).blur().parents('form').submit(function() { jQuery(this).find('[placeholder]').each(function() { var input =jQuery(this); if (input.val() == input.attr('placeholder')) { input.val(''); } }); }); /************************* :: tooltip *************************/ cd_data_tooltip(); $( document.body ).on( 'cd_data_tooltip_event', function() { cd_data_tooltip(); }); /************************************************* :: Photoswipe popup gallery for car listing page **************************************************/ jQuery( document ).on("click", ".psimages", function() { var pswpElement = document.querySelectorAll('.pswp')[0]; var items = []; var imgsrc; var imgdata; var imgurl; imgsrc = jQuery(this).closest('.pssrcset').find('.psimages').data('image'); imgurl=imgsrc.split(','); for(var i=0;i<imgurl.length;i++){ var item = { src : imgurl[i], w: 1024, h: 683 }; items.push(item); } var options = { history: false, focus: false, showAnimationDuration: 0, hideAnimationDuration: 0 }; var gallery = new PhotoSwipe( pswpElement, PhotoSwipeUI_Default, items, options); gallery.init(); }); /**************** :: Social share *****************/ var filename; $('.cardealer-share .cardealer-share-action .cardealer-share-action-link').tooltip({ template: '<div class="tooltip cardealer-share-action-link-tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>', }); $( document ).on( 'click', '.cardealer-share .cardealer-share-action .cardealer-share-action-link', function(e) { e.preventDefault(); var $share_link = $(this), $share_wrap = $share_link.closest('.cardealer-share'), modal_id = $share_link.attr('data-modal_id'), native_params = $share_link.data('native_params'); var share_image = native_params.image; if ( native_share_available && $share_wrap.hasClass('cardealer-share-native-share-enabled') ) { init_native_share( $share_wrap, native_params ) } else { $('#'+modal_id).modal('show'); } }); function init_native_share( $share_wrap, native_params ) { if ( typeof share_image !== 'undefined' ) { get_native_share_image_blob( share_image ) .then(function(data) { // Run this when your request was successful var file = new File([data], filename, {type: data.type}); var files_array = [file]; native_params.files = files_array; initiate_share_popup( $share_wrap, native_params ); }).catch(function(err) { // Run this when promise was rejected via reject() initiate_share_popup( $share_wrap, native_params ); }) } else { initiate_share_popup( $share_wrap, native_params ); } } function get_native_share_image_blob( share_image ) { return new Promise(function(resolve, reject) { jQuery.ajax({ url:share_image, cache:false, xhr:function(){// Seems like the only way to get access to the xhr object var xhr = new XMLHttpRequest(); xhr.responseType= 'blob' return xhr; }, success: function(data){ if ( typeof share_image == 'undefined' ) { reject(data); } else { filename = share_image.split('/').pop(); } resolve(data); // Resolve promise and go to then() }, error:function(err){ reject(err); // Reject the promise and go to catch() } }); }); } function initiate_share_popup( $share_wrap, native_share_data ) { delete native_share_data.image; var share_data = native_share_data; for (const [key, value] of Object.entries(native_share_data)) { if ( ! navigator.canShare({ [key]: value }) ) { delete native_share_data[key]; } } var all_supported = Object.entries(native_share_data).every(([key, value]) => { var canshare_stat = navigator.canShare({ [key]: value }); if ( ! canshare_stat ) { // delete share_data[key]; native_share_data.shift() } return canshare_stat; }); navigator.share( native_share_data ) .then(function() { }) .catch(function(error) { }); } /*********************** :: NICE SELECT :: For select box design ************************/ if ( jQuery( 'select.cdfs-select2' ).length > 0 ) { $( 'select.cdfs-select2' ).each(function( index, element ) { var el = this, $el = $( this ); $el.select2({ tags: cardealer_js.cdfs_allow_add_attribute, dropdownCssClass: 'cdfs-select2-' + $el.data('name'), }); }); } $(document).on( 'keypress', '.select2-dropdown.cdfs-select2-year .select2-search__field', function () { $(this).val($(this).val().replace(/[^\d].+/, "")); if ( ( event.which < 48 || event.which > 57 ) ) { event.preventDefault(); } }); if ( jQuery( 'select.cd-select-box' ).length > 0 ) { jQuery( '.cd-select-box' ).select2(); } if ( jQuery( '.woocommerce-ordering select.orderby').length > 0 ) { jQuery( '.woocommerce-ordering select.orderby').select2(); } if( jQuery( '.sidebar-widget select:not(.cd-select-box)').length > 0 ) { jQuery( '.sidebar-widget select:not(.cd-select-box)').select2(); } if ( jQuery( '.widget.widget-vehicle-categories:not(.sidebar-widget) select.vehicle-categories-dropdown' ).length > 0 ) { jQuery( '.widget.widget-vehicle-categories:not(.sidebar-widget) select.vehicle-categories-dropdown' ).select2(); } /*********************** :: iOS Modal Fix ************************/ // Detect ios 11_0_x affected // NEED TO BE UPDATED if new versions are affected var ua = navigator.userAgent, iOS = /iPad|iPhone|iPod/.test(ua), iOS11 = /OS 11_0_1|OS 11_0_2|OS 11_0_3/.test(ua); // ios 11 bug caret position if ( iOS && iOS11 ) { // Add CSS class to body jQuery("body").addClass("iosmodalFix"); } /************************* :: back-to-top *************************/ if ( jQuery('.car-top').length > 0 ) { var $scrolltop = jQuery('.car-top'); $( document ).on( 'scroll', function() { if ( jQuery( window ).scrollTop() >= 200 ) { $scrolltop.addClass( 'show' ); $scrolltop.addClass( 'car-down' ); } else { $scrolltop.removeClass( 'show' ); setTimeout( function(){ $scrolltop.removeClass( 'car-down' ); }, 300 ); } }); $scrolltop.on( 'click', function () { jQuery( 'html,body' ).animate({ scrollTop: 0 }, 800 ); jQuery( this ).addClass("car-run"); setTimeout( function(){ $scrolltop.removeClass('car-run'); }, 1000 ); return false; }); } /************************* :: Contact Form 7 - Show Hide Fields *************************/ /* Contact Form 7 - Show Hide Fields - Start */ $( 'form.wpcf7-form' ).each(function () { var $form = jQuery( this ); // only add form is its class is "wpcf7-form" and if the form was not previously added var cdhl_cf7_show_animation_time = 200; var cdhl_cf7_hide_animation_time = 200; var cdhl_cf7_show_animation = { "height": "show", "marginTop": "show", "marginBottom": "show", "paddingTop": "show", "paddingBottom": "show" }; var cdhl_cf7_hide_animation = { "height": "hide", "marginTop": "hide", "marginBottom": "hide", "paddingTop": "hide", "paddingBottom": "hide" }; if ( $form.has('input[name="cardealer_lead_form"]').length > 0 ) { var skip_fields = []; if ( $form.has('input[name="joint_application"]').length > 0 ) { $form.find('.financial-form.financial-form-join-application').find('input,select,textarea').each(function () { skip_fields.push( $(this).attr('name') ); }); if ( ! $form.find('input[name="joint_application"]').is(':checked') ) { $( 'input[name="cdhl_skip_fields"]').val( JSON.stringify( skip_fields ) ); $( '.financial-form.financial-form-join-application' ).hide(); } else { $( 'input[name="cdhl_skip_fields"]').val( JSON.stringify([]) ); $( '.financial-form.financial-form-join-application' ).show(); } $( $form ).on( 'change', 'input[name="joint_application"]', function() { var toggle = $(this).is(':checked'); if ( toggle ) { $( 'input[name="cdhl_skip_fields"]').val( JSON.stringify([]) ); $( '.financial-form.financial-form-join-application' ).animate( cdhl_cf7_show_animation, cdhl_cf7_show_animation_time ); // show with animation } else { $( 'input[name="cdhl_skip_fields"]').val( JSON.stringify( skip_fields ) ); $( '.financial-form.financial-form-join-application' ).animate( cdhl_cf7_hide_animation, cdhl_cf7_hide_animation_time ); // hide } }); } if ( $form.has('input[name="test-drive"]').length > 0 ) { $form.find('.schedule-test-drive-fields').find('input,select,textarea').each(function () { skip_fields.push( $(this).attr('name') ); }); if ( 'No' === $form.find('input[name="test-drive"]:checked').val() ) { $( '.schedule-test-drive-fields' ).hide(); $( 'input[name="cdhl_skip_fields"]').val( JSON.stringify( skip_fields ) ); } else { $( '.schedule-test-drive-fields' ).show(); $( 'input[name="cdhl_skip_fields"]').val( JSON.stringify([]) ); } $( $form ).on( 'change', 'input[name="test-drive"]', function() { var toggle = ( 'Yes' === this.value ); if ( toggle ) { $( 'input[name="cdhl_skip_fields"]').val( JSON.stringify([]) ); $( '.schedule-test-drive-fields' ).animate( cdhl_cf7_show_animation, cdhl_cf7_show_animation_time ); // show with animation } else { $( 'input[name="cdhl_skip_fields"]').val( JSON.stringify( skip_fields ) ); $( '.schedule-test-drive-fields' ).animate( cdhl_cf7_hide_animation, cdhl_cf7_hide_animation_time ); // hide } }); } } }); /* Contact Form 7 - Show Hide Fields - End */ /*************************************** :: Review Stamp Popup ***************************************/ if ( jQuery.isFunction( jQuery.fn.magnificPopup ) && $( '.car-vehicle-review-stamps .vehicle-review-stamp-popup' ).length > 0 ) { $( '.car-vehicle-review-stamps .vehicle-review-stamp-popup' ).magnificPopup({ type:'iframe', mainClass: 'cd-vehicle-review-popup', preloader: true, }); } }); function cardealer_lazyload() { if ( jQuery( '.cardealer-lazy-load' ).length > 0 ) { jQuery( '.cardealer-lazy-load' ).lazyload(); } } // tooltip function cd_data_tooltip() { if( jQuery('[data-toggle="tooltip"]').length > 0 ){ jQuery('[data-toggle="tooltip"]').tooltip(); } } function cdhl_video() { if ( jQuery.isFunction( jQuery.fn.magnificPopup ) ) { jQuery( '.popup-youtube, .popup-vimeo, .popup-gmaps, .popup-video' ).magnificPopup({ disableOn: 300, type: 'iframe', mainClass: 'mfp-fade', removalDelay: 160, preloader: false, fixedContentPos: false }); } } }( jQuery ) );
Copyright ©2k19 -
Hexid
|
Tex7ure