Медиавики:Gadget-common-special-block.js

Мавод аз Википедиа — донишномаи озод

Эзоҳ: Баъди захира намудан, Шумо метавонед тағйиротҳои худро аз хотираи браузер гузариш карда, бубинед. Дар браузерҳои Mozilla / Firefox / Safari: тугмаи Shift-ро пахш намуда бо мушак Reload-ро пахш кунед, ё Ctrl-Shift-R-ро пахш намоед (Cmd-Shift-R барои компютерҳои Apple Mac); дар браузери IE: тугмаи Ctrl-ро пахш намуда бо мушак Refresh-ро пахш намоед, ё Ctrl-F5-ро пахш намоед; дар браузери Konqueror:: бо мушак Reload-ро пахш кунед, ё тугмаи F5-ро пахш намоед; дар браузери Opera ба Шумо пурра тоза кардани хотираи браузер ба воситаи Tools→Preferences лозим аст.

//for [[special:block]]

elem('Reason').change( function(){

	if( /неприемлемое имя/.test(this.value) ){
		elem('Expiry', 'indefinite')
		if( /рекламное|заблуждение/.test(this.value) ) {
			elem('CreateAccount', false)
			elem('DisableEmail', false)
			elem('AutoBlock', false)
		}

	} else if( /анонимизирующий сервер/.test(this.value) ) {
		elem('CreateAccount', true)
		elem('DisableEmail', true)
		elem('HardBlock', true)
		if( elem('Expiry').val() == 'other' && ! elem('Expiry-other').val() )
			elem('Expiry', '5 years')
      
	} else if( /новый участник с провокационным вкладом/.test(this.value) || /«общая» учётная запись/.test(this.value) ){
		elem('Expiry', 'indefinite')

	}

})



// get/set MW input element
function elem(name, value){ 
	var $el = $('#mw-input-wp' + name)
	if( !$el.length ) $el = $('[name="wp' + name + '"]')
	if( value !== undefined ){ //set value
		if( $el.prop('tagName') == 'SELECT' ){
			$el.find('option[value*="'+value+'"]').attr('selected', 'selected').end().change()
		} else if( $el.prop('type') == 'checkbox' ) {
			$el.setAndHighlight(value)
		} else { //text
			if( /-other$/.test(name) ) elem( name.replace(/-other$/,''), 'other') //set 'select' above
			$el.val(value)
		}	 
	} 
	return $el  
}

// highlighting changed checkboxes
jQuery.fn.setAndHighlight = function(val){
	if( $(this).prop('checked') == !! val ) return
	$(this).prop('checked', val).addClass('highlighted')
	setTimeout(function(){ $('.highlighted').removeClass('highlighted')}, 1000)
}