// source --> https://www.backfitpro.com/wp-content/plugins/if-so-geolocation/assets/js/if-so-geolocation-public.js?ver=6.9.4 

(function( $ ) {
    $(document).ready(function () {
        checkForLocationRequests();
        document.addEventListener('ifso_ajax_content_loaded',checkForLocationRequests);
    })

    function checkForLocationRequests(){
        if(typeof(ifso_scope.getCookie)==='undefined') return;
        var getLocationTags = $('IfsoGetBrowserLocation');
        if(getLocationTags.length>0){
            for(tag of getLocationTags){
                if(tag.getAttribute('ignore_cache')==='true' || (!hasAnyOverrideData()) ){
                    getBrowserGeolocation();
                    return;
                }
            }
        }
        if(ifso_scope.getCookie(requestBrowserLocCookieName)!==null && !hasAnyOverrideData()){
            getBrowserGeolocation();
            ifso_scope.createCookie(requestBrowserLocCookieName,'',-1);
            return;
        }

    }

    function getBrowserGeolocation() {
        if (navigator.geolocation) {
            navigator.geolocation.getCurrentPosition(rememberPosition);
        }
    }

    function hasAnyOverrideData(){
        return (hasGeoOverrideData(geoOverrideCookieName) || hasGeoOverrideData(browserLocationCookieName));
    }

    function hasGeoOverrideData(cname){
        if(ifso_scope.getCookie(cname)){
            try{
                var geoOverrideObj = JSON.parse(ifso_scope.getCookie(cname));
                //if(typeof(geoOverrideObj.lat)!=='undefined' && typeof(geoOverrideObj.lat)!=='undefined')
                return true;
            }
            catch {
                return false;
            }
        }
        return false;
    }

    function rememberPosition(position) {
        var coordsString = position.coords.latitude + ',' + position.coords.longitude;
        var geoObject = {lat:position.coords.latitude,long:position.coords.longitude};
        ifso_scope.createCookie(browserLocationCookieName,JSON.stringify(geoObject),0);
        window.location.reload();
    }
})(jQuery);
// source --> https://www.backfitpro.com/wp-content/plugins/js_composer/assets/js/vendors/woocommerce-add-to-cart.js?ver=8.7.2 
( function ( $ ) {
	'use strict';

	$( document ).ready( function () {
		$( 'body' ).on( 'adding_to_cart', function ( event, $button ) {
			if ( $button && $button.hasClass( 'vc_gitem-link' ) ) {
				$button
					.addClass( 'vc-gitem-add-to-cart-loading-btn' )
					.parents( '.vc_grid-item-mini' )
					.addClass( 'vc-woocommerce-add-to-cart-loading' )
					.append( $( '<div class="vc_wc-load-add-to-loader-wrapper"><div class="vc_wc-load-add-to-loader"></div></div>' ) );
			}
		}).on( 'added_to_cart', function ( event, fragments, cart_hash, $button ) {
			if ( 'undefined' === typeof ( $button ) ) {
				$button = $( '.vc-gitem-add-to-cart-loading-btn' );
			}
			if ( $button && $button.hasClass( 'vc_gitem-link' ) ) {
				$button
					.removeClass( 'vc-gitem-add-to-cart-loading-btn' )
					.parents( '.vc_grid-item-mini' )
					.removeClass( 'vc-woocommerce-add-to-cart-loading' )
					.find( '.vc_wc-load-add-to-loader-wrapper' ).remove();
			}
		});
	});
})( window.jQuery );