// Traducción al español $(function($){ /* * DATEPICKER */ $.datepicker.regional['esp'] = { closeText: 'Cerrar', prevText: '', currentText: 'Hoy', monthNames: ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'], monthNamesShort: ['Ene','Feb','Mar','Abr', 'May','Jun','Jul','Ago','Sep', 'Oct','Nov','Dic'], dayNames: ['Domingo', 'Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado'], dayNamesShort: ['Dom','Lun','Mar','Miér','Juv','Vie','Sáb'], dayNamesMin: ['Do','Lu','Ma','Mi','Ju','Vi','Sa'], weekHeader: 'Sm', dateFormat: 'dd/mm/yy', changeYear: true, yearRange: "-1000:+200", timeFormat: "HH:mm", firstDay: 1, isRTL: false, showMonthAfterYear: false, yearSuffix: '' }; $.datepicker.regional['val'] = { closeText: 'Tancar', prevText: '', currentText: 'Hui', monthNames: ['Gener', 'Febrer', 'Març', 'Abril', 'Maig', 'Juny', 'Juliol', 'Agost', 'Setembre', 'Octubre', 'Novembre', 'Desembre'], monthNamesShort: ['Gen','Feb','Març','Abr', 'Maig','Juny','Jul','Ag','Set', 'Oct','Nov','Des'], dayNames: ['Diumenge', 'Dilluns', 'Dimarts', 'Dimecres', 'Dijous', 'Divendres', 'Disabte'], dayNamesShort: ['Dg','Dl','Dm','Dc','Dj','Dv','Ds'], dayNamesMin: ['Dg','Dl','Dm','Dc','Dj','Dv','Ds'], weekHeader: 'Sm', dateFormat: 'dd/mm/yy', changeYear: true, yearRange: "-1000:+200", timeFormat: "HH:mm", firstDay: 1, isRTL: false, showMonthAfterYear: false, yearSuffix: '' }; $.datepicker.regional['eng'] = { closeText: 'Close', prevText: '', currentText: 'Today', monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], monthNamesShort: ['Jan','Feb','Mar','Apr', 'May','June','July','Aug','Sep', 'Oct','Nov','Dec'], dayNames: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], dayNamesShort: ['Sun','Mon','Tue','Wed','Thu','Fri','Sat'], dayNamesMin: ['Su','Mo','Tu','We','Th','Fr','Sa'], weekHeader: 'Sm', dateFormat: 'dd/mm/yy', changeYear: true, yearRange: "-1000:+200", timeFormat: "HH:mm", firstDay: 1, isRTL: false, showMonthAfterYear: false, yearSuffix: '' }; $.datepicker.setDefaults($.datepicker.regional[lang]); $.fn.formatoFecha = function(fecha) { vFecha = ''; if (fecha != '') { vFechaHora = fecha.split(' '); if (vFechaHora.length > 1) { vFecha = vFechaHora[0].split('/'); } else vFecha = fecha.split('/'); if ((vFecha.length == 1) && (fecha != '')) { vFecha = fecha.split('-'); if (vFecha.length == 1) alert('error'); } } return(vFecha); } $.fn.calcularDiaAnyoJS = function(fecha) { vFecha = this.formatoFecha(fecha); // Se empieza a contar desde 0 tanto para el mes como el dáa var now = new Date(vFecha[2], vFecha[1]-1, vFecha[0]); var then = new Date(vFecha[2], 0, 0); var dif = now.getTime() - then.getTime(); dia = Math.floor(dif/(1000*60*60*24))+1; return(dia); } $.fn.calcularSemanaJS = function(fecha) { vFecha = this.formatoFecha(fecha); // Se empieza a contar desde 0 tanto para el mes como el dáa var now = new Date(vFecha[2], (vFecha[1]-1), vFecha[0], 0, 0, 0); var then = new Date(vFecha[2], 0, 1, 0, 0, 0); var time = now - then; var day = then.getDay(); // Devuelve el número d día de la semana (day > 3) && (day -= 4) || (day += 3); f = new Date(); d = f.getDay(); semana = Math.round(((time / d) + day) / 7); return(semana); } $.fn.mostrarDiaSemanaJS = function(fecha,tipo) { if (fecha != '') { vFecha = this.formatoFecha(fecha); var dia = vFecha[0]; var mes = vFecha[1]; var anyo = vFecha[2]; if ((anyo != '') && (anyo.length == 2)) { if (anyo == 10) anyo = "200" + anyo; if (anyo < 80) anyo = "20" + anyo; if (anyo <= 99) anyo = "19" + anyo; if (anyo < 1000) anyo = anyo + 1900; } var userYear=anyo; // año introducido, puede ser d 2 o 4 dágitos var dfecha = " "+ anyo +", "+mes + ", "+dia; var thenx = new Date(anyo,mes,dia); var year=thenx.getFullYear(); if (year<100) year="19" + thenx.getYear(); else year=thenx.getYear(); var wyear = year; if (year > 1969) wyear = year; else { if (userYear<1900) { if (userYear>1800) { wrelyear= (eval(year)-1801)%(28); wyear = wrelyear+1981; } else wyear = 1970; } else { if (userYear>1900) { wrelyear= (eval(userYear)-1901)%(28); wyear= wrelyear+1985; } else if (userYear==1900) wyear= 1990; } } var dob = " "+ wyear +", "+mes + ", "+dia; var thenx = new Date(dob); var theday = thenx.getDay()+1; var date=thenx.getDate(); var weekday = new Array(6); weekday[1]="Domingo"; weekday[2]="Lunes"; weekday[3]="Martes"; weekday[4]="Miércoles"; weekday[5]="Jueves"; weekday[6]="Viernes"; weekday[7]="Sábado"; if ((dia != date) && (dia != '')) { //this.informaAvisoJS('FORMATO_FECHA', this); } else { dayborn = weekday[theday]; if (dayborn == "Miércoles") diaSemana = "X"; else diaSemana = dayborn.substring(0,1); } if (tipo == 'short') return diaSemana; else return weekday[theday]; } return ''; } $('input:text[data-gvhCalendar*=DT],input:text[data-gvhCalendar*=D-]').change(function() { var tipo = $(this).attr('data-gvhCalendar').split('-'); var id = $(this).attr('id'); var idInfoFecha = "infoFecha"+id; var info = ''; if (tipo.length > 1) { if ((tipo[1] != 'none') && (tipo[1] != 'undefined'))//$dayOfWeek { info = " "+$(this).mostrarDiaSemanaJS($(this).val(),tipo[1]); } if ((tipo[2] != 'none') && (tipo[2] != 'undefined')) //$dayOfYear { info += " D"+$(this).calcularDiaAnyoJS($(this).val()); } if ((tipo[3] != 'none') && (tipo[3] != 'undefined')) //$weekOfYear { info += " S"+$(this).calcularSemanaJS($(this).val()); } if (info != '') { $('#'+idInfoFecha).text(info); } } }); /* * TIMEPICKER */ $.timepicker.regional['esp'] = { timeOnlyTitle: 'Elegir una hora', timeText: 'Hora', hourText: 'Horas', minuteText: 'Minutos', secondText: 'Segundos', millisecText: 'Milisegundos', microsecText: 'Microsegundos', timezoneText: 'Uso horario', currentText: 'Hoy', closeText: 'Cerrar', timeFormat: 'HH:mm', timeSuffix: '', amNames: ['a.m.', 'AM', 'A'], pmNames: ['p.m.', 'PM', 'P'], isRTL: false }; $.timepicker.regional['val'] = { timeOnlyTitle: 'Triar una hora', timeText: 'Hora', hourText: 'Hores', minuteText: 'Minuts', secondText: 'Segons', millisecText: 'Mil.lisegons', microsecText: 'Microsegons', timezoneText: 'Zona horària', currentText: 'Hui', closeText: 'Tancar', timeFormat: 'HH:mm', timeSuffix: '', amNames: ['a.m.', 'AM', 'A'], pmNames: ['p.m.', 'PM', 'P'], isRTL: false }; $.timepicker.regional['eng'] = { timeOnlyTitle: 'Choose a time', timeText: 'Hour', hourText: 'Hours', minuteText: 'Minutes', secondText: 'Seconds', millisecText: 'Miliseconds', microsecText: 'Microseconds', timezoneText: 'Time zone', currentText: 'Today', closeText: 'Close', timeFormat: 'HH:mm', timeSuffix: '', amNames: ['a.m.', 'AM', 'A'], pmNames: ['p.m.', 'PM', 'P'], isRTL: false }; $.timepicker.setDefaults($.timepicker.regional[lang]); /* * TIME */ $('#'+ambito).on('click','button[id*=calT_]',function(e) { //$("button[id*=calT_]").click(function() { var id_calendar = $(this).attr('id'); id_calendar = id_calendar.replace("calT_", ""); var almohadilla = "#"; var id_calendar_comp = almohadilla + id_calendar; $(id_calendar_comp).timepicker({ hourMin: 8, hourMax: 24 }).focus(); }); });