_ _    _ _____  ___   __                       
 __      _(_) | _(_)___ / ( _ ) / /_   ___ ___  _ __ ___  
 \ \ /\ / / | |/ / | |_ \ / _ \| '_ \ / __/ _ \| '_ ` _ \ 
  \ V  V /| |   <| |___) | (_) | (_) | (_| (_) | | | | | |
   \_/\_/ |_|_|\_\_|____/ \___/ \___(_)___\___/|_| |_| |_|

User:LittlePuppers/AFCHD-wizard.js

Today, User:LittlePuppers/AFCHD-wizard.js is a topic of general interest that is becoming more and more relevant in society. Its impact extends to different areas, from politics to popular culture, generating constant debates and reflections. The importance of User:LittlePuppers/AFCHD-wizard.js lies not only in its influence today, but also in its historical value and its relevance for the future. In this article, we will explore different aspects related to User:LittlePuppers/AFCHD-wizard.js, analyzing its impact in different contexts and providing a comprehensive perspective on this topic that is so relevant today.
/**
 * Invoked via ]
 * on ]
 * 
 * Author: ]
 */

// <nowiki>
$.when($.ready, mw.loader.using()).then(function() {
    if (mw.config.get("wgPageName") !== "Wikipedia:WikiProject_Articles_for_creation/Help_desk/New_question") return;
    
    var api = new mw.Api();
    var previewApi = new mw.Api();
    var titleInput = new mw.widgets.TitleInputWidget({
    	'value': mw.util.getParamValue('page') || '',
        'required': true
    });
    var reasonInput = new OO.ui.MultilineTextInputWidget({
        'placeholder': 'Tell us why you are requesting assistance',
        'required': true,
        'rows': 5
    });
    var previewLayout = new OO.ui.HorizontalLayout();
    var submitButton = new OO.ui.ButtonWidget({
        'label': 'Submit request',
        'flags': ,
        'accesskey': 's'
    });
    var fieldset = new OO.ui.FieldsetLayout();
    fieldset.addItems([
        new OO.ui.FieldLayout(titleInput, {
            'label': 'Page title:',
            align: 'top'
        }),
        new OO.ui.FieldLayout(reasonInput, {
            'label': 'Reason for requesting assistance:',
            align: 'top'
        }),
        previewLayout,
        new OO.ui.FieldLayout(submitButton)
    ]);
    $("#mw-content-text").empty().append(fieldset.$element);
    
    function updateForm() {
        var hasTitle = titleInput.getValue().trim().length > 0;
        var hasReason = reasonInput.getValue().trim().length > 0;
        
        var formEnabled = hasTitle && hasReason;
        submitButton.setDisabled(!formEnabled);
        if (!hasTitle && !hasReason) submitButton.setLabel('Select page and enter reason');
        else if (!hasTitle) submitButton.setLabel('Select page');
        else if (!hasReason) submitButton.setLabel('Enter reason');
        else submitButton.setLabel('Submit');
        
        if (formEnabled) {
			previewApi.abort();
			previewApi.parse(makeRequestText(), { 
				pst: true, 
				title: 'Wikipedia:WikiProject_Articles_for_creation/Help_desk' 
			}).then(function(text) {
				text = text.replace(/<script/g, '&lt;script');
				previewLayout.$element.html(text);
			});
        }
    }
    updateForm();
    titleInput.on('change', updateForm);
    reasonInput.on('change', updateForm);

    function makeRequestText() {
        var title = titleInput.getValue();
        var text = '== {{subst:#time:H:i, j F Y}} review of submission by {{subst:REVISIONUSER}} ==' + 
        	'\n{{Lafc|username={{subst:REVISIONUSER}}|ts={{subst:#time:H:i, j F Y}}|draft=' + title + '}}' + 
        	'\n' + reasonInput.getValue() + (reasonInput.getValue().indexOf('~~~~') >= 0 ? '' : ' ~~~~');
        return text;
    }
    
    var beforeUnloadHandler = function(e) {
    	var hasTitle = titleInput.getValue().trim().length > 0;
        var hasReason = reasonInput.getValue().trim().length > 0;
        if (hasTitle && hasReason) {
        	e.preventDefault();
        	return event.returnValue = "Are you sure you want to leave without submitting? (Click \"Submit\" to post)";
        }
    };
    $(window).on('beforeunload', beforeUnloadHandler);

    submitButton.on('click', function() {
        submitButton.setDisabled(true);
        submitButton.setLabel('Submitting...');
        $('.afchd-wizard-error').remove();
        api.edit('Wikipedia:WikiProject_Articles_for_creation/Help_desk', function() {
            return {
                appendtext: '\n\n' + makeRequestText(),
                summary: 'Requesting assistance regarding ]'
            };
        }).then(function() {
        	$(window).off('beforeunload', beforeUnloadHandler);
            window.location.href = mw.util.getUrl('Wikipedia:WikiProject_Articles_for_creation/Help_desk#footer');
        }).catch(function(e) {
        	submitButton.setDisabled(false);
        	submitButton.setLabel('Submit');
        	submitButton.$element.after(
        		$('<div>').css('color', 'red').text('An error occurred: ' + e).addClass('afchd-wizard-error')
        	);
        });
    });
});
// </nowiki>