/*========================================= Init Calendar - funcion que inicia los parametros para agregar los calendarios de acuerdo al tipo de calendiario son inicialializados. ===========================================*/ function initCalendar(_parameters) { _parameters.minIntOne = (!("minIntOne" in _parameters)) ? 0 : _parameters.minIntOne; _parameters.minIntTwo = (!("minIntTwo" in _parameters)) ? 1 : _parameters.minIntTwo; _parameters.minDateOne = (!("minDateOne" in _parameters)) ? Date.today().add(_parameters.minIntOne).days() : _parameters.minDateOne; _parameters.minDateTwo = (!("minDateTwo" in _parameters)) ? (new Date(_parameters.minDateOne)).add(_parameters.minIntTwo).days() : _parameters.minDateTwo; _parameters.numberOfMonths = ("numberOfMonths" in _parameters) ? _parameters.numberOfMonths : 1; _parameters.calendarType = ("calendarType" in _parameters) ? _parameters.calendarType : 1; _parameters.Lang = ("Lang" in _parameters) ? _parameters.Lang : "ES"; initCalendarUi(_parameters); } /*========================================= Init Calendar UI - funcion que agrega los calendarios de Jquery Ui ===========================================*/ function initCalendarUi(_parametersUi) { _parametersUi.img = (!("img" in _parametersUi)) ? 'images/calendar.gif' : _parametersUi.img; _parametersUi.format = (!("format" in _parametersUi)) ? 'dd-mm-yy' : _parametersUi.format; if (_parametersUi.type == 'ui') { } if (_parametersUi.calendarType == 'month') { initCalendarMonth(_parametersUi); } else { $(_parametersUi.selectorOne).datepicker({ buttonImage: _parametersUi.img, buttonImageOnly: true, dateFormat: _parametersUi.format, minDate: _parametersUi.minDateOne, numberOfMonths: _parametersUi.numberOfMonths, maxDate: 350, beforeShow: function() { if ('beforeShowDay' in _parametersUi) _parametersUi.beforeShow(); } }).bind({ change: function() { validateBetweenDateUI(_parametersUi); if ("fnChangeOne" in _parametersUi) { _parametersUi.fnChangeOne(this); } } }); if ('timeTwo' in _parametersUi) { } else { $(_parametersUi.selectorTwo).datepicker({ buttonImage: _parametersUi.img, buttonImageOnly: true, dateFormat: _parametersUi.format, minDate: _parametersUi.minDateTwo, maxDate: 350, numberOfMonths: _parametersUi.numberOfMonths, beforeShow: function() {} }).bind({ change: function() { validateBetweenDateUI(_parametersUi); if ("fnChangeTwo" in _parametersUi) { _parametersUi.fnChangeTwo(this); } } }); /*.focus(function () { $(this).datepicker("show"); });*/ // $(_parametersUi.selectorTwo).datepicker("option", $.datepicker.regional["es"]); } } regionalDatepicker(); } /*========================================= Validate Between Date UI - funcion que valida los calendarios de Jquery UI ===========================================*/ function validateBetweenDateUI(_parametersUi) { checkFormatDate(_parametersUi); var _dateOne = $(_parametersUi.selectorOne).datepicker('getDate'); var _dateTwo = $(_parametersUi.selectorTwo).datepicker('getDate'); if (!_dateOne) { $(_parametersUi.selectorOne).datepicker('setDate', _parametersUi.minDateOne); $(_parametersUi.selectorTwo).datepicker('setDate', _parametersUi.minDateTwo); return null; } var _dateDiferent = _dateOne.add(_parametersUi.minIntTwo).days(); if (typeof _dateTwo == 'undefined' || _dateTwo == null || _dateTwo.length == 0) { //sino existe hacer este proceso; _dateTwo = _dateDiferent; } if ((_dateOne.getTime() >= _dateTwo.getTime()) || (_dateDiferent.getTime() >= _dateTwo.getTime())) { _dateTwo = _dateDiferent; $(_parametersUi.selectorTwo).datepicker("option", "minDate", _dateTwo); } else $(_parametersUi.selectorTwo).datepicker("option", "minDate", _dateOne); } function validateBetweenDateMonthUI(_parametersUi, selectedDate) { formatJS = "dd-MM-yyyy"; var _dateOne = $(_parametersUi.selectorOne).MonthPicker('GetSelectedDate'); var _dateTwo = $(_parametersUi.selectorTwo).MonthPicker('GetSelectedDate'); if (!_dateOne) { $(_parametersUi.selectorOne).val(_parametersUi.minDateOne.toString(formatJS)); $(_parametersUi.selectorTwo).val(_parametersUi.minDateTwo.toString(formatJS)); return null; } var _dateDiferent = _dateOne.add(_parametersUi.minIntTwo).days(); if (typeof _dateTwo == 'undefined' || _dateTwo == null || _dateTwo.length == 0) { //sino existe hacer este proceso; _dateTwo = _dateDiferent; } if ((_dateOne.getTime() >= _dateTwo.getTime()) || (_dateDiferent.getTime() >= _dateTwo.getTime())) { _dateTwo = _dateDiferent; $(_parametersUi.selectorTwo).MonthPicker('option', 'MinMonth', _dateTwo); $(_parametersUi.selectorTwo).val(_dateTwo.toString(formatJS)); } else { $(_parametersUi.selectorTwo).MonthPicker('option', 'MinMonth', _dateOne); } if (selectedDate.getTime() < Date.now().getTime()) { $(_parametersUi.selectorOne).val(_parametersUi.minDateOne.toString(formatJS)); } } function regionalDatepicker() { $.datepicker.regional.es = { closeText: "Cerrar", prevText: "<Ant", nextText: "Sig>", 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é", "jue", "vie", "sáb"], dayNamesMin: ["DO", "LU", "MA", "MI", "JU", "VI", "SA"], weekHeader: "Sm", dateFormat: "dd-mm-yy", firstDay: 1, isRTL: false, showMonthAfterYear: false, yearSuffix: "" }; $.datepicker.regional.en = { closeText: "Done", prevText: "Prev", nextText: "Next", currentText: "Today", monthNames: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" ], monthNamesShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "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: "Wk", dateFormat: "dd-mm-yy", firstDay: 1, isRTL: false, showMonthAfterYear: false, yearSuffix: "" }; $.datepicker.regional.pt = { closeText: "Fechar", prevText: "<Anterior", nextText: "Próximo>", currentText: "Hoje", monthNames: ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro" ], monthNamesShort: ["Jan", "Fev", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Out", "Nov", "Dez" ], dayNames: ["Domingo", "Segunda-feira", "Terça-feira", "Quarta-feira", "Quinta-feira", "Sexta-feira", "Sábado"], dayNamesShort: ["Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sáb"], dayNamesMin: ["Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sáb"], weekHeader: "Sm", dateFormat: "dd/mm/yy", firstDay: 0, isRTL: false, showMonthAfterYear: false, yearSuffix: "" }; var regional = "es"; $.datepicker.setDefaults($.datepicker.regional[regional]); } function checkFormatDate(_parametersUi) { try { var date1 = $(_parametersUi.selectorOne).datepicker('getDate'); if (date1.toString("dd-MM-yyyy") != $(_parametersUi.selectorOne).val()) $(_parametersUi.selectorOne).datepicker('setDate', null); } catch (e) { $(_parametersUi.selectorOne).datepicker('setDate', null); } try { var date1 = $(_parametersUi.selectorTwo).datepicker('getDate'); if (date1.toString("dd-MM-yyyy") != $(_parametersUi.selectorTwo).val()) $(_parametersUi.selectorTwo).datepicker('setDate', null); } catch (e) { $(_parametersUi.selectorTwo).datepicker('setDate', null); } } var MonthLangES = { year: 'Año', buttonText: 'Mes', prevYear: "año Ant", nextYear: "Año Sig", next12Years: 'Sig. 12 años', prev12Years: '12 años antes', nextLabel: "Sig", prevLabel: "Ant.", jumpYears: "Saltar", backTo: "Volver a", months: ["Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Agos", "Sept", "Oct", "Nov", "Dic"] } var MonthLangPT = { year: 'Ano', buttonText: 'Mês', prevYear: "ano Ant", nextYear: "Ano Sig", next12Years: 'Sig. 12 anos', prev12Years: '12 anos antes', nextLabel: "Sig", prevLabel: "Ant.", jumpYears: "Saltar", backTo: "Retorno", months: ["Jan", "Fev", "Març", "Abr", "Mai", "Jun", "Jul", "Agos", "Set", "Out", "Nov", "Dez"] } function initCalendarMonth(_parametersUi) { var formatJsDate = "dd-MM-yyyy"; var ii18 = MonthLangES; if (_parametersUi.Lang == "PT") ii18 = MonthLangPT; var today = Date.now(); $(_parametersUi.selectorOne).val(_parametersUi.minDateOne.toString(formatJsDate)); $(_parametersUi.selectorTwo).val(_parametersUi.minDateTwo.toString(formatJsDate)); $(_parametersUi.selectorOne).MonthPicker({ Button: false, MinMonth: _parametersUi.minDateOne, MonthFormat: _parametersUi.format, i18n: ii18 }); $(_parametersUi.selectorOne).MonthPicker('option', 'OnAfterChooseMonth', function(selectedDate) { validateBetweenDateMonthUI(_parametersUi, selectedDate); }); $(_parametersUi.selectorTwo).MonthPicker({ Button: false, MinMonth: _parametersUi.minDateTwo, MonthFormat: _parametersUi.format, i18n: ii18 }); $(_parametersUi.selectorTwo).MonthPicker('option', 'OnAfterChooseMonth', function(selectedDate) { validateBetweenDateMonthUI(_parametersUi, selectedDate); }); }