MediaWiki:Common.js

Zo stránky Wiki Grepolis SK
Verzia z 15:16, 25. august 2017, ktorú vytvoril Sidri (diskusia | príspevky)
Jump to navigation

Poznámka: Aby sa zmeny prejavili, po uložení musíte vymazať vyrovnávaciu pamäť vášho prehliadača.

  • Mozilla Firefox / Safari: Držte stlačený Shift a kliknite na Reload alebo stlačte buď Ctrl-F5 alebo Ctrl-R (⌘-R na Mac)
  • Google Chrome: Stlačte Ctrl-Shift-R (⌘-Shift-R na Mac)
  • Internet Explorer: Držte Ctrl a kliknite na Refresh alebo stlačte Ctrl-F5
  • Opera: Stlačte Ctrl-F5.
/*rewards filter*/
$('.rewards-switch').click(function(){
var tabname = $(this).attr('id');
switch(tabname){
case 'rewards-all':
$('tr').css('display','table-row');
$('#rewards-all').css('color','#222222');
$('#rewards-events').css('color','#7c7a7a');
$('#rewards-quests').css('color','#7c7a7a');
$('#rewards-premium').css('color','#7c7a7a');
break;
case 'rewards-events':
$('.iqquests').parent('tr').css('display','none');
$('.premium').parent('tr').css('display','none');
$('.events').parent('tr').css('display','table-row');
$('#rewards-events').css('color','#222222');
$('#rewards-quests').css('color','#7c7a7a');
$('#rewards-all').css('color','#7c7a7a');
$('#rewards-premium').css('color','#7c7a7a');
break;
case 'rewards-quests':
$('.events').parent('tr').css('display','none');
$('.premium').parent('tr').css('display','none');
$('.iqquests').parent('tr').css('display','table-row');
$('#rewards-quests').css('color','#222222');
$('#rewards-all').css('color','#7c7a7a');
$('#rewards-events').css('color','#7c7a7a');
$('#rewards-premium').css('color','#7c7a7a');
break;
case 'rewards-premium':
$('.events').parent('tr').css('display','none');
$('.iqquests').parent('tr').css('display','none');
$('.premium').parent('tr').css('display','table-row');
$('#rewards-premium').css('color','#222222');
$('#rewards-all').css('color','#7c7a7a');
$('#rewards-events').css('color','#7c7a7a');
$('#rewards-iqquests').css('color','#7c7a7a');
break;
}
});

/*dropdown menu*/
$('.link').click(function(){
    var ref=$(this).attr("data-ref");
    location.href = "https://wiki.sk.grepolis.com/wiki/"+ref;
    });
 $(document).ready(function () {            $('.menu-first-level').mouseenter(function(){
  $(this).children('.menu-second-level').slideToggle("fast");
});
 });
$(document).ready(function () { $('.menu-first-level').mouseleave(function(){
  $(this).children('.menu-second-level').slideToggle("fast");
});
 });
  $(document).ready(function () {            $('.menu-second-level li').mouseenter(function(){
  $(this).children('.menu-third-level').slideToggle("fast");
});
 });
$(document).ready(function () { $('.menu-second-level li').mouseleave(function(){
  $(this).children('.menu-third-level').slideToggle("fast");
});
 });
/* main page menu*/
$('.about-menu').click(function(){
var tabname = $(this).attr('id');
switch(tabname){
case 'about-game-title':
$('#about-game').css('display','block');
$('#about-game-title').css('color','#222222');
$('#about-wiki').css('display','none');
$('#about-wiki-title').css('color','#7c7a7a');
$('#about-inno').css('display','none');
$('#about-inno-title').css('color','#7c7a7a');
break;
case 'about-wiki-title':
$('#about-wiki').css('display','block');
$('#about-wiki-title').css('color','#222222');
$('#about-game').css('display','none');
$('#about-game-title').css('color','#7c7a7a');
$('#about-inno').css('display','none');
$('#about-inno-title').css('color','#7c7a7a');
break;
case 'about-inno-title':
$('#about-inno').css('display','block');
$('#about-inno-title').css('color','#222222');
$('#about-wiki').css('display','none');
$('#about-wiki-title').css('color','#7c7a7a');
$('#about-game').css('display','none');
$('#about-game-title').css('color','#7c7a7a');
break;
}
});
$('#play-button').click(function(){
    location.href = "https://sk.grepolis.com";
    });
/*pro islandquests*/
$(function(){
$('.quests').each(function(i, obj){
$(this).css("display","none");
    });
});

$(document).ready(function(){
    $(".quest-toggler").click(function(){
        $(this).next(".redquests").slideToggle("slow");
	$(this).next(".redquests").next().slideToggle("slow");
    });
});
/*pro world info*/
            $('.trigger').click(function(){
                if($(this).siblings(0).attr("data-state")=="spoiled"){
                    $(this).siblings(0).slideDown();
                    $(this).siblings(0).attr("data-state","revealed");
                }else{
                    $(this).siblings(0).slideUp();
                    $(this).siblings(0).attr("data-state","spoiled");
                }
            });

$(function(){
    $('.spoiler').each(function(i, obj){
        if(i%2==0){
            $(this).css("background","url(https://wiki.cz.grepolis.com/images/b/b4/Bluemarble.png) repeat");
        }else{
            $(this).css("background","url(https://wiki.cz.grepolis.com/images/1/12/Redmarble.jpg) repeat");
        }
    });}
);
/*presmerovani odkazu - menu staveb */

    $('.button').click(function(){
    var ref=$(this).attr("data-ref");
    location.href = "https://wiki.sk.grepolis.com/wiki/"+ref;
    });
/*research simulator*/

$( function() {            //pxcoordinations
            var positionCount=0;
            //counter for RP
            var researchPoints=0;
            //index of research in its table - from left to right
            var indexOfResearch;
            //temporary variable for saving coods of part of bckg
            var tmp;
            for(i=0;i<=40;i++){
                $('.researches:eq('+i+' )').css({background: "url('https://wiki.sk.grepolis.com/images/a/a4/Researches_50x50_.png') -"+positionCount+"px -"+positionCount+"px"});
                positionCount+=100;
            }
            $('.researches').click(function(){
                                    if ($(this).attr("data-state")=="disabled"){
                                        index=$(".researches").index(this);
                                        tmp=50+index*100;
                                        $(this).css({background: "url('https://wiki.sk.grepolis.com/images/a/a4/Researches_50x50_.png') -"+tmp+"px -"+tmp+"px"});
                                        $(this).attr("data-state","enabled");
                                        researchPoints=researchPoints+parseInt(($(this).attr("data-value")));
                                        $('#count').html(researchPoints);
                                    }else{
                                        index=$(".researches").index(this);
                                        tmp=index*100;
                                        $(this).css({background: "url('https://wiki.sk.grepolis.com/images/a/a4/Researches_50x50_.png') -"+tmp+"px -"+tmp+"px"});
                                        $(this).attr("data-state","disabled");
                                        researchPoints=researchPoints-parseInt(($(this).attr("data-value")));
                                        $('#count').html(researchPoints);
                                    }
                                    if(researchPoints>156){
                                            $('#count').css({'color':'red', 'font-weight':'bold'});
                                    }else{
                                            $('#count').css({color:'#fc6', 'font-weight':'normal'});
                                    }
           });
           $('#btn-restart').click(function(){
                for(i=0;i<=40;i++){
                     if($('.researches:eq('+i+' )').attr("data-state")=="enabled"){
                                        tmp=i*100;
                                        $('.researches:eq('+i+' )').css({background: "url('https://wiki.sk.grepolis.com/images/a/a4/Researches_50x50_.png') -"+tmp+"px -"+tmp+"px"});
                                        $('.researches:eq('+i+' )').attr("data-state","disabled");
                                        researchPoints=0;
$('#count').css({color:'#fc6', 'font-weight':'normal'});
                                        $('#count').html(researchPoints);
            }
            }
            });
});
//Tooltips, copied by RevConcept, JSFiddle.net
$( function() {

        var targets = $('.mbt-hover'),
            target  = false,
            tooltip = $('.mbt-tooltip'),
            title   = false;
     
        targets.bind( 'mouseenter', function()
        {
            target  = $( this );
            tip     = target.children('.mbt-tooltip');
            tooltip = $( '<div id="tooltip"></div>' );
     
            if( !tip || tip == '' )
                return false;
            
            //target.remove('.mbt-tooltip');
            //target.removeAttr( 'title' );
            tooltip.css( 'opacity', 0 )
                   
                   .html( tip.clone().show() )

                   .appendTo( 'body' );
     
            var init_tooltip = function()
            {
                if( $( window ).width() < tooltip.outerWidth() * 1.5 )
                    tooltip.css( 'max-width', $( window ).width() / 2 );
                else
                    tooltip.css( 'max-width', 340 );
     
                var pos_left = target.offset().left + ( target.outerWidth() / 2 ) - ( tooltip.outerWidth() / 2 ),
                    pos_top  = target.offset().top - tooltip.outerHeight() - 20;
     
                if( pos_left < 0 )
                {
                    pos_left = target.offset().left + target.outerWidth() / 2 - 20;
                    tooltip.addClass( 'left' );
                }
                else
                    tooltip.removeClass( 'left' );
     
                if( pos_left + tooltip.outerWidth() > $( window ).width() )
                {
                    pos_left = target.offset().left - tooltip.outerWidth() + target.outerWidth() / 2 + 20;
                    tooltip.addClass( 'right' );
                }
                else
                    tooltip.removeClass( 'right' );
     
                if( pos_top < 0 )
                {
                    var pos_top  = target.offset().top + target.outerHeight();
                    tooltip.addClass( 'top' );
                }
                else
                    tooltip.removeClass( 'top' );
     
                tooltip.css( { left: pos_left, top: pos_top } )
                       .animate( { top: '+=10', opacity: 1 }, 50 );
            };
     
            init_tooltip();
            $( window ).resize( init_tooltip );

     
           var remove_tooltip = function()
            {
                tooltip.animate( { top: '-=10', opacity: 0 }, 300, function()
                {
                    $( this ).remove();
                });

                target.children('.mbt-tooltip', tip);
    
            };
            
            //**** ISSUE AREA ****//
            target.bind( 'mouseleave', remove_tooltip );
            tooltip.bind( 'click', remove_tooltip );
        });
    });

//Rotujici oznameni
$ (function () {
	// Changes the announcement to the next announcement in the list.
	function changeAnnouncement () {
		$ (announcementList [currentAnnouncement]).fadeOut ("normal", function () {
			++currentAnnouncement;
			if (currentAnnouncement >= announcementList.length)
				currentAnnouncement = 0;
			$ (announcementList [currentAnnouncement]).fadeIn ();
		});
	}

	var announcementList = $ (".announcement");
	var currentAnnouncement = 0;
	var announcementVisibilityTime = 5000; // ms

	announcementList.hide ();
	if (announcementList.length > 1) {
		$ (announcementList [0]).fadeIn ();
		setInterval (changeAnnouncement, announcementVisibilityTime);
	} else if (announcementList.length > 0)
		announcementList.fadeIn ();


	// Piwik is undefined -> comment it out.
	/*
	try {
		var piwikTracker = Piwik.getTracker (pkBaseURL + "piwik.php", 2);
		piwikTracker.trackPageView ();
		piwikTracker.enableLinkTracking ();
	} catch (err) {}
	*/
});

importScript_ = importScript
importScript = function (page, proj){
 if (!proj) importScript_(page)
 else {
   if (proj.indexOf('.')==-1) proj += '.wikipedia.org'
   importScriptURI('http://'+proj+'/w/index.php?action=raw&ctype=text/javascript&title='+encodeURIComponent(page.replace(/ /g,'_')))
 }
}
importMW = function (name) { importScript('MediaWiki:'+name+'.js') }


function LinkFA(){
 var pLang = document.getElementById('p-lang')
 if (!pLang) return
 var list = {
 'fa':'Эта статья является избранной',
 'fl':'Этот список или портал является избранным',
 'ga':'Эта статья является хорошей'}
 var iw = pLang.getElementsByTagName('li')
 for (var i=0; i<iw.length; i++)
   for (var s in list)
     if (document.getElementById(iw[i].className+'-'+s)){
       iw[i].className += ' ' + s.toUpperCase()
       iw[i].title = list[s] + ' в другом языковом разделе'
     }
}


function icqIcons(){
 var a, spans = document.getElementById('content').getElementsByTagName('span')
 for (var i=0; a=spans[i]; i++)
   if (a.className == 'ICQ')
     a.style.backgroundImage = "url('http://status.icq.com/online.gif?icq="+a.id+"&img=5&randseed="+Math.floor(Math.random()*10000000)+"')"
}


function editZeroSection(){
 var body = document.getElementById('bodyContent')
 if (!body) return
 var h2s = body.getElementsByTagName('H2')
 var h2 = h2s[0]
 if (!h2) return
 if (h2.parentNode.id == 'toctitle') h2 = h2s[1]
 if (!h2) return
 var span = h2.firstChild
 if (!span || span.className != 'editsection') return
 var zero = span.cloneNode(true)
 body.insertBefore(zero, body.firstChild)
 var a = zero.getElementsByTagName('a')[0]
 if (a.href.indexOf('&section=T') == -1 )  a.title = a.title.replace(/:.*$/,': 0')
 else a.title = 'Править секцию: 0'
 a.setAttribute('href', wgScript + '?title='+encodeURIComponent(wgPageName) + '&action=edit&section=0')
}




//Collapsiblе: [[ВП:СБ]]

var NavigationBarShowDefault = 2
var NavigationBarHide = '[skryť]'
var NavigationBarShow = '[ukázať]'

var hasClass = (function (){
 var reCache = {}
 return function (element, className){
   return (reCache[className] ? reCache[className] : (reCache[className] = new RegExp("(?:\\s|^)" + className + "(?:\\s|$)"))).test(element.className)
  }
})()

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
}

function voting12(){
 if (votingTrigger = document.getElementById('voting-trigger'))
  importScriptURI(wgServer+wgScript
   +'?title=MediaWiki:Voting12.js&action=raw&ctype=text/javascript&cversion='
   +encodeURIComponent(votingTrigger.innerHTML.replace(/\D+/g, '.')))
}

//Secure server
var metaBase = 'http://meta.wikimedia.org'
if (wgServer == 'https://secure.wikimedia.org') {
  importScript('MediaWiki:Common.js/secure.js','en')
  metaBase = 'https://secure.wikimedia.org/wikipedia/meta'
}


//Execution

if (wgCanonicalNamespace == 'Special'){

 if (/^(Uplo|Sear|Stat|Spec|Abus|Prefe)/i.test(wgCanonicalSpecialPageName))
   importMW(wgCanonicalSpecialPageName)

}else switch (wgAction){

 case 'history': importMW('History'); break

 case 'delete': importMW('Deletepage'); break

 case 'edit': case 'submit': importMW('Editpage') //and continue with the default: view, purge

 default:

  addOnloadHook(editZeroSection)
  addOnloadHook(collapsibleDivs)
  addOnloadHook(collapsibleTables)
  importScriptURI(metaBase+'/w/index.php?title=MediaWiki:Wikiminiatlas.js&action=raw&ctype=text/javascript&smaxage=21600&maxage=86400')
  if (navigator.platform.indexOf('Win') != -1)
    importStylesheetURI('http://en.wikipedia.org/w/index.php?title=MediaWiki:Common.css/WinFixes.css&action=raw&ctype=text/css')

  if (wgNamespaceNumber==0 || wgNamespaceNumber==100){
    addOnloadHook(LinkFA)
    importMW('Osm')
    importMW('Collapserefs')
    if (wgArticleId==4401) importMW('Mainpage')
  }else{
    if (wgNamespaceNumber==4){
      if (/^(Мастер статей|Инкубатор)/.test(wgTitle)) importMW('Incubator')
      if (wgTitle=='Скрипты') importMW('Scripts')
    }
    addOnloadHook(icqIcons)
  }

}


if (wgUserGroups){
  for (var i=0; i<wgUserGroups.length; i++) switch (wgUserGroups[i]){
    case 'sysop': importMW('Sysop'); break
 }
 if (wgNamespaceNumber==2 && wgTitle.indexOf(wgUserName)==0 && wgArticleId==0 && /\/skin\.(js|css)$/.test(wgTitle))
   window.location.href = window.location.href.replace(/skin\.(css|js)$/, skin+'.$1')
}


// ВП:СО, кроме статей  В Контакте, Одноклассники и Facebook
if (wgArticleId!=639373 && wgArticleId!=932117 && wgArticleId!=1297302 && wgArticleId!=25133866)
 importMW('Wikibugs')


// iwiki sorting
 if (!wgUserName
     || (wgUserName
         && (((typeof wgLangPrefs == 'undefined') ? false : true)
             || ((typeof wgAddLangHints == 'undefined') ? false : wgAddLangHints)
             || ((typeof wgUseUserLanguage == 'undefined') ? false : wgUseUserLanguage))))
     importMW('Interwiki-links');

var withJS = document.URL.match(/[&?]withjs=((mediawiki:)?([^&#]+))/i)
if (withJS) importScript_('MediaWiki:'+withJS[3])

if (!window.wgUserName) appendCSS('#mw-fr-revisiontag {display:none}')


/* Any JavaScript here will be loaded for all users on every page load. */

/*
////////////////////////////////////////////////////////////////
// =-=-=- HELPER FUNCTIONS -=-=-=-
function addlilink(tabs, url, name, id, title, key){
    var na = document.createElement('a');
    na.href = url;
    na.appendChild(document.createTextNode(name));
    var li = document.createElement('li');
    if(id) li.id = id;
    li.appendChild(na);
    tabs.appendChild(li);
    if(id)
    {
        if(key && title)
        {
            ta[id] = [key, title];
        }
        else if(key)
        {
            ta[id] = [key, ''];
        }
        else if(title)
        {
            ta[id] = ['', title];
        }
    }
    // re-render the title and accesskeys from existing code in wikibits.js
    akeytt();
    return li;
}

function addToolboxLink(url, name, id, title){
    var tb = document.getElementById('p-tb').getElementsByTagName('ul')[0];
    addlilink(tb, url, name, id, title);
}

function addTab(url, name, id, title, key) {
    return addPortletLink('p-cactions', url, name, id, title, key);
}

function addLink(where, url, name, id, title, key, after){
    var na = document.createElement('a');
    na.href = url;
    na.appendChild(document.createTextNode(name));
    var li = document.createElement('li');
    if(id) li.id = id;
    li.appendChild(na);
    var tabs = document.getElementById(where).getElementsByTagName('ul')[0];
    if(after) {
	tabs.insertBefore(li,document.getElementById(after));
    } else {
	tabs.appendChild(li);
    }
    if(id) {
	if(key && title) { ta[id] = [key, title]; }
	else if(key) { ta[id] = [key, '']; }
	else if(title) { ta[id] = ['', title];} 
    }
    // re-render the title and accesskeys from existing code in wikibits.js
    akeytt();
    return li;
}

function addlimenu(tabs, name, id)
{
    var na = document.createElement('a');
    na.href = '#';
    var mn = document.createElement('ul');
    na.appendChild(document.createTextNode(name));
    var li = document.createElement('li');
    li.id = id;
    li.className = 'tabmenu';
    li.appendChild(na);
    li.appendChild(mn);
    tabs.appendChild(li);
    return li;
}

function addnavbox_link(URL,Name,ID)
{
var portlet = document.getElementById('p-navigation');
var links = portlet.getElementsByTagName('ul')[0];
links.innerHTML += '<li id="' + ID + '"><a href="' + URL + '">' + Name + '</a></li>';
}
/////////////////////////////////////////////
*/
document.write("<script src='http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js' type='text/javascript'></script>");

document.write("<script src='/index.php?title=Global.js&action=raw&smaxage=0&ctype=text/javascript' type='text/javascript'></script>")