var S = new Array();
var B = new Array();
// таблица биномов дня на первое число
S[1984]=1;
B[1984]=7;
S[1988]=2;
B[1988]=4;
S[1992]=3;
B[1992]=1;
S[1996]=4;
B[1996]=10;
S[2000]=5;
B[2000]=7;
S[2004]=6;
B[2004]=4;
S[2008]=7;
B[2008]=1;
S[2012]=8;
B[2012]=10;
S[2016]=9;
B[2016]=7;
S[2020]=10;
B[2020]=4;
S[2024]=1;
B[2024]=1;
S[2028]=2;
B[2028]=10;
S[2032]=3;
B[2032]=7;
S[2036]=4;
B[2036]=4;
S[2040]=5;
B[2040]=1;
S[2044]=6;
B[2044]=10;
S[1985]=7;
B[1985]=1;
S[1989]=8;
B[1989]=10;
S[1993]=9;
B[1993]=7;
S[1997]=10;
B[1997]=4;
S[2001]=1;
B[2001]=1;
S[2005]=2;
B[2005]=10;
S[2009]=3;
B[2009]=7;
S[2013]=4;
B[2013]=4;
S[2017]=5;
B[2017]=1;
S[2021]=6;
B[2021]=10;
S[2025]=7;
B[2025]=7;
S[2029]=8;
B[2029]=4;
S[2033]=9;
B[2033]=1;
S[2037]=10;
B[2037]=10;
S[2041]=1;
B[2041]=7;
S[2045]=2;
B[2045]=4;
S[1986]=2;
B[1986]=6;
S[1990]=3;
B[1990]=3;
S[1994]=4;
B[1994]=12;
S[1998]=5;
B[1998]=9;
S[2002]=6;
B[2002]=6;
S[2006]=7;
B[2006]=3;
S[2010]=8;
B[2010]=12;
S[2014]=9;
B[2014]=9;
S[2018]=10;
B[2018]=6;
S[2022]=1;
B[2022]=3;
S[2026]=2;
B[2026]=12;
S[2030]=3;
B[2030]=9;
S[2034]=4;
B[2034]=6;
S[2038]=5;
B[2038]=3;
S[2042]=6;
B[2042]=12;
S[2046]=7;
B[2046]=9;
S[1987]=7;
B[1987]=11;
S[1991]=8;
B[1991]=8;
S[1995]=9;
B[1995]=5;
S[1999]=10;
B[1999]=2;
S[2003]=7;
B[2003]=11;
S[2007]=8;
B[2007]=8;
S[2011]=9;
B[2011]=5;
S[2015]=10;
B[2015]=2;
S[2019]=1;
B[2019]=11;
S[2023]=2;
B[2023]=8;
S[2027]=3;
B[2027]=5;
S[2031]=4;
B[2031]=2;
S[2035]=5;
B[2035]=11;
S[2039]=6;
B[2039]=8;
S[2043]=7;
B[2043]=5;
S[2047]=8;
B[2047]=2;

//промежутки времени
var TD=new Array();
TD[1] =new Array("1/1","2/2","3/3","4/4","5/5","6/6","7/7","8/8","9/9","10/10","1/11","2/12");
TD[2] =new Array("3/1","4/2","5/3","6/4","7/5","8/6","9/7","10/8","1/9","2/10","3/11","4/12");
TD[3] =new Array("5/1","6/2","7/3","8/4","9/5","10/6","1/7","2/8","3/9","4/10","5/11","6/12");
TD[4] =new Array("7/1","8/2","9/3","10/4","1/5","2/6","3/7","4/8","5/9","6/10","7/11","8/12");
TD[5] =new Array("9/1","10/2","1/3","2/4","3/5","4/6","5/7","6/8","7/9","8/10","9/11","10/12");
TD[6] =new Array("1/1","2/2","3/3","4/4","5/5","6/6","7/7","8/8","9/9","10/10","1/11","2/12");
TD[7] =new Array("3/1","4/2","5/3","6/4","7/5","8/6","9/7","10/8","1/9","2/10","3/11","4/12");
TD[8] =new Array("5/1","6/2","7/3","8/4","9/5","10/6","1/7","2/8","3/9","4/10","5/11","6/12");
TD[9] =new Array("7/1","8/2","9/3","10/4","1/5","2/6","3/7","4/8","5/9","6/10","7/11","8/12");
TD[10]=new Array("9/1","10/2","1/3","2/4","3/5","4/6","5/7","6/8","7/9","8/10","9/11","10/12");

function TDB(hour){
var ret=1;
if (hour>=1) ret=2;
if (hour>=3) ret=3;
if (hour>=5) ret=4;
if (hour>=7) ret=5;
if (hour>=9) ret=6;
if (hour>=11) ret=7;
if (hour>=13) ret=8;
if (hour>=15) ret=9;
if (hour>=17) ret=10;
if (hour>=19) ret=11;
if (hour>=21) ret=12;
if (hour>=23) ret=1;
return ret-1;
}

function IsLeapYear(year){
var leap = new Array(1984,1988,1992,1996,2000,2004,2008,2012,2016,2020,2024,2028,2032,2036,2040,2044);
for (var i in leap){if (i==year) { return 1;} else { return 0;}}
}

function DayInMonth(month,year){
var dmonth = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
var count=dmonth[month];
if (month==2) count+=IsLeapYear(year);
   return count; 
}

function DayCount(day,month,year){
var ret;
 ret=(day-1);
 for(var i=1;i<month;i++){
  ret+=DayInMonth(i,year);
 }  
 return ret;
}

function GetDayNS(day,month,year){
 var ret=DayCount(day,month,year)+S[year];
 ret=ret % 10;
 if(ret==0) ret=10;
 return ret;
}

function GetDayZB(day,month,year){
 var ret=DayCount(day,month,year)+B[year];
 ret=ret % 12;
 if(ret==0) ret=12;
 return ret;
}

function GetBinomDay(day,month,year){
// alert(day+"."+month+"."+year);
 var ret=GetDayNS(day,month,year)+"/"+GetDayZB(day,month,year);
 return ret;
}


function GetTimeDivision(day,month,year,hour){
// alert(day+"."+month+"."+year);
 var s=GetDayNS(day,month,year);
 var ret=TD[s];
 return ret[TDB(hour)];
}

function GetBinomDayNow(){
 var now = new Date();
 return GetBinomDay(now.getDate(),now.getMonth()+1,now.getFullYear());
}

function GetTimeDivisionNow(){
 var now = new Date();
 return GetTimeDivision(now.getDate(),now.getMonth()+1,now.getFullYear(),now.getHours("hh"));
}

function GetDateNow(){
 var now = new Date();
 var nDay= now.getDate();
 nDay=nDay.toString();
 var nMonth=now.getMonth()+1;
 nMonth=nMonth.toString();

 if (nDay.length<2) nDay = "0"+nDay;
 if (nMonth.length<2) {
  nMonth= "0"+nMonth;
 }

 return nDay+"."+nMonth+"."+now.getFullYear();
}
