MediaWiki:Common.js
De DerechoPedia
Nota: Después de publicar, quizás necesite actualizar la caché de su navegador para ver los cambios.
- Firefox/Safari: Mantenga presionada la tecla Shift mientras pulsa el botón Actualizar, o presiona Ctrl+F5 o Ctrl+R (⌘+R en Mac)
- Google Chrome: presione Ctrl+Shift+R (⌘+Shift+R en Mac)
- Internet Explorer/Edge: mantenga presionada Ctrl mientras pulsa Actualizar, o presione Ctrl+F5
- Opera: Presiona Ctrl+F5.
/* === DERECHOPEDIA SKIN REDESIGN JS 2025 v3.2 === */
$(function () {
var pageName = mw.config.get('wgPageName');
var isMain = (pageName === 'Página_principal');
/* ── 1. Top navigation bar ── */
var topnav = document.createElement('div');
topnav.id = 'dp-topnav';
topnav.innerHTML =
'<div class="dp-mainbar">' +
'<a class="dp-logo-block" href="/">' +
'<img class="dp-logo-img" src="https://www.derechopedia.cl/resources/assets/logoDerechoPedia_small_2.png" alt="DerechoPedia" style="background:#fff;border-radius:5px;padding:3px 6px;">' +
'<div><span class="dp-logo-sitename">DerechoPedia</span><span class="dp-logo-sub">Enciclopedia jurídica</span></div>' +
'</a>' +
'<div class="dp-nav-zone">' +
'<ul class="dp-nav-links">' +
'<li' + (isMain ? ' class="dp-active"' : '') + '><a href="/">Portada</a></li>' +
'<li><a href="/Código_del_Trabajo">Normas</a></li>' +
'<li><a href="/#dp-guias-portada">Guías para trabajadores</a></li>' +
'<li><a href="/Correos_para_oficios">Correos para oficios</a></li>' +
'<li><a href="https://kopaitic.cl/contador-plazos-laborales/" target="_blank">Contador de Plazos</a></li>' +
'<li><a href="https://kopaitic.cl/calculadora-de-finiquito/" target="_blank">Calculadora de Finiquito</a></li>' +
'</ul>' +
'<a class="dp-cta-btn" href="https://wa.me/56974717602" target="_blank">' +
'<span class="dp-cta-dot"></span>Consultar abogado' +
'</a>' +
'<button class="dp-hamburger" id="dp-hamburger" aria-label="Abrir menú">☰</button>' +
'</div>' +
'</div>' +
'<div class="dp-mobile-menu" id="dp-mobile-menu">' +
'<ul class="dp-mobile-nav">' +
'<li><a href="/">Portada</a></li>' +
'<li><a href="/Código_del_Trabajo">Normas</a></li>' +
'<li><a href="/#dp-guias-portada">Guías para trabajadores</a></li>' +
'<li><a href="/Correos_para_oficios">Correos para oficios</a></li>' +
'<li><a href="https://kopaitic.cl/contador-plazos-laborales/" target="_blank">Contador de Plazos</a></li>' +
'<li><a href="https://kopaitic.cl/calculadora-de-finiquito/" target="_blank">Calculadora de Finiquito</a></li>' +
'</ul>' +
'<div class="dp-mobile-search-wrap">' +
'<input type="text" class="dp-mobile-search-input" id="dp-mobile-search-input" placeholder="Buscar en DerechoPedia...">' +
'<button class="dp-mobile-search-btn" id="dp-mobile-search-btn">🔍</button>' +
'</div>' +
'<div class="dp-mobile-cta-wrap">' +
'<a class="dp-mobile-cta" href="https://wa.me/56974717602" target="_blank">💬 Consultar abogado</a>' +
'</div>' +
'</div>';
document.body.insertBefore(topnav, document.body.firstChild);
/* Buscador debajo del topnav */
var sb = document.createElement('div');
sb.id = 'dp-search-bar';
sb.style.cssText = 'background:#1c2e4a;padding:10px 24px;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 2px 4px rgba(0,0,0,0.15);';
sb.innerHTML = '<input type="text" id="dp-search-input" placeholder="Buscar en DerechoPedia..." ' +
'style="width:100%;max-width:620px;padding:9px 18px;border:none;border-radius:20px;font-size:14px;outline:none;">' +
'<button id="dp-search-btn" style="background:#c8992a;color:#fff;border:none;padding:9px 22px;' +
'border-radius:20px;font-size:14px;font-weight:600;cursor:pointer;">Buscar</button>';
document.body.insertBefore(sb, topnav.nextSibling);
document.getElementById('dp-search-btn').addEventListener('click', function() {
var q = document.getElementById('dp-search-input').value.trim();
if (q) window.location.href = '/index.php?search=' + encodeURIComponent(q);
});
document.getElementById('dp-search-input').addEventListener('keydown', function(e) {
if (e.key === 'Enter' && this.value.trim())
window.location.href = '/index.php?search=' + encodeURIComponent(this.value.trim());
});
/* Login link en topnav */
(function() {
var lw = document.createElement('div');
lw.style.cssText = 'margin-left:8px;flex-shrink:0;';
if (!mw.config.get('wgUserName')) {
lw.innerHTML = '<a href="/index.php?title=Special:UserLogin" style="color:#fff;font-size:13px;' +
'font-weight:500;text-decoration:none;opacity:0.85;white-space:nowrap;' +
'border:1px solid rgba(255,255,255,0.4);padding:5px 12px;border-radius:4px;">Iniciar sesión</a>';
} else {
lw.innerHTML = '<a href="/index.php?title=Special:UserLogout" style="color:#fff;font-size:13px;' +
'font-weight:500;text-decoration:none;opacity:0.85;white-space:nowrap;">👤 ' +
mw.config.get('wgUserName') + '</a>';
}
var ctaBtn = topnav.querySelector('.dp-cta-btn');
if (ctaBtn) ctaBtn.parentNode.insertBefore(lw, ctaBtn);
})();
/* Toggle hamburger */
document.getElementById('dp-hamburger').addEventListener('click', function () {
var menu = document.getElementById('dp-mobile-menu');
var isOpen = menu.classList.toggle('dp-menu-open');
this.innerHTML = isOpen ? '✕' : '☰';
this.setAttribute('aria-label', isOpen ? 'Cerrar menú' : 'Abrir menú');
});
/* Buscar desde menu mobile */
function dpMobileSearch() {
var q = document.getElementById('dp-mobile-search-input').value.trim();
if (q) window.location.href = '/index.php?search=' + encodeURIComponent(q);
}
document.getElementById('dp-mobile-search-btn').addEventListener('click', dpMobileSearch);
document.getElementById('dp-mobile-search-input').addEventListener('keypress', function (e) {
if (e.key === 'Enter') dpMobileSearch();
});
/* ── 2. Kopaitic firma block ── */
var firma = document.createElement('div');
firma.id = 'dp-firma';
firma.innerHTML =
'<div class="dp-firma-head">' +
'<img class="dp-firma-logo" src="https://www.derechopedia.cl/resources/assets/logoDerechoPedia_small_2.png" alt="Kopaitic y Asociados">' +
'<div class="dp-firma-name">Kopaitic & Asociados<small>Abogados laboralistas · Viña del Mar</small></div>' +
'</div>' +
'<div class="dp-firma-lawyers">' +
'<a class="dp-sb-lawyer" href="https://kopaitic.cl/emiliokopaitic-2/" target="_blank">' +
'<img src="https://www.derechopedia.cl/images/thumb/0/06/Emilio_Kopaitic_Abogado_Laboral.jpg/200px-Emilio_Kopaitic_Abogado_Laboral.jpg" alt="Emilio Kopaitic">' +
'<div><span class="dp-sb-lawyer-name">Emilio K.</span><span class="dp-sb-lawyer-role">Socio</span></div>' +
'</a>' +
'<a class="dp-sb-lawyer" href="https://kopaitic.cl/franciscacontardo-2/" target="_blank">' +
'<img src="https://www.derechopedia.cl/images/thumb/2/2c/Francisca_Contardo_Derechopedia.jpg.JPG/200px-Francisca_Contardo_Derechopedia.jpg.JPG" alt="Francisca Contardo">' +
'<div><span class="dp-sb-lawyer-name">Francisca C.</span><span class="dp-sb-lawyer-role">Abogada</span></div>' +
'</a>' +
'</div>' +
'<a class="dp-firma-wa" href="https://wa.me/56974717602" target="_blank">💬 Hablar con un abogado</a>';
var colOne = document.getElementById('column-one');
colOne.insertBefore(firma, colOne.firstChild);
/* ── 3. Urgente card ── */
var urgente = document.createElement('a');
urgente.id = 'dp-urgente';
urgente.href = '/%C2%BFQu%C3%A9_hacer_en_caso_de_despido%3F';
urgente.innerHTML =
'<span class="dp-urg-label">¿Tienes dudas?</span>' +
'<span class="dp-urg-title">¿Te despidieron o quieres renunciar?</span>' +
'<span class="dp-urg-desc">Lee la guía antes de firmar cualquier documento.</span>' +
'<span class="dp-urg-link">Leer guía completa →</span>';
colOne.insertBefore(urgente, firma.nextSibling);
/* ── 4. Tarjetas de herramientas + divisor ── */
var tbPortlet = document.getElementById('p-tb');
if (tbPortlet) {
var hr1 = document.createElement('hr');
hr1.className = 'dp-sb-hr';
tbPortlet.parentNode.insertBefore(hr1, tbPortlet);
var toolsLabel = document.createElement('div');
toolsLabel.className = 'dp-sb-tools-label dp-solo-visitantes';
toolsLabel.textContent = 'Herramientas';
tbPortlet.parentNode.insertBefore(toolsLabel, tbPortlet);
var herramientas = [
['📅', 'Contador de Plazos Laborales', 'Calcula fechas límite. Herramienta gratuita.', 'https://kopaitic.cl/contador-plazos-laborales/', true],
['🧮', 'Calculadora de Finiquito', 'Estima indemnizaciones y montos del finiquito.', 'https://kopaitic.cl/calculadora-de-finiquito/', true],
['✉️', 'Correos para oficios', 'Correos institucionales para oficiar.', '/Correos_para_oficios', false],
['⚖️', 'Directorio de Receptores Judiciales', 'Receptores judiciales por tribunal.', '/Directorio_de_Receptores_Judiciales', false]
];
herramientas.forEach(function (h) {
var card = document.createElement('a');
card.className = 'dp-sb-tool';
card.href = h[3];
if (h[4]) { card.target = '_blank'; }
card.innerHTML =
'<span class="dp-sb-tool-icon">' + h[0] + '</span>' +
'<span class="dp-sb-tool-name">' + h[1] + '</span>' +
'<span class="dp-sb-tool-desc">' + h[2] + '</span>';
tbPortlet.parentNode.insertBefore(card, tbPortlet);
});
}
/* ── 5. Divisores ── */
var navPortlet = document.getElementById('p-navigation');
if (navPortlet) {
var hr2 = document.createElement('hr');
hr2.className = 'dp-sb-hr dp-solo-usuarios';
navPortlet.parentNode.insertBefore(hr2, navPortlet);
}
var normasPortlet = document.getElementById('p-Normas');
if (normasPortlet) {
var hr3 = document.createElement('hr');
hr3.className = 'dp-sb-hr dp-solo-usuarios';
normasPortlet.parentNode.insertBefore(hr3, normasPortlet);
}
/* ── 6. Iconos en h3 ── */
var icons = {
'p-Principales': '🏠',
'p-Secciones': '📂',
'p-Normas': '📋',
'p-navigation': '🔗',
'p-tb': '🔧'
};
Object.keys(icons).forEach(function (id) {
var el = document.getElementById(id);
if (el) {
var h3 = el.querySelector('h3');
if (h3) h3.innerHTML = '<span style="opacity:.65;font-size:10px;margin-right:4px;">' + icons[id] + '</span>' + h3.textContent.trim();
}
});
});
/* === PORTADA: GRILLA DE GUÍAS LABORALES === */
(function() {
var target = document.getElementById('dp-guias-portada');
if (!target) return;
var CH = 'background:#f0f4fa; padding:11px 18px; border-bottom:1px solid #e8edf3;';
var CT = 'font-size:14px; font-weight:700; color:#2d3c6b;';
var CARD = 'background:#fff; border:1px solid #e8edf3; border-radius:8px; margin-bottom:16px; overflow:hidden;';
target.innerHTML = [
'<div style="' + CARD + '">',
'<div style="' + CH + '"><div style="' + CT + '">Guías para trabajadores</div></div>',
'<div class="dp-capture-grid">',
dpItem('🚫','¿Qué hacer si me despidieron?','Pasos inmediatos para proteger tus derechos laborales.','/%C2%BFQu%C3%A9_hacer_en_caso_de_despido%3F'),
dpItem('🔄','Autodespido (despido indirecto)','Cuándo puedes renunciar y cobrar indemnización igual.','/Autodespido'),
dpItem('🤱','Fuero maternal','Protección desde el embarazo hasta un año post-natal.','/Fuero_maternal'),
dpItem('😤','Acoso laboral','Qué conductas constituyen acoso y cómo demandarlo.','/Acoso_laboral'),
dpItem('⏰','Horas extraordinarias no pagadas','Cómo cobrar las horas extra adeudadas con recargo legal.','/Horas_extraodinarias_en_Chile'),
dpItem('⚖️','Tutela laboral','Cuando el empleador vulnera tus derechos fundamentales.','/Tutela_laboral_e_indemnizaci%C3%B3n_por_da%C3%B1o_moral'),
dpItem('📋','Nulidad del despido (Ley Bustos)','Si te despidieron con cotizaciones adeudadas, el contrato sigue vigente.','/Nulidad_del_Despido'),
dpItem('💰','Indemnización por años de servicio','Cómo se calcula y cuánto te corresponde cobrar.','/Indemnizaci%C3%B3n_por_a%C3%B1os_de_servicios'),
dpItem('📄','Finiquito: qué revisar antes de firmar','Los errores más comunes y qué prestaciones te corresponden.','/Finiquito'),
dpItem('🏭','Despido por necesidades de la empresa','¿Es justificado? ¿Qué debe pagar el empleador?','/Despido_por_necesidades_de_la_empresa'),
'</div></div>',
'<div style="' + CARD + '">',
'<div style="' + CH + '"><div style="' + CT + '">Situaciones frecuentes</div></div>',
'<div class="dp-sit-grid">',
dpSit('🧾','Contratos a honorarios y relación laboral','/Contratos_a_honorarios'),
dpSit('🔕','Fuero Laboral: tipos y protección','/Fuero_Laboral'),
dpSit('✂️','Ley de las 40 horas','/Ley_de_las_40_horas'),
dpSit('🚑','Accidentes del trabajo y enfermedades profesionales','/Accidentes_del_Trabajo_y_Enfermedades_Profesionales'),
dpSit('🏠','Teletrabajo: obligaciones del empleador','/Teletrabajo'),
dpSit('📅','Feriado proporcional al término del contrato','/%C2%BFQu%C3%A9_pasos_deben_seguirse_para_calcular_el_pago_del_feriado_proporcional_al_t%C3%A9rmino_del_contrato_de_un_trabajador%3F'),
dpSit('👴','Desahucio y jubilación forzada','/Desahucio'),
dpSit('📊','Gratificación en feriado proporcional','/%C2%BFCorresponde_incluir_la_gratificaci%C3%B3n_mensual_en_el_c%C3%A1lculo_del_feriado_proporcional%3F'),
dpSit('👶','Extensión del postnatal parental (Ley 21.474)','/Extensi%C3%B3n_Excepcional_del_Permiso_Postnatal_Parental_(Ley_N%C2%B0_21.474)'),
dpSit('🏥','Despido durante licencia médica','/Despido_con_licencia_m%C3%A9dica'),
'</div></div>'
].join('');
function dpItem(ico, name, desc, href) {
return '<a class="dp-capture-item" href="' + href + '">'
+ '<span class="dp-cap-ico">' + ico + '</span>'
+ '<span class="dp-cap-name">' + name + '</span>'
+ '<span class="dp-cap-desc">' + desc + '</span>'
+ '<span class="dp-cap-arrow">Leer guía →</span>'
+ '</a>';
}
function dpSit(ico, txt, href) {
return '<a class="dp-sit-item" href="' + href + '">'
+ '<span class="dp-sit-ico">' + ico + '</span>'
+ '<span class="dp-sit-txt">' + txt + '</span>'
+ '<span class="dp-sit-arr">›</span>'
+ '</a>';
}
})();
/* === FIX: EDIT TABS VISIBILITY === */
(function() {
var pc = document.getElementById('p-cactions');
var ct = document.getElementById('content');
if (!pc || !ct) return;
// Move p-cactions out of the overflow-hidden sidebar into the visible content area
var sn = document.getElementById('siteNotice');
if (sn && sn.parentNode === ct) {
ct.insertBefore(pc, sn.nextSibling);
} else {
ct.insertBefore(pc, ct.firstChild);
}
// Style as a visible horizontal tab bar
pc.style.cssText = 'display:flex;align-items:center;gap:4px;padding:6px 10px;background:#f8f9fa;border:1px solid #ddd;border-radius:4px;margin:4px 0 8px 0;box-sizing:border-box;';
var ul = pc.querySelector('ul');
if (ul) { ul.style.cssText = 'display:flex;gap:6px;list-style:none;margin:0;padding:0;flex-wrap:wrap;'; }
var lis = pc.querySelectorAll('li');
lis.forEach(function(li) {
li.style.cssText = 'margin:0;padding:0;';
var a = li.querySelector('a');
if (a) { a.style.cssText = 'display:inline-block;padding:5px 12px;background:#fff;border:1px solid #c8ccd1;border-radius:4px;color:#1c2e4a;font-size:13px;font-weight:600;text-decoration:none;white-space:nowrap;'; }
});
var h3 = pc.querySelector('h3');
if (h3) { h3.style.display = 'none'; }
})();
/* === BANNER SUPERIOR: QUIÉNES ESTÁN DETRÁS DE DERECHOPEDIA === */
(function() {
var banner = document.getElementById('dp-tools-banner');
if (!banner) return;
if (!document.getElementById('dp-quienes-css')) {
var css = '' +
'.dp-q-wrap{padding:10px 24px 12px;max-width:1000px;margin:0 auto;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;}' +
'.dp-q-box{display:flex;align-items:center;gap:18px;text-align:left;background:#fff;border:1px solid #dfe2ec;border-top:3px solid #2e3563;border-radius:6px;padding:12px 18px;}' +
'.dp-q-logos{display:flex;align-items:center;gap:12px;flex:0 0 auto;}' +
'.dp-q-logos img{display:block !important;height:64px !important;width:auto !important;max-width:none !important;margin:0 !important;}' +
'.dp-q-logos img.dp-q-kya{height:44px !important;}' +
'.dp-q-sep{width:1px;height:48px;background:#dfe2ec;}' +
'.dp-q-txt{flex:1 1 300px;font-size:13px;line-height:1.5;color:#3a4150;min-width:0;border-left:1px solid #dfe2ec;padding-left:18px;}' +
'.dp-q-txt b{color:#1b2340;}' +
'.dp-q-txt a{color:#2e3563 !important;font-weight:600;}' +
'.dp-q-btns{display:flex;gap:8px;flex:0 0 auto;}' +
'.dp-q-btn,.dp-q-btn:link,.dp-q-btn:visited{font-size:12.5px;font-weight:700;padding:8px 14px;border-radius:20px;text-decoration:none !important;white-space:nowrap;}' +
'.dp-q-btn.dp-q-uno{background:#fff;color:#2e3563 !important;border:1px solid #2e3563;}' +
'.dp-q-btn.dp-q-dos{background:#2e3563;color:#fff !important;border:1px solid #2e3563;}' +
'.dp-q-btn:hover{opacity:.9;}' +
'@media (max-width:760px){.dp-q-wrap{padding:8px 12px 10px;}.dp-q-box{flex-wrap:wrap;gap:10px 12px;padding:10px 12px;}.dp-q-logos{width:100%;justify-content:center;}.dp-q-txt{border-left:0;padding-left:0;text-align:center;}.dp-q-extra{display:none;}.dp-q-btns{width:100%;}.dp-q-btn{flex:1;text-align:center;}}';
var st = document.createElement('style');
st.id = 'dp-quienes-css';
st.appendChild(document.createTextNode(css));
document.head.appendChild(st);
}
var pagina = (window.mw && mw.config.get('wgTitle')) || '';
var estudio = 'https://kopaitic.cl/?utm_source=derechopedia&utm_medium=banner&utm_campaign=quienes_somos';
var whatsapp = 'https://wa.me/56974717602?text=' + encodeURIComponent('Hola, vengo de Derechopedia (página: ' + pagina + '). Necesito orientación laboral.');
banner.innerHTML = '<div class="dp-q-wrap"><div class="dp-q-box">' +
'<div class="dp-q-logos">' +
'<img src="https://kopaitic.cl/wp-content/uploads/2025/09/logo-derechopedia.png" alt="Derechopedia" style="height:48px !important;width:164px !important;max-width:none !important;object-fit:cover;object-position:center;">' +
'<span class="dp-q-sep"></span>' +
'<a href="' + estudio + '" target="_blank" rel="noopener"><img class="dp-q-kya" src="https://www.derechopedia.cl/images/0/0a/Kopaitic-asociados.png" alt="Kopaitic & Asociados" style="height:44px !important;width:auto !important;max-width:none !important;"></a>' +
'</div>' +
'<div class="dp-q-txt"><b>Detrás de cada artículo de Derechopedia.cl está la experiencia de Kopaitic & Asociados.</b> ' +
'<span class="dp-q-extra">Creamos la primera y única enciclopedia legal gratuita de Chile porque creemos en la justicia transparente. </span>' +
'Confía en Derechopedia y confía en Kopaitic & Asociados.</div>' +
'<div class="dp-q-btns">' +
'<a class="dp-q-btn dp-q-dos" href="' + whatsapp + '" target="_blank" rel="noopener" style="white-space:normal;max-width:240px;text-align:center;line-height:1.35;">💬 Hablar con un Abogado Laboral de Kopaitic & Asociados por WhatsApp</a>' +
'</div>' +
'</div></div>';
})();
/* === LINK INICIAR SESION EN TOPNAV === */
(function() {
var userName = mw.config.get('wgUserName');
var nav = document.getElementById('dp-topnav');
if (!nav) return;
var loginWrap = document.createElement('div');
loginWrap.style.cssText = 'margin-left:8px;flex-shrink:0;';
if (!userName) {
loginWrap.innerHTML = '<a href="/index.php?title=Special:UserLogin" style="color:#fff;font-size:13px;font-weight:500;text-decoration:none;opacity:0.85;white-space:nowrap;border:1px solid rgba(255,255,255,0.4);padding:5px 12px;border-radius:4px;">Iniciar sesión</a>';
} else {
loginWrap.innerHTML = '<a href="/index.php?title=Special:UserLogout" style="color:#fff;font-size:13px;font-weight:500;text-decoration:none;opacity:0.85;white-space:nowrap;">👤 ' + userName + '</a>';
}
var ctaBtn = nav.querySelector('.dp-cta-btn');
if (ctaBtn) {
ctaBtn.parentNode.insertBefore(loginWrap, ctaBtn);
} else {
nav.appendChild(loginWrap);
}
})();
/* === FIX JS: TITULO NO TAPADO POR TABS === */
(function() {
var s = document.createElement('style');
s.id = 'dp-fix-heading-overlap';
s.innerHTML = '#firstHeading{margin-top:44px !important; clear:both !important; position:relative !important;} .mw-indicators{clear:both !important;}';
document.head.appendChild(s);
})();
/* === BOTÓN FLOTANTE DE WHATSAPP (todas las páginas) === */
( function () {
var accion = mw.config.get( 'wgAction' );
if ( accion === 'edit' || accion === 'submit' ) { return; }
var pagina = mw.config.get( 'wgTitle' );
var msg = 'Hola, vengo de Derechopedia (página: ' + pagina + '). Necesito orientación laboral.';
$( function () {
if ( document.querySelector( '.dp-wa-flotante' ) ) { return; }
var $btn = $( '<a class="dp-wa-flotante" target="_blank" rel="noopener"></a>' )
.attr( 'href', 'https://wa.me/56974717602?text=' + encodeURIComponent( msg ) )
.attr( 'aria-label', 'Escribir por WhatsApp' )
.attr( 'title', 'Escribir por WhatsApp' )
.append( $( '<img alt="">' ).attr( 'src', '/kya.cl/wa.png' ) );
$( 'body' ).append( $btn );
$( document ).on( 'click', 'a[href*="wa.me/"], a[href^="tel:"], a[href^="mailto:"]', function () {
if ( typeof window.gtag !== 'function' ) { return; }
var href = this.getAttribute( 'href' );
var tipo = href.indexOf( 'wa.me' ) !== -1 ? 'whatsapp' : ( href.indexOf( 'tel:' ) === 0 ? 'telefono' : 'email' );
window.gtag( 'event', 'contacto_' + tipo, {
pagina: pagina,
ubicacion: $( this ).hasClass( 'dp-wa-flotante' ) ? 'boton_flotante' : 'contenido'
} );
} );
} );
}() );
/* === FORMULARIO DE CONTACTO: integrado en «Asesoría legal» y envío real === */
$( function () {
var form = document.getElementById( 'contacto' );
if ( !form ) { return; }
var pagina = mw.config.get( 'wgTitle' );
var card = form.closest( '.contact-card' );
var wrap = form.closest( '.contact-wrap' );
var thanks = document.getElementById( 'thanks' );
var origen = form.querySelector( 'input[name="origen"]' );
if ( origen ) { origen.value = 'Derechopedia: ' + pagina; }
function rotulo( nombre, texto, ejemplo ) {
var campo = form.querySelector( '[name="' + nombre + '"]' );
if ( !campo ) { return; }
var etiqueta = campo.parentNode.querySelector( 'label' );
if ( etiqueta ) { etiqueta.textContent = texto; }
if ( ejemplo ) { campo.setAttribute( 'placeholder', ejemplo ); }
}
rotulo( 'txtName', 'Nombre' );
rotulo( 'txtEmail', 'Correo', 'nombre@correo.cl' );
rotulo( 'txtPhone', 'Celular', '+569XXXXXXXX' );
rotulo( 'txtMsg', 'Consulta', 'Cuéntenos brevemente su situación' );
var privacidad = form.querySelector( '.privacy' );
if ( privacidad ) { privacidad.textContent = 'Sus datos se usan solo para responder su consulta.'; }
var acciones = form.querySelector( '.actions' );
if ( acciones && !acciones.querySelector( '.dp-alt' ) ) {
var alt = document.createElement( 'span' );
alt.className = 'dp-alt';
alt.innerHTML = '<span class="dp-o">o</span>' +
'<a class="dp-wa-pill" target="_blank" rel="noopener" href="https://wa.me/56974717602?text=' +
encodeURIComponent( 'Hola, vengo de Derechopedia (página: ' + pagina + '). Necesito orientación laboral.' ) +
'">WhatsApp +56 9 7471 7602</a>' +
'<a class="dp-mail" href="mailto:ekopaitic@kya.cl">ekopaitic@kya.cl</a>';
acciones.insertBefore( alt, privacidad );
}
var hueco = document.getElementById( 'dp-form-slot' );
if ( hueco ) {
hueco.appendChild( form );
if ( thanks ) { hueco.appendChild( thanks ); }
var caja = hueco.closest( '.dp-asesoria' );
if ( caja ) { caja.classList.add( 'dp-con-form' ); }
if ( wrap ) { wrap.style.display = 'none'; }
} else if ( card ) {
card.classList.add( 'dp-form-suelto' );
var titulo = card.querySelector( 'h2' );
if ( titulo ) { titulo.textContent = '¿Necesita orientación laboral?'; }
var bajada = card.querySelector( '.sub' );
if ( bajada ) { bajada.textContent = 'Escríbanos y un abogado responderá su consulta.'; }
}
document.addEventListener( 'submit', function ( e ) {
if ( e.target !== form ) { return; }
e.preventDefault();
e.stopPropagation();
var boton = document.getElementById( 'btnEnviar' );
var aviso = document.getElementById( 'dp-form-error' );
if ( !aviso ) {
aviso = document.createElement( 'div' );
aviso.id = 'dp-form-error';
aviso.className = 'dp-form-error';
form.appendChild( aviso );
}
aviso.style.display = 'none';
if ( boton ) { boton.disabled = true; boton.textContent = 'Enviando...'; }
fetch( form.getAttribute( 'action' ), { method: 'POST', body: new FormData( form ), credentials: 'same-origin' } )
.then( function ( r ) {
return r.json().catch( function () { return { ok: false }; } ).then( function ( d ) {
if ( !r.ok || !d.ok ) { throw new Error( d.mensaje || 'error' ); }
} );
} )
.then( function () {
form.style.display = 'none';
if ( thanks ) { thanks.style.display = 'block'; }
if ( typeof window.gtag === 'function' ) { window.gtag( 'event', 'contacto_formulario', { pagina: pagina } ); }
} )
.catch( function () {
if ( boton ) { boton.disabled = false; boton.textContent = 'Enviar consulta'; }
aviso.innerHTML = 'No pudimos enviar su consulta. Por favor, escríbanos por <a href="https://wa.me/56974717602" target="_blank" rel="noopener">WhatsApp</a> o a <a href="mailto:ekopaitic@kya.cl">ekopaitic@kya.cl</a>.';
aviso.style.display = 'block';
} );
}, true );
} );
