Utilisateur:Chphe/PersoLiens.js

Un article de Wikipédia, l'encyclopédie libre.

Note : Après avoir publié la page, vous devrez forcer son rechargement pour voir les changements : Mozilla / Konqueror / Firefox : Shift-Ctrl-R, Internet Explorer / Opera : Ctrl-F5, Safari : Cmd-R.

var pl_reg_ex = /^http:\/\/([a-z]+)\.wikipedia\.org\/(w\/index\.php\?title=|wiki\/)([^&#$]*)((&|#).*)?$/
 
function pl_dicho(tab, v)
{
    var i=0;
    var j=tab.length-1;
    while(i<j)
    {
        var m = parseInt((i+j)/2);
        if(tab[m] == v) return true;
        if(tab[m] < v)
        {
            i=m+1;
            if(tab[i] == v) return true;
        }
        else
        {
            j=m-1;
            if(tab[j] == v) return true;
        }
    }
    return false;
}
 
function pl_lancer_b(liens)
{
	for(var l=0; l<liens.length; l++)
	{
	        var a = liens[l];
		var titre="";
		if( (a.className == "" || a.className == "extiw") && a.title!="") titre = a.title;
		else
		{
			var tab = pl_reg_ex.exec(a.href);
			if(tab) titre = (tab[1] != "fr" ? tab[1]+":" : "") + decodeURIComponent(tab[3]).replace(/_/g, " ");
		}
		if(titre)
			for(var type in pl_types)
			{
				if(pl_dicho(pl_types[type], titre))
				{
					a.className += " pl_"+type;
					break;
				}
			}
	}
}
 
function pl_lancer()
{
	var bc = document.getElementById('bodyContent');
	if(!bc) return ;
	var liens = bc.getElementsByTagName("a");
        var dl = document.getElementById('p-lang');
	var liens_b;
        if(dl) liens_b = dl.getElementsByTagName("a");
        if(liens.length != 0 || (liens_b && liens_b.length != 0)) for(var type in pl_types) pl_types[type].sort();
 
        pl_lancer_b(liens);
        if(liens_b) pl_lancer_b(liens_b);
}
addOnloadHook(function ()
{   
    pl_lancer();
}
)