/**
 * KSEF - WordPress Admin JS
 */

(function($) {
	'use strict';

	// Document ready
	$(document).ready(function() {
		initKsefAdmin();
	});

	/**
	 * Initialize KSEF admin
	 */
	function initKsefAdmin() {
		bindLicenseForm();
		bindDeleteActions();
	}

	/**
	 * Bind license form submission
	 */
	function bindLicenseForm() {
		// Tylko formularz aktywacji licencji (pełny POST z przeładowaniem strony).
		// NIE wszystkie formularze — inaczej np. formularz faktury (AJAX, preventDefault)
		// zostawałby z przyciskiem na „Processing..." bo strona się nie przeładowuje.
		$('form').has('#ksef_license_key').on('submit', function(e) {
			var $form = $(this);
			var $submit = $form.find('button[type="submit"]');

			// Disable submit button
			$submit.prop('disabled', true).text(KsefWpData.activating || 'Processing...');

			// Show loading indicator
			$form.before('<div class="notice notice-info"><p>Processing...</p></div>');
		});
	}

	/**
	 * Bind delete/deactivate actions
	 */
	function bindDeleteActions() {
		$('.ksef-delete-btn, .ksef-deactivate-btn').on('click', function(e) {
			var message = $(this).data('confirm-message') || 'Are you sure?';
			if (!confirm(message)) {
				e.preventDefault();
				return false;
			}
		});
	}

	/**
	 * Utility: Show success message
	 */
	window.ksefShowSuccess = function(message) {
		showNotice(message, 'success');
	};

	/**
	 * Utility: Show error message
	 */
	window.ksefShowError = function(message) {
		showNotice(message, 'error');
	};

	/**
	 * Show admin notice
	 */
	function showNotice(message, type) {
		type = type || 'success';

		var className = 'notice notice-' + type + ' is-dismissible';
		var html = '<div class="' + className + '"><p>' + message + '</p></div>';

		$('.wrap').prepend(html);

		// Auto-dismiss after 5 seconds
		setTimeout(function() {
			$('.notice.is-dismissible').fadeOut(function() {
				$(this).remove();
			});
		}, 5000);
	}

})(jQuery);
