Seleccione el perfil de su preferencia para tener más información.
ENA PERFIL EXTENDIDO
FISIOPERFIL
PERFIL DE ALÉRGICO
(SOLO ALERGENOS)
PERFIL ALÉRGICO + INMUNOGLOBULINA (IGE)
PERFIL DE ANEMIA
PERFIL CARDÍACO
PERFIL DE COAGULACIÓN
PERFIL ESTUDIO GENETICO
PERFIL DE HIRSUTISMO
PERFIL HEPÁTICO
PERFIL HORMONAL FEMENINO 1
PERFIL HORMONAL FEMENINO 2
PERFIL LIPÍDICO
PERFIL PRENATAL 1
PERFIL PRENATAL 2
PERFIL PRE- OPERATORIO
PERFIL RENAL
PERFIL REUMATOLÓGICO
PERFIL TIROIDEO 1
PERFIL TIROIDEO 2
PERFIL TORCH (IGG)
PERFIL TORCH (IGM)
PERFIL TORCH COMPLETO
TOXISCREEN (2 PRUEBAS) (COC,MAR)
TOXISCREEN (3 PRUEBAS) (COC,MAR,EXT)
TOXISCREENMULTIPLE (5 PRUEBAS)
TOXISCREENMULTIPLE (10 PRUEBAS)
EDMECON
EDMECON será tu socio estratégico para mejorar la cultura de prevención de la salud mental, capacitaciones, talleres y artículos escritos por médicos especialistas, en nivel básico de entendimiento para las empresas y el público en
general
// --- CÓDIGO JS MODIFICADO PARA USAR PLAYLISTS ---
document.addEventListener('DOMContentLoaded', function( ) {
// --- CONFIGURACIÓN OBLIGATORIA ---
// En la página de cada doctor, debes pegar el ID de SU playlist.
const YOUTUBE_API_KEY = 'AIzaSyClwdDiBYK2v7M7vyvA31XdOsTAFpaGKoY'; // <-- TU API KEY (la misma de antes)
const YOUTUBE_PLAYLIST_ID = 'PLKsQoAvfQXTs92C6ARqkB_AeRKGEElUh7'; // <-- PEGA AQUÍ EL ID DE LA PLAYLIST
// --- Variables del DOM ---
const mainPlayerContainer = document.getElementById('edm-main-player-container');
const videoListContainer = document.getElementById('edm-video-list');
const MAX_RESULTS = 10;
// 1. Función para obtener los videos de UNA playlist específica
async function fetchPlaylistVideos() {
const playlistUrl = `https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&playlistId=${YOUTUBE_PLAYLIST_ID}&maxResults=${MAX_RESULTS}&key=${YOUTUBE_API_KEY}`;
try {
const playlistResponse = await fetch(playlistUrl );
if (!playlistResponse.ok) {
throw new Error(`Error al cargar la lista de videos: ${playlistResponse.statusText}`);
}
const playlistData = await playlistResponse.json();
if (playlistData.items && playlistData.items.length > 0) {
// La API de playlistItems tiene una estructura un poco diferente
const videos = playlistData.items.map(item => item.snippet);
displayVideos(videos);
} else {
videoListContainer.innerHTML = '
No hay videos en esta lista o la lista es privada.
';
}
} catch (error) {
console.error('Error al conectar con la API de YouTube:', error);
videoListContainer.innerHTML = '
Error al cargar los videos. Revisa la API Key, el ID de la Playlist o la consola.
';
}
}
// 2. Función para mostrar los videos (NECESITA UN PEQUEÑO AJUSTE)
function displayVideos(videos) {
videoListContainer.innerHTML = '';
if (videos.length > 0) {
// El videoId ahora está en 'resourceId.videoId'
loadVideoInPlayer(videos[0].resourceId.videoId);
}
videos.forEach((video, index) => {
const videoId = video.resourceId.videoId;
const title = video.title;
const thumbnailUrl = (video.thumbnails.medium) ? video.thumbnails.medium.url : video.thumbnails.default.url;
const videoItem = document.createElement('div');
videoItem.className = 'edm-video-item';
videoItem.innerHTML = `
${title}
`;
if (index === 0) {
videoItem.classList.add('active');
}
videoItem.addEventListener('click', () => {
loadVideoInPlayer(videoId);
document.querySelector('.edm-video-item.active')?.classList.remove('active');
videoItem.classList.add('active');
});
videoListContainer.appendChild(videoItem);
});
}
// 3. Función para cargar el reproductor (sin cambios)
function loadVideoInPlayer(videoId) {
const iframe = `