var dayOfBirth   = 30; // den narozeni
var monthOfBirth = 1; // mesic narozeni
var yearOfBirth  = 1977; //rok narozeni

var today = new Date();
var dayOfToday = parseInt(today.getDate());
var monthOfToday = today.getMonth() + 1;
var yearOfToday = today.getFullYear();

var yearDiff;
var monthDiff;
var daysDiff;

var totalNumOfDaysOfMonths = [31,28,31,30,31,30,31,31,30,31,30,31];
var ageString;

AgeUptodate();

function AgeUptodate()
{
calcYearDiff();
}

function calcYearDiff()
{
if (monthOfToday > monthOfBirth)
{
yearDiff = yearOfToday - yearOfBirth;
monthDiff = monthOfToday - monthOfBirth;
calcDateDiff();
}

else if (monthOfToday == monthOfBirth)
{
if((dayOfToday == dayOfBirth) || (dayOfToday > dayOfBirth))
{
yearDiff = yearOfToday - yearOfBirth;
}
else
yearDiff = yearOfToday - yearOfBirth - 1;

calcMonthDiff();

}
else
{
yearDiff = yearOfToday - yearOfBirth - 1;
monthDiff = 12 - (monthOfBirth - monthOfToday);

calcDateDiff();
}

}

function calcMonthDiff()
{
if (monthOfToday == monthOfBirth)
{
if (dayOfToday > dayOfBirth)
monthDiff = monthOfToday - monthOfBirth;
else if ( dayOfToday == dayOfBirth )
monthDiff = 0; // That's a Birthday
else
monthDiff = 11; // Birthday coming soon
}
calcDateDiff();
}

function calcDateDiff()
{
if ( yearOfToday % 4 == 0 )
totalNumOfDaysOfMonths[1] = 29;

if (dayOfToday > dayOfBirth)
daysDiff = dayOfToday - dayOfBirth;
else if (dayOfToday == dayOfBirth)
daysDiff = 0;
else
{
daysDiff = ( totalNumOfDaysOfMonths[monthOfToday - 1] - dayOfBirth) + dayOfToday;
}


process();

}

function process() {
	if((monthOfToday > monthOfBirth) && (dayOfToday < dayOfBirth))
	monthDiff -= 1;
	
	if     (yearDiff == 1) r = ' rok, ';
	else if(yearDiff <  5) r = ' roky, ';
	else                   r = ' let, ';

	if     (monthDiff == 1) m = ' měsíc, ';
	else if(monthDiff <  5) m = ' měsíce, ';
	else                    m = ' měsíců, ';

	if     (daysDiff == 1) d = ' den,';
	else if(daysDiff <  5) d = ' dny,';
	else                   d = ' dnů,';

	if(yearDiff == 0) ageString = '';
	else ageString = yearDiff + r;
	
	if(monthDiff == 0) ageString = ageString +'';
	else ageString = ageString + monthDiff + m;
	
	if(daysDiff == 0) ageString = ageString + '';
	else ageString = ageString + daysDiff + d;
	
	document.write('Lenka: ' + ageString);
}
