Usuari:Coet/scripts/recursos.js
Aparença
El codi que afegiu en aquesta pàgina podria tenir contingut maliciós que comprometi el vostre compte. Si no esteu segur si el codi a afegir és segur, pregunteu abans en la Taverna. El codi s'executarà en mostrar una previsualització d'aquesta pàgina. |
Nota: Després de desar, heu de netejar la memòria cau del navegador per veure els canvis. En la majoria de navegadors amb Windows o Linux, premeu Ctrl+F5 o bé premeu Shift i cliqueu el botó "Actualitza" (Ctrl i "Actualitza" amb Internet Explorer). Vegeu més informació i instruccions per a cada navegador a Viquipèdia:Neteja de la memòria cau.
//<pre>
/*** funcions de text ***
*
*/
function simplificaCaràcter(cadConv) {
//This function replace a diacritized character with the corresponding simple character
//and allows to maintain its case (upper- or lowcase).
var conversió=new String, carResultant=new String, carTrobat=new String, carTrobatMin=new String;
var majúscula = false;
for (var posició=0;posició!=cadConv.length;posició++) {
carTrobat=cadConv.charAt(posició);
carTrobatMin = carTrobat.toLowerCase();
if(carTrobat != carTrobatMin) {carTrobat=carTrobatMin; majúscula=true;}
carTrobat = carTrobat.toString()
if(carTrobat.match(/[a-z]/)!=null) {carResultant=carTrobat;} else {
if(carTrobat.match(/[àáâäãăǎąåā]/)!=null) carResultant='a';
if(carTrobat.match(/[æǣ]/)!=null) carResultant='ae';
if(carTrobat.match(/[ḃɓ]/)!=null) carResultant='b';
if(carTrobat.match(/[çćčćĉċ]/)!=null) carResultant='c';
if(carTrobat.match(/[đðḍďḋ]/)!=null) carResultant='d';
if(carTrobat.match(/ð/)!=null) carResultant='dh';
if(carTrobat.match(/[èéêëẽēę]/)!=null) carResultant='e';
if(carTrobat.match(/ḟƒ/)!=null) carResultant='f';
if(carTrobat.match(/[ĝġģğ]/)!=null) carResultant='g';
if(carTrobat.match(/[ĥħ]/)!=null) carResultant='h';
if(carTrobat.match(/[ìíîïīį]/)!=null) carResultant='i';
if(carTrobat.match(/ij/)!=null) carResultant='ij';
if(carTrobat.match(/ĵ/)!=null) carResultant='j';
if(carTrobat.match(/ķ/)!=null) carResultant='k';
if(carTrobat.match(/[ŀļḷḹľł]/)!=null) carResultant='l';
if(carTrobat.match(/[ñńň]/)!=null) carResultant='n';
if(carTrobat.match(/[òóôöõøōǫ]/)!=null) carResultant='o';
if(carTrobat.match(/œ/)!=null) carResultant='oe';
if(carTrobat.match(/ṗ/)!=null) carResultant='p';
if(carTrobat.match(/[ŗřṛṝ]/)!=null) carResultant='r';
if(carTrobat.match(/[şṡšŝ]/)!=null) carResultant='s';
if(carTrobat.match(/ß/)!=null) carResultant='ss';
if(carTrobat.match(/[ţṫṭ]/)!=null) carResultant='t';
if(carTrobat.match(/Þ/)!=null) carResultant='th';
if(carTrobat.match(/[ùúûüŭūų]/)!=null) carResultant='u';
if(carTrobat.match(/[ẁŵẅƿ]/)!=null) carResultant='w';
if(carTrobat.match(/[ýỳŷÿȳỹ]/)!=null) carResultant='y';
if(carTrobat.match(/[źžż]/)!=null) carResultant='z';
//per defecte (default)
if (carResultant=='') carResultant=carTrobat;
}
if (majúscula) {carResultant=carResultant.toUpperCase(); majúscula=false;}
conversió+=carResultant;
carResultant='';
}
return conversió
}
function elidix(avant, arrere, tria) {
inicial=simplificaCaràcter(arrere.toString().toLowerCase().charAt(0));
posició=avant.search(/[dl]/i);
if(arrere.toString().search(/\b11?\b/) >=0 || inicial.toString().search(/[aehiou]/i) ==0){
avant=avant.substr(posició,1)+"'";
}else{avant += " "}
//per excepcions de tipus "d'Stalingrad", "de Holliwood"
if(arrere.toString().search(/(?:del |de la |de l')[hs]/i)>=0){
avant= arrere.replace(/(?:del |de la |de l')[hs]\w*/i, "$1")
arrere=arrere.replace(/(del |de la |de l')([hs]\w*)/i, "$2")
}
//per excepcions de tipus "l'Steward", "el Holliwood"
if(arrere.toString().search(/(?:(?:el|la) |l')[hs]/i)>=0){
avant= arrere.replace(/((?:el|la) |l')[hs]\w*/i, "$1")
arrere=arrere.replace(/((?:el|la) |l')([hs]\w*)/i, "$2")
}
if (avant=="de")avant= "de "
if(!tria) return avant+arrere;
if (tria){
if (tria==1) return avant;
if (tria==2) return arrere;
}
}
function majInicial(mot){
var inicial = mot.charAt(0);
var resultat= mot.substring(1);
inicial=inicial.toUpperCase();
resultat=inicial+resultat;
return resultat;
}
function convertix(text){
//This function convert a cahracter number to its value.
//convertim text numèric en una xifra.
nombre=0
for(var i=0;i!=text.length;i++){
var potència = 1
for (var j=text.length-i;j>1;j--){potència*=10;}
dígit = (text.charCodeAt(i)-48)*potència;
nombre += dígit
}
return nombre
}
function camuflaApostrof(cadena){
cadena=cadena.replace(/'/g,"´");
return cadena;
};
function recuperaApostrof(cadena){
cadena=cadena.replace(/´/g, "'");
return cadena;
};
function escape4regexp(string){
string = string.replace(/([{}()[\]|\\.*+])/g, "\\$1");
return string;
};
function prepare4regexp(string){
string = escape4regexp(string)
string = string.replace(/([\n\r])/g, "\\$1");
return string;
};
/*** funcions de dates ***
*
*/
function obtin_mes(mes,torna){
//amb torna=true tornem un valor numèric, i torna=false, el mes en lletres sencer.
numMes=0; nomMes="";
//En cas que mes és escrit sencer l'abreugem
if (typeof mes == 'string' && mes.length>4) mes=mes.substr(0,3);
switch (mes){
case "gen" : numMes = 1; nomMes = "gener"; break;
case "feb" : numMes = 2; nomMes = "febrer"; break;
case "febr": numMes = 2; nomMes = "febrer"; break;
case "març": numMes = 3; nomMes = "març"; break;
case "abr" : numMes = 4; nomMes = "abril"; break;
case "maig": numMes = 5; nomMes = "maig"; break;
case "juny": numMes = 6; nomMes = "juny"; break;
case "jul" : numMes = 7; nomMes = "juliol"; break;
case "ag" : //deixem-ho fins el 21 de setembre de 2007
case "ago" : numMes = 8; nomMes = "agost"; break;
case "set" : numMes = 9; nomMes = "setembre"; break;
case "oct" : numMes = 10; nomMes = "octubre"; break;
case "nov" : numMes = 11; nomMes = "novembre"; break;
case "des" : numMes = 12; nomMes = "desembre"; break;
}
if (!torna) {return nomMes} else {return numMes}
}
function diesMes(mesM,anyA){
//This function allows to know how many days has a month.
var totalDies = 0;
switch (mesM){case 1:case 3:case 5:case 7:case 8:case 10:case 12:totalDies=31;break;
case 4:case 6:case 9:case 11:totalDies=30;break;
case 2:if((anyA % 4 == 0 && anyA % 100 != 0) || anyA % 400 == 0)
{totalDies=28}else{totalDies=29}; break;
}
return totalDies
}
var data = new Date();
var diaActual=data.getDate(), mesActual=data.getMonth()+1, anyActual=data.getFullYear();
veAnyActual = anyActual
veTextMes = mesActual.toString(); if(veTextMes.length==1) veTextMes="0"+mesActual;
function calcula_lapse(dia, mes, any, concreta) {
var difDies=0, difMesos=0, difAnys=0;
//En cas que tranferim cadenes de caràcters, les convertim en nombres.
if(typeof dia=='string')dia=convertix(dia)
if(typeof mes=='string')mes=obtin_mes(mes,true)
if(typeof any=='string')any=convertix(any)
difDies = diaActual - dia
difMesos = mesActual - mes
difAnys = anyActual - any
if (difMesos < 0 && difAnys >= 0) {difMesos = 12 + difMesos; difAnys--}
if (difDies < 0 && difMesos >= 0) {difDies = diesMes(mes, any) + difDies; difMesos--}
// ara uns arranjaments per al text
var frase ="Hui es compleix", desinència = "";
var separaMes="", separaDia="", pqTextMes="", indicaAnys="", indicaMesos="", indicaDies="";
if (difAnys > 0){
if (difMesos > 0 && difDies > 0) {separaMes = ", "; separaDia = " i ";}
if (difMesos > 0 && difDies == 0) {separaMes = " i ";}
if (difMesos == 0 && difDies > 0) {separaDia = " i ";}
}
if (difAnys==0 && difMesos>0 && difDies>0) separaDia=" i ";
if (difAnys == 1) indicaAnys = "1 any";
if (difAnys > 1) indicaAnys = difAnys + " anys";
if (difMesos == 1) indicaMesos = separaMes + "1 mes";
if (difMesos > 1) indicaMesos = separaMes + difMesos + " mesos";
if (difDies == 1) indicaDies = separaDia + "1 dia";
if (difDies > 1) indicaDies = separaDia + difDies + " dies";
if (difAnys>1) desinència="en";
if (difAnys==0 && difMesos>1) desinència="en";
if (difAnys==0 && difMesos==0 && difDies>1) desinència="en";
if (difAnys==0 && difMesos==0 && difDies==0) frase="Hui és el primer dia"
if(!concreta) return frase+desinència+" "+indicaAnys+indicaMesos+indicaDies
if(concreta){
if (concreta=="d") return difDies
if (concreta=="m") return difMesos
if (concreta=="a") return difAnys
}
}
/*** funcions de rutina de comprovació ***
*
*/
if (typeof veComprovaCanvis == "undefined") veComprovaCanvis = true;
function obre_pàgina(nompàgina) {
if (veComprovaCanvis == true) window.open(mw.config.get('wgServer')+"/wiki/"+nompàgina);
}
function finestra_procés(text,pàgina,procés){
switch (procés) {
case 0: finestraProcés = window.open("", "procés",
"resizable=yes,scrollbars=yes,width=700,height=300");
finestraProcés.document.open("text/html","replace");
finestraProcés.document.write(text + '<span style=" color:#002BB8; ' +
'font-weight:bold;">' + pàgina + "</span>");
break;
case 1: finestraProcés.document.write('<br />' + text + '<span style=" color:#002BB8; ' +
'font-weight:bold;">' + pàgina + "</span>");
break;
case 2: finestraProcés.document.write(text);
break;
case 3: finestraProcés.document.write('<br />' + text + '<span style=" color:green; ' +
'font-weight:bold;">' + pàgina + "</span>");
finestraProcés.focus();
finestraProcés.document.close();
break;
}
}
/*** funcions de missatges ***
*
*/
function mostraAmaga(nomObj,visualització){
objecte = document.getElementById(nomObj)
if(!objecte) return;
document.getElementById(nomObj).style.visibility=visualització;
}
if(typeof(String.prototype.trim) === "undefined")
{
String.prototype.trim = function()
{
return String(this).replace(/^\s+|\s+$/g, '');
};
}
//</pre>