1var App = {};(function () {var app = function () {this.container = {loading: '.container-loading',message: '.container-alert',window: '.container-window',body: '.container-body'};this.ctrl = {};this.queue = $({});$.ajaxSetup({url: '',data: {},type: 'POST',async: true,cache: false,timeout: 3600000,dataType: 'html',processData: true,contentType: 'application/x-www-form-urlencoded; charset=utf-8',beforeSend: function (jqXHR, settings) {},complete: function (jqXHR, status) {},error: function (jqXHR, status, msj) {},statusCode: {404: function () {}},success: function (data, status, jqXHR) {}});};app.prototype.url = function (uri) {return Config.weburl + (($.type(uri) === 'string') ? uri : '');};app.prototype.uriString = function () {return Config.weburi;};app.prototype.uriArray = function () {return Config.weburi.split('/');};app.prototype.uriSegment = function (segment) {var uri = app.uriArray();return (segment < uri.length) ? uri[segment] : '';};app.prototype.loadingShow = function (callback) {App.queue.queue(function () {});$(this.container.loading).fadeIn(100, function () {App.queue.dequeue();if ($.type(callback) === 'function') {callback();}});};app.prototype.loadingHide = function (callback) {App.queue.queue(function () {});$(this.container.loading).fadeOut(100, function () {App.queue.dequeue();if ($.type(callback) === 'function') {callback();}});};app.prototype.message = function (_params) {var params = $.extend({type: '',text: '',container: this.container.message,timeDelay: 5000,timeEfect: 250,callback: function () {}}, _params);var type = "alert-info";var icon = "alert-info";switch (params.type) {case 'success':type = "alert-success";icon = "fa-check-circle";break;case 'info':type = "alert-info";icon = "fa-info-circle";break;case 'warning':type = "alert-warning";icon = "fa-exclamation-circle";break;case 'error':case 'danger':type = "alert-danger";icon = "fa-exclamation-circle";break;}$(params.container).append('<div class="alert ' + type + '"><i class="fa ' + icon + '"></i> ' + params.text + '</div>');$(params.container + ' .alert:last').fadeIn(params.timeEfect).delay(params.timeDelay).fadeOut(params.timeEfect, function () {$(this).remove();params.callback();});};app.prototype.loadView = function (_params) {App.queue.queue(function () {});var params = $.extend({uri: '',data: '',container: this.container.body,callback: function () {}}, _params);var app = this;$.ajax({url: app.url(params.uri.replace(/^\/|\/$/, '')) + '?nocache=' + new Date().getTime(),data: params.data,type: 'POST',dataType: 'html',error: function (jqXHR, status, msj) {app.message({type: "error", text: "Ocurrio un error inesperado. Por favor, reintente más tarde."});$(params.container).html('');App.queue.dequeue();params.callback();},success: function (data, status, jqXHR) {$(params.container).html(data);App.queue.dequeue();params.callback();}});};app.prototype.loadJson = function (_params) {App.queue.queue(function () {});var params = $.extend({uri: '',data: {},callback: function () {}}, _params);var app = this;$.ajax({url: app.url(params.uri.replace(/^\/|\/$/, '')) + '?nocache=' + new Date().getTime(),data: $.param(params.data),type: "POST",dataType: "json",error: function (jqXHR, status, msj) {app.message({type: "error", text: "Ocurrio un error inesperado. Por favor, reintente más tarde."});App.queue.dequeue();params.callback({});},success: function (json, status, jqXHR) {if ($.isPlainObject(json)) {App.queue.dequeue();params.callback(json);if ($.type(json.error) === 'string') {app.message({type: "danger", text: json.error});} else if ($.type(json.success) === 'string') {app.message({type: "success", text: json.success});} else if ($.type(json.warning) === 'string') {app.message({type: "warning", text: json.warning});} else if ($.type(json.info) === 'string') {app.message({type: "info", text: json.info});}if ($.isArray(json.error)) {for (var x in json.error) {app.message({type: 'danger', text: json.error[x]});}}if ($.isArray(json.success)) {for (var x in json.success) {app.message({type: 'success', text: json.success[x]});}}if ($.isArray(json.warning)) {for (var x in json.warning) {app.message({type: 'warning', text: json.warning[x]});}}
1if ($.isArray(json.info)) {for (var x in json.info) {app.message({type: 'info', text: json.info[x]});}}} else {App.queue.dequeue();params.callback({});}}});};app.prototype.loadText = function (_params) {App.queue.queue(function () {});var params = $.extend({uri: '',data: '',callback: function () {}}, _params);var app = this;$.ajax({url: app.url(params.uri.replace(/^\/|\/$/, '')) + '?nocache=' + new Date().getTime(),data: params.data,type: "POST",dataType: "text",error: function (jqXHR, status, msj) {app.message({type: "error", text: "Ocurrio un error inesperado. Por favor, reintente más tarde."});App.queue.dequeue();params.callback('');},success: function (data, status, jqXHR) {App.queue.dequeue();params.callback(data);}});};app.prototype.fileUp = function (_params) {var params = $.extend({uri: '', data: {}, callback: function () {}}, _params);var app = this;$.ajax({url: app.url(params.uri.replace(/^\/|\/$/, '')) + '?nocache=' + new Date().getTime(),data: params.data,type: "POST",xhr: function () {var myXhr = $.ajaxSettings.xhr();if (myXhr.upload) {}return myXhr;},dataType: "json",processData: false,contentType: false,error: function (jqXHR, status, msj) {app.message({type: "error", text: "Ocurrio un error inesperado. Por favor, reintente más tarde."});params.callback([]);},success: function (json, status, jqXHR) {if ($.isPlainObject(json)) {params.callback(json);if ($.type(json.error) === 'string') {app.message({type: "danger", text: json.error});} else if ($.type(json.success) === 'string') {app.message({type: "success", text: json.success});} else if ($.type(json.warning) === 'string') {app.message({type: "warning", text: json.warning});} else if ($.type(json.info) === 'string') {app.message({type: "info", text: json.info});}}}});};app.prototype.fileDown = function (_params) {var params = $.extend({uri: '', data: {}, tagid: 'file-down'}, _params);var html = '<form method="post" id="' + params.tagid + '" action="' + this.url(params.uri.replace(/^\/|\/$/, '')) + '" style="visibility: hidden; opacity: 0;">';for (var key in params.data) {html += '<input type="hidden" name="' + key + '" value="' + params.data[key] + '"/>';}html += '</form>';$('#' + params.tagid).remove();$('body').append(html);$('#' + params.tagid).submit();};app.prototype.windowShow = function (container, callbackShown, callbackHidden) {App.queue.queue(function () {});container = ($.type(container) === 'string') ? container : '.window-container';callbackShown = ($.type(callbackShown) === 'function') ? callbackShown : function () {};callbackHidden = ($.type(callbackHidden) === 'function') ? callbackHidden : function () {};var app = this;$(container).find('.window-btn .btn-close').off('click').on('click', function () {App.queue.queue(function () {});$(container).addClass('desactive').delay(250).queue(function (next) {$(container).removeClass('active').removeClass('desactive');if ($('.window-container:visible').length === 0) {$('body').css({'overflow': 'auto'});}next();App.queue.dequeue();callbackHidden();});});var mousedown = 0;var mouseup = 0;$(container).off('mousedown').on('mousedown', function (e) {if ($(e.target).hasClass('window-container')) {mousedown = 1;}});$(container).off('mouseup').on('mouseup', function (e) {if ($(e.target).hasClass('window-container')) {mouseup = 1;}});$(container).off('click').on('click', function (e) {if ($(e.target).hasClass('window-container') && $(container).attr('id') === $(e.target).attr('id')) {if (mousedown === 1 && mouseup === 1) {App.queue.queue(function () {});$(container).addClass('desactive').delay(250).queue(function (next) {$(container).removeClass('active').removeClass('desactive');if ($('.window-container:visible').length === 0) {$('body').css({'overflow': 'auto'});}next();App.queue.dequeue();callbackHidden();});}}mousedown = 0;mouseup = 0;});$(container).addClass('active').delay(250).queue(function (next) {$('body').css({'overflow': 'hidden'});next();App.queue.dequeue();callbackShown();});};app.prototype.windowHide = function (container, callback) {App.queue.queue(function () {});container = (typeof container === 'string') ? container : '';callback = (typeof callback === 'function') ? callback : function () {};$(container).addClass('desactive').delay(250).queue(function (next) {$(container).removeClass('active').removeClass('desactive');if ($('.window-container:visible').length === 0) {$('body').css({'overflow': 'auto'});}next();App.queue.dequeue();callback();});};app.prototype.responsive = function () {var width = $(window).width();var index = 0;var sizes = [{width: 0, class: "xs xs-1"},{width: 320, class: "xs xs-1"},{width: 480, class: "xs xs-2"},{width: 640, class: "sm sm-1"},{width: 800, class: "sm sm-2"},{width: 960, class: "md md-1"},{width: 1120, class: "md md-2"},{width: 1280, class: "md md-3"},{width: 1440, class: "lg lg-1"},{width: 1600, class: "lg lg-2"},{width: 1760, class: "lg lg-3"},{width: 1920, class: "lg lg-4"}];for (index in sizes) {if (width < sizes[index].width) {index;break;}}return sizes[index];};App = new app();})();(function () {var feriados = {2017: [1483239600000, 1483326000000, 1492138800000, 1492225200000, 1492570800000, 1493607600000, 1495339200000, 1498449600000, 1498968000000, 1500177600000, 1502766000000, 1505703600000, 1505790000000, 1507518000000, 1509073200000, 1509505200000, 1511060400000, 1512702000000, 1513479600000, 1514170800000],2018: [1514775600000, 1516071600000, 1516158000000, 1516244400000, 1522378800000, 1522465200000, 1525143600000, 15268752
100000, 1528344000000, 1530504000000, 1531713600000, 1534302000000, 1534734000000, 1537153200000, 1537239600000, 1537326000000, 1539572400000, 1541041200000, 1541127600000, 1544238000000, 1545706800000, 1546225200000],2019: [1546311600000, 1555642800000, 1555729200000, 1556679600000, 1558411200000, 1559880000000, 1561780800000, 1563249600000, 1565838000000, 1566270000000, 1568775600000, 1568862000000, 1568948400000, 1570849200000, 1572490800000, 1572577200000, 1575774000000, 1577242800000, 1577761200000]};var plugin = function (param) {this.dom = param.dom;this.dom_fechas = param.dom_fechas;this.dom_cupos = param.dom_cupos;this.dates = [];this.cupos = [];var date = new Date();this.selected = {day: date.getDate(), month: date.getMonth(), year: date.getFullYear()};var self = this;App.formValidate({container: '#form-add-event',fields: {hora: {length: {lengthMin: 1, lengthMax: 2}},minuto: {length: {lengthMin: 1, lengthMax: 2}},segundo: {length: {lengthMin: 1, lengthMax: 2}},cupos: {length: {lengthMin: 1, lengthMax: 111}}},onSuccess: function (fields) {var date = new Date(self.selected.year, self.selected.month, self.selected.day, fields.hora.value, fields.minuto.value, fields.segundo.value);self.addTimeHtml(date, fields.cupos.value);$('#form-add-event').trigger('reset');$('#form-add-event')[0].reset();App.windowHide('#window-add-event');},onFailure: function () {}});this.draw();};plugin.prototype.dateFormat = function (date) {var year = ((date.getFullYear() < 10) ? '0' : '') + date.getFullYear().toString();var month = ((date.getMonth() < 9) ? '0' : '') + (date.getMonth() + 1).toString();var day = ((date.getDate() < 10) ? '0' : '') + date.getDate().toString();var hour = ((date.getHours() < 10) ? '0' : '') + date.getHours().toString();var minute = ((date.getMinutes() < 10) ? '0' : '') + date.getMinutes().toString();var second = ((date.getSeconds() < 10) ? '0' : '') + date.getSeconds().toString();return year + '-' + month + '-' + day + ' ' + hour + ':' + minute + ':' + second;};plugin.prototype.updateValue = function () {if (!$.isEmptyObject(this.dom_fechas)) {var self = this;this.dom_fechas.val($.map(this.dates, function (n) {return self.dateFormat(new Date(n));}).join(','));this.dom_cupos.val(this.cupos.join(','));}};plugin.prototype.setDate = function (time, cupos) {if ($.inArray(time, this.dates) < 0) {this.dates.push(time);this.cupos.push(cupos);this.updateValue();}};plugin.prototype.deleteDate = function (date) {var index = $.inArray(date.getTime(), this.dates);if (index >= 0) {this.dates.splice(index, 1);this.cupos.splice(index, 1);this.updateValue();}};plugin.prototype.addTimeHtml = function (date, cupos) {this.setDate(date.getTime(), cupos);var html = '<div class="calendar-hour" data-value="' + date.getTime() + '" data-cupos="' + cupos + '">';html += this.dateFormat(date).substr(11, 8) + ' (' + cupos + ') ';html += '<div class="btn btn-danger btn-delete" data-tooltip="Eliminar Evento"><i class="fa fa-times"></i></div>';html += '</div>';this.dom.find('.calendar-day[data-day-month="' + date.getDate() + '"] .calendar-hours').append(html);var self = this;this.dom.find('.btn-delete').unbind('click').click(function () {self.deleteClick($(this));});App.tooltip();};plugin.prototype.deleteClick = function (element) {var value = element.parent().attr('data-value');if ($.isNumeric(value)) {var date = new Date(parseInt(value));this.deleteDate(date);element.unbind('mouseenter').mouseleave().parent().remove();}};plugin.prototype.daysIndex = [7, 1, 2, 3, 4, 5, 6];plugin.prototype.days = ['Lu', 'Ma', 'Mi', 'Ju', 'Vi', 'Sa', 'Do'];plugin.prototype.months = ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'];plugin.prototype.reset = function () {this.dates = [];this.cupos = [];var date = new Date();this.selected = {day: date.getDate(), month: date.getMonth(), year: date.getFullYear()};this.draw();};plugin.prototype.monthLeftClick = function () {this.selected.month--;if (this.selected.month < 0) {this.selected.month = 11;this.selected.year--;}this.dom.find('.calendar-month').text(this.monthName());this.draw();};plugin.prototype.monthRightClick = function () {this.selected.month++;if (this.selected.month > 11) {this.selected.month = 0;this.selected.year++;}this.dom.find('.calendar-month').text(this.monthName());this.draw();};plugin.prototype.yearLeftClick = function () {this.selected.year--;if (this.selected.year < 1900) {this.selected.year = 1900;}this.dom.find('.calendar-year').text(this.selected.year);this.draw();};plugin.prototype.yearRightClick = function () {this.selected.year++;var year = new Date().getFullYear();if (this.selected.year > (year + 1)) {this.selected.year = (year + 1);}this.dom.find('.calendar-year').text(this.selected.year);this.draw();};plugin.prototype.daysInMonth = function () {return new Date(this.selected.year, (this.selected.month + 1), 0).getDate();};plugin.prototype.dayNumber = function (day) {return new Date(this.selected.year, this.selected.month, day).getDay();};plugin.prototype.monthName = function () {return this.months[this.selected.month].toUpperCase();};plugin.prototype.draw = function () {var self = this;var btnLeft = '<div class="btn" role="button"><b class="fa fa-chevron-left"></b></div>';var btnRight = '<div class="btn" role="button"><b class="fa fa-chevron-right"></b></div>';var head = '<div class="calendar-head">';head += '<div class="calendar-month-left">' + btnLeft + '</div>';head += '<div class="calendar-month">' + this.monthName() + '</div>';head += '<div class="calendar-month-right">' + btnRight + '</div>';head += '<div class="calendar-year-left">' + btnLeft + '</div>';head += '<div class="calendar-year">' + this.selected.year + '</div>';head += '<div class="calendar-year-right">' + btnRight + '</div>';head += '</div>';head += '<div class="calendar-titles">';for (var x in this.days) {head += '<div class="calendar-title" data-value="' + x + '">' + this.days[x] + '</div>';}head += '</div>';var days = '<div class="calendar-days"></div>';var num = 1;for (var x = 1; x <= 42; x++) {days += '<div class="calendar-day' + ((num === 7) ? ' holiday' : '') + '" data-index="' + x + '" data-day="' + num + '" data-day-month="">';days += '<div class="calendar-day-num"></div>';days += '<div class="calendar-day-name">' + this.days[num - 1] + '</div>';days += '<div class="btn btn-add" data-tooltip="Agregar Evento"><i class="fa fa-plus"></i></div>';days += '<div class="calendar-hours"></div>';days += '</div>';num = (num < 7) ? num + 1 : 1;}days += '</div>';this.dom.html(head + days);var index = this.daysIndex[this.dayNumber(1)];var from = parseInt(this.dom.find('.calendar-day[data-day="' + index + '"]:first').attr('data-index'));var y = 1;for (var x = from; x < (from + this.daysInMonth()); x++) {var day_dom = this.dom.find('.calendar-day[data-index="' + x + '"]');day_dom.attr('data-day-month', y);var date = new Date(this.selected.year, this.selected.month, y, 0, 0, 0);if ($.isArray(feriados[this.selected.year]) && $.inArray(date.getTime(), feriados[this.selected.year]) >= 0) {day_dom.addClass('holiday');}day_dom.find('.calendar-day-num').text(y);y++;}var dateFrom = new Date(this.selected.year, this.selected.month, 1, 0, 0, 0);var dateTo = new Date(this.selected.year, this.selected.month, this.daysInMonth(), 23, 59, 59);for (var z in this.dates) {if (this.dates[z] >= dateFrom.getTime() && this.dates[z] <= dateTo.getTime()) {this.addTimeHtml(new Date(this.dates[z]), this.cupos[z]);}}this.dom.find('.calendar-month-left .btn').click(function () {self.monthLeftClick($(this));});this.dom.find('.calendar-month-right .btn').click(function () {self.monthRightClick($(this));});this.dom.find('.calendar-year-left .btn').click(function () {self.yearLeftClick($(this));});this.dom.find('.calendar-year-right .btn').click(function () {self.yearRightClick($(this));});this.dom.find('.btn-delete').unbind('click').click(function () {self.deleteClick($(this));});this.dom.find('.btn-add').unbind('click').click(function () {var value = $(this).parent().attr('data-day-month');if ($.isNumeric(value)) {self.selected.day = parseInt(value);$('#form-add-event').trigger('reset');$('#form-add-event')[0].reset();$('#campo-add-cupos-totales').val('1');App.windowShow('#window-add-event', function () {});}});App.tooltip();};App.constructor.prototype.calendar = function (params) {var options = $.extend({container: '.calendar-container', container_fechas: '',
1container_cupos: '', dom: {}, dom_fechas: {}, dom_cupos: {}}, params);options.dom = $(options.container);options.dom_fechas = ($(options.container_fechas).length > 0) ? $(options.container_fechas) : {};options.dom_cupos = ($(options.container_cupos).length > 0) ? $(options.container_cupos) : {};return new plugin(options);};})();$(document).ready(function () {});(function () {var trunk = {};var CheckBox = function (checkbox) {var self = this;this.checkbox = checkbox;var id = (typeof this.checkbox.attr('data-field-id') === 'string') ? this.checkbox.attr('data-field-id') : '';this.field = (id.length > 0 && $('#' + id).length > 0) ? $('#' + id) : $('<input type="text"/>');this.yes = this.checkbox.children('.checkbox-yes');this.no = this.checkbox.children('.checkbox-no');this.yes.off('click.checkbox').on('click.checkbox', function () {if (!self.checkbox.hasClass('disabled')) {self.clickOn();}});this.no.off('click.checkbox').on('click.checkbox', function () {if (!self.checkbox.hasClass('disabled')) {self.clickOff();}});self.update();};CheckBox.prototype.clickOn = function () {this.no.removeClass('active');this.yes.removeClass('active').addClass('active');this.field.val(this.yes.attr('data-value')).trigger('change');};CheckBox.prototype.clickOff = function () {this.no.removeClass('active').addClass('active');this.yes.removeClass('active');this.field.val(this.no.attr('data-value')).trigger('change');};CheckBox.prototype.update = function () {var value = this.field.val().trim();this.no.removeClass('active');this.yes.removeClass('active');if (value === this.yes.attr('data-value')) {this.yes.addClass('active');} else if (value === this.no.attr('data-value')) {this.no.addClass('active');}};App.constructor.prototype.checkbox = function (params) {var options = $.extend({container: '.checkbox'}, params);$(options.container).each(function () {if (typeof $(this).attr('data-checkbox-idx') === 'string') {var idx = $(this).attr('data-checkbox-idx');delete trunk[idx];} else {var idx = Math.random().toString(16).substring(2, 15);$(this).attr('data-checkbox-idx', idx);}trunk[idx] = new CheckBox($(this));});};})();$(document).ready(function () {App.checkbox();});(function () {if (typeof Config === 'object') {Config.datepicker = {define: {year: 'yyyy', month: 'mm', day: 'dd', hours: 'hh', minutes: 'nn', seconds: 'ss'},dayIndex: [6, 0, 1, 2, 3, 4, 5],dayName: ['Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado', 'Domingo'],dayNameMin: ['Lu', 'Ma', 'Mi', 'Ju', 'Vi', 'Sa', 'Do'],monthName: ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'],monthNameMin: ['Ene', 'Feb', 'Mar', 'Abr', 'May', 'Jun', 'Jul', 'Ago', 'Sep', 'Oct', 'Nov', 'Dic']};} else {console.log('datepicker error: not found object "Config"');}var plugin = function (input, params) {var self = this;this.idx = Math.random().toString(16).substring(2, 15);this.input = input;this.datepicker = undefined;this.value = new Date();this.selected = new Date();this.allowed = [];this.format = (typeof this.input.attr('data-datetime-format') === 'string') ? this.input.attr('data-datetime-format').trim() : 'yyyy-mm-dd hh:nn:ss';this.formatArray = this.formatToArray(this.format);this.formatRegExp = this.formatToRegExp(this.format);$(this.input).attr('datepicker-idx', this.idx);$(this.input).off('focusin.datepicker').on('focusin.datepicker', function () {if (typeof self.datepicker === 'undefined') {self.createCalendar();}self.datepicker.addClass('active');});$(this.input).off('focusout.datepicker').on('focusout.datepicker', function () {});$(this.input).off('mouseenter.datepicker').on('mouseenter.datepicker', function () {});$(this.input).off('mouseleave.datepicker').on('mouseleave.datepicker', function () {});$(document).off('click.datepicker-' + self.idx).on('click.datepicker-' + self.idx, function (e) {if (typeof self.datepicker === 'object' &&$(e.target).is('[datepicker-idx="' + self.idx + '"]') === false &&$(e.target).parents('[datepicker-idx="' + self.idx + '"]').length === 0) {self.datepicker.removeClass('active');}});};plugin.prototype.formatToArray = function (format) {return format.split(/[\-\/\s\:]/);};plugin.prototype.formatToRegExp = function (format) {format = format.replace(/\-|\//g, "[\\-\\/]{1}");format = format.replace(/\:/g, '[\\:]{1}');format = format.replace(/\s/g, '\\s');format = format.replace(/yyyy/g, '[0-9]{4}');format = format.replace(/mm|dd|hh|nn|ss/g, '[0-9]{2}');return new RegExp('^' + format + '$');};plugin.prototype.createElement = function () {var html = '';html += '<div class="datepicker" datepicker-idx="' + this.idx + '">';html += '<div class="datepicker-head">';html += '<div class="datepicker-month-left" role="button"><b class="fa fa-chevron-left"></b></div>';html += '<div class="datepicker-month">
1ENERO</div>';html += '<div class="datepicker-month-right" role="button"><b class="fa fa-chevron-right"></b></div>';html += '<div class="datepicker-year-left" role="button"><b class="fa fa-chevron-left"></b></div>';html += '<div class="datepicker-year">2017</div>';html += '<div class="datepicker-year-right" role="button"><b class="fa fa-chevron-right"></b></div>';html += '</div>';html += '<div class="datepicker-body-1">';for (var x in Config.datepicker.dayNameMin) {html += '<div class="datepicker-dayname">' + Config.datepicker.dayNameMin[x].toUpperCase() + '</div>';}for (var x = 1; x <= 42; x++) {html += '<div class="datepicker-day" role="button" data-value="" data-time-enable=""></div>';}html += '</div>';html += '<div class="datepicker-body-2">';html += '<div class="datepicker-window">';html += '<div class="datepicker-window-title">SELECCION DE HORA</div>';for (var x = 1; x <= 24; x++) {html += '<div class="datepicker-hour" role="button" data-value=""></div>';}html += '</div>';html += '</div>';html += '</div>';return $(html);};plugin.prototype.createCalendar = function () {var self = this;this.datepicker = this.createElement();var marginBottom = parseInt(this.input.css('margin-bottom'));this.datepicker.css({marginTop: '-' + marginBottom + 'px', marginLeft: '1px'});var value = this.strToDate(this.input.val().trim());if (typeof value === 'object') {this.value = new Date(value.getTime());this.selected = new Date(value.getTime());}this.datepicker.find('.datepicker-day').off('click').on('click', function () {self.dayClick($(this));});this.datepicker.find('.datepicker-hour').off('click').on('click', function () {self.hourClick($(this));});this.datepicker.find('.datepicker-month-left').off('click').on('click', function () {self.monthLeftClick($(this));});this.datepicker.find('.datepicker-month-right').off('click').on('click', function () {self.monthRightClick($(this));});this.datepicker.find('.datepicker-year-left').off('click').on('click', function () {self.yearLeftClick($(this));});this.datepicker.find('.datepicker-year-right').off('click').on('click', function () {self.yearRightClick($(this));});this.datepicker.find('.datepicker-body-2').off('click').on('click', function (e) {if ($(e.target).hasClass('datepicker-body-2')) {$(this).hide();}});this.datepicker.off('mouseenter').on('mouseenter', function () {});this.datepicker.off('mouseleave').on('mouseleave', function () {});this.datepicker.insertAfter(this.input);this.update();};plugin.prototype.dayClick = function (day) {if (day.hasClass('disabled') === false && $.isNumeric(day.attr('data-value'))) {this.selected.setDate(parseInt(day.attr('data-value')));this.datepicker.find('.datepicker-day').removeClass('selected');day.addClass('selected');var enables = (typeof day.attr('data-time-enable') === 'string') ? day.attr('data-time-enable').trim() : '';if (enables.length > 0) {this.datepicker.find('.datepicker-hour').html(' ').addClass('disabled');var times = enables.split(',');for (var x in times) {var date = this.strToDate(times[x]);var hh = this.numberFormat(date.getHours(), 2, '0');var nn = this.numberFormat(date.getMinutes(), 2, '0');this.datepicker.find('.datepicker-hour:eq(' + x + ')').text(hh + ':' + nn).attr('data-value', times[x]).removeClass('disabled');}this.datepicker.find('.datepicker-body-2').show();} else {this.value = new Date(this.selected.getTime());this.input.val(this.dateToStr(this.value)).trigger('change');this.datepicker.removeClass('active');this.datepicker.find('.datepicker-body-2').hide();}}};plugin.prototype.hourClick = function (hour) {if (!hour.hasClass('disabled')) {var value = this.strToDate(hour.attr('data-value').trim());if (typeof value === 'object') {this.value = value;this.selected = value;this.input.val(this.dateToStr(value)).trigger('change');this.datepicker.removeClass('active');this.datepicker.find('.datepicker-body-2').hide();}}};plugin.prototype.monthLeftClick = function () {var month = this.selected.getMonth() - 1;if (month < 0) {month = 11;var year = this.selected.getFullYear() - 1;if (year < 1900) {year = 1900;}this.selected.setFullYear(year);}this.selected.setMonth(month);this.update();};
1plugin.prototype.monthRightClick = function () {var month = this.selected.getMonth() + 1;if (month > 11) {month = 0;var year = this.selected.getFullYear() + 1;var last = new Date().getFullYear() + 1;if (year > last) {year = last;}this.selected.setFullYear(year);}this.selected.setMonth(month);this.update();};plugin.prototype.yearLeftClick = function () {var year = this.selected.getFullYear() - 1;if (year < 1900) {year = 1900;}this.selected.setFullYear(year);this.update();};plugin.prototype.yearRightClick = function () {var year = this.selected.getFullYear() + 1;var last = new Date().getFullYear() + 1;if (year > last) {year = last;}this.selected.setFullYear(year);this.update();};plugin.prototype.numberFormat = function (number, length, fill) {if (typeof number === 'number') {number = number.toString();for (var x = number.length; x < length; x++) {number = fill + number;}}return number;};plugin.prototype.strToDate = function (value) {var date = undefined;if (this.formatRegExp.test(value)) {date = new Date(1900, 0, 1, 0, 0, 0, 0);var valueArray = value.split(/[\-\/\s\:]/);for (var x in this.formatArray) {if (this.formatArray[x] === 'yyyy') {date.setFullYear(parseInt(valueArray[x]));}if (this.formatArray[x] === 'mm') {date.setMonth((parseInt(valueArray[x]) - 1));}if (this.formatArray[x] === 'dd') {date.setDate(parseInt(valueArray[x]));}if (this.formatArray[x] === 'hh') {date.setHours(parseInt(valueArray[x]));}if (this.formatArray[x] === 'nn') {date.setMinutes(parseInt(valueArray[x]));}if (this.formatArray[x] === 'ss') {date.setSeconds(parseInt(valueArray[x]));}}}return date;};plugin.prototype.dateToStr = function (date) {var str = '' + this.format + '';str = str.replace(/yyyy/, this.numberFormat(date.getFullYear(), 4, '0'));str = str.replace(/mm/, this.numberFormat((date.getMonth() + 1), 2, '0'));str = str.replace(/dd/, this.numberFormat(date.getDate(), 2, '0'));str = str.replace(/hh/, this.numberFormat(date.getHours(), 2, '0'));str = str.replace(/nn/, this.numberFormat(date.getMinutes(), 2, '0'));str = str.replace(/ss/, this.numberFormat(date.getSeconds(), 2, '0'));return str;};plugin.prototype.update = function () {this.datepicker.find('.datepicker-month').text(Config.datepicker.monthName[this.selected.getMonth()].toUpperCase());this.datepicker.find('.datepicker-year').text(this.selected.getFullYear());this.datepicker.find('.datepicker-day').attr('data-value', '').attr('data-time-enable', '').removeClass('disabled').removeClass('selected').html(' ');var dayIndex = new Date(this.selected.getFullYear(), this.selected.getMonth(), 1).getDay();var position = Config.datepicker.dayIndex[dayIndex];var daysInMonth = new Date(this.selected.getFullYear(), (this.selected.getMonth() + 1), 0).getDate();for (var x = 1; x <= daysInMonth; x++) {var index = position + (x - 1);var day = this.datepicker.find('.datepicker-day:eq(' + index + ')');day.text(x).attr('data-value', x);if (this.value.getDate() === x && this.value.getMonth() === this.selected.getMonth() && this.value.getFullYear() === this.selected.getFullYear()) {day.addClass('selected');}}this.datepicker.find('.datepicker-day[data-value=""]').addClass('disabled');this.allowed = [];var enabled = (typeof this.input.attr('data-datetime-enable') === 'string') ? this.input.attr('data-datetime-enable').trim() : '';if (enabled.length > 0) {this.allowed = enabled.split(',');this.datepicker.find('.datepicker-day').removeClass('disabled').addClass('disabled');for (var x in this.allowed) {var datetime = this.strToDate(this.allowed[x]);if (typeof datetime === 'object' && datetime.getFullYear() === this.selected.getFullYear() && datetime.getMonth() === this.selected.getMonth()) {var day = this.datepicker.find('.datepicker-day[data-value="' + datetime.getDate() + '"]');var enabled = (typeof day.attr('data-time-enable') === 'string') ? day.attr('data-time-enable').trim() : '';var allowed = (enabled.length > 0) ? enabled.split(',') : [];allowed.push(this.dateToStr(datetime));day.removeClass('disabled').attr('data-time-enable', allowed.join(','));}}}};App.constructor.prototype.datepicker = function (params) {var options = $.extend({container: 'input.input-datepicker', onUpdate: function () {}}, params);$(options.container).each(function () {new plugin($(this), options);});};})();$(document).ready(function () {App.datepicker();});(function () {var DropDown = function (dropdown, onclick) {this.dropdown = dropdown;this.onclick = onclick;this.active = false;var self = this;var field_id = this.attrGet('data-field-id', '');this.input = (field_id.length > 0 && $('#' + field_id).length > 0) ? $('#' + field_id) : $('<input type="hidden" value=""/>');this.item = this.dropdown.children('.item');
1this.subitems = this.dropdown.children('.subitems');this.dropdown.find('.fa-dropdown').removeClass('fa-caret-up').addClass('fa-caret-down');this.checkItems();this.dropdown.off('mouseleave.dropdown').on('mouseleave.dropdown', function () {self.activated(false);});this.item.off('click.dropdown').on('click.dropdown', function () {self.activated(!self.active);});this.item.off('mouseenter.dropdown').on('mouseenter.dropdown', function () {if (self.attrGet('data-autoopen', '0') === '1' && !self.active) {self.activated(true);}});this.subitems.children('.subitem').off('click.dropdown').on('click.dropdown', function () {self.subItemClick($(this));});};DropDown.prototype.attrGet = function (name, defvalue) {return (typeof this.dropdown.attr(name) === 'string') ? this.dropdown.attr(name).trim() : (typeof defvalue === 'string') ? defvalue : '';};DropDown.prototype.activated = function (status) {if (!this.dropdown.hasClass('dropdown-disabled')) {if (this.active === false && status === true) {this.dropdown.addClass('active');this.dropdown.find('.fa-dropdown').removeClass('fa-caret-down').addClass('fa-caret-up');this.active = true;} else if (this.active === true && status === false) {this.dropdown.removeClass('active');this.dropdown.find('.fa-dropdown').removeClass('fa-caret-up').addClass('fa-caret-down');this.active = false;}}};DropDown.prototype.subItemClick = function (subitem) {this.subitems.children('.subitem').removeClass('active');subitem.addClass('active');this.activated(false);var name = subitem.attr('data-name');var value = subitem.attr('data-value');if(typeof name === 'string' && typeof value === 'string'){this.item.children('span').text(name);this.input.val(value).trigger('change');this.dropdown.attr('data-value', value);this.dropdown.attr('data-name', name);if (typeof this.onclick === 'function') {this.onclick(name, value);}}};DropDown.prototype.updateItems = function (items) {var self = this;this.item.children('span').text('');this.subitems.html('<div class="subitem" data-name="" data-value=""> </div>');for (var x in items) {this.subitems.append('<div class="subitem" data-name="' + items[x].name + '" data-value="' + items[x].value + '">' + items[x].name + '</div>');}this.checkItems();this.subitems.children('.subitem').off('click.dropdown').on('click.dropdown', function () {self.subItemClick($(this));});};DropDown.prototype.checkItems = function () {var value = this.input.val().trim();var subitem = this.subitems.children('.subitem[data-value="' + value + '"]');if (subitem.length > 0) {var name = (typeof subitem.attr('data-name') === 'string') ? subitem.attr('data-name').trim() : '';var value = (typeof subitem.attr('data-value') === 'string') ? subitem.attr('data-value').trim() : '';subitem.addClass('active');this.dropdown.attr('data-name', name);this.dropdown.attr('data-value', value);this.item.children('span').text(name);}};App.constructor.prototype.dropdown = function (params) {var options = $.extend({container: '.dropdown', onclick: null}, params);var dd = [];$(options.container).each(function () {dd.push(new DropDown($(this), options.onclick));});return dd;};})();$(document).ready(function () {App.dropdown();});(function () {Input = function (id, name) {this.id = id;this.name = name;this.input = ($(id).length > 0) ? $(id) : $({});this.status = false;this.validations = {};this.element = (this.input.parent().is('fieldset.input-label')) ? this.input.parent() : this.input;var self = this;this.input.off('change.form').on('change.form', function () {self.update();});this.input.off('keyup.form').on('keyup.form', function () {self.update();});this.change = function () {};this.state = function () {};};Input.prototype.update = function () {var changued = (this.input.val() === this.input.attr('data-value')) ? false : true;this.input.attr('data-value', this.input.val());this.status = true;var message = '';for (var index in this.validations) {if (!this.validations[index].validate(this.input.val())) {message = this.validations[index].message();this.status = false;break;}}this.element.removeClass('input-danger');this.element.removeClass('input-success');this.element.next('.input-help-danger').remove();if (this.status) {this.element.addClass('input-success');} else {this.element.after('<div class="input-help-danger">' + message + '</div>');this.element.addClass('input-danger');}this.state(this.status);if (changued) {this.change(this.input.val(), this.status);}};Input.prototype.set = function (value) {this.input.val(value);this.update();};Input.prototype.get = function () {return this.input.val();};Input.prototype.reset = function (value) {this.element.removeClass('input-danger');this.element.removeClass('input-success');this.element.next('.input-help-danger').remove();this.input.val(value);};var Form = function () {this.vars = {};};Form.prototype.validators = {uri: function () {this.validate = function (value) {return (/^[0-9a-z\-]*$/).test(value) ? true : false;};this.message = function () {return 'Este campo solo puede contener números, letras y el carácter guión';};},length: function () {this.min = 0;this.max = 0;this.validate = function (value) {return ((new RegExp('^[\\s\\S]{' + this.min + ',' + this.max + '}$')).test(value) ? true : false);};this.message = function () {return 'Este campo debe contener entre ' + this.min + ' y ' + this.max + ' caracteres.';};},int: function () {this.validate = function (value) {return (/^[0-9]*$/).test(value) ? true : false;};this.message = function () {return 'Este campo solo debe contener números enteros.';};},float: function () {this.validate = function (value) {return (/^[0-9\.]*$/).test(value) ? true : false;};this.message = function () {return 'Este campo solo debe contener números enteros o decimales.';};},alphabet: function () {this.validate = function (value) {return (/^[A-ZÃÃÃÃÃÃ]*$/i).test(value) ? true : false;};this.message = function () {return 'Este campo solo debe contener caracteres alfabéticos.';};},alphanumeric: function () {this.validate = function (value) {return (/^[0-9A-ZÃÃÃÃÃÃ]*$/i).test(value) ? true : false;};this.message = function () {return 'Este campo solo debe contener caracteres alfanuméricos.';};},binary: function () {this.validate = function (value) {return (/^[01]?$/).test(value) ? true : false;};this.message = function () {return 'Este campo solo debe contener números binarios.';};},email: function () {this.validate = function (value) {return (/^$|^[0-9A-Z\+\-\_\.]+@[0-9A-Z\-]+\.[0-9A-Z]+$/i).test(value) ? true : false;};this.message = function () {return 'Este campo debe contener una dirección de correo electrónico válido.';};},passwd: function () {this.validate = function (value) {return (/^$|^[a-zA-Z0-9¡!@#$%^&*()_\-\+\=\{\}\[\]:;"\'<>,.¿?\/\\\|~]+$/).test(value) ? true : false;};this.message = function () {return 'Este campo solo puede contener números, letras y algunos caracteres especiales';};},phone: function () {this.validate = function (value) {return (/^[0-9\+\-\s]{0,15}$/).test(value) ? true : false;};this.message = function () {return 'Este campo debe contener un número de teléfono válido.';};},rut: function () {this.validate = function (value) {return (/^$|^[0-9\.]{6,9}\-[0-9K]{1}$/i).test(value) ? true : false;};this.message = function () {return 'Este campo debe contener un rut válido.';};},equal: function () {this.nvar = '';this.name = '';this.validate = function (value) {return (value === this.vars[this.nvar].get()) ? true : false;};this.message = function () {return 'Este campo debe ser idéntico a ' + this.name + '.';};},required: function () {this.validate = function (value) {return (value.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, '').length > 0) ? true : false;};this.message = function () {return 'Este campo no puede estar vacÃo.';};},minlength: function () {this.length = 0;this.validate = function (value) {return (value.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, '').length >= this.length) ? true : false;};this.message = function () {return 'Este campo debe contener al menos ' + this.length + ' caracteres.';};},maxlength: function () {this.length = 0;this.validate = function (value) {return (value.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, '').length <= this.length) ? true : false;};this.message = function () {return 'Este campo debe contener menos de ' + this.length + ' caracteres.';};},custom: function () {this.validate = undefined;this.message = undefined;}};Form.prototype.set = function (variable, container, validations) {if ($(container).length > 0) {this.vars[variable] = new Input(container, variable);
1for (var key in validations) {var validator = ((/^custom[0-9]{1}$/i).test(key)) ? 'custom' : key;this.vars[variable].validations[key] = new this.validators[validator]();this.vars[variable].validations[key]['vars'] = this.vars;for (var param in validations[key]) {this.vars[variable].validations[key][param] = validations[key][param];}}}};Form.prototype.setAll = function (array) {for (var x in array) {this.set(array[x].variable, array[x].container, array[x].validations);}};Form.prototype.getStatus = function () {var status = true;for (var key in this.vars) {this.vars[key].update();if (!this.vars[key].status) {status = false;}}return status;};App.constructor.prototype.form = Form;})();(function () {var validators = {regexp: function (value, params) {return ((new RegExp(params.regexp)).test(value) ? true : false);},lengthMin: function (value, params) {return ((new RegExp('^[\\s\\S]{' + params.lengthMin + ',}$')).test(value) ? true : false);},lengthMax: function (value, params) {return ((new RegExp('^[\\s\\S]{0,' + params.lengthMax + '}$')).test(value) ? true : false);},length: function (value, params) {return ((new RegExp('^[\\s\\S]{' + params.lengthMin + ',' + params.lengthMax + '}$')).test(value) ? true : false);},int: function (value) {return ((new RegExp('^[0-9]*$')).test(value) ? true : false);},float: function (value) {return ((new RegExp('^[0-9\.]*$')).test(value) ? true : false);},date: function (value) {return ((new RegExp('^[0-9]{4}\-[0-9]{2}\-[0-9]{2}$')).test(value) ? true : false);},datetime: function (value) {return ((new RegExp('^[0-9]{4}\-[0-9]{2}\-[0-9]{2} [0-9]{2}\:[0-9]{2}\:[0-9]{2}$')).test(value) ? true : false);},email: function (value) {return ((new RegExp('^[0-9a-z\+\-\_\.]{2,50}[@]{1,1}[0-9a-z\+\-\_]{2,50}[\.]{1,1}[0-9a-z\+\-\_]{2,50}$', 'i')).test(value) ? true : false);},phone: function (value) {return ((/^[0-9\+\-\s]{0,15}$/i).test(value) ? true : false);},password: function (value) {return ((/^[0-9a-z\.\,\:\;\_\-\+]*$/i).test(value) ? true : false);},rut: function (value) {return ((/^([0-9]{6,8}\-[0-9k]{1})?$/i).test(value) ? true : false);}};var failMessages = {regexp: function () {return 'Completa correctamente el campo.';},lengthMin: function (params) {return 'El campo debe contener al menos ' + params.lengthMin + ' caracteres.';},lengthMax: function (params) {return 'El campo debe contener un máximo de ' + params.lengthMax + ' caracteres.';},length: function (params) {return 'El campo debe contener entre ' + params.lengthMin + ' y ' + params.lengthMax + ' caracteres.';},int: function () {return 'El campo debe ser numérico.';},float: function () {return 'El campo debe ser un número decimal.';},date: function () {return 'El campo debe contener una fecha válida.';},datetime: function () {return 'El campo debe contener una fecha y hora válida.';},email: function () {return 'El campo debe contener una dirección de correo electrónico válido.';},phone: function () {return 'El campo solo puede contener números y el caracter más.';},password: function () {return 'El campo solo puede contener números, letras y algunos caracteres especiales tales como .,:;_-+#@';},rut: function () {return 'El campo debe contener un Rut válido.';},callback: function () {return 'Completa correctamente el campo.';}};var _validator_ = function (name) {this.name = name;this.status = false;this.onSuccess = undefined;this.onFailure = undefined;this.msgSuccess = undefined;this.msgFailure = undefined;this.params = {};};var _field_ = function (dom, name) {this.dom = dom;this.name = name;this.value = undefined;this.status = false;this.validations = [];this.vindex = 0;this.onSuccess = undefined;this.onFailure = undefined;this.onChange = undefined;this.form = {};var self = this;this.dom.change(function () {self.update();});this.dom.keyup(function () {self.update();});};_field_.prototype.update = function () {var changed = (this.value === $.trim(this.dom.val()))? false : true;this.value = $.trim(this.dom.val());this.status = true;this.dom.next('.input-help-danger').remove();this.vindex = -1;this.validateNext();if (changed && typeof this.onChange === 'function') {this.onChange(this.form.fieldsObj);}};_field_.prototype.validateNext = function () {this.vindex++;if (this.status && typeof this.validations[this.vindex] === 'object') {var val
1idation = this.validations[this.vindex];switch (validation.name) {case 'regexp':case 'lengthMin':case 'lengthMax':case 'length':case 'int':case 'float':case 'date':case 'datetime':case 'email':case 'phone':case 'password':case 'rut':if (!validators[validation.name](this.value, validation.params)) {this.status = false;}this.validateEvent(validation);this.validateNext();break;case 'callback':if (this.form.validating) {var field = this;validation.params.callback(this.form.fieldsObj, function (status) {if (!status) {field.status = false;}field.validateEvent(validation);field.validateNext();});} else {this.validateEvent(validation);this.validateNext();}break;default:this.validateEvent(validation);this.validateNext();}} else {this.setStatus(validation);}};_field_.prototype.validateEvent = function (validation) {if (this.status) {if (typeof validation.onSuccess === 'function') {validation.onSuccess(this.form.fieldsObj);}} else {if (typeof validation.onFailure === 'function') {validation.onFailure(this.form.fieldsObj);}if (typeof validation.msgFailure === 'string') {this.dom.after('<div class="input-help-danger">' + validation.msgFailure + '</div>');} else {this.dom.after('<div class="input-help-danger">' + failMessages[validation.name](validation.params) + '</div>');}}};_field_.prototype.setStatus = function () {if (this.status) {this.dom.removeClass('input-danger');this.dom.addClass('input-success');if (typeof this.onSuccess === 'function') {this.onSuccess();}} else {this.form.status = false;this.dom.addClass('input-danger');this.dom.removeClass('input-success');if (typeof this.onFailure === 'function') {this.onFailure();}}this.form.count++;if (this.form.validating && this.form.count === this.form.fields.length) {this.form.validationComplete();}};var _form_ = function (dom) {this.dom = dom;this.fields = [];this.fieldsObj = {};this.onSuccess = function () {};this.onFailure = function () {};this.validating = false;this.status = false;this.count = 0;var self = this;this.dom.submit(function (e) {e.preventDefault();if (!this.validating) {App.loadingShow(function () {self.onSubmit();});}return false;});};_form_.prototype.onSubmit = function () {this.validating = true;this.status = true;this.count = 0;for (var x in this.fields) {this.fields[x].update();}};_form_.prototype.validationComplete = function () {this.validating = false;App.loadingHide();if (this.status) {this.onSuccess(this.fieldsObj);} else {this.onFailure(this.fieldsObj);}};App.constructor.prototype.formValidate = function (params) {var options = $.extend(true, {container: {},fields: {},onSuccess: function () {},onFailure: function () {}}, params);if ($(options.container).length > 0) {var form = new _form_($(options.container));if (typeof options.onSuccess === 'function') {form.onSuccess = options.onSuccess;}if (typeof options.onFailure === 'function') {form.onFailure = options.onFailure;}for (var fname in options.fields) {if (form.dom.find('[name="' + fname + '"]').length > 0) {var field = new _field_(form.dom.find('[name="' + fname + '"]'));field.name = fname;field.form = form;if (typeof options.fields[fname].onSuccess === 'function') {field.onSuccess = options.fields[fname].onSuccess;}if (typeof options.fields[fname].onFailure === 'function') {field.onFailure = options.fields[fname].onFailure;}if (typeof options.fields[fname].onChange === 'function') {field.onChange = options.fields[fname].onChange;}for (var vname in options.fields[fname]) {var validator = new _validator_(vname);switch (vname) {case 'regexp':validator.params.regexp = options.fields[fname].regexp.regexp;break;case 'lengthMin':validator.params.lengthMin = options.fields[fname].lengthMin.lengthMin;break;case 'lengthMax':validator.params.lengthMax = options.fields[fname].lengthMax.lengthMax;break;case 'length':validator.params.lengthMin = options.fields[fname].length.lengthMin;validator.params.lengthMax = options.fields[fname].length.lengthMax;break;case 'callback':validator.params.callback = options.fields[fname].callback.callback;break;}if (typeof options.fields[fname][vname].onFailure === 'function') {validator.onFailure = options.fields[fname][vname].onFailure;}if (typeof options.fields[fname][vname].onSuccess === 'function') {validator.onSuccess = options.fields[fname][vname].onSuccess;}if (typeof options.fields[fname][vname].msgFailure === 'string') {validator.msgFailure = options.fields[fname][vname].msgFailure;}if (typeof options.fields[fname][vname].msgSuccess === 'string') {validator.msgSuccess = options.fields[fname][vname].msgSuccess;}field.validations.push(validator);}form.fields.push(field);form.fieldsObj[field.name] = field;}}}};})();(function () {var Geo = function (params) {var vars = $.extend({dropdown: {region_id: '#dropdown-region-id', provincia_id: '#dropdown-provincia-id', comuna_id: '#dropdown-comuna-id'}}, params);this.dropdown = {region: ($(vars.dropdown.region_id).length === 1) ? App.dropdown({container: vars.dropdown.region_id})[0] : {},provincia: ($(vars.dropdown.provincia_id).length === 1) ? App.dropdown({container: vars.dropdown.provincia_id})[0] : {},comuna: ($(vars.dropdown.comuna_id).length === 1) ? App.dropdown({container: vars.dropdown.comuna_id})[0] : {}};var self = this;this.dropdown.region.input.off('change.geo').on('change.geo', function () {self.setProvincias();self.dropdown.provincia.input.val('').trigger('change');});this.dropdown.provincia.input.off('change.geo').on('change.geo', function () {self.setComunas();self.dropdown.comuna.input.val('').trigger('change');});this.dropdown.comuna.input.off('change.geo').on('change.geo', function () {});var region_id = this.getRegionId();var provincia_id = this.getProvinciaId();var comuna_id = this.getComunaId();this.setRegiones();if (region_id > 0) {this.setProvincias();if (provincia_id > 0) {this.setComunas();}}};Geo.prototype.getRegionId = function () {return ($.isNumeric(this.dropdown.region.input.val())) ? this.dropdown.region.input.val() : '0';};Geo.prototype.getProvinciaId = function () {return ($.isNumeric(this.dropdown.provincia.input.val())) ? this.dropdown.provincia.input.val() : '0';};Geo.prototype.getComunaId = function () {return ($.isNumeric(this.dropdown.comuna.input.val())) ? this.dropdown.comuna.input.val() : '0';};Geo.prototype.setRegiones = function () {var items = [];for (var x in Config.regiones) {items.push({name: Config.regiones[x].nombre, value: Config.regiones[x].id});}this.dropdown.region.updateItems(items);};Geo.prototype.setProvincias = function () {var region_id = this.getRegionId();var items = [];if (region_id > 0) {for (var x in Config.provincias) {if (Config.provincias[x].region_id === region_id) {items.push({name: Config.provincias[x].nombre, value: Config.provincias[x].id});}}}this.dropdown.provincia.updateItems(items);};Geo.prototype.setComunas = function () {var provincia_id = this.getProvinciaId();var items = [];if (provincia_id > 0) {for (var x in Config.comunas) {if (Config.comunas[x].provincia_id === provincia_id) {items.push({name: Config.comunas[x].nombre, value: Config.comunas[x].id});}}}this.dropdown.comuna.updateItems(items);};App.constructor.prototype.geo = Geo;})();(function () {var DropDown = function (params) {this.dropdown = params.dropdown;this.data = params.items;this.datamax = 20;this.timeout = 0;this.timedelay = 1000;this.hover = false;this.hover_input = false;var self = this;this.box_items = this.dropdown.children('.dropdown-items');if (this.data.length === 0) {this.box_items.children('.item').each(function () {var name = (typeof $(this).attr('data-name') === 'string') ? $(this).attr('data-name').trim() : '';var value = (typeof $(this).attr('data-value') === 'string') ? $(this).attr('data-value').trim() : '';if (name.length > 0 && value.length > 0) {self.data.push({name: name, value: value});}});}this.input_name = this.dropdown.children('.input');this.input_name.off('keyup.inputdropdown').on('keyup.inputdropdown', function (e) {self.preUpdate('input.ke
1yup');});this.input_name.off('change.inputdropdown').on('change.inputdropdown', function () {self.preUpdate('input.change');});this.input_name.off('focusin.inputdropdown').on('focusin.inputdropdown', function () {self.hover_input = true;self.preUpdate('input.focusin');});this.input_name.off('focusout.inputdropdown').on('focusout.inputdropdown', function () {self.hover_input = false;self.preUpdate('input.focusout');});var field_id = (typeof this.dropdown.attr('data-field-id') === 'string') ? this.dropdown.attr('data-field-id').trim() : '';this.input_value = ($.isArray(field_id.match(/[a-z0-9\-]+/i)) && $('#' + field_id).length > 0) ? $('#' + field_id) : $({});this.dropdown.off('mouseenter.inputdropdown').on('mouseenter.inputdropdown', function () {self.hover = true;});this.dropdown.off('mouseleave.inputdropdown').on('mouseleave.inputdropdown', function () {self.hover = false;});};DropDown.prototype.preUpdate = function (event) {var self = this;clearTimeout(this.timeout);this.timeout = setTimeout(function () {self.update(event);}, this.timedelay);};DropDown.prototype.update = function (event) {var self = this;var value = this.input_name.val().trim();if (this.data.length <= this.datamax || (this.data.length > this.datamax && value.length > 1)) {this.box_items.children('.item').remove();for (var x in this.data) {if (this.data[x].name.indexOf(value) >= 0) {var item = $('<div class="item" data-name="' + this.data[x].name + '" data-value="' + this.data[x].value + '">' + this.data[x].name + '</div>');this.box_items.append(item);item.on('click.inputdropdown', function () {var name = (typeof $(this).attr('data-name') === 'string') ? $(this).attr('data-name').trim() : '';var value = (typeof $(this).attr('data-value') === 'string') ? $(this).attr('data-value').trim() : '';self.input_name.val(name).trigger('change');self.input_value.val(value).trigger('change');self.dropdown.removeClass('active');});item.on('mouseenter.inputdropdown', function () {$(this).addClass('hover');});item.on('mouseleave.inputdropdown', function () {$(this).removeClass('hover');});}}}if (this.hover || this.input_hover) {var top = this.input_name.outerHeight() - 2;this.dropdown.addClass('active');this.box_items.css({'top': top.toString() + 'px'});} else {this.dropdown.removeClass('active');}};App.constructor.prototype.dropdownInput = function (params) {var options = $.extend({container: '.input-dropdown', items: []}, params);$(options.container).each(function () {options.dropdown = $(this);new DropDown(options);});};})();$(document).ready(function () {App.dropdownInput();});(function () {var Pagination = function (_params) {var params = $.extend({from: 0, to: 50, count: 50, total: 0}, _params);this.from = params.from;this.to = params.to;this.count = params.count;this.total = params.total;this.page_current = 0;this.page_total = 0;this.page_back = 0;this.page_next = 0;};Pagination.prototype.run = function () {this.page_total = (this.count > 0) ? Math.ceil((this.total / this.count)) : 0;if (this.page_current > this.page_total) {this.page_current = this.page_total;}if (this.page_current < 1) {this.page_current = 1;}this.from = (this.page_current - 1) * this.count;this.to = this.from + this.count;if (this.to > this.total) {this.to = this.total;}this.page_back = this.page_current - 1;this.page_next = this.page_current + 1;if (this.page_back < 1) {this.page_back = 1;}if (this.page_next > this.page_total) {this.page_next = this.page_total;}};App.constructor.prototype.pagination = Pagination;})();(function () {var options = {container: '[data-popover]', content: function(){}};App.constructor.prototype.popover = function (params) {$.extend(options, params);$(options.container).unbind('mouseenter').mouseenter(function () {if (!$(this).hasClass('disabled')) {$(this).append('<div class="popover">' + options.content($(this)) + '</div>');var popover = $(this).find('.popover:last');var marginTop = $(this).innerHeight() - 5;var marginLeft = ($(this).innerWidth() / 2) + (popover.innerWidth() / 2);popover.css({marginLeft: '-' + marginLeft + 'px', marginTop: '-' + marginTop + 'px'});}}).unbind('mouseleave').mouseleave(function () {$(this).find('.popover').remove();});};})();$(document).ready(function () {});(function () {var idx = 0;var obj = [];var Slider = function (options) {this.slider = options.slider;this.waittime = options.waittime;this.movetime = options.movetime;this.onclick = options.onclick;this.onchange = options.onchange;this.autorun = (options.autorun === 1 || options.autorun === true )? true : false;this.clickstop = (options.clickstop === 1 || options.clickstop === true )? true : false;this.timeout1 = 0;this.timeout2 = 0;this.index = 0;this.pctg = 0;this.enable = true;this.step = 1;this.leap = 0;this.stage = 0;this.operation = '';var self = this;
1this.slider.attr('data-slider-idx', options.idx);if(typeof this.slider.attr('data-movetime') === 'string'){this.movetime = parseInt(this.slider.attr('data-movetime'));}if(typeof this.slider.attr('data-waittime') === 'string'){this.waittime = parseInt(this.slider.attr('data-waittime'));}if(this.slider.attr('data-autorun') === '1' || this.slider.attr('data-autorun') === 'true'){this.autorun = true;}if(this.slider.attr('data-clickstop') === '1' || this.slider.attr('data-clickstop') === 'true'){this.clickstop = true;}this.box_items = this.slider.find('> .slider-box');this.btn_left = this.slider.find('> .slider-left');this.btn_right = this.slider.find('> .slider-right');this.items = this.slider.find('> .slider-box > .slider-item');this.points = this.slider.find('> .slider-point > span');if (this.items.length > 1) {this.btn_left.off('click.slider').on('click.slider', function () {if (self.enable) {self.run((self.index - 1), 'click');}});this.btn_right.off('click.slider').on('click.slider', function () {if (self.enable) {self.run((self.index + 1), 'click');}});this.points.off('click.slider').on('click.slider', function () {if (self.enable && !$(this).hasClass('active')) {var index = self.points.index($(this));self.run(index, 'click');}});if (this.autorun) {self.waitRun((self.index + 1), 'auto');}}};Slider.prototype.stop = function () {clearTimeout(this.timeout1);clearTimeout(this.timeout2);this.timeout1 = 0;this.timeout2 = 0;};Slider.prototype.waitRun = function (index, event) {var self = this;this.timeout1 = setTimeout(function () {self.run(index, event);}, this.waittime);};Slider.prototype.move = function (index, event) {var self = this;if (this.operation === '+') {this.pctg -= this.leap;} else {this.pctg += this.leap;}this.box_items.css({marginLeft: this.pctg + '%'});this.stage += this.step;if (this.stage >= 100) {this.points.each(function (x) {$(this).removeClass('active');if (x === index) {$(this).addClass('active');}});this.index = index;this.enable = true;this.onchange(this.index);if (!(event === 'click' && this.clickstop === true) && this.autorun === true) {this.waitRun((this.index + 1), 'auto');}} else {this.timeout2 = setTimeout(function () {self.move(index, event);}, (this.movetime/100));}};Slider.prototype.run = function (index, event) {var self = this;this.enable = false;this.stop();if (index < 0) {index = self.items.length - 1;}if (index >= self.items.length) {index = 0;}if (index >= this.index) {this.leap = ((index - this.index) * 100) / (100 / this.step);this.operation = '+';} else {this.leap = ((this.index - index) * 100) / (100 / this.step);this.operation = '-';}if(event === 'click'){this.onclick(index);}this.stage = 0;this.move(index, event);};App.constructor.prototype.slider = function (params) {var options = $.extend({container: '.slider', waittime: 5000, movetime: 1000, onclick: function(){}, onchange: function(){}, autorun: 0, clickstop: 0}, params);$(options.container).each(function () {options.slider = $(this);options.idx = (typeof $(this).attr('data-slider-idx') === 'string') ? parseInt($(this).attr('data-slider-idx')) : -1;if (options.idx >= 0) {obj[options.idx].stop();obj[options.idx] = new Slider(options);} else {options.idx = idx;obj.push(new Slider(options));idx++;}});};})();$(document).ready(function () {App.slider();});(function () {var idx = 0;var obj = [];var Tab = function (tab, onclick, idx) {this.tab = tab;this.idx = idx;this.onclick = onclick;var self = this;this.tab.attr('data-tab-idx', this.idx);this.tab.find('> .tab-head > .tab-title').off('click.tab').on('click.tab', function () {self.click($(this));});var index = ($.isNumeric(tab.attr('data-index'))) ? this.tab.attr('data-index') : '0';this.tab.find('> .tab-head > .tab-title').eq(index).click();};Tab.prototype.click = function (btn) {var index = this.tab.find('> .tab-head > .tab-title').index(btn);this.tab.attr('data-index', index);this.tab.find('> .tab-head > .tab-title').removeClass('active');this.tab.find('> .tab-body > .tab-content').removeClass('active');this.tab.find('> .tab-head > .tab-title').eq(index).addClass('active');this.tab.find('> .tab-body > .tab-content').eq(index).addClass('active');this.onclick(index);};App.constructor.prototype.tab = function (params) {var options = $.extend({container: '.tab', onClick: function () {}}, params);$(options.container).each(function () {var eidx = (typeof $(this).attr('data-tab-idx') === 'string') ? parseInt($(this).attr('data-tab-idx')) : -1;if (eidx >= 0) {obj[eidx] = new Tab($(this), options.onClick, eidx);} else {obj.push(new Tab($(this), options.onClick, idx));idx++;}});};})();$(document).ready(function () {App.tab();});(function () {var ToolTip = function (element) {this.element = element;this.interval = 0;this.container = $('.container-tooltip');this.tooltip = $('<div class="tooltip">' + this.element.attr('data-tooltip') + '</div>');this.styles = {};if (typeof this.element.attr('data-style') === 'string' && this.element.attr('data-style').trim().length > 0) {var styles = this.element.attr('data-style').split(';');for (var x in styles) {var style = styles[x].split(':');if(style.length === 2){this.styles[style[0].trim()] = style[1].trim();}}}var self = this;this.element.unbind('mouseenter.tooltip').on('mouseenter.tooltip', function () {if(!$(this).hasClass('disabled')){self.onEnter();}}
1);this.element.unbind('mouseleave.tooltip').on('mouseleave.tooltip', function () {self.onLeave();});};ToolTip.prototype.onEnter = function () {this.container.append(this.tooltip);console.log($(document).scrollTop());console.log(this.element.offset());var top = parseInt(this.element.offset().top) - (this.tooltip.outerHeight(true)) - $(document).scrollTop();var left = parseInt(this.element.offset().left) + (this.element.outerWidth() / 2) - (this.tooltip.outerWidth() / 2) -1;this.styles.top = top.toString() + 'px';this.styles.left = left.toString() + 'px';this.tooltip.css(this.styles);var self = this;this.interval = setInterval(function () {if (!self.element.is(":hover")) {self.onLeave();}}, 1000);};ToolTip.prototype.onLeave = function () {clearInterval(this.interval);this.tooltip.remove();};App.constructor.prototype.tooltip = function (params) {var options = $.extend({container: '[data-tooltip]'}, params);var obj;$(options.container).each(function () {if (typeof $(this).attr('data-tooltip') === 'string' && $(this).attr('data-tooltip').trim().length > 0) {obj = new ToolTip($(this));}});};})();$(document).ready(function () {App.tooltip();});(function () {var winbox = function (dom, opt) {var self = this;this.dom = dom;this.dom.find('.btn-close').off('click').on('click', function () {self.hide();});this.dom.off('click').on('click', function (e) {if ($(e.target).hasClass('window-container') && self.dom.attr('id') === $(e.target).attr('id')) {self.hide();}});this.shown = opt.shown;this.hidden = opt.hidden;if (opt.status === 'show') {this.show();}};winbox.prototype.show = function () {this.dom.addClass('active');$('body').css({'overflow': 'hidden'});this.shown();};winbox.prototype.hide = function () {var self = this;this.dom.addClass('desactive').delay(250).queue(function (next) {self.dom.removeClass('active').removeClass('desactive');if ($('.window-container:visible').length === 0) {$('body').css({'overflow': 'auto'});}next();self.hidden();});};App.constructor.prototype.window = function (params) {var options = $.extend({container: '.window-container', status: 'show', shown: function () {}, hidden: function () {}}, params);var array = [];$(options.container).each(function () {array.push(new winbox($(this), options));});return (array.length === 1) ? array[0] : array;};})();$(document).ready(function () {});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.