Skrypt służy do wyświetlenia listy imienin na swojej stronie interntowej. Składa się z dwóch części:
/*
* Nameday ver 2.0.1 2003-11-02
* Copyright (c) 2002-2003 by Michal Nazarewicz (mina86@tlen.pl)
*
* This script is free software; It is ditributed under terms of
* GNU Lesser General Public License. Copy of the license can be found
* at www.gnu.org/licenses/licenses.html#LGPL
*
* Visit www.projektcode.prv.pl for more..
*/
//
// Tuday's date :)
//
var nameday_date = new Date(),
nameday_day = nameday_date.getDate(),
nameday_month = nameday_date.getMonth()+1;
//
// Object representing names
//
function NamedayNames(names) {
if (names instanceof Array) {
this.names = names;
} else {
this.names = names.split('|');
}
}
NamedayNames.prototype = {
join: function(sep, last_sep, limit) {
// Init args
switch (arguments.length) {
case 0: sep = null;
case 1: last_sep = null;
case 2: limit = null;
case 3: break;
default: return false;
}
// Get names
var names = this.getNames(limit);
// Join
if (sep==null) {
sep = ', ';
}
if (last_sep==null) {
return names.join(sep);
} else {
var str = '';
for (var i = 0; i<names.length; i++) {
if (i==names.length-1) {
str += last_sep;
} else if (i) {
str += sep;
}
str += names[i];
}
return str;
}
},
//
// Returns names as formated string
//
toString: function(before, after, sep, last_sep, limit) {
// Init args
switch (arguments.length) {
case 0: before = null;
case 1: after = null;
case 2: sep = null;
case 3: last_sep = null;
case 4: limit = null;
case 5: break;
default: return false;
}
// Join names
var str = this.join(sep, last_sep, limit);
if (!str) {
return false;
}
// Return
return (before==null?'':before) + str + (after==null?'':after);
},
//
// Returns names in array (maximum number of names in array is limit
// or there's no maximum number if limit==0 || limit==null)
//
getNames: function(limit) {
// Check args;
if (arguments.length>1) {
return false;
}
// All requested
if (arguments.length==0 || limit==null || limit<1 ||
limit>=this.names.length) {
return this.names;
// Limit requested
} else {
var arr = new Array(limit);
for (var i = 0; i<limit; i++) {
arr[i] = names[i];
}
return arr;
}
},
//
// Get name at index
//
get: function(index) {
return this.names[index];
},
//
// Get number of names
//
count: function() {
return this.names.length;
}
};
//
// Object representing set of names for each day of year
//
function NamedaySet(array) {
this.array = array;
}
NamedaySet.prototype = {
//
// Returns NamedayNames object with names of people who have nameday
// today or in the dth of m If d or m is null or omitted, todays day
// and/or month is taken.
// Note: Months are indexed from 1 !!
//
getNames: function(d, m) {
switch (arguments.length) {
case 0: d = null;
case 1: m = null;
case 2: break;
default: return false;
}
if (d==null) {
d = nameday_day;
}
if (m==null) {
m = nameday_month;
}
return new NamedayNames(this.array[m-1][d-1]);
}
};
//
// Main object
//
function Nameday() {
this.sets = new Array();
}
Nameday.prototype = {
//
// Returns specyfied set
//
getSet: function(lang) {
if (arguments.length!=1) {
return false;
}
return this.sets['' + lang];
},
//
// Adds set
//
addSet: function(lang, set) {
if (arguments.length!=2) {
return false;
}
if (set instanceof NamedaySet) {
this.sets['' + lang] = set;
} else {
this.sets['' + lang] = new NamedaySet(set);
}
}
};
var nameday = new Nameday();
/*
* Nameday Polish Extension ver 1.4.2 2003-11-19
* Copyright (c) 2002-2003 by Michal Nazarewicz (mina86@tlen.pl)
*
* This script is free software; It is ditributed under terms of
* GNU Lesser General Public License. Copy of the license can be found
* at www.gnu.org/licenses/licenses.html#LGPL
*/
//
// Converts names
//
NamedayNames.prototype.pl_convert = function(method) {
if (arguments.length!=1) {
return false;
}
if (method==0) {
return new NamedayNames(this.names);
}
if (method!=1) {
return false;
}
var ret = new Array(), name = '';
for (var i = 0; i<this.names.length; i++) {
name = this.names[i];
var len = name.length,
last3 = name.substring(len-3),
last2 = name.substring(len-2),
vowel3 = "aeioóuy".indexOf(name.charAt(len-4))!=-1,
vowel2 = "aeioóuy".indexOf(name.charAt(len-3))!=-1;
if (last3=="ego") {
if (name.substring(len-4, 1)=='l') {
name = name.substring(0, len-3);
} else {
name = name.substring(0, len-3) + "y";
}
} else if (last3=="ńca") {
name = name.substring(0, len-3) + "niec";
} else if (last3=="tra") {
name = name.substring(0,len-3) + (vowel3?"tr":"ter");
} else if (last2=="ka" && !vowel2) {
name = name.substring(0,len-2) + "ek";
} else if (last2=="ła" && !vowel2) {
name = name.substring(0, len-2) + "ła";
} else {
name = name.substring(0, len-1) +
(last2.substring(2,1)=='a'?'':'a');
}
ret[i] = name;
}
return new NamedayNames(ret);
};
//
// For backward compatibility
//
function WypiszImieniny(before, after, sep, last_sep, method) {
switch (arguments.length) {
case 0: before = null;
case 1: after = null;
case 2: sep = null;
case 3: last_sep = null;
case 3: method = null;
}
var names = PobierzImieniny(sep, last_sep, method);
if (!names) {
return false;
}
document.write("" + before + names + after);
return true;
}
function PobierzImieniny(sep, last_sep, method) {
switch (arguments.length) {
case 0: sep = null;
case 1: last_sep = null;
case 2: method = null;
}
if (method==null) {
method = 0;
}
var names;
if (!(names = nameday.getSet('pl')) || !(names = names.getNames()) ||
!(names = names.pl_convert(method))) {
return false;
}
return names.toString('', '', sep, last_sep);
}
/*
* Nameday Polish Names Database v 2.1
* Database taken from infoludek.pl/~slawek/imieniny.html
* +some corrections
*/
nameday.addSet('pl', new Array(
new Array(
"Masława|Mieczysława|Mieszka",
"Bazylego|Makarego|Narcyzy",
"Arlety|Danuty|Lucjana",
"Anieli|Elżbiety|Tytusa",
"Edwarda|Hanny|Szymona",
"Kacpra|Melchiora|Baltazara",
"Juliana|Lucjana|Walentyny",
"Artura|Rajmunda|Seweryny",
"Adriana|Alicji|Teresy",
"Ady|Jana|Wilhelma",
"Feliksa|Honoraty|Marty",
"Bernarda|Czesławy|Grety",
"Bogumiła|Bogumiły|Weroniki",
"Feliksa|Hilarego|Martyny",
"Arnolda|Dory|Pawła",
"Marcelego|Walerii|Włodzimierza",
"Antoniego|Henryki|Mariana",
"Beatrycze|Małgorzaty|Piotra",
"Erwiny|Henryka|Mariusza",
"Fabioli|Miły|Sebastiana",
"Agnieszki|Jarosława|Nory",
"Dominiki|Mateusza|Wincentego",
"Fernandy|Jana|Rajmundy",
"Felicji|Roberta|Sławy",
"Miłosza|Pawła|Tatiany",
"Lutosława|Normy|Pauliny",
"Anieli|Juliana|Przemysława",
"Agnieszki|Kariny|Lesława",
"Franciszka|Konstancji|Salomei",
"Martyny|Macieja|Teofila",
"Joanny|Ksawerego|Luizy"
),
new Array(
"Brygidy|Dobrogniewa|Ignacego",
"Kornela|Marii|Mirosławy",
"Błażeja|Joanny|Telimeny",
"Andrzeja|Mariusza|Weroniki",
"Agaty|Filipa|Justyniana",
"Amandy|Bogdana|Doroty",
"Ryszarda|Teodora|Wilhelminy",
"Irminy|Piotra|Sylwii",
"Bernarda|Eryki|Rajmunda",
"Elwiry|Elizy|Jacka",
"Bernadetty|Marii|Olgierda",
"Czesława|Damiana|Normy",
"Grzegorza|Lesława|Katarzyny",
"Liliany|Walentyny|Walentego",
"Arnolda|Jowity|Georginy",
"Danuty|Daniela|Juliany",
"Donata|Gizeli|Łukasza",
"Konstancji|Krystiana|Sylwany",
"Bettiny|Konrada|Mirosława",
"Anety|Lecha|Leona",
"Eleonory|Lenki|Kiejstuta",
"Małgorzaty|Marty|Nikifora",
"Damiana|Romana|Romany",
"Boguty|Bogusza|Macieja",
"Almy|Cezarego|Jarosława",
"Bogumiła|Eweliny|Mirosława",
"Gagrieli|Liwii|Leonarda",
"Ludomira|Makarego|Wiliany",
"Lecha|Lutomira|Wiktora"
),
new Array(
"Albina|Antoniny|Radosławy",
"Halszki|Heleny|Karola",
"Kingi|Maryna|Tycjana",
"Adrianny|Kazimierza|Wacława",
"Aurory|Fryderyka|Oliwii",
"Jordana|Marcina|Róży",
"Flicyty|Kajetana|Pauli",
"Beaty|Juliana|Wincentego",
"Dominika|Franciszki|Katarzyny",
"Bożysławy|Cypriana|Marcelego",
"Konstantego|Ludosława|Rozyny",
"Grzegorza|Justyny|Józefiny",
"Bożeny|Krystyny|Marka",
"Dalii|Leona|Matyldy",
"Delfiny|Longina|Ludwiki",
"Izabeli|Henryka|Oktawii",
"Reginy|Patryka|Zdyszka",
"Edwarda|Narcyza|Zbysława",
"Aleksandryny|Józefa|Nicety",
"Joachima|Kiry|Maurycego",
"Benedykta|Lubomiry|Lubomira",
"Bogusława|Jagody|Katarzyny",
"Feliksa|Konrada|Zbysławy",
"Gabrieli|Marka|Seweryna",
"Bolka|Cezaryny|Marioli",
"Dory|Olgi|Teodora",
"Ernesta|Jana|Marka",
"Anieli|Kasrota|Soni",
"Marka|Wiktoryny|Zenona",
"Amelii|Dobromira|Leonarda",
"Balbiny|Kamila|Kornelii"
),
new Array(
"Chryzamtyny|Grażyny|Zygmunta",
"Franciszka|Malwiny|Władysława",
"Pankracego|Renaty|Ryszarda",
"Benedykta|Izodory|Wacławy",
"Ireny|Kleofasa|Wincentego",
"Ady|Celestyny|Ireneusza",
"Donata|Herminy|Rufina",
"Amadeusza|Cezaryny|Juliany",
"Mai|Marcelego|Wadima",
"Borysławy|makarego|Michała",
"Filipa|Izoldy|Leona",
"Juliusza|Lubosława|Wiktoryny",
"Artemona|Justyny|Przemysławy",
"Bernarda|Martyny|Waleriana",
"Adolfiny|Odetty|Wacława",
"Bernarda|Biruty|Erwina",
"Anicety|Klary|Rudolfina",
"Apoloniusza|Bogusławy|Go?cisławy",
"Alfa|Leonii|Tytusa",
"Agnieszki|Amalii|Czecha",
"Jarosława|Konrada|Selmy",
"Łukasza|Kai|Nastazji",
"Ilony|Jerzego|Wojciecha",
"Bony|Horacji|Jerzego",
"Jarosława|Marka|Wiki",
"Marii|Marzeny|Ryszarda",
"Sergiusza|Teofila|Zyty",
"Bogny|Walerii|Witalisa",
"Hugona|Piotra|Roberty",
"Balladyny|Lilli|Mariana"
),
new Array(
"Józefa|Lubomira|Ramony",
"Longiny|Toli|Zygmunta",
"Jaropełka|Marii|Niny",
"Floriana|Michała|Moniki",
"Irydy|Tamary|Waldemara",
"Beniny|Filipa|Judyty",
"Augusta|Gizeli|Ludomiry",
"Kornela|Lizy|Stanisława",
"Grzegorza|Karoliny|Karola",
"Antoniny|Izydory|Jana",
"Igi|Mamerta|Miry",
"Dominika|Imeldy|Pankracego",
"Agnieszki|Magdaleny|Serwacego",
"Bonifacego|Julity|Macieja",
"Dionizego|Nadziei|Zofii",
"Andrzeja|Jędrzeja|Małgorzaty",
"Brunony|Sławomira|Wery",
"Alicji|Edwina|Eryka",
"Celestyny|Iwony|Piotra",
"Bazylego|Bernardyna|Krystyny",
"Jana|Moniki|Wiktora",
"Emila|Neleny|Romy",
"Leoncjusza|Michała|Renaty",
"Joanny|Zdenka|Zuzanny",
"Borysa|Magdy|Marii-Magdaleny",
"Eweliny|Jana|Pawła",
"Amandy|Jana|Juliana",
"Augustyna|Ingi|Jaromira",
"Benity|Maksymiliana|Teodozji",
"Ferdynanda|Gryzeldy|Zyndrama",
"Anieli|Feliksa|Kamili"
),
new Array(
"Gracji|Jakuba|Konrada",
"Erazma|Marianny|Marzeny",
"Anatola|Leszka|Tamary",
"Christy|Helgi|Karola",
"Bonifacego|Kiry|Waltera",
"Laury|Laurentego|Nory",
"Ariadny|Jarosława|Roberta",
"Ady|Celii|Medarda",
"Anny-Marii|Felicjana|Sławoja",
"Bogumiła|Diany|Małgorzaty",
"Barnaby|Benedykta|Flory",
"Gwidona|Leonii|Niny",
"Antoniego|Gracji|Lucjana",
"Bazylego|Elizy|Justyny",
"Jolanty|Lotara|Wita",
"Aliny|Anety|Benona",
"Laury|Leszka|Marcjana",
"Elżbiety|Marka|Pauli",
"Gerwazego|Protazego|Sylwii",
"Bogny|Rafaeli|Rafała",
"Alicji|Alojzego|Rudolfa",
"Pauliny|Sabiny|Tomasza",
"Albina|Wandy|Zenona",
"Danuty|Jana|Janiny",
"Łucji|Witolda|Wilhelma",
"Jana|Pauliny|Rudolfiny",
"Cypriana|Emanueli|Władysława",
"Florentyny|Ligii|Leona",
"Pawła|Piotra|Salomei",
"Arnolda|Emiliany|Lucyny"
),
new Array(
"Bogusza|Haliny|Mariana",
"Kariny|Serafiny|Urbana",
"Anatola|Jacka|Mirosławy",
"Aureli|Malwiny|Zygfryda",
"Antoniego|Bartłomieja|Karoliny",
"Dominiki|Jaropełka|Łucji",
"Estery|Kiry|Rudolfa",
"Arnolda|Edgara|Elżbiety",
"Hieronima|Palomy|Weroniki",
"Filipa|Sylwany|Witalisa",
"Benedykta|Kariny|Olgi",
"Brunona|Jana|Wery",
"Danieli|Irwina|Małgorzaty",
"Kamili|Kamila|Marcelego",
"Henryka|Igi|Włodzimierza",
"Eustachego|Mariki|Mirelli",
"Aleksego|Bogdana|Martyny",
"Kamila|Karoliny|Roberta",
"Alfreny|Rufina|Wincentego",
"Fryderyka|Małgorzaty|Seweryny",
"Danieli|Wawrzyńca|Wiktora",
"Magdaleny|Mileny|Wawrzyńca",
"Sławy|Sławosza|Żelisławy",
"Kingi|Krystyna|Michaliny",
"jakuba|Krzysztofa|Walentyny",
"Anny|Mirosławy|Joachima",
"Aureliusza|Natalii|Rudolfa",
"Ady|Wiwiany|Sylwiusza",
"Marty|Konstantego|Olafa",
"Julity|Ludmiły|Zdobysława",
"Ignacego|Lodomiry|Romana"
),
new Array(
"Jarosława|Justyny|Nadziei",
"Gustawa|Kariny|Stefana",
"Augustyna|Kamelii|Lidii",
"Dominiki|Dominika|Protazego",
"Emila|Karoliny|Kary",
"Jakuba|Sławy|Wincentego",
"Donaty|Olechny|Kajetana",
"Izy|Rajmunda|Seweryna",
"Klary|Romana|Rozyny",
"Bianki|Borysa|Wawrzyńca",
"Luizy|Włodzmierza|Zuzanny",
"Hilarii|Juliana|Lecha",
"Elwiry|Hipolita|Radosławy",
"Alfreda|Maksymiliana|Selmy",
"Marii|Napoleona|Stelli",
"Joachima|Nory|Stefana",
"Anity|Elizy|Mirona",
"Bogusława|Bronisława|Ilony",
"Emilii|Julinana|Konstancji",
"Bernarda|Sabiny|Samuela",
"Franciszka|Kazimiery|Ruty",
"Cezarego|Marii|Zygfryda",
"Apolinarego|Miły|Róży",
"Bartosza|Jerzego|Maliny",
"Belii|Ludwika|Luizy",
"Ireneusza|Konstantego|Marii",
"Cezarego|Małgorzaty|Moniki",
"Adeliny|Erazma|Sobiesława",
"Beaty|Racibora|Sabiny",
"Benona|Jowity|Szczęsnego",
"Cyrusa|Izabeli|Rajmundy"
),
new Array(
"Belindy|Bronisza|Idziego",
"Dionizy|Izy|Juliana",
"Joachima|Liliany|Szymona",
"Dalii|Idy|Rocha",
"Doroty|Justyna|Wawrzyńca",
"Beaty|Eugeniusza|Lidy",
"Reginy|Marka|Melchiora",
"Czcibora|Marii|Radosława",
"Aldony|Jakuba|Sergiusza",
"Eligii|Irmy|Łukasza",
"Dagny|Jacka|Prota",
"Amadeusza|Gwidy|Sylwiny",
"Apolinarego|Eugenii|Lubomira",
"Bernarda|Mony|Roksany",
"Albina|Lolity|Ronalda",
"Jagienki|Kamili|Korneliusza",
"Franciszka|Lamberty|Narcyza",
"Ireny|Irminy|Stanisława",
"Januarego|Konstancji|Leopolda",
"Eustachego|Faustyny|Renaty",
"Darii|Mateusza|Wawrzyńca",
"Maury|Milany|Tomasza",
"Bogusława|Liwiusza|Tekli",
"Dory|Gerarda|Maryny",
"Aureli|Kamila|Kleofasa",
"Cypriana|Justyny|Łucji",
"Damiana|Mirabeli|Wincentego",
"Libuszy|Wacławy|Wacława",
"Michaliny|Michała|Rafała",
"Geraldy|Honoriusza|Wery"
),
new Array(
"Heloizy|Igora|Remigiusza",
"Racheli|Sławy|Teofila",
"Bogumiła|Gerarda|Józefy",
"Edwina|Rosławy|Rozalii",
"Flawii|Justyna|Rajmunda",
"Artura|Fryderyki|Petry",
"Krystyna|Marii|Marka",
"Brygidy|Loreny|Marcina",
"Arnolda|Ludwika|Sybili",
"Franciszka|Loretty|Poli",
"Aldony|Brunona|Emila",
"Krystyny|Maksa|Serafiny",
"Edwarda|Geraldyny|Teofila",
"Alany|Damiana|Liwii",
"Jadwigi|Leonarda|Teresy",
"Ambrożego|Florentyny|Gawła",
"Antonii|Ignacego|Wiktora",
"Hanny|Klementyny|Łukasza",
"Michaliny|Michała|Piotra",
"Ireny|Kleopatry|Witalisa",
"Celiny|Hilarego|Janusza",
"Haliszki|Lody|Przybysława",
"Edwarda|Marleny|Seweryna",
"Arety|Marty|Marcina",
"Ingi|Maurycego|Sambora",
"Ewarysta|Lucyny|Lutosławy",
"Iwony|Noemi|Szymona",
"Narcyza|Serafina|Wioletty",
"Angeli|Przemysława|Zenobii",
"Augustyny|Łukasza|Urbana",
"Krzysztofa|Augusta|Saturnina"
),
new Array(
"Konrada|Seweryny|Wiktoryny",
"Bohdany|Henryka|Tobiasza",
"Huberta|Miły|Sylwii",
"Albertyny|Karola|Olgierda",
"Balladyny|Elżbiety|Sławomira",
"Arletty|Feliksa|Leonarda",
"Antoniego|Kaliny|Przemiły",
"Klaudii|Seweryna|Wiktoriusza",
"Anatolii|Gracji|Teodora",
"Leny|Lubomira|Natalii",
"Bartłomieja|Gertrudy|Marcina",
"Konrada|Renaty|Witolda",
"Arkadii|Krystyna|Stanisławy",
"Emila|Laury|Rogera",
"Amielii|Idalii|Leopolda",
"Edmunda|Marii|Marka",
"Grzegorza|Salomei|Walerii",
"Klaudyny|Romana|Tomasza",
"Elżbiety|Faustyny|Pawła",
"Anatola|Edyty|Rafała",
"Janusza|Marii|Reginy",
"Cecylii|Jonatana|Marka",
"Adeli|Felicyty|Klemensa",
"Emmy|Flory|Romana",
"Elżbiety|Katarzyny|Klemensa",
"Leona|Leonarda|Lesławy",
"Franciszka|Kseni|Maksymiliana",
"Jakuba|Stefana|Romy",
"Błażeja|Margerity|Saturnina",
"Andrzeja|Maury|Ondraszka"
),
new Array(
"Blanki|Edmunda|Eligiusza",
"Balbiny|Ksawerego|Pauliny",
"Hilarego|Franciszki|Ksawery",
"Barbary|Hieronima|Krystiana",
"Kryspiny|Norberta|Sabiny",
"Dionizji|Leontyny|Mikołaja",
"Agaty|Dalii|Sobiesława",
"Delfiny|Marii|Wirginiusza",
"Anety|Leokadii|Wiesława",
"Danieli|Bohdana|Julii",
"Biny|Damazego|Waldemara",
"Ady|Aleksandra|Dagmary",
"Dalidy|Juliusza|Łucji",
"Alfreda|Izydora|Zoriny",
"Celiny|Ireneusza|Niny",
"Albiny|Sebastiana|Zdzisławy",
"Jolanty|Łukasza|Olimpii",
"Bogusława|Gracjana|Laury",
"Beniaminy|Dariusza|Gabrieli",
"Bogumiły|Dominika|Zefiryna",
"Honoraty|Seweryny|Tomasza",
"Bożeny|Drogomira|Zenona",
"Dagny|Sławomiry|Wiktora",
"Adama|Ewy|Irminy",
"Anety|Glorii|Piotra",
"Dionizego|Kaliksta|Szczepana",
"Fabioli|Jana|Żanety",
"Antoniusza|Cezarego|Teofilii",
"Dawida|Dionizy|Tomasza",
"Eugeniusza|Katarzyny|Sabiny",
"Mariusza|Melanii|Sylwestra"
)
));
<script type="text/javascript"><!--
if (WypiszImieniny) {
WypiszImieniny(poczatek, koniec,
separator, ostatni_separator,
metoda);
}
//--></script<script type="text/javascript"><!--
WypiszImieniny("Dziś są imieniny: <b>","</b><br />",", "," i ")//--></script>
<script type="text/javascript"><!--
WypiszImieniny("Imieniny na dziś: ", "<br />")//--></script>
<script type="text/javascript"><!--
WypiszImieniny("Imieniny obchodzą: <b>","</b>. Życzymy wszsytkiego najlepszego!<br />",null," oraz ", 1)//--></script>
<script type="text/javascript"><!--
WypiszImieniny("Imieniny: <b>","</b>. Spełnienia wszystkich marzeń!","</b>, <b>","</b> i <b>")//--></script>
Skrypt został stworzony w języku javascript, na podstawie wiadomości z serwisu Przydatne skrypty, gdzie można znaleźć obszerne wiadomości na temat budowy stron internetowych.