User:Equazcion/TeahouseRespond.js

importStylesheet('User:Equazcion/TeahouseRespond.css'); if ( mw.config.get('wgPageName') == 'Wikipedia:Teahouse/Questions' ) { // (function($,mw) {	$(function { mw.loader.using( ['jquery.ui', 'mediawiki.api'], function {		function addResponse( section, headline, text ) {			var wikitext = '\n\n:' + text;			$('.wp-teahouse-respond-form').hide;			$('.wp-teahouse-respond')				.find('.selflink')				.empty				.addClass('mw-ajax-loader');			var api = new mw.Api;			api.get( { 'action' : 'query', 'titles' : 'Wikipedia:Teahouse/Questions', 'prop'  : 'revisions|info', 'intoken' : 'edit', 'rvprop' : 'content', 'indexpageids' : 1 }, {				'ok' : function(result) { result = result.query; var page = result.pages[result.pageids[0]]; api.post(						{							'action' : 'edit',							'section' : section,							'title' : 'Wikipedia:Teahouse/Questions',							'appendtext' : wikitext,							'summary' : '/* ' + headline + ' */' + ' response',							'token' : page.edittoken						},						{							'ok' : function {window.location.reload;}						}					); }			});		}

var headers = $('h2:gt(0)').find('.editsection'); var k;			var header; headers.each(function(k) {				$(this).prepend(" «  Respond to this discussion     ");

var formCode = 	' You can type your response below.  On Wikipedia, you should sign all of your posts by ending them with four tildes (~) Add my response ';

var rLink = $('#wp-teahouse-respond-' + k); rLink.after(formCode); var rForm = $('#wp-teahouse-respond-form-' + k); var rText = $('#wp-th-respond-text-' + k); var rButton = $('#wp-th-respond-' + k); var headline = $(this).parents('h2').find('span.mw-headline').html; // Prevent flash rForm.css( 'left', '-10000px' ); // Set up position setTimeout( function {					var pos = rLink.position;					var hCenter = ( $(window).width / 2 );					rForm.css( 'top', pos.top + 20 + 'px' );					rForm.css( 'left', (hCenter - (rForm.width) /2) + 'px' );					rForm.hide;				}, 0); rButton.button({disabled : true}).click( function(e) {					e.preventDefault;					var text = rText.val;						addResponse( k+1, headline, text );				}).end rText.keypress( function(e) {						var $textbox = $(this);						setTimeout( function { if ( (/~\s*$/).test($textbox.val) ) { rButton.button( 'option','disabled', false ); } else { rButton.button( 'option','disabled', true ); }						}, 0 );					} );				rLink.click(function(e) {					rForm.toggle('fast');					e.cancelBubble = true; // for IE					if (e.stopPropagation) {						e.stopPropagation;						e.preventDefault;					}				}); $(document).click( function(e) {				var $target = $(e.target);				if ( ! $target.is('.wp-teahouse-respond-form *') && ! $target.is('.wp-teahouse-respond *') ) {					$('.wp-teahouse-respond-form').fadeOut;				}			} ); $(document).keydown( function(e) {					if ( e.keyCode == 27 ) {// ESC						rForm.fadeOut;					}				});  //after loop }); 		});	} ); } )(jQuery,mediaWiki); // }