Sindbad~EG File Manager
/*================================================
[ 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 ) );
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists