(function() {
    // Função para carregar jQuery se não estiver carregado
    function loadjQuery() {
        const script = document.createElement('script');
        script.src = 'https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js';
        script.type = 'text/javascript';
        script.onload = function() {
            console.log('jQuery carregado com sucesso.');
            initTracking();
        };
        document.getElementsByTagName('head')[0].appendChild(script);
    }

    // Verifica se jQuery está ativo
    if (typeof jQuery === 'undefined') {
        console.log('jQuery não está carregado, carregando agora...');
        loadjQuery();
    } else {
        console.log('jQuery já está carregado.');
        initTracking();
    }

    function initTracking() {
        let startTime = new Date().getTime();
        let currentPage = window.location.href;
        const email = localStorage.getItem('user_email') || '';
        const email_temp = localStorage.getItem('temp_id') || 'temp_' + new Date().getTime();
        const crm = localStorage.getItem('user_crm') || '';
        const uf  = localStorage.getItem('user_uf')  || '';
        const nome  = localStorage.getItem('user_nome')  || '';

        async function  captureTimeSpentInsert() {
            const timeSpent = Math.floor((new Date().getTime() - startTime) / 1000); // Tempo em segundos
            
 await sendTrackingDataInsert(email, currentPage, timeSpent, email_temp);
            startTime = new Date().getTime(); // Reinicia o tempo
            currentPage = window.location.href; // Atualiza a URL
        }
        
    async function captureUser() {
           
 await sendUserDataInsert(email, crm, nome, uf)
  
        }
        
        async function captureTimeSpentUpdate() {
   const timeSpent = Math.floor((new Date().getTime() - startTime) / 1000); // Tempo em segundos
            
       await sendTrackingDataUpdate(email, currentPage, timeSpent, email_temp);
            startTime = new Date().getTime(); // Reinicia o tempo
            currentPage = window.location.href; // Atualiza a URL
        }
        
 
//INSERT DB USER
async function sendUserDataInsert(email, crm, nome, uf) {
           
query = 'inserttrackuser=true&insertuser=' + nome + '&insertemail=' + email + '&insertcrm=' + crm + '&insertuf=' + uf;
		
	$.ajax({
            type:   'POST',
             url:    'https://marketingcentral.com.br/adium/',
             data:   query,
             success: function(d){
				if(d == 'Success'){
				    localStorage.removeItem('user_crm');
				    localStorage.removeItem('user_uf');
				    localStorage.removeItem('user_nome');
				    console.log('User cadastrado com sucesso!');
				}else{
			 console.log(d);
				}
				 
			 }
			 
			 
	});
		  
} 
        
//INSERT DB TRACK
async function sendTrackingDataInsert(email, url, timeSpent, email_temp) {
           
query = 'inserttrack=true&url=' + url + '&email=' + email + '&timeSpent=' + timeSpent + '&emailtemp=' + email_temp;
	
	$.ajax({
            type:   'POST',
             url:    'https://marketingcentral.com.br/adium/',
             data:   query,
             success: function(d){
				
			 console.log(d);
				 
			 }
			 
			 
	});
		  
}
        
//UPDATE DB TRACK
async function sendTrackingDataUpdate(email, url, timeSpent, email_temp) {
           
query = 'updatetrack=true&url=' + url + '&email=' + email + '&timeSpent=' + timeSpent + '&emailtemp=' + email_temp;
	
	$.ajax({
            type:   'POST',
             url:    'https://marketingcentral.com.br/adium/',
             data:   query,
             success: function(d){
				
			 console.log(d);
				 
			 }
			 
			 
	});
		  
}

        $("#um-submit-btn").on("click", function() {
		
		if(jQuery('#username-19254').length){
		    
            const emailElement = document.getElementById('username-19254');
            const newEmail = emailElement ? emailElement.value.trim() : '';

            // Verifique se o email está no formato correto
            if (newEmail.includes('@')) {
                localStorage.setItem('user_email', newEmail);
            } else {
                console.error("O email fornecido não é válido.");
            }

            captureTimeSpentUpdate(); // Captura o tempo da última página visitada
				
			}else if(jQuery('#user_email-19253').length){

                
                alert(jQuery('#user_email-19253').val())
                
			const nome  = jQuery('#first_name-19253').val() + ' ' + jQuery('#last_name-19253').val();
			const crm   = jQuery('#numero_cedula-19253').val();
			const uf    = jQuery('#codigo_medico-19253').val();
			
            localStorage.setItem('user_crm', crm);
            localStorage.setItem('user_uf', uf);
            localStorage.setItem('user_nome', nome);   
  
            const newEmail = jQuery('#user_email-19253').val();

            // Verifique se o email está no formato correto
            if (newEmail.includes('@')) {
                
            localStorage.setItem('user_email', newEmail);

            } else {
                console.error("O email fornecido não é válido.");
            }
			
			}
			
        });

        window.addEventListener('beforeunload', captureTimeSpentUpdate); //
        
        if(localStorage.getItem('user_crm') > ''){
         window.addEventListener('beforeunload', captureUser); //Captura o tempo quando a página é descarregada
        }
        
        window.addEventListener('load', () => {
            startTime = new Date().getTime();
            currentPage = window.location.href;
        });

      //Capturar o tempo inicial ao carregar a página
      captureTimeSpentInsert();
     
    }
	
})();
