/*JavaScript Document*/ var Table, i, j, Flag, Lp, endTime, Time, YYYY, DDD, MM, DD, df, yyyy, ddd, mm, dd, Cols=9, IstAge='1', RnDis, TmCh=' ', tm4=tm3=tm2=tm1=new Date(), TimeYGK, TimeYJK_BK; /*Создание "Массива результатов"*/ Result=[['Шкала
времени']]; Result[0][1]='УпрГК
yyyy . ddd'; Result[0][2]='ГК
yyyy . mm . dd'; Result[0][3]='УпрЮК
yyyy . ddd'; Result[0][4]='ЮК (аст.)
yyyy . mm . dd'; Result[0][5]='ЮК (ист.)
(эра) yyyy . mm . dd'; Result[0][6]='УпрВК
yyyy . ddd'; Result[0][7]='ВК
yyyy month dd'; Result[0][8]='День
нед.'; /*Завершение создания "Массива результатов"*/ /*Создание массива включённых колонок*/ NumCol=[true, true, true, true, true, true, true, true, true]; /*Создание "Рабочего окна" и первоначальный вывод на экран таблицы "Ввода данных"*/ function Page(){ Table=window.open('', 'Table', 'status=yes,toolbar=yes,directories=yes,location=yes,menubar=yes,scrollbars=yes,resizable=yes'); Tbl(); }; /*Построение таблиц "Ввода данных" и "Результатов расчёта"*/ function Tbl(){ tm3=new Date(); if(Time==undefined) {RnDis=' disabled '} else {RnDis=' '}; Table.document.open(); Table.document.writeln('\n\n\n\nРабочее окно\n\n
'); /*Построение таблицы "Ввода данных"*/ Table.document.writeln('\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\nУпрГК
\n
\nГК
\n
\nУпрЮК
\n
\nЮК (аст.)
\n
\nЮК (ист.)
\n
\nУпрВК
\n
\nВК
\n
\nДень нед.
\n
\n\n
'); Table.document.Form1.ChCol1.checked=NumCol[1]; Table.document.Form1.ChCol2.checked=NumCol[2]; Table.document.Form1.ChCol3.checked=NumCol[3]; Table.document.Form1.ChCol4.checked=NumCol[4]; Table.document.Form1.ChCol5.checked=NumCol[5]; Table.document.Form1.ChCol6.checked=NumCol[6]; Table.document.Form1.ChCol7.checked=NumCol[7]; Table.document.Form1.ChCol8.checked=NumCol[8]; Table.document.writeln(''); Table.document.writeln(''); Table.document.writeln(''); if(NumCol[1]==true){Table.document.writeln('')}; if(NumCol[2]==true){Table.document.writeln('')}; if(NumCol[3]==true){Table.document.writeln('')}; if(NumCol[4]==true){Table.document.writeln('')}; if(NumCol[5]==true){Table.document.writeln('')}; if(NumCol[6]==true){Table.document.writeln('')}; if(NumCol[7]==true){Table.document.writeln('')}; if(NumCol[8]==true){Table.document.writeln('')}; Table.document.writeln(''); Table.document.writeln(''); Table.document.writeln(''); if(NumCol[1]==true){Table.document.writeln('')}; if(NumCol[2]==true){Table.document.writeln('')}; if(NumCol[3]==true){Table.document.writeln('')}; if(NumCol[4]==true){Table.document.writeln('')}; if(NumCol[5]==true){Table.document.writeln('')}; if(NumCol[6]==true){Table.document.writeln('')}; if(NumCol[7]==true){Table.document.writeln('')}; if(NumCol[8]==true){Table.document.writeln('')}; Table.document.writeln('\n
Шкала вр.УпрГКГКУпрЮКЮК (аст.)ЮК (ист.)УпрВКВК-
\n\n\n \n\n  \n\n \n\n  \n\n   \n\n \n\n  \n-
'); Table.document.writeln('\n\n\n\n\n\n\n\n\n\n\n\n
Рассчитать диапазон
Отобразить время расчёта и вывода
\n
'); /*Завершение построения таблицы "Ввода данных"*/ Flag=00; Dis(); /*Построение таблицы "Результаты"*/ var Rows=Result.length-1; if(Rows>0) {Table.document.writeln('

Результаты

'); Table.document.writeln(''); Table.document.writeln('\n'); for(j=1; j<=8; j++) {if(NumCol[j]==true){Table.document.writeln('')}; }; Table.document.writeln(''); for(i=Rows; i>0; i--) {if(Result[i][0]==' ') {Table.document.writeln('\n\n')} else {Table.document.writeln('\n'); for(j=1; j<=8; j++) {if(NumCol[j]==true) {Table.document.writeln('')}; }; Table.document.writeln(''); }; }; if(Rows>20) {Table.document.writeln('\n'); for(j=1; j<=8; j++) {if(NumCol[j]==true){Table.document.writeln('')}; }; Table.document.writeln(''); }; Table.document.writeln('
'+Result[0][0]+''+Result[0][j]+'
 
'+Result[i][0]+''+Result[i][j]+'
'+Result[0][0]+''+Result[0][j]+'
'); }; /*Завершение построения таблицы "Результаты"*/ Table.document.writeln('\n'); Table.document.close(); tm4=new Date(); if(Table.document.Form1.Tm.checked==true) {Table.window.alert('Время расчёта = '+(tm2.getTime()-tm1.getTime())/1000+' сек\nВремя вывода = '+(tm4.getTime()-tm3.getTime())/1000+' сек')}; tm4=tm3=tm2=tm1=new Date(); Table.focus(); Table.document.Form1.TimeSc.focus(); }; /*Завершение function Tbl() построения и вывода на экран таблицы "Ввода данных" и таблицы "Результаты расчёта"*/ /*Сохранить рабочее окно на диск в IE*/ function SvRes(){ Table.window.document.execCommand('SaveAs') Table.focus(); Table.document.Form1.TimeSc.focus(); }; /*Включение и отключение окна времени расчёта и вывода на экран*/ function TmEn(){ if(Table.document.Form1.Tm.checked==true){TmCh=' checked="checked" '} else{TmCh=' '}; Table.focus(); Table.document.Form1.TimeSc.focus(); }; /*Повторный вывод таблиц*/ function Reap(){ Cols=1; NumCol[1]=Table.document.Form1.ChCol1.checked; if(NumCol[1]==true){Cols=Cols+1}; NumCol[2]=Table.document.Form1.ChCol2.checked; if(NumCol[2]==true){Cols=Cols+1}; NumCol[3]=Table.document.Form1.ChCol3.checked; if(NumCol[3]==true){Cols=Cols+1}; NumCol[4]=Table.document.Form1.ChCol4.checked; if(NumCol[4]==true){Cols=Cols+1}; NumCol[5]=Table.document.Form1.ChCol5.checked; if(NumCol[5]==true){Cols=Cols+1}; NumCol[6]=Table.document.Form1.ChCol6.checked; if(NumCol[6]==true){Cols=Cols+1}; NumCol[7]=Table.document.Form1.ChCol7.checked; if(NumCol[7]==true){Cols=Cols+1}; NumCol[8]=Table.document.Form1.ChCol8.checked; if(NumCol[8]==true){Cols=Cols+1}; Tbl(); }; /*Возврат в режим начала ввода даты при выходе за допустимые пределы*/ function ErrInp(){ Flag=00; Dis(); Table.document.Form1.Age.disabled=false; Table.focus(); Table.document.Form1.TimeSc.focus(); }; /*Исходные значения вводимых данных*/ function Dis(){ if(Flag!=01){Table.document.Form1.TimeSc.value='t, сут'}; if(NumCol[1]==true && Flag!=02 && Flag!=03){Table.document.Form1.yyyySmGK.value='yyyy'}; if(NumCol[1]==true && Flag!=03){Table.document.Form1.dddSmGK.value='ddd'}; if(NumCol[2]==true && Flag!=04 && Flag!=05 && Flag!=06){Table.document.Form1.yyyyGK.value='yyyy'}; if(NumCol[2]==true && Flag!=05 && Flag!=06){Table.document.Form1.mmGK.value='mm'}; if(NumCol[2]==true && Flag!=06){Table.document.Form1.ddGK.value='dd'}; if(NumCol[3]==true && Flag!=07 && Flag!=08){Table.document.Form1.yyyySmJK.value='yyyy'}; if(NumCol[3]==true && Flag!=08){Table.document.Form1.dddSmJK.value='ddd'}; if(NumCol[4]==true && Flag!=09 && Flag!=10 && Flag!=11){Table.document.Form1.yyyyJKast.value='yyyy'}; if(NumCol[4]==true && Flag!=10 && Flag!=11){Table.document.Form1.mmJKast.value='mm'}; if(NumCol[4]==true && Flag!=11){Table.document.Form1.ddJKast.value='dd'}; if(NumCol[5]==true && Flag!=12 && Flag!=13 && Flag!=14){Table.document.Form1.yyyyJKist.value='yyyy'}; if(NumCol[5]==true && Flag!=13 && Flag!=14){Table.document.Form1.mmJKist.value='mm'}; if(NumCol[5]==true && Flag!=14){Table.document.Form1.ddJKist.value='dd'}; if(NumCol[5]==true){Table.document.Form1.Age.value=IstAge}; if(NumCol[6]==true && Flag!=15 && Flag!=16){Table.document.Form1.yyyySmBK.value='yyyy'}; if(NumCol[6]==true && Flag!=16){Table.document.Form1.dddSmBK.value='ddd'}; if(NumCol[7]==true && Flag!=17 && Flag!=18 && Flag!=19){Table.document.Form1.yyyyBK.value='yyyy'}; if(NumCol[7]==true && Flag!=18 && Flag!=19){Table.document.Form1.mmBK.value='00'}; if(NumCol[7]==true && Flag!=19){Table.document.Form1.ddBK.value='dd'}; if(Flag!=01 && Flag!=03 && Flag!=06 && Flag!=08 && Flag!=11 && Flag!=14 && Flag!=16 && Flag!=19){endTime=undefined}; Table.document.Form1.Range.checked=false; }; /*Тип года ГК*/ function LpGK(){Lp=1-Math.ceil(YYYY/4-Math.floor(YYYY/4))+Math.ceil(YYYY/100-Math.floor(YYYY/100))-Math.ceil(YYYY/400-Math.floor(YYYY/400))}; /*Тип года ЮК и ВК*/ function LpJK_BK(){Lp=1-Math.ceil(YYYY/4-Math.floor(YYYY/4))}; /*Момент начала года YYYY ГК на шкале времени*/ function TmYGK(){TimeYGK=365*(YYYY-1)+Math.floor((YYYY-1)/4)-Math.floor((YYYY-1)/100)+Math.floor((YYYY-1)/400)+Lp+2}; /*Момент начала года YYYY ЮК на шкале времени*/ function TmYJK_BK(){TimeYJK_BK=365*(YYYY-1)+Math.floor((YYYY-1)/4)+Lp}; /*Проверка корректности значений t шкалы времени*/ function Scale(){ endTime=Number(Table.document.Form1.TimeSc.value); if(endTime!=NaN && endTime==Math.round(endTime) && endTime<=3652061 && endTime>=-2011918) {Flag=01; Dis(); Table.document.Form1.TimeSc.value=String(endTime); Table.document.Form1.Cl.focus()} else {Table.window.alert('Значение шкалы времени "'+Table.document.Form1.TimeSc.value+'" некорректно.\nВведите целое число от -2011918 до 3652061'); Flag=00; Dis(); Table.focus(); Table.document.Form1.TimeSc.focus()}; }; /*Проверка корректности годов упрощённого ГК*/ function YrSmGK(){ YYYY=Number(Table.document.Form1.yyyySmGK.value); if(YYYY!=NaN && YYYY==Math.round(YYYY) && -5508<=YYYY && YYYY<=9999) {if(YYYY>=0) {yyyy=String(YYYY); for(j=yyyy.length; j<4; j++){yyyy='0'+yyyy}} else {yyyy=String(-YYYY); for(j=yyyy.length; j<4; j++){yyyy='0'+yyyy}; yyyy='-'+yyyy}; Table.document.Form1.yyyySmGK.value=yyyy; Flag=02; Dis(); Table.document.Form1.dddSmGK.focus()} else {Table.window.alert('Значение номера года "'+Table.document.Form1.yyyySmGK.value+'" некорректно.\nВведите целое число от -5508 до 9999'); Dis(); Table.focus(); Table.document.Form1.yyyySmGK.focus()}; }; /*Проверка корректности и перевод дат упрощённого ГК в значения t шкалы времени*/ function DtSmGK(){ if(Table.document.Form1.yyyySmGK.value=='yyyy') {Table.window.alert('Введите номер года'); Dis(); Table.document.Form1.yyyySmGK.focus()} else {DDD=Number(Table.document.Form1.dddSmGK.value); LpGK(); if(DDD!=NaN && DDD==Math.round(DDD) && 1<=DDD+Lp && DDD<=365) {TmYGK(); endTime=TimeYGK+DDD; ddd=String(DDD); for(j=ddd.length; j<3; j++){ddd='0'+ddd}; Table.document.Form1.dddSmGK.value=ddd; if(endTime>=-2011918) {Flag=03; Dis(); Table.document.Form1.Cl.focus()} else {Table.window.alert('Значение даты "'+yyyy+'.'+ddd+'" некорректно.\nНаиболее раннее значение даты УпрГК: -5508.200'); ErrInp()} } else {Table.window.alert('Значение номера суток "'+Table.document.Form1.dddSmGK.value+'" некорректно.\nВведите целое число от '+(1-Lp)+' до 365'); Dis(); Table.document.Form1.yyyySmGK.value=yyyy; Table.focus(); Table.document.Form1.dddSmGK.focus()}}; }; /*Проверка корректности годов обычного ГК*/ function YrGK(){ YYYY=Number(Table.document.Form1.yyyyGK.value); if(YYYY!=NaN && YYYY==Math.round(YYYY) && -5508<=YYYY && YYYY<=9999) {if(YYYY>=0) {yyyy=String(YYYY); for(j=yyyy.length; j<4; j++){yyyy='0'+yyyy}} else {yyyy=String(-YYYY); for(j=yyyy.length; j<4; j++){yyyy='0'+yyyy}; yyyy='-'+yyyy}; Table.document.Form1.yyyyGK.value=yyyy; Flag=04; Dis(); Table.document.Form1.mmGK.focus()} else {Table.window.alert('Значение номера года "'+Table.document.Form1.yyyyGK.value+'" некорректно.\nВведите целое число от -5508 до 9999'); Dis(); Table.focus(); Table.document.Form1.yyyyGK.focus()}; }; /*Проверка корректности месяцев обычного ГК*/ function MnGK(){ if(Table.document.Form1.yyyyGK.value=='yyyy') {Table.window.alert('Введите номер года'); Dis(); Table.document.Form1.yyyyGK.focus()} else {MM=Number(Table.document.Form1.mmGK.value); if(MM!=NaN && MM==Math.round(MM) && 1<=MM && MM<=12) {if(String(MM).length<2){mm="0"+String(MM)} else{mm=String(MM)}; Table.document.Form1.mmGK.value=mm; Flag=05; Dis(); Table.document.Form1.ddGK.focus()} else {Table.window.alert('Значение номера месяца "'+Table.document.Form1.mmGK.value+'" некорректно.\nВведите целое число от 1 до 12'); Dis(); Table.focus(); Table.document.Form1.mmGK.focus()}}; }; /*Проверка корректности и перевод дат обычного ГК в значения t шкалы времени*/ function DtGK(){ if(Table.document.Form1.yyyyGK.value=='yyyy') {Table.window.alert('Введите номер года'); Dis(); Table.document.Form1.yyyyGK.focus()} else {if(Table.document.Form1.mmGK.value=='mm') {Table.window.alert('Введите номер месяца'); Dis(); Table.document.Form1.mmGK.focus()} else {LpGK(); if(MM==1 || MM==3 || MM==5 || MM==7 || MM==8 || MM==10 || MM==12) {df=0} else {if(MM==2) {df=3-Lp} else {df=1}}; DD=Number(Table.document.Form1.ddGK.value); if(DD!=NaN && DD==Math.round(DD) && 1<=DD && DD<=31-df) { if(MM==1 && 1<=DD && DD<=31){DDD=DD-Lp} else{if(MM==2 && 1<=DD && DD<=28+Lp){DDD=DD+31-Lp} else{if(MM==3 && 1<=DD && DD<=31){DDD=DD+59} else{if(MM==4 && 1<=DD && DD<=30){DDD=DD+90} else{if(MM==5 && 1<=DD && DD<=31){DDD=DD+120} else{if(MM==6 && 1<=DD && DD<=30){DDD=DD+151} else{if(MM==7 && 1<=DD && DD<=31){DDD=DD+181} else{if(MM==8 && 1<=DD && DD<=31){DDD=DD+212} else{if(MM==9 && 1<=DD && DD<=30){DDD=DD+243} else{if(MM==10 && 1<=DD && DD<=31){DDD=DD+273} else{if(MM==11 && 1<=DD && DD<=30){DDD=DD+304} else{DDD=DD+334}}}}}}}}}}} TmYGK(); endTime=TimeYGK+DDD; if(String(DD).length<2){dd="0"+String(DD)} else{dd=String(DD)}; Table.document.Form1.ddGK.value=dd; if(endTime>=-2011918) {Flag=06; Dis(); Table.document.Form1.Cl.focus()} else {Table.window.alert('Значение даты "'+yyyy+'.'+mm+'.'+dd+'" некорректно.\nНаиболее раннее значение даты ГК: -5508.07.19'); ErrInp()} } else {Table.window.alert('Значение номера суток "'+Table.document.Form1.ddGK.value+'" некорректно.\nВведите целое число от 1 до '+(31-df)); Dis(); Table.focus(); Table.document.Form1.ddGK.focus()}}}; }; /*Проверка корректности годов упрощённого ЮК*/ function YrSmJK(){ YYYY=Number(Table.document.Form1.yyyySmJK.value); if(YYYY!=NaN && YYYY==Math.round(YYYY) && -5508<=YYYY && YYYY<=9999) {if(YYYY>=0) {yyyy=String(YYYY); for(j=yyyy.length; j<4; j++){yyyy='0'+yyyy}} else {yyyy=String(-YYYY); for(j=yyyy.length; j<4; j++){yyyy='0'+yyyy}; yyyy='-'+yyyy}; Table.document.Form1.yyyySmJK.value=yyyy; Flag=07; Dis(); Table.document.Form1.dddSmJK.focus()} else {Table.window.alert('Значение номера года "'+Table.document.Form1.yyyySmJK.value+'" некорректно.\nВведите целое число от -5508 до 9999'); Dis(); Table.focus(); Table.document.Form1.yyyySmJK.focus()}; }; /*Проверка корректности и перевод дат упрощённого ЮК в значения t шкалы времени*/ function DtSmJK(){ if(Table.document.Form1.yyyySmJK.value=='yyyy') {Table.window.alert('Введите номер года'); Dis(); Table.document.Form1.yyyySmJK.focus()} else {DDD=Number(Table.document.Form1.dddSmJK.value); LpJK_BK(); if(DDD!=NaN && DDD==Math.round(DDD) && 1<=DDD+Lp && DDD<=365) {TmYJK_BK(); endTime=TimeYJK_BK+DDD; ddd=String(DDD); for(j=ddd.length; j<3; j++){ddd='0'+ddd}; Table.document.Form1.dddSmJK.value=ddd; if(-2011918<=endTime && endTime<=3652061) {Flag=08; Dis(); Table.document.Form1.Cl.focus()} else {Table.window.alert('Значение даты "'+yyyy+'.'+ddd+'" некорректно.\nЗначение даты УпрЮК должно лежать в пределах\n от -5508.244 до 9999.292'); ErrInp()} } else {Table.window.alert('Значение номера суток "'+Table.document.Form1.dddSmJK.value+'" некорректно.\nВведите целое число от '+(1-Lp)+' до 365'); Dis(); Table.document.Form1.yyyySmJK.value=yyyy; Table.focus(); Table.document.Form1.dddSmJK.focus()}}; }; /*Проверка корректности годов астрономического ЮК*/ function YrJKast(){ YYYY=Number(Table.document.Form1.yyyyJKast.value); if(YYYY!=NaN && YYYY==Math.round(YYYY) && -5508<=YYYY && YYYY<=9999) {if(YYYY>=0) {yyyy=String(YYYY); for(j=yyyy.length; j<4; j++){yyyy='0'+yyyy}} else {yyyy=String(-YYYY); for(j=yyyy.length; j<4; j++){yyyy='0'+yyyy}; yyyy='-'+yyyy}; Table.document.Form1.yyyyJKast.value=yyyy; Flag=09; Dis(); Table.document.Form1.mmJKast.focus()} else {Table.window.alert('Значение номера года "'+Table.document.Form1.yyyyJKast.value+'" некорректно.\nВведите целое число от -5508 до 9999'); Dis(); Table.focus(); Table.document.Form1.yyyyJKast.focus()}; }; /*Проверка корректности месяцев астрономического ЮК*/ function MnJKast(){ if(Table.document.Form1.yyyyJKast.value=='yyyy') {Table.window.alert('Введите номер года'); Dis(); Table.document.Form1.yyyyJKast.focus()} else {MM=Number(Table.document.Form1.mmJKast.value); if(MM!=NaN && MM==Math.round(MM) && 1<=MM && MM<=12) {if(String(MM).length<2){mm="0"+String(MM)} else{mm=String(MM)}; Table.document.Form1.mmJKast.value=mm; Flag=10; Dis(); Table.document.Form1.ddJKast.focus()} else {Table.window.alert('Значение номера месяца "'+Table.document.Form1.mmJKast.value+'" некорректно.\nВведите целое число от 1 до 12'); Dis(); Table.focus(); Table.document.Form1.mmJKast.focus()}}; }; /*Проверка корректности и перевод дат астрономического ЮК в значения t шкалы времени*/ function DtJKast(){ if(Table.document.Form1.yyyyJKast.value=='yyyy') {Table.window.alert('Введите номер года'); Dis(); Table.document.Form1.yyyyJKast.focus()} else {if(Table.document.Form1.mmJKast.value=='mm') {Table.window.alert('Введите номер месяца'); Dis(); Table.document.Form1.mmJKast.focus()} else {LpJK_BK(); if(MM==1 || MM==3 || MM==5 || MM==7 || MM==8 || MM==10 || MM==12) {df=0} else {if(MM==2) {df=3-Lp} else {df=1}}; DD=Number(Table.document.Form1.ddJKast.value); if(DD!=NaN && DD==Math.round(DD) && 1<=DD && DD<=31-df) { if(MM==1 && 1<=DD && DD<=31){DDD=DD-Lp} else{if(MM==2 && 1<=DD && DD<=28+Lp){DDD=DD+31-Lp} else{if(MM==3 && 1<=DD && DD<=31){DDD=DD+59} else{if(MM==4 && 1<=DD && DD<=30){DDD=DD+90} else{if(MM==5 && 1<=DD && DD<=31){DDD=DD+120} else{if(MM==6 && 1<=DD && DD<=30){DDD=DD+151} else{if(MM==7 && 1<=DD && DD<=31){DDD=DD+181} else{if(MM==8 && 1<=DD && DD<=31){DDD=DD+212} else{if(MM==9 && 1<=DD && DD<=30){DDD=DD+243} else{if(MM==10 && 1<=DD && DD<=31){DDD=DD+273} else{if(MM==11 && 1<=DD && DD<=30){DDD=DD+304} else{DDD=DD+334}}}}}}}}}}} TmYJK_BK(); endTime=TimeYJK_BK+DDD; if(String(DD).length<2){dd="0"+String(DD)} else{dd=String(DD)}; Table.document.Form1.ddJKast.value=dd; if(-2011918<=endTime && endTime<=3652061) {Flag=11; Dis(); Table.document.Form1.Cl.focus()} else {Table.window.alert('Значение даты "'+yyyy+'.'+mm+'.'+dd+'" некорректно.\nЗначение даты ЮК (аст.) должно лежать в пределах\n от -5508.09.01 до 9999.10.19'); ErrInp()} } else {Table.window.alert('Значение номера суток "'+Table.document.Form1.ddJKast.value+'" некорректно.\nВведите целое число от 1 до '+(31-df)); Dis(); Table.focus(); Table.document.Form1.ddJKast.focus()}}}; }; /*Обработка н.э./до н.э*/ function PrAge(){ IstAge=Table.document.Form1.Age.value; Table.document.Form1.yyyyJKist.focus(); }; /*Проверка корректности годов исторического ЮК*/ function YrJKist(){ YYYY=Number(Table.document.Form1.yyyyJKist.value); if(YYYY!=NaN && YYYY==Math.round(YYYY) && YYYY>0) {yyyy=String(YYYY); for(j=yyyy.length; j<4; j++){yyyy='0'+yyyy}; Table.document.Form1.yyyyJKist.value=yyyy; Flag=12; Dis(); Table.document.Form1.mmJKist.focus()} else {Table.window.alert('Значение номера года "'+Table.document.Form1.yyyyJKist.value+'" некорректно.\nВведите целое число больше нуля.'); Dis(); Table.focus(); Table.document.Form1.yyyyJKist.focus()}; }; /*Проверка корректности месяцев исторического ЮК*/ function MnJKist(){ if(Table.document.Form1.yyyyJKist.value=='yyyy') {Table.window.alert('Введите номер года'); Dis(); Table.document.Form1.yyyyJKist.focus()} else {MM=Number(Table.document.Form1.mmJKist.value); if(MM!=NaN && MM==Math.round(MM) && 1<=MM && MM<=12) {if(String(MM).length<2){mm="0"+String(MM)} else{mm=String(MM)}; Table.document.Form1.mmJKist.value=mm; Flag=13; Dis(); Table.document.Form1.ddJKist.focus()} else {Table.window.alert('Значение номера месяца "'+Table.document.Form1.mmJKist.value+'" некорректно.\nВведите целое число от 1 до 12'); Dis(); Table.focus(); Table.document.Form1.mmJKist.focus()}}; }; /*Проверка корректности и перевод дат исторического ЮК в значения t шкалы времени*/ function DtJKist(){ if(Table.document.Form1.yyyyJKist.value=='yyyy') {Table.window.alert('Введите номер года'); Dis(); Table.document.Form1.yyyyJKist.focus()} else {if(Table.document.Form1.mmJKist.value=='mm') {Table.window.alert('Введите номер месяца'); Dis(); Table.document.Form1.mmJKist.focus()} else {if(IstAge=='1') {LpJK_BK()} else {Lp=1-Math.ceil((YYYY-1)/4-Math.floor((YYYY-1)/4))}; if(MM==1 || MM==3 || MM==5 || MM==7 || MM==8 || MM==10 || MM==12) {df=0} else {if(MM==2) {df=3-Lp} else {df=1}}; DD=Number(Table.document.Form1.ddJKist.value); if(DD!=NaN && DD==Math.round(DD) && 1<=DD && DD<=31-df) { if(MM==1 && 1<=DD && DD<=31){DDD=DD-Lp} else{if(MM==2 && 1<=DD && DD<=28+Lp){DDD=DD+31-Lp} else{if(MM==3 && 1<=DD && DD<=31){DDD=DD+59} else{if(MM==4 && 1<=DD && DD<=30){DDD=DD+90} else{if(MM==5 && 1<=DD && DD<=31){DDD=DD+120} else{if(MM==6 && 1<=DD && DD<=30){DDD=DD+151} else{if(MM==7 && 1<=DD && DD<=31){DDD=DD+181} else{if(MM==8 && 1<=DD && DD<=31){DDD=DD+212} else{if(MM==9 && 1<=DD && DD<=30){DDD=DD+243} else{if(MM==10 && 1<=DD && DD<=31){DDD=DD+273} else{if(MM==11 && 1<=DD && DD<=30){DDD=DD+304} else{DDD=DD+334}}}}}}}}}}} if(IstAge=='1') {TmYJK_BK(); endTime=TimeYJK_BK+DDD} else {endTime=365*(-YYYY)+Math.floor(-YYYY/4)+Lp+DDD}; if(String(DD).length<2){dd="0"+String(DD)} else{dd=String(DD)}; Table.document.Form1.ddJKist.value=dd; Flag=14; Dis(); Table.document.Form1.Age.disabled=true; Table.document.Form1.Cl.focus()} else {Table.window.alert('Значение номера суток "'+Table.document.Form1.ddJKist.value+'" некорректно.\nВведите целое число от 1 до '+(31-df)); Dis(); Table.focus(); Table.document.Form1.ddJKist.focus()}}}; }; /*Проверка корректности годов упрощённого ВК*/ function YrSmBK(){ YYYY=Number(Table.document.Form1.yyyySmBK.value); if(YYYY!=NaN && YYYY==Math.round(YYYY) && 01) {Result.push([' '])}}; for(i=0; i. '+ddd+''; ordGK=''+yyyy+' . '+mm+' . '+dd+''} else {simGK=''+yyyy+' . '+ddd+''; ordGK=''+yyyy+' . '+mm+' . '+dd+''}; /*РАСЧЁТ ЮК*/ /*Расчёт упрощённых дат ЮК*/ Q4=Math.floor(Time/1461); Q1=Math.ceil((Time-1461*Q4)/365); YYYY=4*Q4+Q1; /*годы*/ LpJK_BK(); TmYJK_BK(); DDD=Time-TimeYJK_BK; /*Расчёт обычных дат ЮК*/ if(DDD<=31-Lp){mm='01'; dd=String(DDD+Lp)} else{if(DDD<=59){mm='02'; dd=String(DDD+Lp-31)} else{if(DDD<=90){mm='03'; dd=String(DDD-59)} else{if(DDD<=120){mm='04'; dd=String(DDD-90)} else{if(DDD<=151){mm='05'; dd=String(DDD-120)} else{if(DDD<=181){mm='06'; dd=String(DDD-151)} else{if(DDD<=212){mm='07'; dd=String(DDD-181)} else{if(DDD<=243){mm='08'; dd=String(DDD-212)} else{if(DDD<=273){mm='09'; dd=String(DDD-243)} else{if(DDD<=304){mm='10'; dd=String(DDD-273)} else{if(DDD<=334){mm='11'; dd=String(DDD-304)} else{mm='12'; dd=String(DDD-334)}}}}}}}}}}}; /*Форматирование дат ЮК*/ DatForm(); if(191757<=Time && Time<=700215) {simJK=''+yyyy+' . '+ddd+''; ordJKast=''+yyyy+' . '+mm+' . '+dd+''; ordJKist='(н.э.) '+yyyy+' . '+mm+' . '+dd+''; } else {if(700215. '+ddd+''; ordJKast=''+yyyy+' . '+mm+' . '+dd+''; ordJKist='(н.э.) '+yyyy+' . '+mm+' . '+dd+''; } else {simJK=''+yyyy+' . '+ddd+''; ordJKast=''+yyyy+' . '+mm+' . '+dd+''; if(0. '+mm+' . '+dd+''; } else {yyyy=String(Math.abs(YYYY)+1); for(j=yyyy.length; j<4; j++){yyyy='0'+yyyy}; ordJKist='(до н.э.) '+yyyy+' . '+mm+' . '+dd+''; } } }; /*РАСЧЁТ ВК*/ /*Расчёт упрощённых дат ВК*/ Q4=Math.floor((Time+2011919)/1461); Q1=Math.ceil((Time-1461*Q4+2011919)/365); YYYY=4*Q4+Q1; /*годы*/ LpJK_BK(); TmYJK_BK(); DDD=Time-TimeYJK_BK+2011919; /*Расчёт обычных дат ВК*/ if(DDD<=30-Lp){mm='сен.'; dd=String(DDD+Lp)} else{if(DDD<=61-Lp){mm='окт.'; dd=String(DDD+Lp-30)} else{if(DDD<=91-Lp){mm='ноя.'; dd=String(DDD+Lp-61)} else{if(DDD<=122-Lp){mm='дек.'; dd=String(DDD+Lp-91)} else{if(DDD<=153-Lp){mm='янв.'; dd=String(DDD+Lp-122)} else{if(DDD<=181){mm='фев.'; dd=String(DDD+Lp-153)} else{if(DDD<=212){mm='март'; dd=String(DDD-181)} else{if(DDD<=243){mm='апр.'; dd=String(DDD-212)} else{if(DDD<=273){mm='май'; dd=String(DDD-243)} else{if(DDD<=304){mm='июнь'; dd=String(DDD-273)} else{if(DDD<=334){mm='июль'; dd=String(DDD-304)} else{mm='авг.'; dd=String(DDD-334)}}}}}}}}}}}; /*Форматирование дат ВК*/ DatForm(); if(118585<=Time && Time<=620559) {simBK=''+yyyy+' . '+ddd+''; ordBK=''+yyyy+' '+mm+' '+dd+''; } else {simBK=''+yyyy+' . '+ddd+''; ordBK=''+yyyy+' '+mm+' '+dd+''; }; /*Дни недели*/ DAY=Time-7*Math.floor((Time-2)/7)-2; if(DAY==0){day='Вс.'}; if(DAY==1){day='Пн.'}; if(DAY==2){day='Вт.'}; if(DAY==3){day='Ср.'}; if(DAY==4){day='Чт.'}; if(DAY==5){day='Пт.'}; if(DAY==6){day='Сб.'}; /*Дополнение массива вывода результатами расчёта, полученными в текущем цикле*/ Result.push([Time, simGK, ordGK, simJK, ordJKast, ordJKist, simBK, ordBK, day]); Time=Time+1; };/*Завершение расчётного цикла*/ };/*Завершение подпрограммы "РАСЧЁТНАЯ ЧАСТЬ" ("Calculation")*/