// globals
d2r = Math.PI/180;
r2d = 180/Math.PI;
var mon;
var day;
var year;
var hr;
var minu;
var tz;
var nkp;
var msp;
var ssp;
var ltran = 0.;
var lsuntran = 0.;
var moonday = 0.;
var insig = 0;
var sss = "00.00.0000 00:00 (зона 10)";
var ba = "<table border=0 width=500 height=10 cellspacing=1 cellpadding=5 bgcolor=#000000 align=center><tr><td bgcolor=pink width=";
var bb = "></td><td bgcolor=lightblue></td></tr></table>";
var zn = "AriTauGemCanLeoVirLibScoSagCapAquPis";  // Zodiac
var range = [1,31,1,12,1800,2100,0,23,0,59,0,12,0,59]; 	
var wis = [ 2,5,6,0,1,3,4,2,3,5,5,0,2,1,4,6,1,3,3,5,0,4,4,4,5,0,1 ];
var naks = ["Ашвини","Бхарани","Криттика","Рохини","Мригашира",
"Ардра","Пунарвасу","Пушья","Ашлеша","Магха",
"Пурвапхалгуни","Уттарапхалгуни","Хаста","Читра",
"Свати","Вишакха","Анурадха","Джйештха","Мула",
"Пурвашадха","Уттарашадха","Шравана","Дхаништха",
"Сатабхиша","Пурвабхадрапада","Уттарабхадрапада","Ревати"];
var znak = ["Овен","Телец","Близнецы","Рак",
"Лев","Дева","Весы","Скорпион","Стрелец","Козерог","Водолей","Рыбы"];
var naksw = ["Шератан","Муха","Альциона","Альдебаран","Хека","Бетельгейзе",
"Поллукс","Азеллюс Австралис","Альфард","Регул","Зосма","Денебола",
"Альгораб","Спика","Арктур","Зубен Эльгенуби","Изидис","Антарес",
"Шаула","Каус Медиус","Нунки","Альтаир","Суалокин","Лямбда Водолея",
"Маркаб","Альгениб","Дзета Рыб"];

var stw = new Array (6);
stw[0] = "Фиксированная звезда: следует выполнять деятельность, рассчитанную на долговременные результаты, такую, как посадка семян, переезд в новый дом, принятие клятв, обетов, закладка фундамента и т.д. Начатое в это время принесет хорошие и устойчивые плоды.";
stw[1] = "Мягкая звезда: рекомендуется ношение новых одежд, сексуальная связь ради зачатия, танцы и занятия искусством, исполнение торжественных ритуалов.";
stw[2] = "Легкая звезда: рекомендуется украшение чего-либо, приятные загородные прогулки, экскурсии, занятия спортом, начало бизнеса, путешествия, прием лекарств.";
stw[3] = "Резкая звезда: получаются вызовы злых духов или проклятия, причинение вреда другим людям, отделение себя от других людей, обвинения и ссоры, а также чтение дающих могущество мантр.";
stw[4] = "Подвижная звезда: рекомендуется садоводство, путешествия, приобретение средств транспорта, совершение добрых, но недолговечных по своим результатам дел.";
stw[5] = "Ужасная звезда: подходящее время для низких планов, для отравления или заключения в тюрьму других людей, для поджогов, обмана и других вредных действий.";
stw[6] = "Смешанная звезда: можно заниматься рутинной деятельностью, повседневными обязанностями, но не следует предпринимать новую, важную работу.";

var tbl = new Array (9);
tbl[0] = "Опасности для тела, не рискуйте. Рутинные дела в порядке. Вероятно повышение жизненного тонуса, уверенности в себе. Возможна удача.";
tbl[1] = "Удача в области финансов, хорошая пища, семейные удовольствия. Благоприятно для начала путешествий и праздников.";
tbl[2] = "Вероятны опасности, потери, убытки, несчастные случаи, аварии. Неприятности с авторитетами и родственниками. Избегайте важных дел.";
tbl[3] = "Успех ваших усилий. Следуйте вашим планам. Это принесет процветание и плодотворные результаты.";
tbl[4] = "Препятствия на пути ваших устремлений. Отложите важные дела.";
tbl[5] = "Осуществление желаний. Назначайте на это время важные дела.";
tbl[6] = "Потери, несчастные случаи, опасности и затруднения. Избегайте ненужного риска, повремените с началом серьезных предприятий, долгих путешествий. Не ожидайте немедленных результатов.";
tbl[7] = "Прогресс и хорошие результаты в деятельности, начатой в это время.";
tbl[8] = "Хорошо для обретения новых друзей, углубления отношений со старыми друзьями, совершению сделок, путешествий. Очень хорошо для достижения желаемой цели.";

var moh = new Array (12);
moh[0] = "(благоприятно):  Приток физической энергии, оптимизм, хорошее питание, комфорт, новые идеи. Заботьтесь о ваших личных нуждах, улучшайте ваше здоровье, но остерегайтесь эгоизма. Используйте появляющиеся благоприятные возможности, или ищите нового знания о самом себе.";
moh[1] = "(неблагоприятно): Ожидайте расходов. Старайтесь не говорить резко и не сплетничать. Увеличится аппетит. Вероятны беспокойства в семейных делах, потеря уважения, возрастание препятствий. Время благоприятно для приобретения драгоценностей, для публичных речей, для наслаждения моментами покоя, для того, чтобы прислушаться к хорошим советам, или для чтения.";
moh[2] = "(благоприятно):  Денежный доход, приобретение новых вещей, увеличение решительности и смелости, сексуальные наслаждения. Рекомендуется общение с родственниками. Это время высказываться, выражать себя. Хорошее время для письменного труда и творческой деятельности, пения или театрального искусства. Благоприятно для принятия обязательств, клятв и обетов. Люди, использующие в работе руки, найдут это время удачным.";
moh[3] = "(неблагоприятно): Ум становится взволнованным, возникает чувство досады в связи с поведением товарищей, партнеров. Остерегайтесь потери времени или изучения бесполезных вещей. Благоприятно посетить храм, провести время вдали от дома. Отложите дела, связанные с имуществом. Общайтесь с природой, будьте добры и щедры.";
moh[4] = "(неблагоприятно): Могут возникнуть неприятные эмоциональные переживания и проблемы с желудком. Это время обычно приносит с собою какое-либо затруднение или унижение. Будьте внимательны в отношениях с детьми и во взаимодействиях с обществом.";
moh[5] = "(благоприятно): Самое время заниматься лечением и преодолевать сопротивление противников, или врагов. Хорошее время для отношений с иностранцами, поклонения Богу, исполнения добровольной работы и для физических упражнений. Будьте сильны и уверены в себе, составляйте планы путешествий в это время.";
moh[6] = "(благоприятно): Вероятно улучшение семейных дел, успехи в бизнесе, общение с людьми, наслаждение спортом, сексом и развлечениями. Хорошо для посещения пикников или коротких путешествий. Уважение со стороны других людей, внезапный доход из неожиданных источников. Творите добро, назначайте встречи, следите за общественными событиями. Успех также сопутствует и в длительном планировании.";
moh[7] = "(неблагоприятно): Наихудшие дни месяца. Ожидайте беспокойств, тревог, обид и скандалов. Развивайте терпение, медитируйте, отклоняйте предоставляющиеся возможности, не идите на поводу у своего ума, не начинайте новой работы, не рискуйте. Время хорошо для выполнения таксированной или надежной и безопасной работы.";
moh[8] = "(неблагоприятно): Хорошо для долгих путешествий, посещения храмов, для импортно-экспортных операций. Ожидайте телесных болей и проблем в отношениях с государством или начальником. Это время самодисциплины, неудачный период, поэтому сохраняйте статус-кво и делайте приготовления на будущее.";
moh[9] = "(благоприятно): Вероятно служебное продвижение, успех ваших замыслов, авторитетность, реализация амбиций. Будьте уверенны и отважны, маневрируйте, добиваясь успеха в работе и увеличивая вашу славу, встречайтесь с важными людьми. Хорошее время для гуманитарной деятельности. Обращайте на себя внимание, выходите вперед.";
moh[10] = "(благоприятно): Это дни, когда исполняются ваши желания, удовлетворяются чувства, вы встречаете новых друзей, неожиданно получаете подарки или прибыль. Это время дает вам случай повлиять на других людей, приобрести новые вещи и возможность наслаждаться жизнью. Это время хорошо, для того, чтобы слушать духовные послания, для ходатайств о деньгах и для творческой работы. Остерегайтесь тенденции эксплуатировать других или чрезмерных увлечений.";
moh[11] = "(неблагоприятно): Вероятны потери и убытки, расходы, аварии на транспорте. Остерегайтесь несправедливости. Не делайте ничего незаконного. Жертвуйте пищу или деньги на благотворительные нужды. Это время хорошо для уединения, отдыха, путешествия, посещения необыкновенных мест, а также для служения святым. Избегайте мрачного, угрюмого настроения и интоксикаций.";

var suh = new Array (12);
suh[0] = "(неблагоприятно): Побуждения путешествовать, бесцельные поездки. Нестабильное здоровье, вероятно перенапряжение организма, боли в груди, дискомфорт, беспокойства. Время позаботиться о здоровье и упорядочить привычки, относящиеся к телу. Склонность к концентрации на личных желаниях и проблемах. Эгоцентричность. Финансовые потери. Время уделить особое внимание самоосознанию, обратиться к духовности. Благоприятно посещать 'места силы', совершать паломничества, учавствовать в совершении ритуалов. Стоить подвергнуть перепросмотру привычный образ жизни, выбрать новое направление развития, если это актуально.";
suh[1] = "(неблагоприятно): Возрастание расходов, потеря или недостаток денег. В силу чего, перед началом этого месяца стоит иметь на руках лишние деньги. Также операции с финансами полезно отложить на следующий месяц, не занимать денег и не давать обещаний. Возможен обман и проблемы. Вероятен повышенный аппетит, болезни зубов и глаз, склонность плохо говорить о других, наряду с хвастовством. Возможны трения в семейной жизни. Стоит проявлять особую терпимость в отношениях с членами семьи.";
suh[2] = "(благоприятно): Улучшение здоровья, большая смелость, новые источники дохода. Это хороший месяц для демонстрации своих способностей и, особенно, способностей рук и голоса, для приобретения того, что вы хотите. Этот период хорош для переписки, письменных трудов, для того, чтобы повидать родственников, для переговоров по телефону и для принятия обетов. Могут быть получены хорошие новости; вы можете приобрести новое имущество. Это хороший месяц для принятия решений. Возрастание жалования, свобода от болезней и победа над врагами.";
suh[3] = "(неблагоприятно): Некоторое умственное волнение и беспокойство от друзей или окружающих. Можно ожидать беспокойств, связанных с имуществом или с автомобилем. Можно ожидать болезни матери, утомительных домашних или материнских обязанностей. Могут быть беспокойства в делах, связанных с образованием, возможны обиды или перенапряжение. Это хорошее время для совершения поклонений, или для погружения внутрь себя в поисках деятельности. Старайтесь приобрести правильные навыки в сфере своей деятельности. Страхуйте  свое имущество и не позволяйте другим обманывать вас. Ссоры с женой, страдания в семейной жизни, болезненность.";
suh[4] = "(неблагоприятно): Плохое время для романтических дел, для отношений с противоположным полом. Неподходящее время для зачатия ребенка. Остерегайтесь также заболеваний желудка. Отложите вложение денег до следующего месяца. могут возникнуть беспокойства в учебе и в молитвах. Разум неспокоен. Это хорошее время для занятий спортом, для общения, подготовки к тому, что ожидает вас в будущем. Следите за опасностями, грозящими детям, учтите возможность возникновения газов в желудке. Вероятна неэффективность вашей работы. Возрастание числа врагов и физического недомогания.";
suh[5] = "(благоприятно): Хорошее время для политических дел, тяжбы в суде, для того, чтобы расплатиться с долгами, для победы над болезнью или врагами. Вы можете суметь удовлетворить вышестоящих людей преданной службой. Вы станете счастливее, смелее и духовнее. Это хорошее время для путешествий за границу, для приема на работу, для улучшения отношений с противниками, для получения денег от правительства, для того, чтобы посетить врачей, принимать лекарства, изучать языки; хорошо оно и для тех, кто занят импортно-экспортными операциями. Победа над врагами, радость и хорошее здоровье.";
suh[6] = "(неблагоприятно): Это подходящее время для занятий бизнесом, общественной деятельностью, для коротких путешествий, для благотворительной деятельности. Остерегайтесь разногласий в супружеских делах или расхождений во мнениях с партнерами. Может возникнуть сильное вожделение. Будьте внимательны к близким вам людям и следите за тем, чтобы не быть обманутым теми, кому вы предоставили работу. Оцените свои качества и свои занятия. Это хорошее время для посещения церемоний, для ухода за внешностью и улучшения вашей репутации. Подумайте, что хорошего вы можете сделать для других людей. Утомительное путешествие, боли в груди, проблемы с желудком.";
suh[7] = "(неблагоприятно): Этот месяц в материальном отношении хуже остальных, но он оказывает духовную поддержку тем, кто понял фальшь мирских дел. Остерегайтесь плохого здоровья и импульсных действий. Этот период может принести скандал или слухи о вас. Отложите долгое путешествие до следующего месяца, если это возможно. Могут возникнуть слабость пищеварения, болезни глаз, споры с вышестоящими людьми. Могут появиться плохие привычки, болезни, связанные с выделительной системой организма. Это хорошее время для нахождения утерянного, для периодов уединения и медитации, для оплаты долгов. Не полагайтесь лишь на свои собственные силы. Непонимание в отношениях с женой или разлука с ней.";
suh[8] = "(неблагоприятно): Это лучшее время для осознания Бога, посещения  церкви, для упорядочения функционирования организма. Это хорошее время для приготовлений к будущему, для посещения отца, для того, чтобы удовлетворить начальство. Есть вероятность долгих путешествий или разлуки на некоторое время с теми, кто дорог вам. Это хороший период для получения советов или инструкций. Следите, всегда ли вам хватает скромности, смирения. Могут быть тяжбы в суде или споры с властями, штрафы. Возрастет неопределенность будущего. Аварии, пробемы с желудком, беспокойства ума, противостояние.";
suh[9] = "(благоприятно): Это лучшее время года для того, чтобы продвинуться в карьере, чтобы довести до конца ваши планы. Постарайтесь улучшить вашу служебную ситуацию. Действуйте смело, делайте вещи, которые будут способствовать распространению вашей славы. Могут появиться новые благоприятные возможности для работы. Можно ожидать вовлечение в гуманитарную деятельность и возрастание вашего статуса. Успех усилий, уважение и реализация амбиций.";
suh[10] = "(благоприятно): Этот месяц также благоприятен; предполагается, что он увеличит ваш доход и поможет вам в исполнении ваших личных желаний. Просите увеличения заработной платы или ждите каких-либо премий. Это время хорошо для того, чтобы делать что-либо сообща с вашими друзьями, чтобы наслаждаться развлечениями, сексом, отдыхом, свободным временем и т.д. Остерегайтесь чрезмерных увлечений чем-либо. Вы можете выглядеть и чувствовать себя лучше и испытывать удовлетворение. Большой успех, уважение, свобода от болезенй и процветание.";
suh[11] = "(неблагоприятно): Это время отречения и потерь. Могут возникнуть неожиданные расходы. Это хорошее время для духовной жизни, для далеких путешествий, для служения другим. Защитите ваши ценности, ожидайте, что другие люди обратятся к вам за помощью, старайтесь не следовать первому вашему побуждению. Ожидайте скуки или беспокойств, связанных с вашей материальной ситуацией. Остерегайтесь ссор по пустякам. Возможно сон будет беспокойным. Не начинайте новых проектов, занимайтесь благотворительностью, платите долги. Успех в праведных делах, может быть подлость в характере.";

var susdt = new Array (12);
susdt[0] = " (14.04 - 15.05)";
susdt[1] = " (15.05 - 15.06)";
susdt[2] = " (15.06 - 16.07)";
susdt[3] = " (16.07 - 17.08)";
susdt[4] = " (17.08 - 17.09)";
susdt[5] = " (17.09 - 17.10)";
susdt[6] = " (17.10 - 16.11)";
susdt[7] = " (16.11 - 16.12)";
susdt[8] = " (16.12 - 14.01)";
susdt[9] = " (14.01 - 13.02)";
susdt[10] = " (13.02 - 14.03)";
susdt[11] = " (14.03 - 14.04)";

var stit = new Array (15);
stit[0] = " - Пратипат. Управитель - Брахма. День хорош для всех типов благоприятных и религиозных церемоний.";
stit[1] = " - Двития. Управитель - Видхатри. День хорош для закладки фундамента здания и других вещей неизменной природы.";
stit[2] = " - Трития. Управитель - Вишну. День хорош для стрижки волос, ногтей и бритья.";
stit[3] = " - Чатурдхи. Управитель - Яма. День хорош для победы над врагами, устранения препятствий, участия в сражениях.";
stit[4] = " - Панчами. Управитель - Луна. День благоприятен для терапевтической медицины, очистки от ядов, хирургических операций.";
stit[5] = " - Шаштхи. Управитель - Картикея. День благоприятен для коронации, встречи с новыми друзьями, праздников и наслаждения.";
stit[6] = " - Саптами. Управитель - Индра. День благоприятен для начала путешествия, покупки средств транспорта, и вообще операций с подвижными по природе вещами.";
stit[7] = " - Аштами. Управители - Васу. День хорош для вооружения, строительства оборонительных сооружений, фортификации.";
stit[8] = " - Навами. Управитель - Змей. День подходит для убийства врагов, актов разрушения и насилия.";
stit[9] = " - Дашами. Управитель - Дхарма. День благоприятен для благотворительности, религиозных функций, духовной практики и другой благочестивой деятельности.";
stit[10] = " - Экадаши. Управитель - Рудра. День очень благоприятен для поста, преданного служения Верховному Господу и помятования о Нем.";
stit[11] = " - Двадаши. Управитель - Солнце. День благоприятен для религиозных церемоний, зажигания священного огня, исполнения предписанных обязанностей.";
stit[12] = " - Трайодаши. Управитель - Кандарпа. День хорош для завязывания дружбы, чувственных удовольствий, праздников.";
stit[13] = " - Чатурдаши. Управитель - Кали. День подходит для операций с ядами и вызова духов.";
stit[14] = " - Амавасья и Пурнима. Управители - Вишведевы. День подходит для умилостивления Ману и совершения аскез.";

// Fill out the form with current date and time
function fillDate()
{
today = new Date();
mon = document.LunarCalc.Month.value = today.getMonth()+1;
day = document.LunarCalc.Day.value = today.getDate();
year = document.LunarCalc.Year.value = today.getFullYear();
hor = document.LunarCalc.Hour.value = today.getHours();
minu = document.LunarCalc.Min.value = today.getMinutes();
zmins = today.getTimezoneOffset();
with(Math){
	zmins /= 60;
	if(zmins >= 0.0)
    {
		var eln = document.LunarCalc.West;
		eln.checked = true;
		}
	tz = zmins = abs(zmins);
	document.LunarCalc.ZHour.value = floor(zmins);
	document.LunarCalc.ZMin.value = (zmins - floor(zmins)) * 60;
	}	

half();

}

function checkEntries(f)
{
	for(i = 0; i < 7; i++)
   {
		var e = f.elements[i];
		if((e.name == "DST") || (e.name == "West")) continue;
		if(isNaN(e.value) || (e.value < range[i*2] ) || (e.value > range[i*2+1]))
     {
			msg = "Пожалуйста введите величину в диапазоне от " 
				+ range[i*2] + " и до " + range[i*2+1] 
				+ " в поле <" + e.name + ">";
			alert(msg);
			return true;
		 }
	}
	return false;
}

function caldate()
{
if(checkEntries(document.LunarCalc)) return;

half();

}

function half()
{

var t = gett();

lsuntran = sunlaya(t);
ltran = moonlaya(t);

nkp = (ltran * 3)/40.0;	// get nakshatra
with(Math){ nkp = floor(nkp); }
msp = ltran/30.0;	// get moon
ssp = lsuntran/30.0;	// get sun
moonday = ltran - lsuntran;
if(moonday < 0.0) moonday += 360.0;
if(moonday > 360.0) moonday -= 360.0;

with(Math){ msp = floor(msp); ssp = floor(ssp); }

sss =  day+"."+mon+"."+year+" "+hor+":"+minu+" (зона "+tz+")."

}


function calculate()
{

if(checkEntries(document.LunarCalc)) return;

var t = gett();

var l = moonlaya(t);

var nk = (l * 3)/40.0;	// get nakshatra
with(Math){ nk = floor(nk); }
var nkg = (nkp - nk + 27)%9;

var ms = l/30.0;	// get moon
var mday = moonday/12.0; // get moon day
var mdaya = mday; // get moon day  
var mquart = moonday/90.0; // get moon quarter
var nkpa = (ltran * 3)/40.0 - nkp; // get nakshatra share
var mspa = ltran/30.0 - msp; // get mooon sign share
var sspa = lsuntran/30.0 - ssp; // get sun sign share

with(Math){
ms = floor(ms);
mday = floor(mday);
mdaya -= mday;
mdaya *= 500;
mdaya = floor(mdaya);
mquart = floor(mquart);
nkpa *= 500;
nkpa = floor(nkpa);
mspa *= 500;
mspa = floor(mspa);
sspa *= 500;
sspa = floor(sspa);
}

var mtithi = mday % 15;
mday += 1;
mquart += 1;
var bri = "Темная "; if(mday<16) bri = "Светлая ";
if(mday==15) bri = "Полнолуние. Светлая ";
if(mday==30) bri = "Новолуние. Темная ";

var mh = (msp - ms + 12)%12;
var sh = (ssp - ms + 12)%12;


document.display.notes.value = "<table border=0 width=600 cellspacing=1 cellpadding=5 bgcolor=#000000 align=center><tr><td bgcolor=#ffff99 align=center><font size='+1' color=red><b> Прогноз на ";
document.display.notes.value += sss;
document.display.notes.value += "</b></font> </td></tr><tr><td align=left bgcolor=#ffffff> ";
document.display.notes.value += "Солнце на момент прогноза расположено: "+lon3dmsz(lsuntran)+". ";
document.display.notes.value += "Луна на момент прогноза расположена: "+lon3dmsz(ltran)+". ";
document.display.notes.value += "В области звезды: "+naks[nkp]+" ("+naksw[nkp]+"). ";
document.display.notes.value += stw[wis[nkp]];
document.display.notes.value += "</td></tr><tr><td align=left bgcolor=#ffffff> ";

document.display.notes.value += (ba+mdaya+bb);
document.display.notes.value += "В момент прогноза идет "+mday+"-й лунный день. "+bri+"половина месяца. ";
document.display.notes.value += "Прошло "+(mdaya/5)+"% лунного дня (бар выше). Луна в "+mquart+"-й четверти. ";
document.display.notes.value += "Титхи: "+(mtithi+1)+stit[mtithi];
document.display.notes.value += "</td></tr><tr><td align=left bgcolor=#ffffff> ";

document.display.notes.value += (ba+nkpa+bb);
document.display.notes.value += "Луна в момент рождения расположена: "+lon3dmsz(l)+". ";
document.display.notes.value += "В области звезды: "+naks[nk]+" ("+naksw[nk]+"). ";
document.display.notes.value += "Текущая группа звезд "+(nkg+1)+"-я означает: "+tbl[nkg];
document.display.notes.value += " Прошло "+(nkpa/5)+"% области текущей звезды (бар выше).";
document.display.notes.value += "</td></tr><tr><td align=left bgcolor=#ffffff> ";

document.display.notes.value += (ba+mspa+bb);
document.display.notes.value += "Текущий транзит Луны через "+(mh+1)+"-й дом "+moh[mh];
document.display.notes.value += " Прошло "+(mspa/5)+"% дома (бар выше).";
document.display.notes.value += "</td></tr><tr><td align=left bgcolor=#ffffff> ";

document.display.notes.value += (ba+sspa+bb);
document.display.notes.value += "Текущий транзит Солнца через "+(sh+1)+"-й дом "+suh[sh];
document.display.notes.value += " Прошло "+(sspa/5)+"% дома (бар выше).";
document.display.notes.value += "</td></tr><tr><td bgcolor=#ffff99 align=center>";

document.display.notes.value += "<font color=#000088><a href='http://www.108om.com/upload/other/trasun.htm'>Текущий прогноз++</a>&nbsp;&nbsp; &copy; Шаунака <lj user='seasmile'> ";
document.display.notes.value += "<a href='http://www.108om.com/'>108.OM</a></font></td></tr></table>"


wi= open("", "displayWindow", 
    "width=1024,height=768,status=no,toolbar=no,menubar=no");

wi.document.open();
wi.document.write("<table border=0 width=984 cellspacing=1 cellpadding=5 bgcolor=#000000 align=center><tr><td bgcolor=#ffff99 align=center><font size='+1' color=red><b> Прогноз на ");
wi.document.write(sss);
wi.document.write("</b></font> </td></tr><tr><td align=left bgcolor=#ffffff> ");
wi.document.write("Солнце на момент прогноза расположено: "+lon3dmsz(lsuntran)+susdt[ssp]+". ");
wi.document.write("Луна на момент прогноза расположена: "+lon3dmsz(ltran)+". ");
wi.document.write("В области звезды: "+naks[nkp]+" ("+naksw[nkp]+"). ");
wi.document.write(stw[wis[nkp]]);
wi.document.write("</td></tr><tr><td align=left bgcolor=#ffffff> ");
wi.document.write(ba+mdaya+bb);
wi.document.write("В момент прогноза идет "+mday+"-й лунный день. "+bri+"половина месяца. ");
wi.document.write("Прошло "+(mdaya/5)+"% лунного дня (бар выше). Луна в "+mquart+"-й четверти. ");
wi.document.write("Титхи: "+(mtithi+1)+stit[mtithi]);
wi.document.write("</td></tr><tr><td align=left bgcolor=#ffffff> ");
wi.document.write(ba+nkpa+bb);
wi.document.write("Луна в момент рождения расположена: "+lon3dmsz(l)+". ");
wi.document.write("В области звезды: "+naks[nk]+" ("+naksw[nk]+"). ");
wi.document.write("Текущая группа звезд "+(nkg+1)+"-я означает: "+tbl[nkg]);
wi.document.write(" Прошло "+(nkpa/5)+"% области текущей звезды (бар выше).");
wi.document.write("</td></tr><tr><td align=left bgcolor=#ffffff> ");
wi.document.write(ba+mspa+bb);
wi.document.write("Текущий транзит Луны через "+(mh+1)+"-й дом "+moh[mh]);
wi.document.write(" Прошло "+(mspa/5)+"% дома (бар выше).");
wi.document.write("</td></tr><tr><td align=left bgcolor=#ffffff> ");
wi.document.write(ba+sspa+bb);
wi.document.write("Текущий транзит Солнца через "+(sh+1)+"-й дом "+suh[sh]);
wi.document.write(" Прошло "+(sspa/5)+"% дома (бар выше).");
wi.document.write("</td></tr><tr><td bgcolor=#ffff99 align=center>");
wi.document.write("<font color=#000088><a href='http://www.108om.com/upload/other/trasun.htm'>Текущий прогноз++</a>&nbsp;&nbsp; &copy; Шаунака <lj user='seasmile'> ");
wi.document.write("<a href='http://www.108om.com/'>108.OM</a></font></td></tr></table>");
wi.document.close();  
}


function gett()
{

with(Math){
	mon = floor(document.LunarCalc.Month.value);
	day = floor(document.LunarCalc.Day.value);
	year= floor(document.LunarCalc.Year.value);
	hor= floor(document.LunarCalc.Hour.value);
	minu= floor(document.LunarCalc.Min.value);
	tz= floor(document.LunarCalc.ZHour.value);
	tz += floor(document.LunarCalc.ZMin.value)/60;
	var hr = hor + minu/60.;
	}
// checks for checked DST, East, South
var dst = document.LunarCalc.DST;
var eln = document.LunarCalc.West;

if(dst.checked){
	if(eln.checked) tz--;
	else tz++;
	}

jd = mdy2julian(mon,day,year);
if(eln.checked) f = hr + tz;
else f = hr - tz;

t = ((jd - 2451545) + f/24 - 0.5)/36525;
return t;
}


function sunlaya(t)
{
ay = calcayan(t);
m = (357.5277233 + 35999.0503400 * t - 0.00016028 * t*t);
w = (282.9383461 + 1.719457222 * t + 0.00046278 * t*t);
e = 0.016708617 -  0.00004204 * t;

//m = m % 360;
//if (m<0) m += 360;

m *= d2r; w *= d2r;
Ea = m; v = 0.; xa =0.; ya = 0.;

with(Math){ 
Ea += (e * sin(m) * (1 + e * cos(m)));
xa = cos(Ea) - e;
ya = sin(Ea) * sqrt(1-e*e);
v = atan2(ya, xa);
}

l = v + w;
l *= r2d;
l = l % 360;
if (l<0) l += 360.0;

l += ay;
if(l < 0.0) l += 360.0;
if(l > 360.0) l -= 360.0;

return l;
}

function moonlaya(t)
{
ay = calcayan(t);

ob = 23.452294 - 0.0130125 * t; //  Obliquity of Ecliptic
	
// Calculate Moon longitude, latitude, and distance using truncated Chapront algorithm
	
// Moon mean longitude
l = (218.3164591 + 481267.88134236 * t);
// Moon mean elongation
d = (297.8502042 + 445267.1115168 * t); 
// Sun's mean anomaly
m = (357.5291092 + 35999.0502909 * t);
// Moon's mean anomaly
mm = (134.9634114 + 477198.8676313 * t);
// Moon's argument of latitude
f = (93.2720993 + 483202.0175273 * t);

d *= d2r; m *= d2r; mm *= d2r; f *= d2r;
e = 1 - 0.002516 * t - 0.0000074 * t * t;

with(Math){ 
p =	6.288774 * sin(mm) 
	+ 1.274027 * sin(d*2-mm)
	+ 0.658314 * sin(d*2) 	
	+ 0.213618 * sin(2*mm)  
	- 0.185116 * e * sin(m) 
	- 0.114332 * sin(f*2);

p +=	  0.058793 * sin(d*2 - mm * 2)
	+ 0.057066 * e * sin(d*2 - m - mm)
	+ 0.053322 * sin(d*2 + mm)
	+ 0.045758 * e * sin(d*2 - m) 
	- 0.040923 * e * sin(m - mm) 
	- 0.034720 * sin(d)
	- 0.030383 * e * sin(m + mm);

p +=	  0.015327 * sin(d*2 - f*2)
	- 0.012528 * sin(mm + f*2)
	+ 0.010980 * sin(mm - f*2)
	+ 0.010675 * sin(d * 4 - mm)
	+ 0.010034 * sin(3 * mm);

p +=	  0.008548 * sin(d * 4 - mm * 2)
	- 0.007888 * e * sin(d * 2 + m - mm)
	- 0.006766 * e * sin(d * 2 + m)
	- 0.005163 * sin(d - mm)
	+ 0.004987 * e * sin(d + m)
	+ 0.004036 * e * sin(d*2 - m + mm)
	+ 0.003994 * sin(d * 2 + mm * 2);
	}

l += p;

while(l < 0.0) l += 360.0;
while(l > 360.0) l -= 360.0;

l += ay;
if(l < 0.0) l += 360.0;
if(l > 360.0) l -= 360.0;

return l;
}


// Calculate Ayanamsa using J2000 Epoch
function calcayan(t)
{
	with(Math){
		ln = 125.0445550 - 1934.1361849 * t + 0.0020762 * t * t; // Mean lunar node
		off = 280.466449 + 36000.7698231 * t + 0.00031060 * t * t; // Mean Sun	
		off = 17.23*sin(d2r * ln)+1.27*sin(d2r * off)-(5025.64+1.11*t)*t;
		off = (off- 85886.27)/3600.0;  
	}
	return off;
}

// build string with degrees, minutes, seconds and zodiac sign from longitude
function lon2dmsz(x)
{
	with(Math){
		var d,m,s;
		x = abs(x);
		d = floor(x);
		m = (x - d);
		s = m * 60;
		m = floor(s);
		s = s - m;
		z = floor(d/30);
		d %= 30;
		str = d + "° " + m + "' " + floor(s * 60) + "\" " + zn.substr(z*3,3);	
	}
	return str;
}	
function lon3dmsz(x)
{
	with(Math){
		var d,m,s;
		x = abs(x);
		d = floor(x);
		m = (x - d);
		s = m * 60;
		m = floor(s);
		s = s - m;
		z = floor(d/30);
		d %= 30;
		str = d + "°" + m + "'" + floor(s * 60) + "\" " + znak[z];	
	}
	return str;
}	
// calculate Julian Day from Month, Day and Year
function mdy2julian(m,d,y)
{
	with(Math){
		im = 12 * (y + 4800) + m - 3;
		j = (2 * (im - floor(im/12) * 12) + 7 + 365 * im)/12;
		j = floor(j) + d + floor(im/48) - 32083;
		if(j > 2299171)j += floor(im/4800) - floor(im/1200) + 38;
		return j;	
	}
}

