var byear = 1980;
var mm = 2;
var bday = 2;
var year ;
var year2 ;
var year3 ;
var year = new Date();
var year2 = year.getYear();
var year3 = (year < 2000) ? year2 + 1900 : year2;
var thedate = new Date();
var mm2 = thedate.getMonth() + 1;
var dd2 = thedate.getDate();
var yy2 = thedate.getYear();

TMonth = new Array('January','February','March','April','May','June','July','August','September','October','November','December');

 CurMonth = mm - 1;
 bmonth = TMonth[CurMonth];

var today = new Date();
var startday = new Date();
var enday = new Date();
var timeRemain = 0;


function showtime() {
  alert( getTimeStr() );
}

function getTimeStr() {

        startday = new Date(""+bmonth+" "+bday+", "+byear+" 00:00 EDT");
        startday.setYear(""+byear+"");
        today = new Date();
        
        PerYear = 365.16 * 24 * 60 * 60 * 1000 ;
        PerMonth = 30.43 * 24 * 60 * 60 * 1000;
        PerDay = 24 * 60 * 60 * 1000;
        
        yearsLeft = ((today.getTime() - startday.getTime()) / PerYear);
        yearsRound = Math.floor(yearsLeft);
        yearsRemain = yearsRound;
        
        monthsLeft = ((today.getTime() - startday.getTime()) / PerMonth);
        monthsLeft = Math.floor(monthsLeft);
        monthsRound = yearsRemain*12;
        monthsRemain = monthsLeft - monthsRound;
        monthsRemain = (monthsRemain < 0) ? monthsRemain = 12 - (monthsRound - monthsLeft)   : monthsRemain = (monthsLeft - monthsRound );
        
        daysLeft = ((today.getTime() - startday.getTime()) / PerDay);
        daysLeft = Math.floor(daysLeft);
        daysRound = yearsRemain*365.16 + monthsRemain*30.43 
        daysRemain = daysLeft - daysRound ;
        daysRemain = (daysRemain < 0) ? daysRemain = 30.43-(daysLeft - daysRound): daysRemain = ( daysLeft - daysRound) ;
        daysRemain = Math.round(daysRemain);

  
    switch (monthsRemain)
    {
  	  case 1:  strmonth = " month ";    break; 
      case 2:  strmonth = " months ";   break; 
      case 3:  strmonth = " months ";   break; 
      case 4:  strmonth = " months ";   break; 
      default: strmonth = " months ";
    };
 
    switch (daysRemain )
    {
      case 1:  strday = " day";            break;
      case 21: strday = " days";            break;
      case 2:  strday = " days";            break;
      case 3:  strday = " days";            break;
      case 4:  strday = " days";            break;
      case 22: strday = " days";            break;
      case 23: strday = " days";            break;
      case 24: strday = " days";            break;
	      case 30:  daysRemain=0;   monthsRemain=monthsRemain+1;   strday = " days";    break;
		      case 31:    daysRemain=0;   monthsRemain=monthsRemain+1;  strday = " days";    break;
      default: strday = " days";
    };     
	   
    switch (monthsRemain)
    {
      case 0:   
                  switch (daysRemain)
                         {
                                      case 0:   timeRemain = "Happy Birthday!"  ;           break;
   								   default:  timeRemain = "Kittens today "  + daysRemain + strday ;
 							   };         break;  
	   default: 
		      switch (daysRemain)
  					  {
 							     case 0:   timeRemain = "Kittens today "    + monthsRemain + strmonth  ;      break;
 								     default: 	   timeRemain = "Kittens today " + monthsRemain + strmonth +"  " + daysRemain + strday ;
 						   };   
	     };
   
        return timeRemain;
}

function init() {
  getAge( document.up.year.value,document.up.month.value,document.up.day.value);
  showtime();
}

function getAge( _yy,_mm,_dd) {
        byear = _yy;
        mm = _mm;
        bday = _dd;

        if((isNaN(byear ))||(byear<1970)){
         alert("Коты так долго не живут!"); return;
        }

        if((isNaN(mm))||(mm>12)||(mm<1)){
         alert("Ошибочный месяц! (1-12)"); return;
        }

        if((isNaN(bday))||(bday>31)||(bday<1)){
         alert("Ошибочный день! (1-31)"); return;
        }
        CurMonth = mm - 1;

        if(byear > today.getFullYear()) { alert("Еще не родился!"); return;     };
        if((byear >= today.getFullYear()) && (CurMonth > today.getMonth()))     { alert("Еще не родился!"); return;     };
        if((byear >= today.getFullYear()) && (CurMonth >= today.getMonth()) && (bday >= today.getDate()) ) { alert("Еще не родился!"); return;  };

        bmonth = TMonth[CurMonth];
        return getTimeStr();
};

//  End -->

