// source --> https://lohnapood.ee/wp-content/plugins/woo-shipping-dpd-baltic/public/js/dpd-public.js?ver=1.2.89 
(function( $, window, document ) {
	'use strict';

	$( document ).ready(function(){
		setTimeout(function() {

			var lang = $("html").attr("lang");
			if(lang == 'lt-LT') {
				var placeholder = 'Pasirinkite DPD Pickup tašką';
			}else {
				var placeholder = 'Choose a Pickup Point';
			}
			var search_value = $('.js--pudo-search').val();
			// alert(placeholder);
			$(".pickup-points-classic-select2").select2({
				dropdownAutoWidth : true,
				allowClear: true,
				minimumInputLength: 0,
				placeholder: placeholder,
				ajax: {
					url: '/wp-admin/admin-ajax.php',
					dataType: 'json',
					// delay: 100,
					data: function (params) {
						return {
							q: params.term, // search term
							search_value: search_value,
							// page: params.page,
							// action: 'get_data'
							action: 'search_pudo'
						};
					},
					processResults: function (data, params) {
						var options = []
						if( data.terminals ) {
							// data is the array of arrays with an ID and a label of the option
							$.each( data.terminals, function( index, text ) {
								options.push( { id: text['parcelshop_id'], text: text['company'] + ' ' + text['street']+ ' ' + text['city'] + ' ' + text['country'] + '-' + text['pcode'], cod: text['cod'], value:text['parcelshop_id'] } )
							})
						}
						return {
							results: options
						}
					},
					cache: false
				},
				// placeholder: 'Search for a pickup point',
				// minimumInputLength: 1,
				templateSelection: function(container) {
					$(container.element).attr("data-cod", container.cod);
					$(container.element).attr("data-value", container.value);
					return container.text;
				}

			});
		}, 1000);

	});

	function parcelChange() {
		let $wc_shipping_dpd_parcels_terminal = $( '#wc_shipping_dpd_parcels_terminal' );
		let cod                               = 0;

		cod = $wc_shipping_dpd_parcels_terminal.find( ':selected' ).data( 'cod' );

		$( document ).on(
			'change',
			'#wc_shipping_dpd_parcels_terminal',
			function(){

				let $this = $( this );
				cod       = $this.find( ':selected' ).data( 'cod' );

				set_session( cod );

			}
		);
	}

	function shipping_method_change() {

		$( document.body ).on(
			'click',
			'input[name="shipping_method[0]"]',
			function() {

				set_session( 1 );

				var selected_value = $(this).val();

				if (selected_value.indexOf("parcels") > 0) {
					setTimeout(function() {
						var lang = $("html").attr("lang");
						if(lang == 'lt-LT') {
							var placeholder = 'Pasirinkite DPD Pickup tašką';
						}else {
							var placeholder = 'Choose a Pickup Point';
						}
						var search_value = $('.js--pudo-search').val();
						$(".pickup-points-classic-select2").select2({
							dropdownAutoWidth : true,
							allowClear: true,
							minimumInputLength: 0,
							placeholder: placeholder,
							ajax: {
								url: '/wp-admin/admin-ajax.php',
								dataType: 'json',
								// delay: 100,
								data: function (params) {
									return {
										q: params.term, // search term
										search_value: search_value,
										// page: params.page,
										// action: 'get_data'
										action: 'search_pudo'
									};
								},
								processResults: function (data, params) {
									// console.log(data);
									// console.log(data.total_count);
									// parse the results into the format expected by Select2
									// since we are using custom formatting functions we do not need to
									// alter the remote JSON data, except to indicate that infinite
									// scrolling can be used
									// params.page = params.page || 1;
									//
									// return {
									//     results: data,
									//     pagination: {
									//         more: (params.page * 30) < data.total_count
									//     }
									// };
									var options = []
									if( data.terminals ) {
										// data is the array of arrays with an ID and a label of the option
										$.each( data.terminals, function( index, text ) {
											options.push( { id: text['parcelshop_id'], text: text['company'] + ' ' + text['street']+ ' ' + text['city'] + ' ' +text['country']+ '-' + text['pcode'], cod: text['cod'], value:text['parcelshop_id'] } )
										})
									}
									return {
										results: options
									}
								},
								cache: false
							},
							// placeholder: 'Search for a pickup point',
							// minimumInputLength: 1,
							templateSelection: function(container) {
								$(container.element).attr("data-cod", container.cod);
								$(container.element).attr("data-value", container.value);
								return container.text;
							}

						});
					}, 1000);
				}

			}
		);

	}

	function payment_method_change() {

		$( document.body ).on(
			'change',
			"[name='payment_method']",
			function() {
				$( document.body ).trigger( "update_checkout" );
			}
		);

	}

	function country_change() {

		$( document.body ).on(
			'change',
			"[name='billing_country']",
			function(e) {
				setTimeout(function() {
					var lang = $("html").attr("lang");
					if(lang == 'lt-LT') {
						var placeholder = 'Pasirinkite DPD Pickup tašką';
					}else {
						var placeholder = 'Choose a Pickup Point';
					}
					$(".pickup-points-classic-select2").select2({
						dropdownAutoWidth : true,
						allowClear: true,
						minimumInputLength: 0,
						placeholder: placeholder,
						ajax: {
							url: '/wp-admin/admin-ajax.php',
							dataType: 'json',
							// delay: 100,
							data: function (params) {
								return {
									q: params.term, // search term
									// page: params.page,
									// action: 'get_data'
									action: 'search_pudo'
								};
							},
							processResults: function (data, params) {
								// console.log(data);
								// console.log(data.total_count);
								// parse the results into the format expected by Select2
								// since we are using custom formatting functions we do not need to
								// alter the remote JSON data, except to indicate that infinite
								// scrolling can be used
								// params.page = params.page || 1;
								//
								// return {
								//     results: data,
								//     pagination: {
								//         more: (params.page * 30) < data.total_count
								//     }
								// };
								var options = []
								if( data.terminals ) {
									// data is the array of arrays with an ID and a label of the option
									$.each( data.terminals, function( index, text ) {
										options.push( { id: text['parcelshop_id'], text: text['company'] + ' ' + text['street']+ ' ' + text['city'] + ' ' +text['country']+ '-' + text['pcode'], cod: text['cod'], value:text['parcelshop_id'] } )
									})
								}
								return {
									results: options
								}
							},
							cache: false
						},
						// placeholder: 'Search for a pickup point',
						// minimumInputLength: 1,
						templateSelection: function(container) {
							$(container.element).attr("data-cod", container.cod);
							$(container.element).attr("data-value", container.value);
							return container.text;
						}

					});
				}, 1500);
			}
		);

	}

	function set_session( cod ) {
		let data = {
			'action': 'set_checkout_session',
			'cod': cod,
			'fe_ajax_nonce': dpd.fe_ajax_nonce
		};

		let obj = null;

		if (typeof wc_checkout_params !== 'undefined') {
			obj = wc_checkout_params;
		} else if (typeof wc_cart_params !== 'undefined') {
			obj = wc_cart_params;
		}

		if (obj !== null) {
			$.post(
				obj.ajax_url,
				data,
				function() {
					setTimeout(
						function () {
							$( document.body ).trigger( "update_checkout" );
						},
						300
					);
				}
			);
		}
	}

	function timeShiftChange(){
		$( document.body ).on(
			'change',
			"[name='wc_shipping_dpd_home_delivery_shifts']",
			function() {
				var delivery_shifts = $(this).val();

				if ($("body").hasClass('theme-Divi')) {
					$.ajax({
						url: '/wp-admin/admin-ajax.php',
						type: 'POST',
						data: {
							action: 'set_delivery_shifts',
							delivery_shifts: delivery_shifts,
						},
						dataType: 'json',
						success: function(response) {
						},
						error: function(error) {
							console.error('AJAX Error:', error);
						}
					});
				}
				$( document.body ).trigger( "update_checkout" );
			}
		);
	}

	function setInputValue(input, value) {
		input.value = value; // Nustatome reikšmę
		input.focus(); // Fokusavimas, jei reikia
		setTimeout(() => {
			input.setSelectionRange(value.length, value.length); // Perkeliame žymeklį į pabaigą
		}, 0); // Leidžiame DOM atnaujinti reikšmę
	}

	function debounce(func, delay) {
		let timer;
		return function (...args) {
			clearTimeout(timer);
			timer = setTimeout(() => func.apply(this, args), delay);
		};
	}

	function setInputValueSafely(input, value) {
		let currentValue = input.value;
		let selectionStart = input.selectionStart; // Išsaugome žymeklio vietą

		if (currentValue !== value) { // Tik jei reikšmė skiriasi
			input.value = value;

			// Naudojame `requestAnimationFrame`, kad užtikrintume žymeklio perkėlimą po DOM atnaujinimo
			requestAnimationFrame(() => {
				input.setSelectionRange(value.length, value.length); // Perkeliame žymeklį į pabaigą
			});
		}
	}

	function pudoSelection() {
		const parcelsTerminalElement = $('#wc_shipping_dpd_parcels_terminal');
		const selectedValueDefault = parcelsTerminalElement.val();
		const selectedTextDefault = parcelsTerminalElement.text();
		const selectedCOD = parcelsTerminalElement.attr('data-cod');

		if (selectedValueDefault !== '') {
			$('.custom-dropdown .selected-option').text(selectedValueDefault);

			if (selectedCOD != undefined) {
				$('.custom-dropdown .selected-option').attr('data-cod', selectedCOD);
				set_session( selectedCOD );
			}
		}

		$(document).on('click', function (event) {
			if (!$(event.target).closest('.custom-dropdown').length) {
				$('.custom-dropdown .dropdown-list').removeClass('active');
			}
		});

		$( document.body ).on('click', '.custom-dropdown .dropdown-list .pudo', function () {

			var selectedValue = $(this).attr('data-value');

			if ($("body").hasClass('theme-Divi')) {
				$.ajax({
					url: '/wp-admin/admin-ajax.php',
					type: 'POST',
					data: {
						action: 'set_terminal_value',
						selected_value: selectedValue,
					},
					dataType: 'json',
					success: function(response) {
					},
					error: function(error) {
						console.error('AJAX Error:', error);
					}
				});
			}


			var dataCOD = $(this).attr('data-cod');
			var selectedText = $(this).text();

			$(this).closest('.custom-dropdown').find('.selected-option').text(selectedText);
			$(this).closest('.custom-dropdown').find('input').val(selectedValue);

			$('#wc_shipping_dpd_parcels_terminal').val(selectedValue);
			$('.custom-dropdown .selected-option').attr('data-cod', dataCOD);

			$(this).closest('.dropdown-list').removeClass('active');
		});

		var keyTimer = null;

		let currentRequest = null;

		$(document).on('input', '.custom-dropdown .js--pudo-search', debounce(function () {
			var search_value = $(this).val().trim();  // Get the input value
			// var search_value = $(this).val();

			// // If there's an ongoing AJAX request, cancel it
			if (currentRequest) {
				currentRequest.abort();
			}

			// Only trigger AJAX if there's input (optional)
			currentRequest = $.ajax({
				url: '/wp-admin/admin-ajax.php',
				type: 'POST',
				data: {
					action: 'search_pudo',
					search_value: search_value,
				},
				dataType: 'json',
				success: function(response) {
					// Handle the response and update the dropdown
					$('.custom-dropdown .dropdown-list .dropdown-list-search-list').empty().append(response.terminals);

					// $('.custom-dropdown .js--pudo-search').val(search_value);

					// Focus the input and move the cursor to the end of the value
					// var inputField = $('.custom-dropdown .js--pudo-search')[0];
					// inputField.focus();
					// inputField.setSelectionRange(inputField.value.length, inputField.value.length); // Move cursor to the end
					// var inputField = $('.custom-dropdown .js--pudo-search')[0];
					// inputField.focus();
					// inputField.setSelectionRange(inputField.value.length, inputField.value.length);
				},
				error: function(error) {
					console.error('AJAX Error:', error);
				}
			});
		}, 100));

		// keyup change paste keyup
		// $( document).on('input', '.custom-dropdown .js--pudo-search', function () {
		// 	if (keyTimer) { // Cancel a previous timer
		// 		clearTimeout(keyTimer);
		// 	}
		// 	let search_value = $(this).val();
		//
		// 	keyTimer = setTimeout(function() { // Start a new timer
		// 		keyTimer = null;
		// 		// AJAX call...
		// 		$.ajax({
		// 			url: '/wp-admin/admin-ajax.php',
		// 			type: 'POST',
		// 			data: {
		// 				action: 'search_pudo',
		// 				search_value: search_value,
		// 			},
		// 			dataType: 'json',
		// 			success: function(response) {
		// 				$('.custom-dropdown .dropdown-list').empty();
		// 				$('.custom-dropdown .dropdown-list').append(response.terminals);
		//
		//
		// 				// let input = document.querySelector('.custom-dropdown .js--pudo-search');
		// 				// setInputValue(input, search_value); // Nustatome reikšmę be klaidų
		// 				// $('.custom-dropdown .js--pudo-search').val('').val(search_value).focus();
		// 				// $('.custom-dropdown .js--pudo-search').focus().val('').val(search_value);
		// 				// $('.custom-dropdown .js--pudo-search').focus().val('').val(search_value);
		// 			},
		// 			error: function(error) {
		// 				console.error('AJAX Error:', error);
		// 			}
		// 		});
		// 	}, 400); // Wait at least 200ms
		//
		//
		// });

		// $( document.body ).on('change', '.custom-dropdown .pickup-points-classic-select2', function () {
		// 	var selectedValue = $(".pickup-points-classic-select2 option:selected").attr('data-value');
		//
		// 	var dataCOD = $(".pickup-points-classic-select2 option:selected").attr('data-cod');
		// 	var selectedText = $(".pickup-points-classic-select2 option:selected").text();
		//
		// 	$(this).closest('.custom-dropdown').find('.selected-option').text(selectedText);
		// 	$(this).closest('.custom-dropdown').find('input').val(selectedValue);
		//
		// 	$('#wc_shipping_dpd_parcels_terminal').val(selectedValue);
		// 	$('.custom-dropdown .selected-option').attr('data-cod', dataCOD);
		//
		// 	$(this).closest('.dropdown-list').removeClass('active');
		// 	$(this).closest('.dropdown-list').toggle();
		//
		// 	// var selectedValue = $(this).attr('data-value');
		// 	//
		// 	// var dataCOD = $(this).attr('data-cod');
		// 	// var selectedText = $(this).text();
		// 	//
		// 	// $(this).closest('.custom-dropdown').find('.selected-option').text(selectedText);
		// 	// $(this).closest('.custom-dropdown').find('input').val(selectedValue);
		// 	//
		// 	// $('#wc_shipping_dpd_parcels_terminal').val(selectedValue);
		// 	// $('.custom-dropdown .selected-option').attr('data-cod', dataCOD);
		// 	//
		// 	// $(this).closest('.dropdown-list').removeClass('active');
		// });

		$( document.body ).on('click', '.custom-dropdown .selected-option', function () {
			$(this).siblings('.dropdown-list').toggleClass('active');
		});

		// $( document.body ).on('click', '.custom-dropdown .selected-option', function () {
		// 	// alert('test');
		// 	$('.select2-div').toggle();
		// 	$(".pickup-points-classic-select2").select2({
		// 		dropdownAutoWidth : true,
		// 		allowClear: true,
		// 		minimumInputLength: 0,
		// 		ajax: {
		// 			url: '/wp-admin/admin-ajax.php',
		// 			dataType: 'json',
		// 			// delay: 100,
		// 			data: function (params) {
		// 				return {
		// 					q: params.term, // search term
		// 					// page: params.page,
		// 					action: 'get_data'
		// 				};
		// 			},
		// 			processResults: function (data, params) {
		// 				// console.log(data);
		// 				// console.log(data.total_count);
		// 				// parse the results into the format expected by Select2
		// 				// since we are using custom formatting functions we do not need to
		// 				// alter the remote JSON data, except to indicate that infinite
		// 				// scrolling can be used
		// 				// params.page = params.page || 1;
		// 				//
		// 				// return {
		// 				//     results: data,
		// 				//     pagination: {
		// 				//         more: (params.page * 30) < data.total_count
		// 				//     }
		// 				// };
		// 				var options = []
		// 				if( data ) {
		// 					// data is the array of arrays with an ID and a label of the option
		// 					$.each( data, function( index, text ) {
		// 						options.push( { id: text['parcelshop_id'], text: text['company'] + ' ' + text['street']+ ' ' + text['city'], cod: text['cod'], value:text['parcelshop_id'] } )
		// 					})
		// 				}
		// 				return {
		// 					results: options
		// 				}
		// 			},
		// 			cache: false
		// 		},
		// 		// placeholder: 'Search for a pickup point',
		// 		// minimumInputLength: 1,
		// 		templateSelection: function(container) {
		// 			$(container.element).attr("data-cod", container.cod);
		// 			$(container.element).attr("data-value", container.value);
		// 			return container.text;
		// 		}
		//
		// 	});
		// 	// $(this).siblings('.dropdown-list').toggleClass('active');
		// });
	}

	function loadMore() {
		$( document.body ).on(
			'click',
			'#load-more-btn',
			function() {
				loadMoreItems();
			}
		);
	}

	function loadMoreItems() {
		let obj = null;
		let loadMoreButton = $('#load-more-btn');

		if (typeof wc_checkout_params !== 'undefined') {
			obj = wc_checkout_params;
		} else if (typeof wc_cart_params !== 'undefined') {
			obj = wc_cart_params;
		}

		$('.load-more').text('Loading...');
		let page = parseInt(loadMoreButton.attr('load-more-page') || 1);
		page = page + 1;

		$.ajax({
			url: obj.ajax_url,
			type: 'POST',
			data: {
				action: 'load_more_items',
				page: page,
			},
			success: function(response) {
				$('.load-more').text('Load More');

				if (response.success) {
					appendItems(response.data.listPudos);
					loadMoreButton.attr('load-more-page', page);

					if (!response.data.hasMore) {
						loadMoreButton.addClass('hidden');
					}
				} else {
					console.error('Error:', response.data);
				}
			},
			error: function(error) {
				$('.load-more').text('Load More');
				console.error('AJAX Error:', error);
			}
		});
	}

	function getGroupedTerminals(terminals) {
		var groupedTerminals = {};
		var groupedTerminalResponse = [];

		terminals.forEach(function (terminal) {
			if (!groupedTerminals[terminal.city] && terminal.status === '1') {
				groupedTerminals[terminal.city] = [];
			}

			if (terminal.status === '1') {
				groupedTerminals[terminal.city].push(terminal);
			}
		});


		Object.keys(groupedTerminals).sort().forEach(function (group) {
			let object = {
				'city': group,
				'items': groupedTerminals[group]
			}

			groupedTerminalResponse.push(object);
		});

		return groupedTerminalResponse;
	}

	function getFormattedTerminalName(terminal) {
		return terminal.name;
	}

	function appendItems(items) {
		let groupedTerminals = getGroupedTerminals(items);
		let groupPudo = '';

		groupedTerminals.forEach(function(terminal) {
			groupPudo = groupPudo + appendPudoGroup(terminal);
		});

		$('.custom-dropdown .dropdown-list li:last').after(groupPudo);
	}

	function appendPudoGroup(groupPudoData) {
		let groupPudo = '<li class="group-pudo">' + groupPudoData.city + '</li>';

		groupPudoData.items.forEach(function(pudo) {
			let child = '<li class="pudo" data-cod="" data-value="' + pudo.parcelshop_id + '">' + pudo.company + '</li>';

			groupPudo = groupPudo + child;
		});

		return groupPudo;
	}

	$(
		function() {
			parcelChange();
			shipping_method_change();
			// payment_method_change();
			timeShiftChange();
			pudoSelection();
			loadMore();
			country_change();
		}
	);

})( window.jQuery, window, document );
// source --> https://lohnapood.ee/wp-content/plugins/woocommerce/assets/js/jquery-blockui/jquery.blockUI.min.js?ver=2.7.0-wc.10.7.0 
/*!
 * jQuery blockUI plugin
 * Version 2.70.0-2014.11.23
 * Requires jQuery v1.7 or later
 *
 * Examples at: http://malsup.com/jquery/block/
 * Copyright (c) 2007-2013 M. Alsup
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 *
 * Thanks to Amir-Hossein Sobhi for some excellent contributions!
 */
!function(){"use strict";function e(e){e.fn._fadeIn=e.fn.fadeIn;var t=e.noop||function(){},o=/MSIE/.test(navigator.userAgent),n=/MSIE 6.0/.test(navigator.userAgent)&&!/MSIE 8.0/.test(navigator.userAgent),i=(document.documentMode,"function"==typeof document.createElement("div").style.setExpression&&document.createElement("div").style.setExpression);e.blockUI=function(e){d(window,e)},e.unblockUI=function(e){a(window,e)},e.growlUI=function(t,o,n,i){var s=e('<div class="growlUI"></div>');t&&s.append("<h1>"+t+"</h1>"),o&&s.append("<h2>"+o+"</h2>"),n===undefined&&(n=3e3);var l=function(t){t=t||{},e.blockUI({message:s,fadeIn:"undefined"!=typeof t.fadeIn?t.fadeIn:700,fadeOut:"undefined"!=typeof t.fadeOut?t.fadeOut:1e3,timeout:"undefined"!=typeof t.timeout?t.timeout:n,centerY:!1,showOverlay:!1,onUnblock:i,css:e.blockUI.defaults.growlCSS})};l();s.css("opacity");s.on("mouseover",function(){l({fadeIn:0,timeout:3e4});var t=e(".blockMsg");t.stop(),t.fadeTo(300,1)}).on("mouseout",function(){e(".blockMsg").fadeOut(1e3)})},e.fn.block=function(t){if(this[0]===window)return e.blockUI(t),this;var o=e.extend({},e.blockUI.defaults,t||{});return this.each(function(){var t=e(this);o.ignoreIfBlocked&&t.data("blockUI.isBlocked")||t.unblock({fadeOut:0})}),this.each(function(){"static"==e.css(this,"position")&&(this.style.position="relative",e(this).data("blockUI.static",!0)),this.style.zoom=1,d(this,t)})},e.fn.unblock=function(t){return this[0]===window?(e.unblockUI(t),this):this.each(function(){a(this,t)})},e.blockUI.version=2.7,e.blockUI.defaults={message:"<h1>Please wait...</h1>",title:null,draggable:!0,theme:!1,css:{padding:0,margin:0,width:"30%",top:"40%",left:"35%",textAlign:"center",color:"#000",border:"3px solid #aaa",backgroundColor:"#fff",cursor:"wait"},themedCSS:{width:"30%",top:"40%",left:"35%"},overlayCSS:{backgroundColor:"#000",opacity:.6,cursor:"wait"},cursorReset:"default",growlCSS:{width:"350px",top:"10px",left:"",right:"10px",border:"none",padding:"5px",opacity:.6,cursor:"default",color:"#fff",backgroundColor:"#000","-webkit-border-radius":"10px","-moz-border-radius":"10px","border-radius":"10px"},iframeSrc:/^https/i.test(window.location.href||"")?"javascript:false":"about:blank",forceIframe:!1,baseZ:1e3,centerX:!0,centerY:!0,allowBodyStretch:!0,bindEvents:!0,constrainTabKey:!0,fadeIn:200,fadeOut:400,timeout:0,showOverlay:!0,focusInput:!0,focusableElements:":input:enabled:visible",onBlock:null,onUnblock:null,onOverlayClick:null,quirksmodeOffsetHack:4,blockMsgClass:"blockMsg",ignoreIfBlocked:!1};var s=null,l=[];function d(d,c){var u,b,h=d==window,k=c&&c.message!==undefined?c.message:undefined;if(!(c=e.extend({},e.blockUI.defaults,c||{})).ignoreIfBlocked||!e(d).data("blockUI.isBlocked")){if(c.overlayCSS=e.extend({},e.blockUI.defaults.overlayCSS,c.overlayCSS||{}),u=e.extend({},e.blockUI.defaults.css,c.css||{}),c.onOverlayClick&&(c.overlayCSS.cursor="pointer"),b=e.extend({},e.blockUI.defaults.themedCSS,c.themedCSS||{}),k=k===undefined?c.message:k,h&&s&&a(window,{fadeOut:0}),k&&"string"!=typeof k&&(k.parentNode||k.jquery)){var y=k.jquery?k[0]:k,m={};e(d).data("blockUI.history",m),m.el=y,m.parent=y.parentNode,m.display=y.style.display,m.position=y.style.position,m.parent&&m.parent.removeChild(y)}e(d).data("blockUI.onUnblock",c.onUnblock);var g,v,I,w,U=c.baseZ;g=o||c.forceIframe?e('<iframe class="blockUI" style="z-index:'+U+++';display:none;border:none;margin:0;padding:0;position:absolute;width:100%;height:100%;top:0;left:0" src="'+c.iframeSrc+'"></iframe>'):e('<div class="blockUI" style="display:none"></div>'),v=c.theme?e('<div class="blockUI blockOverlay ui-widget-overlay" style="z-index:'+U+++';display:none"></div>'):e('<div class="blockUI blockOverlay" style="z-index:'+U+++';display:none;border:none;margin:0;padding:0;width:100%;height:100%;top:0;left:0"></div>'),c.theme&&h?(w='<div class="blockUI '+c.blockMsgClass+' blockPage ui-dialog ui-widget ui-corner-all" style="z-index:'+(U+10)+';display:none;position:fixed">',c.title&&(w+='<div class="ui-widget-header ui-dialog-titlebar ui-corner-all blockTitle">'+(c.title||"&nbsp;")+"</div>"),w+='<div class="ui-widget-content ui-dialog-content"></div>',w+="</div>"):c.theme?(w='<div class="blockUI '+c.blockMsgClass+' blockElement ui-dialog ui-widget ui-corner-all" style="z-index:'+(U+10)+';display:none;position:absolute">',c.title&&(w+='<div class="ui-widget-header ui-dialog-titlebar ui-corner-all blockTitle">'+(c.title||"&nbsp;")+"</div>"),w+='<div class="ui-widget-content ui-dialog-content"></div>',w+="</div>"):w=h?'<div class="blockUI '+c.blockMsgClass+' blockPage" style="z-index:'+(U+10)+';display:none;position:fixed"></div>':'<div class="blockUI '+c.blockMsgClass+' blockElement" style="z-index:'+(U+10)+';display:none;position:absolute"></div>',I=e(w),k&&(c.theme?(I.css(b),I.addClass("ui-widget-content")):I.css(u)),c.theme||v.css(c.overlayCSS),v.css("position",h?"fixed":"absolute"),(o||c.forceIframe)&&g.css("opacity",0);var x=[g,v,I],C=e(h?"body":d);e.each(x,function(){this.appendTo(C)}),c.theme&&c.draggable&&e.fn.draggable&&I.draggable({handle:".ui-dialog-titlebar",cancel:"li"});var S=i&&(!e.support.boxModel||e("object,embed",h?null:d).length>0);if(n||S){if(h&&c.allowBodyStretch&&e.support.boxModel&&e("html,body").css("height","100%"),(n||!e.support.boxModel)&&!h)var E=p(d,"borderTopWidth"),O=p(d,"borderLeftWidth"),T=E?"(0 - "+E+")":0,M=O?"(0 - "+O+")":0;e.each(x,function(e,t){var o=t[0].style;if(o.position="absolute",e<2)h?o.setExpression("height","Math.max(document.body.scrollHeight, document.body.offsetHeight) - (jQuery.support.boxModel?0:"+c.quirksmodeOffsetHack+') + "px"'):o.setExpression("height",'this.parentNode.offsetHeight + "px"'),h?o.setExpression("width",'jQuery.support.boxModel && document.documentElement.clientWidth || document.body.clientWidth + "px"'):o.setExpression("width",'this.parentNode.offsetWidth + "px"'),M&&o.setExpression("left",M),T&&o.setExpression("top",T);else if(c.centerY)h&&o.setExpression("top",'(document.documentElement.clientHeight || document.body.clientHeight) / 2 - (this.offsetHeight / 2) + (blah = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + "px"'),o.marginTop=0;else if(!c.centerY&&h){var n="((document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + "+(c.css&&c.css.top?parseInt(c.css.top,10):0)+') + "px"';o.setExpression("top",n)}})}if(k&&(c.theme?I.find(".ui-widget-content").append(k):I.append(k),(k.jquery||k.nodeType)&&e(k).show()),(o||c.forceIframe)&&c.showOverlay&&g.show(),c.fadeIn){var B=c.onBlock?c.onBlock:t,j=c.showOverlay&&!k?B:t,H=k?B:t;c.showOverlay&&v._fadeIn(c.fadeIn,j),k&&I._fadeIn(c.fadeIn,H)}else c.showOverlay&&v.show(),k&&I.show(),c.onBlock&&c.onBlock.bind(I)();if(r(1,d,c),h?(s=I[0],l=e(c.focusableElements,s),c.focusInput&&setTimeout(f,20)):function(e,t,o){var n=e.parentNode,i=e.style,s=(n.offsetWidth-e.offsetWidth)/2-p(n,"borderLeftWidth"),l=(n.offsetHeight-e.offsetHeight)/2-p(n,"borderTopWidth");t&&(i.left=s>0?s+"px":"0");o&&(i.top=l>0?l+"px":"0")}(I[0],c.centerX,c.centerY),c.timeout){var z=setTimeout(function(){h?e.unblockUI(c):e(d).unblock(c)},c.timeout);e(d).data("blockUI.timeout",z)}}}function a(t,o){var n,i,d=t==window,a=e(t),u=a.data("blockUI.history"),f=a.data("blockUI.timeout");f&&(clearTimeout(f),a.removeData("blockUI.timeout")),o=e.extend({},e.blockUI.defaults,o||{}),r(0,t,o),null===o.onUnblock&&(o.onUnblock=a.data("blockUI.onUnblock"),a.removeData("blockUI.onUnblock")),i=d?e(document.body).children().filter(".blockUI").add("body > .blockUI"):a.find(">.blockUI"),o.cursorReset&&(i.length>1&&(i[1].style.cursor=o.cursorReset),i.length>2&&(i[2].style.cursor=o.cursorReset)),d&&(s=l=null),o.fadeOut?(n=i.length,i.stop().fadeOut(o.fadeOut,function(){0==--n&&c(i,u,o,t)})):c(i,u,o,t)}function c(t,o,n,i){var s=e(i);if(!s.data("blockUI.isBlocked")){t.each(function(e,t){this.parentNode&&this.parentNode.removeChild(this)}),o&&o.el&&(o.el.style.display=o.display,o.el.style.position=o.position,o.el.style.cursor="default",o.parent&&o.parent.appendChild(o.el),s.removeData("blockUI.history")),s.data("blockUI.static")&&s.css("position","static"),"function"==typeof n.onUnblock&&n.onUnblock(i,n);var l=e(document.body),d=l.width(),a=l[0].style.width;l.width(d-1).width(d),l[0].style.width=a}}function r(t,o,n){var i=o==window,l=e(o);if((t||(!i||s)&&(i||l.data("blockUI.isBlocked")))&&(l.data("blockUI.isBlocked",t),i&&n.bindEvents&&(!t||n.showOverlay))){var d="mousedown mouseup keydown keypress keyup touchstart touchend touchmove";t?e(document).on(d,n,u):e(document).off(d,u)}}function u(t){if("keydown"===t.type&&t.keyCode&&9==t.keyCode&&s&&t.data.constrainTabKey){var o=l,n=!t.shiftKey&&t.target===o[o.length-1],i=t.shiftKey&&t.target===o[0];if(n||i)return setTimeout(function(){f(i)},10),!1}var d=t.data,a=e(t.target);return a.hasClass("blockOverlay")&&d.onOverlayClick&&d.onOverlayClick(t),a.parents("div."+d.blockMsgClass).length>0||0===a.parents().children().filter("div.blockUI").length}function f(e){if(l){var t=l[!0===e?l.length-1:0];t&&t.trigger("focus")}}function p(t,o){return parseInt(e.css(t,o),10)||0}}"function"==typeof define&&define.amd&&define.amd.jQuery?define(["jquery"],e):e(jQuery)}();