Hinweis: Leere nach dem Veröffentlichen den Browser-Cache, um die Änderungen sehen zu können.

  • Firefox/Safari: Umschalttaste drücken und gleichzeitig Aktualisieren anklicken oder entweder Strg+F5 oder Strg+R (⌘+R auf dem Mac) drücken
  • Google Chrome: Umschalttaste+Strg+R (⌘+Umschalttaste+R auf dem Mac) drücken
  • Internet Explorer/Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
  • Opera: Strg+F5
// <nowiki>

/* 
/    Handling requests for deletion (articles: Wikivoyage:Löschanträge/<Foo> )
/    author: Stefan Fussan (User:DerFussi)
*/

( function ( mw, $ ) {
	
	// Loading Dialog feature
	mw.loader.load('//de.wikivoyage.org/w/index.php?title=MediaWiki:WVDialog.js&action=raw&ctype=text/javascript');

	// Configuration
	var DR_CONFIG = {
		drMainSite : 'Wikivoyage:Löschanträge'
	};

	// Some variables for the process
	// Complete name of the sites for the Request for Deletion (still no check whether the page exists)
	var pageName =	mw.config.get ( 'wgPageName' );
	var drPage = DR_CONFIG.drMainSite + '/' + mw.config.get ( 'wgPageName' );
	var drPageURL = 'https:' + mw.config.get ( 'wgServer' ) + '/wiki/' + encodeURI( DR_CONFIG.drMainSite + '/' + mw.config.get ( 'wgPageName' ) );
	
	// URL of the API
	var apiURL = 'https:' + mw.config.get ( 'wgServer' ) + mw.config.get ( 'wgScriptPath' ) + '/api.php';
	
	// The edit token
	var editToken = '';
	
	// Texts to be shown in the dialogue
	var DR_MESSAGES = {
		BODY_1 : 
			'<p>Du möchtest, dass diese Seite oder eine Liste von Seiten gelöscht wird. Bitte entscheide dich zuerst, ob du einen klassischen Löschantrag zur Diskussion stellen willst, oder die Seite(n) schnell gelöscht werden soll(en).</p>'+
			'<h6>Löschantrag</h6>'+
			'<p>Das ist die übliche Vorgehensweise. Vergewissere dich bitte, ob der Artikel nicht auch verbessert werden kann. Wenn nicht, gelten bei uns trotzdem einige Regeln. Dieser Link hilft dir weiter:</p>'+
			'<ul><li><a href="https://de.wikivoyage.org/wiki/Wikivoyage:L%C3%B6schregeln" target="blank">Unsere Löschregeln</a></li></ul>'+
			'<p>Ein Löschantrag wird im Regelfall 2 Wochen diskutiert. Je nach Ausgang der Diskussion nimmt dann ein Administrator die Löschung vor. Wähle einen der folgenden Wege, wenn du einen Löschantrag für...</p>'+
			'<div id="delete-request-dialog-body-1-1-bp1" class="wv-dialog-button-pane"></div>'+
			'<p class="wv-dialog-button-explanation">...diese Seite stellen möchtest.</p><br style="clear:both" />'+
			// '<div id="delete-request-dialog-body-1-1-bp2" class="wv-dialog-button-pane"></div>'+
			'<p class="wv-dialog-button-explanation">...eine Gruppe von Artikeln stellen möchtest (noch nicht implementiert).</p><br style="clear:both" />'+
			'<hr />'+
			'<h6>Schnelllöschen</h6>'+
			'<p>Unter Umständen kann die Seite auch sofort gelöscht werden. Folgende Fälle könnten das sein:</p>'+
			'<ul><li>Vandalismus und Spam</li>'+
			'<li>Urheberrechtsverletzungen</li>'+
			'<li>Löschen deiner eigenen Benutzerseite oder eine ihrer Unterseiten</li></ul>'+
			'<p>In diesem Fall gilt die vorgeschriebene Diskussionszeit natürlich nicht. Im Falle einer Urheberrechtsverletzung solltest du aber auch den Autoren auf seiner Diskussionsseite über den Vorgang informieren.</p>'+
			'<div id="delete-request-dialog-body-1-1-bp3" class="wv-dialog-button-pane"></div>'+
			'<p class="wv-dialog-button-explanation">Wähle diesen Weg, wenn du ein Schnelllöschen veranlassen möchtest.</p><br style="clear:both" />',

		BODY_2_1 : 
			'<h6>Löschen dieser Seite</h6>'+
			'<p>Du hast dich entschlossen, für diese Seite einen Löschantrag zu stellen. Dies erfordert einen Begründungstext. Ohne diesen kann der Vorgang nicht fortgesetzt werden. Bitte gib im folgenden Feld einen Begründungstext ein. Wenn du zufrieden bist, kannst du fortfahren.</p>'+
			'<textarea id="delete-request-dialog-body-1-2-1-ta1" rows="5" cols="100" required="required" placeholder="Begründungstext"></textarea>'+
			'<ul id="delete-request-dialog-body-1-2-1-ul1"></ul>'+
			'<div id="delete-request-dialog-body-1-2-1-bp1" class="wv-dialog-button-pane"></div>'+
			'<br style="clear:both" />',

		BODY_3_1 : 
			'<h6>Löschen mehrerer Seiten</h6>'+
			'<p>Du hast die entschlossen, für eine Reihe von Seiten einen Löschantrag zu stellen. Dies erfordert einen Begründungstext. Ohne diesen kann der Vorgang nicht fortgesetzt werden. Bitte gib im folgenden Feld einen Begründungstext ein. Wenn du zufrieden bist, kannst du fortfahren.</p>'+
			'<textarea id="delete-request-dialog-body-1-3-1-ta1" rows="5" cols="100" required="required" placeholder="Begründungstext"></textarea>'+
			'<p>Für den Antrag wird eine eigene Seite eingerichtet. Gib der betroffenen Artikelliste einen Namen (z. B. Artikel der Region Hinterer Wald). Maximal sind 50 Zeichen erlaubt.</p>'+
			'<div id="delete-request-dialog-body-1-3-1-div1" class="editor-row"><div><label for="delete-request-dialog-body-1-3-1-i1" title="Bezeichnung der Einrichtung">Name</label></div>'+
			'<div><input class="editor-fullwidth listing-empty-input" required="required" placeholder="Bezeichnung der Liste" id="delete-request-dialog-body-1-3-1-i1" type="text" maxlength="50"></div></div>'+
			'<p>Jetzt kannst du eine Reihe von Artikeln auflisten.</p>'+
			'<div id="delete-request-dialog-body-1-3-1-div-list" class="listing-container" data-row-count="1">'+
			'<div id="delete-request-dialog-body-1-3-1-div2-1" class="editor-row" data-row-number="1">'+
			'<div><label for="delete-request-dialog-body-1-3-1-i2-1" title="Seite 1">Seite 1</label></div>'+
			'<div><input class="editor-fullwidth listing-empty-input" required="required" placeholder="Seite 1" id="delete-request-dialog-body-1-3-1-i2-1" type="text"></div>'+
			'<div class="button-buffer"></div>'+
			'</div>'+
			'</div>'+
			'<hr />'+
			'<ul id="delete-request-dialog-body-1-3-1-ul1"></ul>'+
			'<div id="delete-request-dialog-body-1-3-1-bp1" class="wv-dialog-button-pane"></div>'+
			'<div id="delete-request-dialog-body-1-3-1-bp2" class="wv-dialog-button-pane" style="float:left;"></div>'+
			'<br style="clear:both" />',

		BODY_4_1 : 
			'<h6>Schnelllöschen dieser Seite</h6>'+
			'<p>Du hast die entschlossen, diese Seite zur sofortigen Löschung vorzuschlagen. Trage bitte eine Begründung ein. Der Button unten rechts löst die entsprechende Eintragung zum Schnelllöschen aus.'+
			'<textarea id="delete-request-dialog-body-1-4-1-ta1" rows="5" cols="100" required="required" placeholder="Begründungstext"></textarea>'+
			'<ul id="delete-request-dialog-body-1-4-1-ul1"></ul>'+
			'<div id="delete-request-dialog-body-1-4-1-bp1" class="wv-dialog-button-pane"></div>'+
			'<br style="clear:both" />',

		VOTING :
			'<li">Abstimmung: </li>'
	};
	
	// check whether mediawiki and jquery is defined
	if ( typeof ( mw ) == 'object' && typeof ( $ ) == 'function' ) {
		
		// Getting the action of the current site
		var action = mw.config.get( 'wgAction' );
		
		// Getting the skin of the current site
		var skin = mw.config.get( 'skin' );
		
		// Declaring the objekt for the whole delete request
		var deleteRequest = {};
		
		// Startup options of the dialogue
		var windowOptions = {
			width: '600px',
			title: 'Löschantrag',
			dialogClass: '',
			id: 'delete-request-dialog',
			cancelTitle: 'Abbrechen'
		};
		
		var backToStart = function() {
			$('#wv-dialog-body-1>div').hide();
			$('#delete-request-dialog-body-1-1').show();
		};
		
		var requestSingleDeletion = function() {
			$('#delete-request-dialog-body-1-1').hide();
			$('#delete-request-dialog-body-1-2-1').show();
		};
		
		var requestMassDeletion = function() {
			$('#delete-request-dialog-body-1-1').hide();
			$('#delete-request-dialog-body-1-3-1').show();
		};
		
		var requestQuickDeletion = function() {
			$('#delete-request-dialog-body-1-1').hide();
			$('#delete-request-dialog-body-1-4-1').show();
		};

		// deletes a row from the article list when the 'Entfernen' button is pressed
		var deleteRow = function ( rowNumber ) {
			// reducing the row counter by 1
			var newRowNumber = parseInt ( $('#delete-request-dialog-body-1-3-1-div-list').attr('data-row-count') ) - 1;

			// removing the row
			$('#delete-request-dialog-body-1-3-1-div2-'+rowNumber).remove();

			// saving the new row count
			$('#delete-request-dialog-body-1-3-1-div-list').attr( 'data-row-count', newRowNumber );
			
			var callDeleteRow = function ( rowNumber ) { deleteRow ( rowNumber ); };

			// renumbering all DOM Elements in all rows to close the gap if a row in the middle was removed
			for ( var i = 2; i <= newRowNumber; i++ ) {
				$($('#delete-request-dialog-body-1-3-1-div-list div.editor-row').get(i-1)).attr('data-row-number',i).attr('id','delete-request-dialog-body-1-3-1-div2-'+i);
				$($('#delete-request-dialog-body-1-3-1-div-list label').get(i-1)).text('Seite '+i).attr('title','Seite '+i).attr('id','delete-request-dialog-body-1-3-1-l1-'+1).attr('for','delete-request-dialog-body-1-3-1-i2-'+1);
				$($('#delete-request-dialog-body-1-3-1-div-list input.listing-empty-input').get(i-1)).attr('placeholder','Seite '+i).attr('id','delete-request-dialog-body-1-3-1-i2-'+i);
				$($('#delete-request-dialog-body-1-3-1-div-list button').get(i-2)).off('click.wvDialogEvent');
				$($('#delete-request-dialog-body-1-3-1-div-list button').get(i-2)).on('click.wvDialogEvent', callDeleteRow ( i ));
			}
		};

		// adds a new row in the article list of the mass deleteion request
		var addRow = function() {

			// fetching the current count of all rows 
			var rowNumber = parseInt ( $('#delete-request-dialog-body-1-3-1-div-list').attr('data-row-count') ) + 1;

			// creating the HTML for the complete new row
			var newRow =
				'<div id="delete-request-dialog-body-1-3-1-div2-'+rowNumber+'" class="editor-row" data-row-number="'+rowNumber+'">'+
				'<div><label id="delete-request-dialog-body-1-3-1-l1-'+rowNumber+'" for="delete-request-dialog-body-1-3-1-i2-'+rowNumber+'" title="Seite '+rowNumber+'">Seite '+rowNumber+'</label></div>'+
				'<div><input class="editor-fullwidth listing-empty-input" required="required" placeholder="Seite '+rowNumber+'" id="delete-request-dialog-body-1-3-1-i2-'+rowNumber+'" type="text"></div>'+
				'<div class="button-buffer"><button type="button" title="Entfernen" title="Seite Entfernen" id="delete-request-dialog-body-1-3-1-b3-'+rowNumber+'" class="wv-dialog-button" style="margin-left:2em;" data-row-number="'+rowNumber+'">Entfernen</button></div>'+
				'</div>';

			// saving the new row count
			$('#delete-request-dialog-body-1-3-1-div-list').attr( 'data-row-count', rowNumber );

			// adding the new row
			$('#delete-request-dialog-body-1-3-1-div-list').append(newRow);

			// adding the event handler, triggersd when the "Entfernen" button is pressed
			$('#delete-request-dialog-body-1-3-1-b3-'+rowNumber ).on('click.wvDialogEvent',function () { deleteRow ( rowNumber ); } );

			// getting the width of the div tag, that contains the button 
			var width = $('#delete-request-dialog-body-1-3-1-div2-'+rowNumber+' .button-buffer').width();

			// setting the width of the buffer div tag of the first row to align all input tags vertically
			$('#delete-request-dialog-body-1-3-1-div2-1 .button-buffer').width(width);
		};
		
		
		// Starting the deleting request for a singkle site
		var startSingleDeletion = function() {
			
			// Just a message
			$('#delete-request-dialog-body-1-2-1-ul1').append('<li>Starte den Antragsprozess...</li>');
			
			
			// The process
			// 1. getting the token
			// 2. creating the page for the request
			$.ajax({
				url: apiURL,
				data: {
					format : 'json',
					action :'query',
					prop : 'info|revisions',
					titles : drPage,
					meta : 'tokens'
				},
				type: 'GET',
				dataType: 'json',
				error: function() {
					// No toke got?
					$('#delete-request-dialog-body-1-2-1-ul1').append('<li>Fehler beim Holen des Tokens...</li>');
				},
				success: function(data) {
					
					// Yeah! Got the token
					$('#delete-request-dialog-body-1-2-1-ul1').append('<li>Token geholt...</li>');
					editToken = data.query.tokens.csrftoken;
							
					// Today
					var today = new Date();
					var todayDay = today.getUTCDate();
					var todayMonth = today.getUTCMonth() + 1;
					var todayYear = today.getUTCFullYear();
					
					// Creating Delete Request site
					var pageText =
							'{{Löschantrag|' + pageName + '|typ=Artikel' + '\n' +
							'|status=Diskussion  <!-- Gelöscht, Behalten, Weiterleitung, Wegweiser -->' + '\n' +
							'|tag=' + todayDay + '\n' +
							'|monat=' + todayMonth + '\n' +
							'|jahr=' + todayYear + '\n' +
							'|text=' + $('#delete-request-dialog-body-1-2-1-ta1').val() + ' -- ~~~~}}' + '\n' +
							'=== Löschdiskussion ===' + '\n' +
							'* {{Löschen}} -- ~~~~';
					
					// DoesRequest site exist already?
					var pageID = Object.keys(data.query.pages)[0];
					var ajaxData = {};
					if ( pageID == '-1' ) {
						
						// parameter for creating a new site
						ajaxData = {
							format : 'json',
							action : 'edit',
							section : 'new',
							sectiontitle : 'Löschantrag vom ' + todayDay + '.' + todayMonth + '.' + todayYear,
							title : drPage,
							summary : 'Löschantrag erstellt',
							text : pageText,
							token : editToken
						};
						
					} else {						
						
						// parameter for expanding the existing site
						ajaxData = {
							format : 'json',
							action : 'edit',
							section : 'new',
							sectiontitle : 'Löschantrag vom ' + todayDay + '.' + todayMonth + '.' + todayYear,
							title : drPage,
							summary : 'Neuen Löschantrag hinzugefügt',
							text : pageText,
							token : editToken
						};
						
					}
					
					// creating or expanding the request site
					$.ajax({
						url: apiURL,
						data: ajaxData,
						method : 'POST',
						dataType: 'json',
						error: function() {
							// Error: Page not created
							$('#delete-request-dialog-body-1-2-1-ul1').append('<li>Fehler beim Anlegen des Löschantrags...</li>');
						},
						success: function(data) {
							// Page created
							$('#delete-request-dialog-body-1-2-1-ul1').append('<li>Löschantrag gestellt: <a href="' + drPageURL + '">' + drPage + '</a></li>');
							
							// Add the delete template to the article
							
							pageText = '<noinclude>{{Löschantrag gestellt\n' +
							'|grund = ' + $('#delete-request-dialog-body-1-2-1-ta1').val() + '\n' +
							'|tag=' + todayDay + '\n' +
							'|monat=' + todayMonth + '\n' +
							'|jahr=' + todayYear + '\n' +
							'}}</noinclude>\n';
							
							$.ajax({
								url: apiURL,
								data: {
									format : 'json',
									action : 'edit',
									title : pageName,
									summary : 'Seite zum Löschen vorgeschlagen',
									prependtext : pageText,
									token : editToken
									},
								method : 'POST',
								dataType: 'json',
								error: function() {
									// Error: Page not created
									$('#delete-request-dialog-body-1-2-1-ul1').append('<li>Fehler beim Eintragen der Löschvorlage...</li>');
								},
								success: function(data) {
									// Page created
									$('#delete-request-dialog-body-1-2-1-ul1').append('<li>Löschvorlage eingefügt...</li>');
									
									// Removing the back button
									$('#delete-request-dialog-button-2-1-1').remove();
									
									// Changing the continue button (text and event handler)
									$('#delete-request-dialog-button-2-1-2')
											.text('OK')
											.off('click.wvDialogEvent')
											.on('click',function(){location.reload(true);});
									

								}
							});
							
						}
					});
					
				}
			});
		};
		
		// Starting the mass deleting request 
		var startMassDeletion = function() {
			
			// Just a message
			$('#delete-request-dialog-body-1-3-1-ul1').append('<li>Starte den Antragsprozess...</li>');
		};
		
		// Starting the deleting request for a single site
		var startQuickDeletion = function() {
			
			// Just a message
			$('#delete-request-dialog-body-1-4-1-ul1').append('<li>Starte den Prozess...</li>');

			// some variables
			var pageName =	mw.config.get ( 'wgPageName' );
			var editToken = '';
			
			// URL of the API
			var apiURL = 'https:' + mw.config.get ( 'wgServer' ) + mw.config.get ( 'wgScriptPath' ) + '/api.php';

			// The process
			// 1. getting the token
			// 2. adding the template
			$.ajax({
				url: apiURL,
				data: {
					format : 'json',
					action :'query',
					prop : 'info|revisions',
					titles : pageName,
					meta : 'tokens'
				},
				dataType: 'json',
				type: 'GET',
				error: function() {
					// No toke got?
					$('#delete-request-dialog-body-1-4-1-ul1').append('<li>Fehler beim Holen des Tokens...</li>');
				},
				success: function(data) {

				// Yeah! Got the token
				$('#delete-request-dialog-body-1-4-1-ul1').append('<li>Token geholt...</li>');
				editToken = data.query.tokens.csrftoken;
						
				// Today
				var today = new Date();
				var todayDay = today.getUTCDate();
				var todayMonth = today.getUTCMonth() + 1;
				var todayYear = today.getUTCFullYear();

				// wiki text (template) to be inserted
				pageText = '{{Schnelllöschen\n' +
				'|' + $('#delete-request-dialog-body-1-4-1-ta1').val() + '\n' +
				'|tag=' + todayDay + '\n' +
				'|monat=' + todayMonth + '\n' +
				'|jahr=' + todayYear + '\n' +
				'}}\n';

					$.ajax({
						url: apiURL,
						data: {
							format : 'json',
							action : 'edit',
							title : pageName,
							summary : 'Seite zum sofortigen Löschen vorgeschlagen',
							prependtext : pageText,
							token : editToken
						},
						method : 'POST',
						dataType: 'json',
						error: function() {
							// Error: Page not created
							$('#delete-request-dialog-body-1-4-1-ul1').append('<li>Fehler beim Eintragen der Löschvorlage...</li>');
						},
						success: function(data) {
							// Page created
							$('#delete-request-dialog-body-1-4-1-ul1').append('<li>Löschvorlage eingefügt...</li>');

							// Removing the back button
							$('#delete-request-dialog-button-4-1-1').remove();

							// Changing the continue button (text and event handler)
							$('#delete-request-dialog-button-4-1-2')
								.text('OK')
								.off('click.wvDialogEvent')
								.on('click',function(){location.reload(true);});


						}
					});
				}
			});
		};
		
		// Function to be called when somebody clicks on the "Delete request"
		var startRequest = function() {
			
			// New variable with the result of the wvDialog function. It contains a set of functions
			var drDialog = wvDialog();
			
			// Test whether dialog object is defined
			if ( typeof ( drDialog ) == 'undefined' || typeof ( drDialog ) == 'unknown') {
				// OMG! can't open an wvDialog
			} else {
				// open wvDialog with Delete Request
				var drWindow = drDialog.create(windowOptions);
				
				// Every step has its on layer on the body
				$( '#wv-dialog-body-1' )
					.append( '<div id="delete-request-dialog-body-1-1" style="margin:0.3em;">'+DR_MESSAGES.BODY_1+'</div>' )
					.append( '<div id="delete-request-dialog-body-1-2-1" style="margin:0.3em; display: none">'+DR_MESSAGES.BODY_2_1+'</div>' )
					.append( '<div id="delete-request-dialog-body-1-3-1" style="margin:0.3em; display: none">'+DR_MESSAGES.BODY_3_1+'</div>' )
					.append( '<div id="delete-request-dialog-body-1-4-1" style="margin:0.3em; display: none">'+DR_MESSAGES.BODY_4_1+'</div>' );

				// Adding eventhandler to the add button in the mass deletion request
				$( '#delete-request-dialog-body-1-3-1-b2-1' ).on('click.wvDialogEvent',addRow);
				
				// Adding buttons to the first site
				drDialog.addButton (
					$( '#delete-request-dialog-body-1-1-bp1' ),
					'delete-request-dialog-button-1-1',
					'Löschantrag für diese Seite',
					'Löschantrag für diese Seite',
					requestSingleDeletion
					);
				drDialog.addButton (
					$( '#delete-request-dialog-body-1-1-bp2' ),
					'delete-request-dialog-button-1-2',
					'Löschantrag für mehrere Seiten',
					'Löschantrag für mehrere Seiten',
					requestMassDeletion
					);
				drDialog.addButton (
					$( '#delete-request-dialog-body-1-1-bp3' ),
					'delete-request-dialog-button-1-3',
					'Schnelllöschen',
					'Schnelllöschen',
					requestQuickDeletion
					);
				
				// Adding buttons to body 2-1: single deletion first step
				drDialog.addButton (
					$( '#delete-request-dialog-body-1-2-1-bp1' ),
					'delete-request-dialog-button-2-1-1',
					'Zurück',
					'Zurück zur Startseite',
					backToStart
					);
				drDialog.addButton (
					$( '#delete-request-dialog-body-1-2-1-bp1' ),
					'delete-request-dialog-button-2-1-2',
					'Weiter',
					'Mit dem Löschantrag fortfahren',
					startSingleDeletion
					);
				
				// Adding buttons to body 3-1: mass deletion first step
				drDialog.addButton (
					$( '#delete-request-dialog-body-1-3-1-bp1' ),
					'delete-request-dialog-button-3-1-1',
					'Zurück',
					'Zurück zur Startseite',
					backToStart
					);
				drDialog.addButton (
					$( '#delete-request-dialog-body-1-3-1-bp1' ),
					'delete-request-dialog-button-3-1-2',
					'Weiter',
					'Mit dem Löschantrag fortfahren',
					startMassDeletion
					);
				drDialog.addButton (
					$( '#delete-request-dialog-body-1-3-1-bp2' ),
					'delete-request-dialog-button-3-1-3',
					'Seite Hinzufügen',
					'Eine weitere Seite der Liste hinzufügen',
					addRow
					);
				
				// Adding buttons to body 4-1: quick deletion next step
				drDialog.addButton (
					$( '#delete-request-dialog-body-1-4-1-bp1' ),
					'delete-request-dialog-button-4-1-1',
					'Zurück',
					'Zurück zur Startseite',
					backToStart
					);
				
				drDialog.addButton (
					$( '#delete-request-dialog-body-1-4-1-bp1' ),
					'delete-request-dialog-button-4-1-2',
					'Schnelllöschen',
					'Mit dem Löschantrag fortfahren',
					startQuickDeletion
					);
				
				// zentrieren
				drDialog.centerDialog( drWindow );
			}
		};

		var voteForDeletion = function () {
			var textValue = '* {{Löschen}} – ~~~~\n';
			var textPage = $('#wpTextbox1').val();
			$('#wpTextbox1').val(textPage+textValue);
			$('input#wpSummary').val('Abgestimmt für: Löschen');
		}

		var voteForKeeping = function () {
			var textValue = '* {{Behalten}} – ~~~~\n';
			var textPage = $('#wpTextbox1').val();
			$('#wpTextbox1').val(textPage+textValue);
			$('input#wpSummary').val('Abgestimmt für: Behalten');
		}
		
		// Function to be called when the site is loaded completely
		deleteRequest.init = function() {
            
			// View: Counting the votes aand adding thge request
			if ( action === 'view' ) {

				// Adding Deletion request
				if ( skin === 'timeless' ) {
					$('#p-cactions.mw-portlet ul').prepend('<li id="wvDE-btn-delete-request"><a href="#">Löschantrag</a></li>');
				} else {
				   $('#p-cactions.vector-menu.vector-menu-empty').css('display','block');
				   $('#p-cactions.vector-menu ul').prepend('<li id="wvDE-btn-delete-request"><a href="#">Löschantrag</a></li>');
				}
				
				$('#wvDE-btn-delete-request').click(function() {
					startRequest();
				});

			}

			// Edit: Providing two buttons for deleting and keeping
			if ( action === 'edit' ) {
				if ( $('body.rootpage-Wikivoyage_Löschanträge').length === 1 ) {
					$('#wikiEditor-ui-toolbar div.tabs').append('<span class="tab">Löschanträge:</span><span class="tab"><a href="#" id="wvDE-btn-delete-request-vote-delete">Löschen</a></span><span class="tab"><a href="#" id="wvDE-btn-delete-request-vote-keep">Behalten</a></span>');
					$('#wvDE-btn-delete-request-vote-delete').on('click.wvDialogEvent',voteForDeletion);
					$('#wvDE-btn-delete-request-vote-keep').on('click.wvDialogEvent',voteForKeeping);
				}
			}

		};
		
		$(document).ready(function() { deleteRequest.init();
				
			// Test: Loading Dialog feature
			/*
			$.ajax({
				url = '//de.wikivoyage.org/w/index.php?title=MediaWiki:WVDialog.js&action=raw&ctype=text/javascript',
				dataType: 'script',
				success: function() { deleteRequest.init(); },
				error: function() { alert('Der Dialog für den Löschantrag konnte leider nicht geladen werden. Bitte manuell durchführen'); }
			}); 
			*/
		});
	}
} ( mediaWiki, jQuery ) );

// </nowiki>