// Se incicializa el men� de forma programada.
var menu;
var checkExist = setInterval(function() {
if (document.getElementById('cbp-tm-menu') != undefined) {
console.log("Exists!");
menu = new cbpTooltipMenu(document.getElementById('cbp-tm-menu'));
clearInterval(checkExist);
}
}, 100);
setTimeout(function(){ clearInterval(checkExist); }, 1000);
// M�todo que inicializa el traductor de google.
function googleTranslateElementInit() {
new google.translate.TranslateElement(
{
pageLanguage : 'es',
layout : google.translate.TranslateElement.InlineLayout.SIMPLE,
autoDisplay : false
}, 'google_translate_element');
}
// Se incorpora el script del traductor de google.
$(function () {
var googleTranslateScript = document.createElement('script');
googleTranslateScript.type = 'text/javascript';
googleTranslateScript.async = true;
googleTranslateScript.src = 'https://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit';
( document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0] ).appendChild(googleTranslateScript);
});
$(function () {
// Remove Search if user Resets Form or hits Escape!
$('body, .navbar-collapse form[role="search"] button[type="reset"]').on('click keyup', function(event) {
console.log(event.currentTarget);
if (event.which == 27 && $('.navbar-collapse form[role="search"]').hasClass('active') ||
$(event.currentTarget).attr('type') == 'reset') {
closeSearch();
}
});
function closeSearch() {
var $form = $('.navbar-collapse form[role="search"].active')
$form.find('input').val('');
$form.removeClass('active');
}
// Show Search if form is not active // event.preventDefault() is
// important, this prevents the form from submitting
$(document).on('click', '.navbar-collapse form[role="search"]:not(.active) button[type="submit"]', function(event) {
event.preventDefault();
var $form = $(this).closest('form'),
$input = $form.find('input');
$form.addClass('active');
$input.focus();
});
// ONLY FOR DEMO // Please use $('form').submit(function(event)) to
// track from submission
// if your form is ajax remember to call `closeSearch()` to close the
// search container
$(document).on('click', '.navbar-collapse form[role="search"].active button[type="submit"]', function(event) {
event.preventDefault();
var $form = $(this).closest('form'),
$input = $form.find('input');
$('#showSearchTerm').text($input.val());
closeSearch()
});
});
function loadDataTable(table) {
var dt = table.DataTable({
"iDisplayLength": 10,
"bFilter": false,
"bLengthChange" : false,
"ordering" : false,
"language": {
"sProcessing": "Procesando...",
"sLengthMenu": "Mostrar _MENU_ ",
"sZeroRecords": "No se han encontrado resultados",
"sEmptyTable": "No se han encontrado resultados",
"sInfo": "_TOTAL_ resultados",
"sInfoEmpty": "",
"sInfoFiltered": "(filtrado de un total de _MAX_ registros)",
"sInfoPostFix": "",
"sSearch": "",
"sUrl": "",
"sInfoThousands": ",",
"sLoadingRecords": "Cargando...",
"oPaginate": {
"sFirst": "Primero",
"sLast": "Último",
"sNext": "Siguiente",
"sPrevious": "Anterior"
},
"oAria": {
"sSortAscending": ": Activar para ordenar la columna de manera ascendente",
"sSortDescending": ": Activar para ordenar la columna de manera descendente"
}
},
"fnDrawCallback": function() {
if ($(".paginate_button").length > 3) {
// Se muestran los botones de paginación.
$(".dataTables_paginate")[0].style.display = "block";
} else {
// Se ocultan los botones de paginación.
$(".dataTables_paginate")[0].style.display = "none";
}
}
});
}
function ticket(parametros) {
var form = document.createElement("form");
var element;
form.method = "POST";
form.action = "/opencms/sede";
if (parametros.area) {
element = document.createElement("input");
element.id="area";
element.name="area";
element.type="hidden"
element.value=parametros.area;
form.appendChild(element);
}
if (parametros.procedure) {
element = document.createElement("input");
element.id="procedure";
element.name="procedure";
element.type="hidden"
element.value=parametros.procedure;
form.appendChild(element);
}
if (parametros.others) {
element = document.createElement("input");
element.id="others";
element.name="others";
element.type="hidden"
element.value=parametros.others;
form.appendChild(element);
}
if (parametros.identifier) {
element = document.createElement("input");
element.id="identifier";
element.name="identifier";
element.type="hidden"
element.value=parametros.identifier;
form.appendChild(element);
}
element = document.createElement("input");
element.id="action";
element.name="action";
element.type="hidden"
element.value="generaTicket";
form.appendChild(element);
document.body.appendChild(form);
form.submit();
}
var days = "Domingo,Lunes,Martes,Miércoles,Jueves,Viernes,Sábado";
var months = "enero,febrero,marzo,abril,mayo,junio,julio,agosto,septiembre,octubre,noviembre,diciembre";
var dayarray = days.split(",");
var montharray = months.split(",");
var serverTimestamp;
var baseClientTime;
var serverTimeZone;
var clockIntervalId;
function getCurrentClientTime() {
if (window.performance && typeof window.performance.now === "function") {
return window.performance.now();
}
return new Date().getTime();
}
function getDatePartsInServerTimeZone(date, timeZone) {
var formatter = new Intl.DateTimeFormat("en-GB", {
timeZone: timeZone,
year: "numeric",
month: "2-digit",
day: "2-digit",
hour: "2-digit",
minute: "2-digit",
second: "2-digit",
hour12: false
});
var parts = formatter.formatToParts(date);
var values = {};
for (var i = 0; i < parts.length; i++) {
if (parts[i].type !== "literal") {
values[parts[i].type] = parts[i].value;
}
}
var year = parseInt(values.year, 10);
var month = parseInt(values.month, 10);
var daym = parseInt(values.day, 10);
var hours = parseInt(values.hour, 10);
var minutes = values.minute;
if (hours === 24) {
hours = 0;
}
var day = new Date(Date.UTC(year, month - 1, daym)).getUTCDay();
return {
year: year,
month: month - 1,
day: day,
daym: daym,
hours: hours,
minutes: minutes
};
}
function updateDate() {
if (serverTimestamp == null || baseClientTime == null || !serverTimeZone) {
return;
}
var elapsedTime = getCurrentClientTime() - baseClientTime;
var shownDate = new Date(serverTimestamp + elapsedTime);
var dateParts = getDatePartsInServerTimeZone(shownDate, serverTimeZone);
var cdate = "" + dateParts.hours + ":" + dateParts.minutes
+ " "
+ dayarray[dateParts.day] + " " + dateParts.daym + " " + montharray[dateParts.month]
+ " " + dateParts.year + "";
document.getElementById('clock').innerHTML = cdate;
}
function initializeDate() {
var dateRequest = new XMLHttpRequest();
dateRequest.onreadystatechange = function() {
if (dateRequest.readyState == 4) {
if (dateRequest.status == 200) {
serverTimestamp = Number(dateRequest.responseText);
if (isNaN(serverTimestamp)) {
return;
}
baseClientTime = getCurrentClientTime();
loadServerTimeZone();
}
}
};
dateRequest.open("GET", "/opencms/api/public/date");
dateRequest.send();
}
function loadServerTimeZone() {
var timeZoneRequest = new XMLHttpRequest();
timeZoneRequest.onreadystatechange = function() {
if (timeZoneRequest.readyState == 4) {
if (timeZoneRequest.status == 200) {
serverTimeZone = timeZoneRequest.responseText.replace(/^\s+|\s+$/g, "");
try {
new Intl.DateTimeFormat("en-GB", { timeZone: serverTimeZone });
} catch (e) {
console.error("Zona horaria del servidor no v�lida para JavaScript: " + serverTimeZone);
serverTimeZone = "Europe/Madrid";
}
updateDate();
if (clockIntervalId) {
clearInterval(clockIntervalId);
}
clockIntervalId = setInterval(updateDate, 1000);
}
}
};
timeZoneRequest.open("GET", "/opencms/api/public/time-zone");
timeZoneRequest.send();
}
initializeDate();