%PDF- %PDF-
Direktori : /home/tjamichg/intranet.tjamich.gob.mx/intranet/common/vendors/calendar/ |
Current File : /home/tjamichg/intranet.tjamich.gob.mx/intranet/common/vendors/calendar/zabuto_calendar.min.js |
if (typeof jQuery == "undefined") { throw new Error("jQuery is not loaded") } $.fn.zabuto_calendar = function (b) { var c = $.extend({}, $.fn.zabuto_calendar_defaults(), b); var a = $.fn.zabuto_calendar_language(c.language); c = $.extend({}, c, a); this.each(function () { var u = $(this); u.attr("id", "zabuto_calendar_" + Math.floor(Math.random() * 99999).toString(36)); u.data("initYear", c.year); u.data("initMonth", c.month); u.data("monthLabels", c.month_labels); u.data("weekStartsOn", c.weekstartson); u.data("navIcons", c.nav_icon); u.data("dowLabels", c.dow_labels); u.data("showToday", c.today); u.data("showDays", c.show_days); u.data("showPrevious", c.show_previous); u.data("showNext", c.show_next); u.data("cellBorder", c.cell_border); u.data("ajaxSettings", c.ajax); u.data("legendList", c.legend); u.data("actionFunction", c.action); u.data("actionNavFunction", c.action_nav); e(); function e() { var w = parseInt(u.data("initYear")); var y = parseInt(u.data("initMonth")) - 1; var z = new Date(w, y, 1, 0, 0, 0, 0); u.data("initDate", z); var A = (u.data("cellBorder") === true) ? " table-bordered" : ""; $tableObj = $('<table class="table' + A + '"></table>'); $tableObj = r(u, $tableObj, z.getFullYear(), z.getMonth()); $legendObj = g(u); var x = $('<div class="zabuto_calendar" id="' + u.attr("id") + '"></div>'); x.append($tableObj); x.append($legendObj); u.append(x) } function r(y, A, x, z) { var w = new Date(x, z, 1, 0, 0, 0, 0); y.data("currDate", w); A.empty(); A = q(y, A, x, z); A = n(y, A); A = s(y, A, x, z); v(y, x, z); return A } function g(y) { var w = $('<div class="legend" id="' + y.attr("id") + '_legend"></div>'); var x = y.data("legendList"); if (typeof(x) == "object" && x.length > 0) { $(x).each(function (C, E) { if (typeof(E) == "object") { if ("type" in E) { var D = ""; if ("label" in E) { D = E.label } switch (E.type) { case"text": if (D !== "") { var B = ""; if ("badge" in E) { if (typeof(E.classname) === "undefined") { var F = "badge-event" } else { var F = E.classname } B = '<span class="badge ' + F + '">' + E.badge + "</span> " } w.append('<span class="legend-' + E.type + '">' + B + D + "</span>") } break; case"block": if (D !== "") { D = "<span>" + D + "</span>" } if (typeof(E.classname) === "undefined") { var A = "event" } else { var A = "event-styled " + E.classname } w.append('<span class="legend-' + E.type + '"><ul class="legend"><li class="' + A + '"></li></u>' + D + "</span>"); break; case"list": if ("list" in E && typeof(E.list) == "object" && E.list.length > 0) { var z = $('<ul class="legend"></u>'); $(E.list).each(function (H, G) { z.append('<li class="' + G + '"></li>') }); w.append(z) } break; case"spacer": w.append('<span class="legend-' + E.type + '"> </span>'); break } } } }) } return w } function q(L, z, I, G) { var H = L.data("navIcons"); var E = $('<span><span class="glyphicon glyphicon-chevron-left"></span></span>'); var F = $('<span><span class="glyphicon glyphicon-chevron-right"></span></span>'); if (typeof(H) === "object") { if ("prev" in H) { E.html(H.prev) } if ("next" in H) { F.html(H.next) } } var K = L.data("showPrevious"); if (typeof(K) === "number" || K === false) { K = h(L.data("showPrevious"), true) } var J = $('<div class="calendar-month-navigation"></div>'); J.attr("id", L.attr("id") + "_nav-prev"); J.data("navigation", "prev"); if (K !== false) { prevMonth = (G - 1); prevYear = I; if (prevMonth == -1) { prevYear = (prevYear - 1); prevMonth = 11 } J.data("to", {year: prevYear, month: (prevMonth + 1)}); J.append(E); if (typeof(L.data("actionNavFunction")) === "function") { J.click(L.data("actionNavFunction")) } J.click(function (N) { r(L, z, prevYear, prevMonth) }) } var D = L.data("showNext"); if (typeof(D) === "number" || D === false) { D = h(L.data("showNext"), false) } var B = $('<div class="calendar-month-navigation"></div>'); B.attr("id", L.attr("id") + "_nav-next"); B.data("navigation", "next"); if (D !== false) { nextMonth = (G + 1); nextYear = I; if (nextMonth == 12) { nextYear = (nextYear + 1); nextMonth = 0 } B.data("to", {year: nextYear, month: (nextMonth + 1)}); B.append(F); if (typeof(L.data("actionNavFunction")) === "function") { B.click(L.data("actionNavFunction")) } B.click(function (N) { r(L, z, nextYear, nextMonth) }) } var M = L.data("monthLabels"); var C = $("<th></th>").append(J); var w = $("<th></th>").append(B); var A = $("<span>" + M[G] + " " + I + "</span>"); A.dblclick(function () { var N = L.data("initDate"); r(L, z, N.getFullYear(), N.getMonth()) }); var x = $('<th colspan="5"></th>'); x.append(A); var y = $('<tr class="calendar-month-header"></tr>'); y.append(C, x, w); z.append(y); return z } function n(z, B) { if (z.data("showDays") === true) { var w = z.data("weekStartsOn"); var x = z.data("dowLabels"); if (w === 0) { var A = $.extend([], x); var C = new Array(A.pop()); x = C.concat(A) } var y = $('<tr class="calendar-dow-header"></tr>'); $(x).each(function (D, E) { y.append("<th>" + E + "</th>") }); B.append(y) } return B } function s(E, D, G, L) { var C = E.data("ajaxSettings"); var F = o(G, L); var w = k(G, L); var B = i(G, L, 1); var N = i(G, L, w); var A = 1; var z = E.data("weekStartsOn"); if (z === 0) { if (N == 6) { F++ } if (B == 6 && (N == 0 || N == 1 || N == 5)) { F-- } B++; if (B == 7) { B = 0 } } for (var y = 0; y < F; y++) { var x = $('<tr class="calendar-dow"></tr>'); for (var I = 0; I < 7; I++) { if (I < B || A > w) { x.append("<td></td>") } else { var M = E.attr("id") + "_" + t(G, L, A); var K = M + "_day"; var J = $('<div id="' + K + '" class="day" >' + A + "</div>"); J.data("day", A); if (E.data("showToday") === true) { if (l(G, L, A)) { J.html('<span class="badge badge-today">' + A + "</span>") } } var H = $('<td id="' + M + '"></td>'); H.append(J); H.data("date", t(G, L, A)); H.data("hasEvent", false); if (typeof(E.data("actionFunction")) === "function") { H.addClass("dow-clickable"); H.click(function () { E.data("selectedDate", $(this).data("date")) }); H.click(E.data("actionFunction")) } x.append(H); A++ } if (I == 6) { B = 0 } } D.append(x) } return D } function p(z, F, E, H) { var G = $('<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>'); var y = $('<h4 class="modal-title" id="' + z + '_modal_title">' + F + "</h4>"); var I = $('<div class="modal-header"></div>'); I.append(G); I.append(y); var D = $('<div class="modal-body" id="' + z + '_modal_body">' + E + "</div>"); var C = $('<div class="modal-footer" id="' + z + '_modal_footer"></div>'); if (typeof(H) !== "undefined") { var x = $("<div>" + H + "</div>"); C.append(x) } var A = $('<div class="modal-content"></div>'); A.append(I); A.append(D); A.append(C); var w = $('<div class="modal-dialog"></div>'); w.append(A); var B = $('<div class="modal fade" id="' + z + '_modal" tabindex="-1" role="dialog" aria-labelledby="' + z + '_modal_title" aria-hidden="true"></div>'); B.append(w); B.data("dateId", z); B.attr("dateId", z); return B } function v(x, w, A) { var z = x.data("ajaxSettings"); x.data("events", false); if (z === false) { return true } if (typeof(z) != "object" || typeof(z.url) == "undefined") { alert("Invalid calendar event settings"); return false } var y = {year: w, month: (A + 1)}; $.ajax({type: "GET", url: z.url, data: y, dataType: "json"}).done(function (B) { var C = []; $.each(B, function (E, D) { C.push(B[E]) }); x.data("events", C); j(x) }) } function j(x) { var y = x.data("ajaxSettings"); var w = x.data("events"); if (w !== false) { $(w).each(function (B, F) { var G = x.attr("id") + "_" + F.date; var C = $("#" + G); var A = $("#" + G + "_day"); C.data("hasEvent", true); if (typeof(F.title) !== "undefined") { C.attr("title", F.title) } if (typeof(F.classname) === "undefined") { C.addClass("event") } else { C.addClass("event-styled"); A.addClass(F.classname) } if (typeof(F.badge) !== "undefined" && F.badge !== false) { var E = (F.badge === true) ? "" : " badge-" + F.badge; var D = A.data("day"); A.html('<span class="badge badge-event' + E + '">' + D + "</span>") } if (typeof(F.body) !== "undefined") { if ("modal" in y && (y.modal === true)) { C.addClass("event-clickable"); var z = p(G, F.title, F.body, F.footer); $("body").append(z); $("#" + G).click(function () { $("#" + G + "_modal").modal() }) } } }) } } function l(y, z, x) { var A = new Date(); var w = new Date(y, z, x); return(w.toDateString() == A.toDateString()) } function t(x, y, w) { d = (w < 10) ? "0" + w : w; m = y + 1; m = (m < 10) ? "0" + m : m; return x + "-" + m + "-" + d } function i(y, z, x) { var w = new Date(y, z, x, 0, 0, 0, 0); var A = w.getDay(); if (A == 0) { A = 6 } else { A-- } return A } function k(x, y) { var w = 28; while (f(x, y + 1, w + 1)) { w++ } return w } function o(y, A) { var w = k(y, A); var C = i(y, A, 1); var z = i(y, A, w); var B = w; var x = (C - z); if (x > 0) { B += x } return Math.ceil(B / 7) } function f(z, w, x) { return w > 0 && w < 13 && z > 0 && z < 32768 && x > 0 && x <= (new Date(z, w, 0)).getDate() } function h(y, A) { if (y === false) { y = 0 } var z = u.data("currDate"); var x = u.data("initDate"); var w; w = (x.getFullYear() - z.getFullYear()) * 12; w -= z.getMonth() + 1; w += x.getMonth(); if (A === true) { if (w < (parseInt(y) - 1)) { return true } } else { if (w >= (0 - parseInt(y))) { return true } } return false } }); return this }; $.fn.zabuto_calendar_defaults = function () { var a = new Date(); var c = a.getFullYear(); var e = a.getMonth() + 1; var b = {language: false, year: c, month: e, show_previous: true, show_next: true, cell_border: false, today: false, show_days: true, weekstartson: 1, nav_icon: false, ajax: false, legend: false, action: false, action_nav: false}; return b }; $.fn.zabuto_calendar_language = function (a) { if (typeof(a) == "undefined" || a === false) { a = "en" } switch (a.toLowerCase()) { case"de": return{month_labels: ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"], dow_labels: ["Mo", "Di", "Mi", "Do", "Fr", "Sa", "So"]}; break; case"en": return{month_labels: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], dow_labels: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]}; break; case"es": return{month_labels: ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"], dow_labels: ["Lu", "Ma", "Mi", "Ju", "Vi", "Sá", "Do"]}; break; case"fr": return{month_labels: ["Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"], dow_labels: ["Lun", "Mar", "Mer", "Jeu", "Ven", "Sam", "Dim"]}; break; case"it": return{month_labels: ["Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre"], dow_labels: ["Lun", "Mar", "Mer", "Gio", "Ven", "Sab", "Dom"]}; break; case"nl": return{month_labels: ["Januari", "Februari", "Maart", "April", "Mei", "Juni", "Juli", "Augustus", "September", "Oktober", "November", "December"], dow_labels: ["Ma", "Di", "Wo", "Do", "Vr", "Za", "Zo"]}; break } };