AoM = new Array();
AoM[1]=  "января";
AoM[2]=  "февраля";
AoM[3]=  "марта";
AoM[4]=  "апреля";
AoM[5]=  "мая";
AoM[6]=  "июня";
AoM[7]=  "июля";
AoM[8]=  "августа";
AoM[9]=  "сентября";
AoM[10]= "октября";
AoM[11]= "ноября";
AoM[12]= "декабря";


AoD = new Array();
AoD[1]= "Понедельник";
AoD[2]= "Вторник";
AoD[3]= "Среда";
AoD[4]= "Четверг";
AoD[5]= "Пятница";
AoD[6]= "Суббота";
AoD[7]= "Воскресенье";


function GetCurrYear() {

  var tDate= new Date();
  return tDate.getFullYear();

}

Julian = false;



function f(x) { return Math.floor(x) }


function JD(Day, Month, Year) {

  var a= f( (14 - Month) / 12);
  var y= Year + 4800 - a;
  var m= Month + 12*a - 3;

  if (Julian) { return Day + f( (153*m+2)/5 ) + 365*y + f(y/4) - 32083  }
  else        { return Day + f( (153*m+2)/5 ) + 365*y + f(y/4) - f(y/100) + f(y/400) - 32045 }

}


function DMY(J) {
  
  var a;
  var b; 
  var c;

  if (Julian) {
    b= 0;
    c= J + 32082;
  }
  else {
    a= J + 32044;
    b= f( (4*a + 3)/146097 );
    c= a - f( (146097*b)/4 );     
  }

  var d= f( (4*c + 3)/1461 );
  var e= c - f( (1461*d)/4 );
  var m= f( (5*e + 2)/153);

  var Day=   e - f( (153*m + 2)/5) + 1;
  var Month= m + 3 -  12*f(m/10) ;
  var Year=  100*b + d - 4800 + f( m/10 );

  return new Array(Day, Month, Year); 

}


function add (Day, Month, Year, N) {

  return DMY( JD(Day, Month, Year) +N  );

}

function delta( Day1, Month1, Year1, Day2, Month2, Year2  ) {

   return ( JD(Day2, Month2, Year2) - JD(Day1, Month1, Year1)  );

}

function DN(N) {
   return( N % 7 + 1)
}


function Easter(Year) {

  var G= Year % 19;

  var I= (19*G + 15) % 30;
  var J= (Year + f(Year/4) + I) % 7;

  var L= I - J;

  var EasterMonth= 3 + f((L + 40)/44);
  var EasterDay=   L + 28 - 31*f(EasterMonth/4);


  var a= f( (14 - EasterMonth) / 12);
  var y= Year + 4800 - a;
  var m= EasterMonth + 12*a - 3;

  return EasterDay + f( (153*m+2)/5 ) + 365*y + f(y/4) - 32083;


}

function dt(N) {

   var A= DMY(N);
   return( A[0] + " " + AoM[ A[1] ] );

}

function dtword(d, m) {
  return( d + " " + AoM[ m ] );
}

function dtformatDDMMYYYY(N) {
  var D = DMY(N);
  var d = D[0];
  var m = D[1];
  var y = D[2];
  
  if (d<10) { d = "0" + d }
  if (m<10) { m = "0" + m }
  while ( y.toString().length < 4 ) { y = "0" + y };
   
  return( d + "." + m + "." + y );
  
}

function dtformat2(N) {
  var D = DMY(N);    
  return( D[0] + " " + AoM[ D[1] ] + " " + D[2] + " года" );
  
}