// -------------------------------------------------------------------------------------------
//
// Checks if we need to load the recaptcha script on a page
//
// -------------------------------------------------------------------------------------------

(function($)
{
    "use strict";

	//	Remove not needed messages from forms
	$('form.avia_ajax_form.avia-mailchimp-form').find('.avia-disabled-form').remove();

	if( $( '#avia-google-recaptcha-api-script' ).length > 0 )
	{
		return;
	}

	if( 'undefined' == typeof AviaReCAPTCHA_front || 'undefined' == typeof AviaReCAPTCHA_front.avia_api_script )
	{
		return;
	}

	if( ! $('body').hasClass('av-recaptcha-enabled') )
	{
		return;
	}

	/*	check if reCaptcha are disabled by user setting via cookie - or user must opt in.	*/
	var cookie_check = $('html').hasClass('av-cookies-needs-opt-in') || $('html').hasClass('av-cookies-can-opt-out');
	var allow_continue = true;
	var silent_accept_cookie = $('html').hasClass('av-cookies-user-silent-accept');

	if( cookie_check && ! silent_accept_cookie )
	{
		if( ! document.cookie.match(/aviaCookieConsent/) || $('html').hasClass('av-cookies-session-refused') )
		{
			allow_continue = false;
		}
		else
		{
			if( ! document.cookie.match(/aviaPrivacyRefuseCookiesHideBar/) )
			{
				allow_continue = false;
			}
			else if( ! document.cookie.match(/aviaPrivacyEssentialCookiesEnabled/) )
			{
				allow_continue = false;
			}
			else if( document.cookie.match(/aviaPrivacyGoogleReCaptchaDisabled/) )
			{
				allow_continue = false;
			}
		}
	}

	if( ! allow_continue )
	{
		var forms = $( 'form.avia_ajax_form' ).not( '.avia-mailchimp-form' );
		var recaptchas = forms.find( '.avia-disabled-form' ).closest( 'form.avia_ajax_form' );
		recaptchas.addClass( 'av-form-user-disabled' );
		recaptchas.find( 'input.button' ).remove();

		return;
	}

	var version = AviaReCAPTCHA_front.version;
	var recaptcha_areas = $('div.av-recaptcha-area');

	if( recaptcha_areas.length == 0 && version != 'avia_recaptcha_v3' )
	{
		return;
	}

	var	script = document.createElement('script');
		script.id	= 'avia-google-recaptcha-api-script';
		script.type = 'text/javascript';
		script.src 	= AviaReCAPTCHA_front.avia_api_script;

	document.body.appendChild( script );


})( jQuery );

