Добро пожаловать на Lesta Games Wiki!

MediaWiki:Common.js — различия между версиями

Перейти к: навигация, поиск
Версия 08:10, 18 октября 2013Версия 14:25, 5 ноября 2013
Полностью удалено содержимое страницы
Строка 1:Строка 1:
?/* Размещённый здесь JavaScript код будет загружаться всем пользователям при обращении к каждой странице */ 
  
?/* Добавление кнопки и функционала Викификатора в режиме редактирования */ 
?function addWikifButton() { 
? var toolbar = document.getElementById('toolbar') 
? if (!toolbar) return 
? var i = document.createElement('img') 
? i.src = 'https://upload.wikimedia.org/wikisource/ru/d/d1/Button-wikifikator.png' 
? i.alt = i.title = 'викификатор' 
? i.onclick = Wikify 
? i.style.cursor = 'pointer' 
? toolbar.appendChild(i) 
?} 
? 
?/* Сокрытие приглашения скачать игру в подвале для залогиненного пользователя (раньше фунция еще добавляла кнопку "Играть") */ 
?function addPlayButton() { 
? try { 
? var logout = document.getElementById('pt-logout'); 
? if (logout != null) { 
? document.getElementById('footer-wot-link').style.display = 'none'; 
? }  
? } catch(e) { 
? return; 
? } 
?} 
? 
?/* Функционал тактических примеров. См. пример на [[Тактика. Т-54 — создание перевеса на фланге]] */ 
?var tacticCounter = 1; 
?var mapImages = new Array(); 
? 
?function tacticNext() {  
? document.getElementById('step' + tacticCounter).style.display = 'none'; 
? 
? if (tacticCounter < mapImages.length - 1) {  
? tacticCounter++ ; 
? if (tacticCounter == mapImages.length - 1) document.getElementById('nextsteplink').innerHTML = 'В начало'; 
? } else {  
? tacticCounter = 1;  
? document.getElementById('nextsteplink').innerHTML = 'Продолжить »'; 
? } 
? 
? document.getElementById('step' + tacticCounter).style.display = 'block'; 
? document.getElementById('tacticimg').src = mapImages[tacticCounter]; 
? return false; 
?} 
? 
?function tacticSlideShow() { 
? try { 
? var mapDiv = document.getElementById('tacticmap'); 
? if (mapDiv == null) { 
? return; 
? } 
? mapImages = mapDiv.innerHTML.split(','); 
? mapDiv.innerHTML = ''; 
? mapDiv.style.background = 'url(' + mapImages[0] + ') top no-repeat'; 
? var imgNode = document.createElement( 'img' ); 
? imgNode.id = 'tacticimg'; 
? imgNode.src = mapImages[1]; 
? mapDiv.appendChild( imgNode ); 
? 
? var aNode = document.createElement( 'a' );  
? aNode.setAttribute( 'id', 'nextsteplink' ); 
? aNode.setAttribute( 'href', '#' ); 
? aNode.setAttribute( 'onClick', 'return tacticNext();' ); 
? aNode.appendChild(document.createTextNode('Продолжить »')); 
? document.getElementById('nextstep').appendChild(aNode); 
? } catch(e) { 
? return; 
? } 
?} 
? 
?/* Переключение таблицы ТТХ машины в топовую конфигурацию */ 
?function tthToTop() { 
? document.getElementById('stockTTH').style.display = 'none'; 
? document.getElementById('topTTH').style.display = 'block'; 
? return false; 
?} 
? 
?/* Переключение таблицы ТТХ машины в стоковую конфигурацию */ 
?function tthToStock() { 
? document.getElementById('topTTH').style.display = 'none'; 
? document.getElementById('stockTTH').style.display = 'block'; 
? return false; 
?} 
? 
? 
?/* переключение ТТХ топ/сток */ 
?function tthTopStock() { 
? try { 
? var toStock = document.getElementById('toStock'); 
? var toTop = document.getElementById('toTop'); 
? if (toStock == null || toTop == null) { 
? return; 
? } 
? 
? var aNode = document.createElement( 'a' );  
? aNode.setAttribute( 'href', '#' ); 
? aNode.setAttribute( 'onClick', 'return tthToTop();' ); 
? aNode.appendChild(document.createTextNode('топ')); 
? toTop.appendChild(aNode); 
? 
? var aNode = document.createElement( 'a' );  
? aNode.setAttribute( 'href', '#' ); 
? aNode.setAttribute( 'onClick', 'return tthToStock();' ); 
? aNode.appendChild(document.createTextNode('сток')); 
? toStock.appendChild(aNode); 
? 
? } catch(e) { 
? return; 
? } 
?} 
? 
?//Messages 
?var NavigationBarHide = '[скрыть]' 
?var NavigationBarShow = '[показать]' 
?var NavigationBarShowDefault = 2 
? 
?/* Функционал раскрывающихся блоков (спойлеры) */ 
?//Collapsiblе 
? 
?var hasClass = (function (){ 
? var reCache = {} 
? return function (element, className){ 
? return (reCache[className] ? reCache[className] : (reCache[className] = new RegExp("(?:\\s|^)" + className + "(?:\\s|$)"))).test(element.className) 
? } 
?})() 
? 
?/* 
?$(document).ready(function(){ 
? $("table.collapsible").each(function(idx, table){ 
? $(table).attr( "id", 'collapsibleTable' + idx ); 
? }); 
?}); 
? 
?*/ 
? 
? 
?function collapsibleTables(){ 
? var Table, HRow, HCell, btn, a, tblIdx = 0, colTables = [] 
? var allTables = document.getElementsByTagName('table') 
? for (var i=0; Table = allTables[i]; i++){ 
? if (!hasClass(Table, 'collapsible')) continue 
? if (!(HRow=Table.rows[0])) continue 
? if (!(HCell=HRow.getElementsByTagName('th')[0])) continue 
? Table.id = 'collapsibleTable' + tblIdx 
? btn = document.createElement('span') 
? btn.style.cssText = 'float:right; font-weight:normal; font-size:smaller' 
? a = document.createElement('a') 
? a.id = 'collapseButton' + tblIdx 
? a.href = 'javascript:collapseTable(' + tblIdx + ');' 
? a.style.color = HCell.style.color 
? a.appendChild(document.createTextNode(NavigationBarHide)) 
? btn.appendChild(a) 
? HCell.insertBefore(btn, HCell.childNodes[0]) 
? colTables[tblIdx++] = Table 
? } 
? for (var i=0; i < tblIdx; i++) 
? if ((tblIdx > NavigationBarShowDefault && hasClass(colTables[i], 'autocollapse')) || hasClass(colTables[i], 'collapsed')) 
? collapseTable(i) 
?} 
? 
?function collapseTable (idx){ 
? var Table = document.getElementById('collapsibleTable' + idx) 
? var btn = document.getElementById('collapseButton' + idx) 
? if (!Table || !btn) return false 
? var Rows = Table.rows 
? var isShown = (btn.firstChild.data == NavigationBarHide) 
? btn.firstChild.data = isShown ? NavigationBarShow : NavigationBarHide 
? var disp = isShown ? 'none' : Rows[0].style.display 
? for (var i=1; i < Rows.length; i++) 
? Rows[i].style.display = disp 
?} 
? 
?function collapsibleDivs(){ 
? var navIdx = 0, colNavs = [], i, NavFrame 
? var divs = document.getElementById('content').getElementsByTagName('div') 
? for (i=0; NavFrame = divs[i]; i++) { 
? if (!hasClass(NavFrame, 'NavFrame')) continue 
? NavFrame.id = 'NavFrame' + navIdx 
? var a = document.createElement('a') 
? a.className = 'NavToggle' 
? a.id = 'NavToggle' + navIdx 
? a.href = 'javascript:collapseDiv(' + navIdx + ');' 
? a.appendChild(document.createTextNode(NavigationBarHide)) 
? for (var j=0; j < NavFrame.childNodes.length; j++) 
? if (hasClass(NavFrame.childNodes[j], 'NavHead')) 
? NavFrame.childNodes[j].appendChild(a) 
? colNavs[navIdx++] = NavFrame 
? } 
? for (i=0; i < navIdx; i++) 
? if ((navIdx > NavigationBarShowDefault && !hasClass(colNavs[i], 'expanded')) || hasClass(colNavs[i], 'collapsed')) 
? collapseDiv(i) 
?} 
? 
?function collapseDiv(idx) { 
? var div = document.getElementById('NavFrame' + idx) 
? var btn = document.getElementById('NavToggle' + idx) 
? if (!div || !btn) return false 
? var isShown = (btn.firstChild.data == NavigationBarHide) 
? btn.firstChild.data = isShown ? NavigationBarShow : NavigationBarHide 
? var disp = isShown ? 'none' : 'block' 
? for (var child = div.firstChild; child != null; child = child.nextSibling) 
? if (hasClass(child, 'NavPic') || hasClass(child, 'NavContent')) 
? child.style.display = disp 
?} 
? 
?// Add Hooks 
? 
?addOnloadHook(addPlayButton); 
? 
?if (wgAction == 'edit' || wgAction == 'submit') { 
? importScriptURI('https://ru.wikipedia.org/w/index.php?title=MediaWiki:Wikificator.js&action=raw&ctype=text/javascript') 
? addOnloadHook(addWikifButton) 
?} else { 
? addOnloadHook(tacticSlideShow) 
? addOnloadHook(tthTopStock) 
? addOnloadHook(collapsibleDivs) 
? addOnloadHook(collapsibleTables) 
?} 
? 
? 
?/* Функционал всплывающих подсказок с ТТХ модулей */ 
?var isDropDownBox = false; 
? 
?$('.commentDrop').hover( 
?function(){ 
? if (!isDropDownBox) { 
? $('#bodyContent').append('<div id="dropDownBox" style="position:absolute;"></div>'); 
? isDropDownBox = true; 
? } 
? var offset = $(this).position(); 
? var top = offset.top + $(this).height(); 
? 
? var obj = $.parseJSON($(this).find(".commentData").text()); 
? 
? var str = '<div style="border:1px dotted;background:#f2f2d2;padding:5px 1em;"><p style="text-align:center;"><b>'  
? + obj.type + ' ' + obj.mark + '</b></p> <dl>'; 
? 
? var items = []; 
? $.each(obj.data, function(key, val){ 
? items.push('<dt>' + key + ':</dt><dd>' + val + '</dd>'); 
? }); 
? 
? str += items.join('') + ' </dl></div><p>&nbsp;</p>'; 
? 
? $("#dropDownBox").html(str); 
? $("#dropDownBox").css({"top": top + "px", "left":offset.left + "px"}) 
? $("#dropDownBox").show(); 
?}, 
?function(){ 
? $("#dropDownBox").hide(); 
?}); 
? 
? 
?/* 
? * Плагины 
?*/ 
?/* simpleRotator - обеспечивает функционал врашения машины вокруг вертикальной оси */ 
?(function(a){a.fn.simpleRotator=function(b){var d={mouseMoveThresholdX:20,RepeatImageX:true,startImage:0,isAnimate:true,animationSpeed:100,animationShowSpeed:200,width:"auto",height:"auto",linkType:"a",textLoad:"Просмотреть",textLoading:"Загрузка",textLoadError:"Произошла ошибка при загрузке, попробуйте обновить страницу."};var c=a.extend(d,b);return this.each(function(){function u(){a(z).html('<div class="loader loadButton" unselectable="on">'+c.textLoad+"</div>");a(z).children(".loader").click(function(){if(j){return 0}a(z).children(".loader").html(c.textLoading);a(z).children(".loader").removeClass("loadButton");m()})}function w(){for(i=0;i<s.length;i++){a(z).append('<div class="subRotator subRotatorId-'+i+'"></div>');a(z).children(".subRotatorId-"+i).css("background-image",'url("'+q[i].src+'")');a(z).children(".subRotatorId-"+i).hide()}}function x(){try{if(c.linkType=="img"){a(z).children("img").each(function(e){s.push(a(this).attr("src"))})}else{if(c.linkType=="a"){a(z).children("a").each(function(e){s.push(a(this).attr("href"))})}}}catch(A){}}function m(){try{for(i=0;i<s.length;i++){pic=new Image();pic.src=s[i];q.push(pic);pic.addEventListener("load",t,false);pic.addEventListener("error",r,false)}}catch(A){}}function t(e){o++;if(o===s.length){n()}}function n(A){try{h(q[0].width);k(q[0].height);w();v();f(c.startImage);a(z).children(".loader").hide()}catch(B){}}function r(e){a(z).children(".loader").html(c.textLoadError);j=true}function v(){try{a(z).mousedown(function(e){l=true;g=e.clientX});a(z).mouseup(function(e){l=false});a(z).mouseleave(function(e){l=false});a(z).mousemove(function(e){if(l){if(Math.max(g,e.clientX)-Math.min(g,e.clientX)>c.mouseMoveThresholdX){if(e.clientX-g<0){f("prev")}else{f("next")}g=e.clientX}}})}catch(A){}}function f(A){try{if(A=="next"){A=p+1}if(A=="prev"){A=p-1}if(A>s.length-1&&c.RepeatImageX==true){A=0}else{if(A>s.length-1){A=s.length-1}}if(A<0&&c.RepeatImageX==true){A=s.length-1}else{if(A<0){A=0}}if(p!=A){if(c.isAnimate){a(z).children(".subRotator").stop(true,true)}a(z).children(".subRotator").css("z-index","");a(z).children(".subRotator.subRotatorId-"+p).css("z-index","14");a(z).children(".subRotator.subRotatorId-"+p).css("opacity","1");if(c.isAnimate){a(z).children(".subRotator.subRotatorId-"+A).css("opacity",0)}a(z).children(".subRotator.subRotatorId-"+A).css("z-index","15");if(c.isAnimate){a(z).children(".subRotator.subRotatorId-"+A).animate({opacity:1},c.animationSpeed,function(){})}p=A}a(z).children(".subRotator.subRotatorId-"+p).show()}catch(B){}}function h(e){if(c.width!="auto"){e=c.width}else{if(e<=0){e=320}}z.css("width",e)}function k(e){if(c.height!="auto"){e=c.height}else{if(e<=0){e=240}}z.animate({height:e},c.animationShowSpeed)}var l=false;var g=0;var p=-1;var s=Array();var q=Array();var o=0;var j=false;var z=a(this);try{z.addClass("plugin_rotator");z.attr("ondrag","return false;");z.attr("ondragdrop","return false;");z.attr("ondragstart","return false;");z.show();x();u()}catch(y){}})}})(jQuery); 
? 
? 
?/* Добавление комплектации в Edittools */ 
?function addAdditionalEdittools() { 
? try{ 
? if (localStorage['o_additionalEditPanelButtons'] != 1) return 0; 
? if (!$('div.mw-editTools').length) return 0; 
? var helpIconAddress = 'https://wiki.worldoftanks.ru/uploads/0/05/Question-small.png'; 
? var iconSize = '20px'; 
? var resultText = ""; 
? etElem = new Array(); 
? /* 
? etElem.push({insertLeft:'Вставка слева', insert:'Вставка', insertRight:'Вставка справа', title:'Подсказка при наведении',img:'Ссылка на картинку', text:'Текст надписи', help:'Ссылка на страницу помощи'}); 
? */ 
? etElem.push({text: '<p>'}); 
? etElem.push({text: 'Достоинства', insertLeft:'{{Достоинства| ', insertRight:'}}', help:'/Шаблон:Достоинства'}); 
? etElem.push({text: 'Недостатки', insertLeft:'{{Недостатки| ', insertRight:'}}', help:'/Шаблон:Недостатки'}); 
? etElem.push({text: 'Навыки', insertLeft:'{{Навыки|Строка1= ', insertRight:'|Подпись= }}', help:'/Шаблон:Навыки'}); 
? etElem.push({text: 'Switcher', insertLeft:'{{switcher|height=|width=|Вкладка1# ', insert:'Содержимое', insertRight:' }}', help:'/Шаблон:Switcher'}); 
? etElem.push({text: 'Дописать', insertLeft:'{{Дописать}}', help:'/Шаблон:Дописать'}); 
? etElem.push({text: 'Доработать', insertLeft:'{{Доработать|', insertRight:' }}', help:'/Шаблон:Доработать'}); 
? etElem.push({text: 'Rotator', insertLeft:'{{Rotator|filename=', insertRight:' }}', help:'/Шаблон:Rotator'}); 
? etElem.push({text: 'НОС', insertLeft:'{{НОС|', insertRight:'}}', help:'/Шаблон:НОС'}); 
? etElem.push({text: '</p><p>'}); 
? etElem.push({text: 'Комплектация', insertLeft:'{{Комплектация|Модуль1 = |Модуль2 = |Модуль3 = |Снаряд1 = ББ |БК1 = 0 |Снаряд2 = БП |БК2 = 0 |Снаряд3 = ОФ |БК3 = 0 |Снаряжение1 = |Снаряжение2 = |Снаряжение3 = }}', help:'/Шаблон:Комплектация'}); 
? etElem.push({text: ': '}); 
? etElem.push({insertLeft:'Маскировочная сеть ', img:'https://wiki.worldoftanks.ru/uploads/thumb/f/f8/Маскировочная_сеть.png/'+iconSize+'-Маскировочная_сеть.png'}); 
? etElem.push({insertLeft:'Стереотруба ', img:'https://wiki.worldoftanks.ru/uploads/thumb/3/33/Стереотруба.png/'+iconSize+'-Стереотруба.png'}); 
? etElem.push({insertLeft:'Ящик с инструментами ', img:'https://wiki.worldoftanks.ru/uploads/thumb/0/06/Ящик_с_инструментами.png/'+iconSize+'-Ящик_с_инструментами.png'}); 
? etElem.push({insertLeft:'Рессоры ', img:'https://wiki.worldoftanks.ru/uploads/thumb/a/a1/Рессоры.png/'+iconSize+'-Рессоры.png'}); 
? etElem.push({insertLeft:'Противоосколочный подбой ', img:'https://wiki.worldoftanks.ru/uploads/thumb/c/c1/Противоосколочный_подбой.png/'+iconSize+'-Противоосколочный_подбой.png'}); 
? etElem.push({insertLeft:'Улучшенная вентиляция ', img:'https://wiki.worldoftanks.ru/uploads/thumb/7/75/Улучшенная_вентиляция.png/'+iconSize+'-Улучшенная_вентиляция.png'}); 
? etElem.push({insertLeft:'Мокрая боеукладка ', img:'https://wiki.worldoftanks.ru/uploads/thumb/0/07/Мокрая_боеукладка.png/'+iconSize+'-Мокрая_боеукладка.png'}); 
? etElem.push({insertLeft:'Досылатель ', img:'https://wiki.worldoftanks.ru/uploads/thumb/7/72/Досылатель.png/'+iconSize+'-Досылатель.png'}); 
? etElem.push({insertLeft:'Дополнительные грунтозацепы ', img:'https://wiki.worldoftanks.ru/uploads/thumb/4/43/Дополнительные_грунтозацепы.png/'+iconSize+'-Дополнительные_грунтозацепы.png'}); 
? etElem.push({insertLeft:'Заполнение баков CO2 ', img:'https://wiki.worldoftanks.ru/uploads/thumb/3/3c/Заполнение_баков_CO2.png/'+iconSize+'-Заполнение_баков_CO2.png'}); 
? etElem.push({insertLeft:'Просветленная оптика ', img:'https://wiki.worldoftanks.ru/uploads/thumb/5/59/Просветленная_оптика.png/'+iconSize+'-Просветленная_оптика.png'}); 
? etElem.push({insertLeft:'Стабилизатор вертикальной наводки ', img:'https://wiki.worldoftanks.ru/uploads/thumb/7/78/Стабилизатор_вертикальной_наводки.png/'+iconSize+'-Стабилизатор_вертикальной_наводки.png'}); 
? etElem.push({insertLeft:'Усиленные приводы наводки ', img:'https://wiki.worldoftanks.ru/uploads/thumb/5/59/Усиленные_приводы_наводки.png/'+iconSize+'-Усиленные_приводы_наводки.png'}); 
? etElem.push({insertLeft:'Фильтр Циклон ', img:'https://wiki.worldoftanks.ru/uploads/thumb/f/fc/Фильтр_Циклон.png/'+iconSize+'-Фильтр_Циклон.png'}); 
? etElem.push({text: '| '}); 
? etElem.push({insertLeft:'Малый ремкомплект ', img:'https://wiki.worldoftanks.ru/uploads/thumb/f/fe/Малый_ремкомплект.png/'+iconSize+'-Малый_ремкомплект.png'}); 
? etElem.push({insertLeft:'Малая аптечка ', img:'https://wiki.worldoftanks.ru/uploads/thumb/e/e6/Малая_аптечка.png/'+iconSize+'-Малая_аптечка.png'}); 
? etElem.push({insertLeft:'Ручной огнетушитель ', img:'https://wiki.worldoftanks.ru/uploads/thumb/c/c8/Ручной_огнетушитель.png/'+iconSize+'-Ручной_огнетушитель.png'}); 
? etElem.push({insertLeft:'Ленд-лизное масло ', title:'Ленд-лизное масло (советские танки)', img:'https://wiki.worldoftanks.ru/uploads/thumb/4/40/Ленд-лизное_масло.png/'+iconSize+'-Ленд-лизное_масло.png'}); 
? etElem.push({insertLeft:'Качественное масло ', title:'Качественное масло (китайские танки)', img:'https://wiki.worldoftanks.ru/uploads/thumb/3/3b/Качественное_масло.png/'+iconSize+'-Качественное_масло.png'}); 
? etElem.push({insertLeft:'100-октановый бензин ', title:'100-октановый бензин (немецкие, французские и американские танки с бензиновыми двигателями)', img:'https://wiki.worldoftanks.ru/uploads/thumb/c/c7/100-октановый_бензин.png/'+iconSize+'-100-октановый_бензин.png'}); 
? etElem.push({insertLeft:'Подкрученный регулятор оборотов ', img:'https://wiki.worldoftanks.ru/uploads/thumb/2/28/Подкрученный_регулятор_оборотов.png/'+iconSize+'-Подкрученный_регулятор_оборотов.png'}); 
? 
? etElem.push({text: '| '}); 
? etElem.push({text: 'Модули:', help:'/WoT:Коды_модулей'}); 
? etElem.push({insertLeft:'{{CommentGun|tank:', insertRight:'}}', img:'https://wiki.worldoftanks.ru/uploads/thumb/1/1a/Ico_gun_alpha.png/'+iconSize+'-Ico_gun_alpha.png'}); 
? etElem.push({insertLeft:'{{CommentTurret|tank:', insertRight:'}}', img:'https://wiki.worldoftanks.ru/uploads/thumb/4/47/Ico_turret_alpha.png/'+iconSize+'-Ico_turret_alpha.png'}); 
? etElem.push({insertLeft:'{{CommentEngine|tank:', insertRight:'}}', img:'https://wiki.worldoftanks.ru/uploads/thumb/7/73/Ico_engine_alpha.png/'+iconSize+'-Ico_engine_alpha.png'}); 
? etElem.push({insertLeft:'{{CommentChassis|tank:', insertRight:'}}', img:'https://wiki.worldoftanks.ru/uploads/thumb/e/e7/Ico_suspension_alpha.png/'+iconSize+'-Ico_suspension_alpha.png'}); 
? etElem.push({insertLeft:'{{CommentRadio|tank:', insertRight:'}}', img:'https://wiki.worldoftanks.ru/uploads/thumb/c/ca/Ico_radio_alpha.png/'+iconSize+'-Ico_radio_alpha.png'}); 
? 
? etElem.push({text: '</p>'}); 
?  
? for ( key in etElem ) { 
? insertLeft = etElem[key].insertLeft!==undefined?etElem[key].insertLeft:''; insertRight = etElem[key].insertRight!==undefined?etElem[key].insertRight:''; 
? insert = etElem[key].insert!==undefined?etElem[key].insert:''; title = etElem[key].title!==undefined?etElem[key].title:insertLeft+insert+insertRight; 
?  
? if ((insertLeft+insert+insertRight)!='') {resultText += '<a onclick="insertTags(\''+insertLeft+'\',\''+insertRight+'\',\''+insert+'\');return false;" title="'+title+'" href="#">';} 
? if (etElem[key].img !== undefined) {resultText += '<img src="'+etElem[key].img+'" />';} 
? if (etElem[key].text !== undefined) {resultText += etElem[key].text} 
? if ((insertLeft+insert+insertRight)!='') {resultText +='</a>';} 
? if (etElem[key].help !== undefined) {resultText += '<a href="'+etElem[key].help+'" target="_blank"><img src="'+helpIconAddress+'" /></a>';} 
? resultText +=' '; 
? } 
? resultText += '</p>'; 
? $('#editpage-specialchars').append(resultText); 
? } catch (e) {console.error('Ошибка в addComplectationEdittools');} 
?} 
? 
? 
? 
?/* Проверка контента статьи на наличие разделов с подсказкой под левым главым меню */ 
?function checkContent() { 
? if ( $('div.TankPerformance').length ) { 
? var problems = new Array(); var problemsText = ''; 
? if( $('div#stockTTH.TankPerformance h3').text().indexOf("Ошибка: Значение не задано")+1 ){ problems.push('<a href="/WoT:Коды_модулей">Код техники</a>') } 
? if( !$('.commentDrop').length ){ problems.push('<a href="/WoT:Коды_модулей">Комментарии модулей</a>') } 
? /* if( !$('.skillsPanel').length ){ problems.push('<a href="/Шаблон:Навыки">Панели навыков</a>') } */ 
? if( !$('.complect').length ){ problems.push('<a href="/WoT:Содержание_статей_о_технике#.D0.9E.D0.B1.D0.BE.D1.80.D1.83.D0.B4.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D0.B5.2C_.D1.81.D0.BD.D0.B0.D1.80.D1.8F.D0.B6.D0.B5.D0.BD.D0.B8.D0.B5_.D0.B8_.D0.B1.D0.BE.D0.B5.D0.BA.D0.BE.D0.BC.D0.BF.D0.BB.D0.B5.D0.BA.D1.82">Примеры комплектации</a>') } 
? if( $('.mw-headline').text().indexOf("Исследование и прокачка")+1 == 0 && $('.TankPerformance .mw-headline a img').attr("src") != '/uploads/2/2b/Gold_icon.png'){ problems.push('<a href="/WoT:Содержание_статей_о_технике#.D0.98.D1.81.D1.81.D0.BB.D0.B5.D0.B4.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D0.B5_.D0.B8_.D0.BF.D1.80.D0.BE.D0.BA.D0.B0.D1.87.D0.BA.D0.B0">Раздел Исследование и прокачка</a>');} 
? if( $('.mw-headline').text().indexOf("Боевая эффективность")+1 == 0 ){ problems.push('<a href="/WoT:Содержание_статей_о_технике#.D0.91.D0.BE.D0.B5.D0.B2.D0.B0.D1.8F_.D1.8D.D1.84.D1.84.D0.B5.D0.BA.D1.82.D0.B8.D0.B2.D0.BD.D0.BE.D1.81.D1.82.D1.8C">Раздел Боевая эффективность</a>') } 
? if( $('div.wot-panel h3').text().indexOf("Галерея скриншотов")+1 == 0 && $('div.wot-panel h2').text().indexOf("Галерея скриншотов")+1 == 0 && $('.NavHead').text().indexOf("Галерея")+1 == 0 ){ problems.push('<a href="/WoT:Содержание_статей_о_технике#.D0.93.D0.B0.D0.BB.D0.B5.D1.80.D0.B5.D1.8F_.D1.81.D0.BA.D1.80.D0.B8.D0.BD.D1.88.D0.BE.D1.82.D0.BE.D0.B2">Галерея скриншотов</a>') } 
? if( $('div.wot-panel h3').text().indexOf("Оценка")+1 == 0 ){ problems.push('<a href="/WoT:Содержание_статей_о_технике#.D0.9E.D1.86.D0.B5.D0.BD.D0.BA.D0.B0_.D0.BC.D0.B0.D1.88.D0.B8.D0.BD.D1.8B">Оценка машины</a>') } 
? if( $('.mw-headline').text().indexOf("Историческая справка")+1 == 0 ){ problems.push('<a href="/WoT:Содержание_статей_о_технике#.D0.98.D1.81.D1.82.D0.BE.D1.80.D0.B8.D1.87.D0.B5.D1.81.D0.BA.D0.B0.D1.8F_.D1.81.D0.BF.D1.80.D0.B0.D0.B2.D0.BA.D0.B0">Раздел Историческая справка</a>') } 
? if( !$('.navbox').length ){ problems.push('<a href="#">Навигация</a>') } 
? if( $('table.improvePlate').length ) { problems.push('Доработать: '+$('table.improvePlate i.reasons').text()); $('table.improvePlate').hide();} 
? if( $('table.finishPlate').length ) { problems.push('<a href="/WoT:Содержание_статей_о_технике">Приведение в соответствие требованиям проекта</a>'); $('table.finishPlate').hide(); } 
? 
? if (problems != "") { 
? for ( key in problems ) { 
? problemsText += '<li>'+problems[key]+'</li>'; 
? } 
? $('#mw-panel').append('<div class="portal" style="background:RGBA(255,0,0,0.1); padding: 7px 0px 24px 0px;"><h5>Статье требуется</h5><div class="body"><ul>'+problemsText+'</ul></div></div>'); 
? } 
? } 
?} 
? 
?/* Прячет не заданные характеристики в ТТХ */ 
?function hideNoDataInfoInTankPerformance() {  
? $('.TankPerformance td span').each(function(key, value) {  
? if ($(value).text().indexOf('не задано')+1) $(value).parent().parent().hide(); 
? }); 
?} 
? 
?/* добавляет структуру для просмотра увеличенных изображений без перехода на другую страницу */ 
?function addImagePopupWindow() { 
? $('body').append('<div id="popupImageWindow"><table><tr><td><div id="popupImageWrapper">'+ 
? '<img id="popupImage" src="" /><div id="popupImageInfo"></div></div>'+ 
? '</td></tr></table></div>'+ 
? '<div id="popupImageButtons"><a id="openImageFile" href="#">Файл</a></div>'); 
?} 
? 
?/* добавляет функционал просмотра увеличенных изображений без перехода на другую страницу */ 
?function addImagePopups() { 
? if(localStorage.oImagePopupOn==0) return true; // для дебага 
? addImagePopupWindow(); 
?  
? $('a.image').click(function(index) { 
? $('#popupImage').attr('src',''); 
? var srcStr = $(this).children('img').attr('src'); //Адрес картинки 
? if(srcStr.indexOf('thumb')+1>0) { 
? srcStr = srcStr.replace(/thumb\//gi, '');  
? srcStr = srcStr.substring(0, srcStr.lastIndexOf("/")); 
? } 
?  
? $('#popupImageWindow table').css('background-image', 'url('+imageLoaderUrl+')'); 
? $('#popupImage').width('1px'); $('#popupImage').height('1px'); 
? $('#popupImage').attr('src',srcStr); 
? $('#popupImageButtons a#openImageFile').attr('href', $(this).attr('href')); 
?  
? var titleStr = ''; //Подпись 
? if($(this).next('div.thumbcaption').length>0) {titleStr=$(this).next('div.thumbcaption').text().trim();}  
? else if($(this).parent().parent().parent().children('div.gallerytext').length>0){titleStr=$(this).parent().parent().parent().children('div.gallerytext').text().trim();} //слабоумие и отвага 
?  
? if(titleStr.trim().length > 0) {$('#popupImageInfo').text(titleStr.trim());} else {$('#popupImageInfo').text('');} 
?  
? $('#popupImageWrapper').hide(); $('#popupImageWindow').show(); $('#popupImageButtons').show(); 
? return false; 
? }); 
?  
? // При загрузке картинки 
? $('#popupImage').load(function() { 
? $('#popupImage').width(''); $('#popupImage').height(''); 
? $(this).css('max-width', (self.innerWidth-100)+'px'); $(this).css('max-height',(self.innerHeight-100)+'px'); 
? $('#popupImageWindow table').css('background-image', ''); 
? $('#popupImageWrapper').show(); 
? if($('#popupImageInfo').text().trim().length > 0) {$('#popupImageInfo').show();} else {$('#popupImageInfo').hide();} 
? }); 
?  
? //Закрыть попап 
? $('#popupImageWindow').click(function(index) {  
? $(this).hide(); $('#popupImageButtons').hide(); 
? $('#popupImageButtons a').attr('href', '#'); $('#popupImageInfo').text('');$('#popupImage').attr('src',''); 
? }); 
?  
?}; 
? 
? 
?/* Дерево модулей */ 
?function modulesBlock() { 
? var currentModulesBlock = 1; 
? var modulesShowTxt = []; 
? modulesShowTxt[-1] = 'показать список'; 
? modulesShowTxt[1] = 'показать дерево'; 
? var modulesBlock = []; 
? modulesBlock[-1] = false; 
? modulesBlock[1] = $('#modulesBlock').html(); 
? var vehicle = $('#modulesBlock').attr("class"); 
? $('#modulesBlock').attr("class", ""); 
? 
? $('#modulesBlockH2').html($('#modulesBlockH2').html() + '&nbsp;&nbsp;<small>[<a id="modulesBlockChange" href="#">' + modulesShowTxt[currentModulesBlock] + '</a>]</small>'); 
? $('#modulesBlockChange').click(function(){ 
? currentModulesBlock = -1 * currentModulesBlock; 
? if (modulesBlock[currentModulesBlock] == false ) { 
? modulesBlock[currentModulesBlock] = '<iframe frameborder="0" style="border-width: 0; width: 100%; min-width: 780px; height: 620px;" src="https://armor.kiev.ua/wot/tanks/modulestree.php?vehicle=' + vehicle + '"></iframe>';  
? } 
? $('#modulesBlock').html(modulesBlock[currentModulesBlock]); 
? $(this).text(modulesShowTxt[currentModulesBlock]); 
? return false; 
? }); 
? 
? $('.treeFrame').each(function(indx){ 
? $(this).html('<iframe frameborder="0" style="border-width: 0; width: 100%; min-width: 1010px; height: 750px;" src="' + $(this).html() + '"></iframe>');  
? }); 
? $('.modulesTreeFrame').each(function(indx){ 
? $(this).html('<iframe frameborder="0" style="border-width: 0; width: 100%; min-width: 820px; height: 620px;" src="' + $(this).html() + '"></iframe>');  
? }); 
?} 
? 
?/* Переключатель между разными дивами */ 
?function switcher() { 
? try{if (localStorage.o_debug_switcher == 1) {return 0;}} catch (e) {} // дебаг 
? $('.switcher').each(function () { 
? if ($(this).data('width')!=undefined && $(this).data('width')!=""){ 
? $(this).find('.switcherWrap').css('width',$(this).data('width')); 
? $(this).find('.subSwitcher').css('width',$(this).data('width')); 
? } 
? if ($(this).data('height')!=undefined && $(this).data('height')!=""){ 
? $(this).find('.switcherFrame').css('height',$(this).data('height')); 
? $(this).find('.subSwitcher').css('height',$(this).data('height')); 
? } 
?  
? $(this).find('.subSwitcher:first').show(); 
? $(this).find('.switcherControlButton:first').addClass('active'); 
?  
? if ($(this).data('menuposition') !== undefined) { 
? if ($(this).data('menuposition')=='top') { 
? $(this).find('.switcherControl').detach().prependTo($(this).find('.switcherWrap')); 
? } 
? } 
?  
? console.log($(this).find('.subSwitcherBackground a img').length); 
? if ($(this).find('.subSwitcherBackground a img').length) { 
? $(this).find('.switcherFrame').css('backgroundImage', 'url('+$(this).find('.subSwitcherBackground a img').attr('src')+')'); 
? } 
?  
? $(this).removeClass('hidden'); 
? }) 
?  
? $('.switcherControlButton').click(function (){ 
? var buttonCkickId=$(this).data('id'); 
? $(this).parent().children('.switcherControlButton').removeClass('active'); //hurr 
? $(this).addClass('active'); 
? $(this).parent().parent().find('.subSwitcher').each(function() { //durr 
? if(buttonCkickId == $(this).data('id')) $(this).show(); 
? else $(this).hide(); 
? }); 
? }); 
?} 
? 
?/* Улучшение панели */ 
?function improvedPanelEditTools() { 
? try { 
? if (localStorage['o_improvedEditPanel'] != 1) return 0; 
? if (!$('#wpTextbox1').length) return 0; 
? var animateSpeed = 150; 
? $('#editform').append('<div id="editPanel"></div>'); 
? $('#editPanel').addClass('improved'); $('.templatesUsed ul').addClass('improved'); 
? 
? $('.mw-editTools').appendTo('#editPanel');  
? if (localStorage['o_improvedEditPanelDownKey'] != 1) { $('.editOptions').appendTo('#editPanel'); } 
?  
? if (localStorage['o_improvedEditPanelShowRight'] != 1) { 
? $("#editPanel").mouseenter(function(){ $('#editPanel').stop(true,true); $('#editPanel').animate({bottom: '0px'}, animateSpeed); }) 
? .mouseleave(function(){ $('#editPanel').stop(true,true); $('#editPanel').animate({bottom: '-'+($('#editPanel').height()-10)+'px'}, animateSpeed); }); 
? $('#editPanel').animate({bottom: '-'+($('#editPanel').height()-10)+'px'}, animateSpeed); 
? } else { 
? $("#editPanel").mouseenter(function(){ $('#editPanel').stop(true,true); $('#editPanel').animate({right: '0px'}, animateSpeed); }) 
? .mouseleave(function(){ $('#editPanel').stop(true,true); $('#editPanel').animate({right: '-'+($('#editPanel').width()-10)+'px'}, animateSpeed); }); 
? $('#editPanel').animate({right: '-'+($('#editPanel').width()-10)+'px'}, animateSpeed); 
? } 
? 
? wpTextbox1Resizer(); 
? $('#wpTextbox1').bind('keydown keypress keyup', wpTextbox1Resizer); 
? } catch (e) {console.error('Ошибка в improvedPanelEditTools');} 
?} 
? 
?function wpTextbox1Resizer() { 
? if ($('#wpTextbox1')[0].scrollHeight > $('#wpTextbox1')[0].offsetHeight) { $('#wpTextbox1').css('height',($('#wpTextbox1')[0].scrollHeight+200)+'px'); } 
?} 
? 
? 
?/* Доходность (шаблон) */ 
?function profitPanel() { 
? $('.profitMore').toggle( 
? function() {$(this).prev().prev().show();$(this).text('↑ Подробнее');}, 
? function() {$(this).prev().prev().hide();$(this).text('↓ Подробнее');} 
? ); 
?} 
? 
? 
?/* Прозвища ajax */ 
?function getAlias() { 
? try { 
? if ( $('div.TankPerformance').length ) { 
? var codeValue = $('#codeValue').text(); 
? var nationValue = $('#nationValue').text(); 
? $('div.TankPerformance table tbody').eq(1).prepend(''+ 
? '<tr><th class="center group alias aliasHeader" colspan="2">Прозвища в игре <div class="editLink">[<a href="/WoT:Прозвища">править</a>]</div></th></tr>'+ 
? '<tr><td class="alias aliasContent" colspan="2"></td></tr>'+ 
? ''); 
? $('div.TankPerformance table tbody').eq(4).prepend(''+ 
? '<tr><th class="center group alias aliasHeader" colspan="2">Прозвища в игре <div class="editLink">[<a href="/WoT:Прозвища">править</a>]</div></th></tr>'+ 
? '<tr><td class="alias aliasContent" colspan="2"></td></tr>'+ 
? ''); 
? $.get('/WoT:Прозвища/'+nationValue) 
? .done(function(data) {  
? var obj = $.parseJSON(jQuery(data).find("div.mw-content-ltr p").text()); 
? if (obj[codeValue] !== undefined) { $('.aliasContent').text(obj[codeValue]); } 
? }) 
? .always(function() { if ($('.aliasContent').text() != '') {$('.alias').fadeIn();} }); 
? } 
? } catch (e) { 
? console.log("Что-то пошло не так. Пичалька, прозвища ниработают"); 
? } 
?} 
? 
? 
?/* Установка дефолтных настроек */ 
?function setDefaultjsOptions() { 
? try{ 
? lsElement = new Array( 
? {param:'o_showJsOptionsPanel', value:1},  
? {param:'o_additionalEditPanelButtons', value:1},  
? {param:'o_improvedEditPanel', value:0}, {param:'o_improvedEditPanelDownKey', value:0}, {param:'o_improvedEditPanelShowRight', value:0},  
? {param:'o_spellCheck', value:0}, {param:'o_spellCheckIgnoreUppercase', value:0} 
? ); 
? for (key in lsElement) {if (localStorage[lsElement[key].param]===undefined) {localStorage[lsElement[key].param] = lsElement[key].value;}} 
? } catch (e) { console.error('Нет поддержки localStorage? Пришло время обновить браузер.'); } 
?} 
? 
? 
?/* Панелька настроек */ 
?function jsOptionsPanel() { 
? try { 
? if (localStorage['o_showJsOptionsPanel'] != 1) return 0; 
? if(!(wgTitle==wgUserName && wgCanonicalNamespace=='User')) return 0; 
? $('#bodyContent').append('<fieldset id="js_options" style="font-size: 10px;">'+ 
? '<legend>Дополнительные настройки скриптов</legend>'+ 
? '<input type="checkbox" id="o_improvedEditPanel" name="o_improvedEditPanel" /><label for="o_improvedEditPanel"> Улучшеная панель редактирования</label><br>'+ 
? '&nbsp; <input type="checkbox" id="o_improvedEditPanelDownKey" name="o_improvedEditPanelDownKey" /><label for="o_improvedEditPanelDownKey"> Кнопки управления внизу</label><br>'+ 
? '&nbsp; <input type="checkbox" id="o_improvedEditPanelShowRight" name="o_improvedEditPanelShowRight" /><label for="o_improvedEditPanelShowRight"> Отображать панель справа</label><br>'+ 
? '<input type="checkbox" id="o_additionalEditPanelButtons" name="o_additionalEditPanelButtons" /><label for="o_additionalEditPanelButtons"> Дополнительные кнопки редактирования</label><br>'+ 
? '</fieldset>'); 
?  
? $('#js_options input[type="checkbox"]').each(function (index) { if (localStorage[$(this).attr('name')]==1) { $(this).attr('checked','checked');} }) 
?  
? $('#js_options input[type="checkbox"]').bind('change', function() { 
? if ($(this).is(':checked')) { localStorage[$(this).attr('name')] = 1; } 
? else { localStorage[$(this).attr('name')] = 0; } 
? }); 
? } catch (e) {console.error('Ошибка в jsOptionsPanel');} 
?} 
? 
?/* Вводная инструкция по редактированию */ 
?function KMVAlert() { 
? try { 
? if(!$('#editform').length) {return 0;} 
? var oToday = new Date(); 
? if (localStorage['o_lastShownKMVAlertDate']==undefined) {localStorage['o_lastShownKMVAlertDate'] = 0;} 
? var lastShownKMVAlertDate = new Date(); lastShownKMVAlertDate.setTime(localStorage['o_lastShownKMVAlertDate']); 
? var nDaysLeft = lastShownKMVAlertDate < oToday ? Math.ceil((oToday-lastShownKMVAlertDate) / (1000 * 60 * 60 * 24)) : 0; 
? if (nDaysLeft>30) { 
? $('body').append('<div id="alertMessage" style="position:fixed; top:0px; left:0px; right:0px; bottom:0px; z-index:9050; background:RGBA(0,0,0,0.4); padding: 50px; overflow:auto;">'+ 
? '<div class="content" style="padding: 17px; background: white; min-height:300px; font-size: 80%;">'+ 
? 'Загрузка'+ 
? '</div><div style="text-align:center;padding: 0px 0px 100px;"><a class="closeBtn" style="padding:12px; background:#FF3333; color:#000000;" onclick="var oToday = new Date(); localStorage[\'o_lastShownKMVAlertDate\'] = oToday.getTime(); $(\'#alertMessage\').hide(); return false;" href="#">Я всё понял</a></div>'+ 
? '</div>'); 
? $('#alertMessage .content').load('/WoT:Краткая_вводная div.mw-content-ltr', function() {}); 
?  
? } else { 
? localStorage['o_lastShownKMVAlertDate'] = oToday.getTime(); 
? } 
? } catch (e) { 
? console.log("КМВ: Что-то пошло не так"); 
? } 
?} 
? 
? 
? 
?/* Конфиг */ 
?var imageLoaderUrl = '/uploads/4/42/Loading.gif'; 
?var isRotate = false; 
? 
?function addRotatorPopupWindow() { 
? $('body').append('<div id="popupRotatorWindow"><table><tr><td><div id="popupRotatorWrapper">'+ 
? '<div id="rotatorTarget"></div><img src="/uploads/b/bd/Close.png" class="closeBtn"></div>'+ 
? '</td></tr></table></div>' 
? ); 
?} 
? 
?/* ready */ 
?$(document).ready( function(){ 
? modulesBlock(); 
? setDefaultjsOptions(); 
? switcher(); 
? setTimeout(addImagePopups,0); 
? setTimeout(hideNoDataInfoInTankPerformance,0); 
? setTimeout(getAlias,0); 
? 
? /* setTimeout(function (){$('.rotator').simpleRotator({width: '100%', textLoad: '<img src="https://wiki.worldoftanks.ru/uploads/2/2d/RotateIcon.png" />'});}); */ 
? 
? //---- 
? setTimeout(function (){ 
? $('.myRotator').click(function(){ 
? if (isRotate) {return 0;} 
? addRotatorPopupWindow(); 
? $('#rotatorTarget').html($(this).children('.rotator').html()); 
? $('#rotatorTarget').simpleRotator({width: '1024px', textLoading: '<img src="' + imageLoaderUrl + '" />'}); 
? $('#rotatorTarget').children(".loader").click(); 
? $('#popupRotatorWindow').find('.closeBtn').click(function(){  
? $('#popupRotatorWindow').remove();  
? isRotate = false; 
? }); 
? $('#popupRotatorWindow').show(); 
? isRotate = true;  
? }); 
? }); 
? 
? //---- 
? setTimeout(function (){$('.hangarRotator').simpleRotator({width: '1060px', textLoading: '<img src="' + imageLoaderUrl + '" />'}); $('.hangarRotator').children(".loader").click(); }); 
? 
? //---- 
? setTimeout(addAdditionalEdittools,0); 
? setTimeout(checkContent,0); 
? setTimeout(jsOptionsPanel,0); 
? setTimeout(improvedPanelEditTools,0); 
? setTimeout(profitPanel,0); 
? setTimeout(KMVAlert,0); 
? 
? //---- 
? setTimeout(function (){ 
? $('.provRef').click(function(){ 
? var ref = '#' + $(this).data('ref'); 
? var origin = $(this).parents('tr:first').attr('id'); 
? $('.provSelect').removeClass('provSelect'); 
? $('.provOrigin').removeClass('provOrigin'); 
? $(ref).addClass('provSelect').find('[data-ref=' + origin + ']').addClass('provOrigin');  
? location.href = ref; 
? }); 
? }); 
? 
? //---- 
? setTimeout(function (){ 
? $('#editform').submit(function(){ 
? var result = $('#wpTextbox1').val().indexOf('war' + 'blogs.ru') == -1; 
? var mb = $('#mw-js-message'); 
? if (!result) { 
? mb.html('Возникла неизвестная ошибка при сохранении'); 
? mb.show(); 
? } 
? return result;  
? }); 
? }); 
? 
? 
?}); 

Версия 14:25, 5 ноября 2013