DayName = new Array(7)
DayName[0] = "niedziela"
DayName[1] = "poniedziałek"
DayName[2] = "wtorek"
DayName[3] = "środa"
DayName[4] = "czwartek"
DayName[5] = "piątek"
DayName[6] = "sobota"

MonthName = new Array(12)
MonthName[0] = "stycznia"
MonthName[1] = "lutego"
MonthName[2] = "marca"
MonthName[3] = "kwietnia"
MonthName[4] = "maja"
MonthName[5] = "czerwca"
MonthName[6] = "lipca"
MonthName[7] = "sierpnia"
MonthName[8] = "września"
MonthName[9] = "października"
MonthName[10] = "listopada"
MonthName[11] = "grudnia"

function getDateStr(){
    var Today = new Date();
    var WeekDay = Today.getDay();
    var Month = Today.getMonth();
    var Day = Today.getDate();
    var Year = Today.getFullYear();

    if(Year <= 99)
        Year += 1900;

    return DayName[WeekDay] + "," + " " + Day + " " + MonthName[Month] + ", " + Year;
}


//
// 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();


//
// 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.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",
              "Czasł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"
       )
));

