var Cookies = {
	init: function () {
		var allCookies = document.cookie.split('; ');
		for (var i=0;i<allCookies.length;i++) {
			var cookiePair = allCookies[i].split('=');
			this[cookiePair[0]] = cookiePair[1];
		}
	},
	create: function (name,value,days) {
		if (days) {
			var date = new Date();
			date.setTime(date.getTime()+(days*24*60*60*1000));
			var expires = "; expires="+date.toGMTString();
		}
		else var expires = "";
		document.cookie = name+"="+value+expires+"; path=/";
		this[name] = value;
	},
	read: function (name) {
			var nameEQ = name + "=";
			var ca = document.cookie.split(';');
			for(var i=0;i < ca.length;i++) {
			var c = ca[i];
			while (c.charAt(0)==' ') c = c.substring(1,c.length);
			if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
			}
			return null;
			this[name] = value;
	},
	erase: function (name) {
		this.create(name,'',-1);
		this[name] = undef;
	}
};
Cookies.init();

function versia1() {
	Cookies.create('om','1',1200);
	window.location.href = window.location.href;
}

function versia2() {
	Cookies.create('om','2',1200);
	window.location.href = window.location.href;
}

function versia3() {
	Cookies.create('om','3',1200);
	window.location.href = window.location.href;
}

function prelo(x) {
if (x == 10) {
Cookies.create('pre','10',1200);
document.getElementById("prelo").innerHTML='<span style=\"color: #FFFFFF;\">Зареждане на съдържанието: 10%</span>';
}
if (x > 10 && x <= 97)
{
Cookies.read('pre');
var t = Cookies['pre']; t = t*1;
if (x > t) {
document.getElementById("prelo").innerHTML='<span style=\"color: #FFFFFF;\">Зареждане на съдържанието: ' + x.toString() + '%' + '</span>';
Cookies.create('pre',x,1200); 
}
}
else {
Cookies.read('pre');
var t = Cookies['pre']; t = t*1;
if (x > t) {
if (x == 100) {document.getElementById("prelo").innerHTML='<span style=\"font-size: 12px; font-weight: bold; color: #FFFFFF; \">Сайтът се обновява в момента!</span>'; Cookies.create('pre',x,1200); }
}
}
}

function getFile(pURL,pFunc,pId,ime) {
	var xmlhttp;
	if (window.XMLHttpRequest) { // code for Mozilla, Safari, etc 
		xmlhttp=new XMLHttpRequest();
		if (xmlhttp.overrideMimeType) {
			xmlhttp.overrideMimeType('text/html');
		}
	} else if (window.ActiveXObject) { //IE 
        xmlhttp=new ActiveXObject('Microsoft.XMLHTTP');
	}
	
	if (xmlhttp) {
		xmlhttp.onreadystatechange = function() { pFunc(xmlhttp,pId,ime); };
		xmlhttp.open('GET', pURL, true);
		xmlhttp.send(null);     
	} 
}

function getFile1(pURL,pFunc,pId1,pId2,pId3,pId4,pId5,pId6,pId7,pId8,pId9,pId10,pId11,pId12,pId13,pId14,pId15,pId16) {
	var xmlhttp;
	if (window.XMLHttpRequest) { // code for Mozilla, Safari, etc 
		xmlhttp=new XMLHttpRequest();
		if (xmlhttp.overrideMimeType) {
			xmlhttp.overrideMimeType('text/html');
		}
	} else if (window.ActiveXObject) { //IE 
        xmlhttp=new ActiveXObject('Microsoft.XMLHTTP');
	}
	
	if (xmlhttp) {
		xmlhttp.onreadystatechange = function() { pFunc(xmlhttp,pId1,pId2,pId3,pId4,pId5,pId6,pId7,pId8,pId9,pId10,pId11,pId12,pId13,pId14,pId15,pId16); };
		xmlhttp.open('GET', pURL, true);
		xmlhttp.send(null);     
	} 
}

function vzemidata() {
	var mydate=new Date();
	var year=mydate.getYear();
if (year < 1000) year+=1900;
	year = year.toString();
	var month=mydate.getMonth();
	month = month + 1;
	month = month.toString();
if (month<10) month="0"+month;
	var daym=mydate.getDate();
if (daym<10) daym="0"+daym;
	daym = daym.toString();
	var data = year + month + daym;
return data;
}

function getzodia(long) {
var zodia;
if (long>=1 && long<=30) zodia = '<img src="01.gif" width="25" height="25" align="absmiddle">Овен';
if (long>=31 && long<=60) zodia = '<img src="02.gif" width="25" height="25" align="absmiddle">Телец';
if (long>=61 && long<=90) zodia = '<img src="03.gif" width="25" height="25" align="absmiddle">Близнаци';
if (long>=91 && long<=120) zodia = '<img src="04.gif" width="25" height="25" align="absmiddle">Рак';
if (long>=121 && long<=150) zodia = '<img src="05.gif" width="25" height="25" align="absmiddle">Лъв';
if (long>=151 && long<=180) zodia = '<img src="06.gif" width="25" height="25" align="absmiddle">Дева';
if (long>=181 && long<=210) zodia = '<img src="07.gif" width="25" height="25" align="absmiddle">Везни';
if (long>=211 && long<=240) zodia = '<img src="08.gif" width="25" height="25" align="absmiddle">Скорпион';
if (long>=241 && long<=270) zodia = '<img src="09.gif" width="25" height="25" align="absmiddle">Стрелец';
if (long>=271 && long<=300) zodia = '<img src="10.gif" width="25" height="25" align="absmiddle">Козирог';
if (long>=301 && long<=330) zodia = '<img src="11.gif" width="25" height="25" align="absmiddle">Водолей';
if (long>=331 && long<=360) zodia = '<img src="12.gif" width="25" height="25" align="absmiddle">Риби';
return zodia;
}

function numzodia(long) {
var zod;
if (long>=1 && long<=30) zod = 0;
if (long>=31 && long<=60) zod = 30;
if (long>=61 && long<=90) zod = 60;
if (long>=91 && long<=120) zod = 90;
if (long>=121 && long<=150) zod = 120;
if (long>=151 && long<=180) zod = 150;
if (long>=181 && long<=210) zod = 180;
if (long>=211 && long<=240) zod = 210;
if (long>=241 && long<=270) zod = 240;
if (long>=271 && long<=300) zod = 270;
if (long>=301 && long<=330) zod = 300;
if (long>=331 && long<=360) zod = 330;
return zod;
}

function makeplan(xmlhttp,divId,im) {
    if (xmlhttp.readyState==4) { 
        if (xmlhttp.status==200) { 
		var tmpArr=xmlhttp.responseText.split('\n');
		var out; var tmp; var lsfin; var gsfin; var mov; var dat = vzemidata();
            for (var idx=0;idx<tmpArr.length;idx++) { tmp=tmpArr[idx].split(';'); if (dat == tmp[0]) lsfin = tmp[1]; }
		if (lsfin<0) {lsfin = Math.abs(lsfin); mov = ' (ретр.)';} else mov = '';
		gsfin = lsfin - numzodia(lsfin);
                out = im + ' ' + gsfin + '° ' + getzodia(lsfin) + mov;
                document.getElementById(divId).innerHTML=out;
        } 
    }

}

function makerise(xmlhttp,divId1,divId2,divId3,divId4,divId5,divId6,divId7,divId8,divId9,divId10,divId11,divId12,divId13,divId14,divId15,divId16) {
    if (xmlhttp.readyState==4) { 
        if (xmlhttp.status==200) { 
		var tmpArr=xmlhttp.responseText.split('\n');
		var tmp; var iz; var gk; var za; var dk; var dkt1; var dkt2; var dat = vzemidata();
            for (var idx=0;idx<tmpArr.length;idx++) { tmp=tmpArr[idx].split(';'); if (dat == tmp[0]) {iz = tmp[1]; gk = tmp[2]; za = tmp[3]; } }
		dk = gk.substring(0,2); dkt1 = gk.substring(0,1)*1; if (dkt1 == 0) dk = dk.substring(1);
		dk = dk*1 + 12; dkt2 = gk.substring(3); if (dk >= 24) dk = dk - 24; if (dk <= 9) dk = '0' + dk;
		dk = dk + ':' + dkt2;

var h1;	var h2;	var m1;	var m2;	var t1;	var t2;	var t3;	var t4;	var t5;	var t6;	var t7;	var t8;
	var hv1; var hv2; var mv1; var mv2; var tv4; var tv5; var tv7; var tv8;
	var ht1; var ht2; var mt1; var mt2; var tt4; var tt5; var tt7; var tt8;
	var hp1; var hp2; var mp1; var mp2; var tp4; var tp5; var tp7; var tp8;

	h1 = iz.substring(0,2); dkt1 = iz.substring(0,1)*1; if (dkt1 == 0) {h1 = h1.substring(1); } h1 = h1 * 1;
	m1 = iz.substring(3); dkt1 = m1.substring(0,1)*1; if (dkt1 == 0) {m1 = m1.substring(1); } m1 = m1 * 1;
	h2 = za.substring(0,2); dkt1 = za.substring(0,1)*1; if (dkt1 == 0) {h2 = h2.substring(1); } h2 = h2 * 1;
	m2 = za.substring(3); dkt1 = m2.substring(0,1)*1; if (dkt1 == 0) {m2 = m2.substring(1); } m2 = m2 * 1;
	t4 = gk.substring(0,2); dkt1 = gk.substring(0,1)*1; if (dkt1 == 0) {t4 = t4.substring(1); } t4 = t4 * 1;
	t5 = gk.substring(3); dkt1 = t5.substring(0,1)*1; if (dkt1 == 0) {t5 = t5.substring(1); } t5 = t5 * 1;
	t7 = dk.substring(0,2); dkt1 = dk.substring(0,1)*1; if (dkt1 == 0) {t7 = t7.substring(1); } t7 = t7 * 1;
	t8 = dk.substring(3); dkt1 = t8.substring(0,1)*1; if (dkt1 == 0) {t8 = t8.substring(1); } t8 = t8 * 1;

	mv1 = m1 - 18; hv1 = h1; if (mv1 < 0) {mv1 = mv1 + 60; hv1 = hv1 - 1; if (hv1<0) hv1 = hv1 + 24} if (mv1<10) mv1 = '0' + mv1;
	mv2 = m2 - 18; hv2 = h2; if (mv2 < 0) {mv2 = mv2 + 60; hv2 = hv2 - 1; if (hv2<0) hv2 = hv2 + 24} if (mv2<10) mv2 = '0' + mv2;
	tv5 = t5 - 18; tv4 = t4; if (tv5 < 0) {tv5 = tv5 + 60; tv4 = tv4 - 1; if (tv4<0) tv4 = tv4 + 24} if (tv5<10) tv5 = '0' + tv5;
	tv8 = t8 - 18; tv7 = t7; if (tv8 < 0) {tv8 = tv8 + 60; tv7 = tv7 - 1; if (tv7<0) tv7 = tv7 + 24} if (tv8<10) tv8 = '0' + tv8;

	mp1 = m1 - 6; hp1 = h1; if (mp1 < 0) {mp1 = mp1 + 60; hp1 = hp1 - 1; if (hp1<0) hp1 = hp1 + 24} if (mp1<10) mp1 = '0' + mp1;
	mp2 = m2 - 6; hp2 = h2; if (mp2 < 0) {mp2 = mp2 + 60; hp2 = hp2 - 1; if (hp2<0) hp2 = hp2 + 24} if (mp2<10) mp2 = '0' + mp2;
	tp5 = t5 - 6; tp4 = t4; if (tp5 < 0) {tp5 = tp5 + 60; tp4 = tp4 - 1; if (tp4<0) tp4 = tp4 + 24} if (tp5<10) tp5 = '0' + tp5;
	tp8 = t8 - 6; tp7 = t7; if (tp8 < 0) {tp8 = tp8 + 60; tp7 = tp7 - 1; if (tp7<0) tp7 = tp7 + 24} if (tp8<10) tp8 = '0' + tp8;

	mt1 = m1 - 9; ht1 = h1; if (mt1 < 0) {mt1 = mt1 + 60; ht1 = ht1 - 1; if (ht1<0) ht1 = ht1 + 24} if (mt1<10) mt1 = '0' + mt1;
	mt2 = m2 - 9; ht2 = h2; if (mt2 < 0) {mt2 = mt2 + 60; ht2 = ht2 - 1; if (ht2<0) ht2 = ht2 + 24} if (mt2<10) mt2 = '0' + mt2;
	tt5 = t5 - 9; tt4 = t4; if (tt5 < 0) {tt5 = tt5 + 60; tt4 = tt4 - 1; if (tt4<0) tt4 = tt4 + 24} if (tt5<10) tt5 = '0' + tt5;
	tt8 = t8 - 9; tt7 = t7; if (tt8 < 0) {tt8 = tt8 + 60; tt7 = tt7 - 1; if (tt7<0) tt7 = tt7 + 24} if (tt8<10) tt8 = '0' + tt8;
	if (m1<10) m1="0"+m1;
	if (m2<10) m2="0"+m2;
	if (t5<10) t5="0"+t5;
	if (t8<10) t8="0"+t8;

                document.getElementById(divId1).innerHTML=h1 + ':' + m1;
                document.getElementById(divId2).innerHTML=t4 + ':' + t5;
                document.getElementById(divId3).innerHTML=h2 + ':' + m2;
                document.getElementById(divId4).innerHTML=t7 + ':' + t8;

                document.getElementById(divId5).innerHTML=hp1 + ':' + mp1;
                document.getElementById(divId6).innerHTML=tp4 + ':' + tp5;
                document.getElementById(divId7).innerHTML=hp2 + ':' + mp2;
                document.getElementById(divId8).innerHTML=tp7 + ':' + tp8;

                document.getElementById(divId9).innerHTML=ht1 + ':' + mt1;
                document.getElementById(divId10).innerHTML=tt4 + ':' + tt5;
                document.getElementById(divId11).innerHTML=ht2 + ':' + mt2;
                document.getElementById(divId12).innerHTML=tt7 + ':' + tt8;

                document.getElementById(divId13).innerHTML=hv1 + ':' + mv1;
                document.getElementById(divId14).innerHTML=tv4 + ':' + tv5;
                document.getElementById(divId15).innerHTML=hv2 + ':' + mv2;
                document.getElementById(divId16).innerHTML=tv7 + ':' + tv8;
        } 
    }

}

function hrsmin(hours) {
	var hrs, h, m, dum;
	hrs = Math.floor(hours * 60 + 0.5)/ 60.0;
	h = Math.floor(hrs);
	m = Math.floor(60 * (hrs - h) + 0.5);
	dum = h*100 + m;
	if (dum < 1000) dum = "0" + dum;
	if (dum <100) dum = "0" + dum;
	if (dum < 10) dum = "0" + dum;
	return dum;
	}

function ipart(x) {
	var a;
	if (x> 0) {
	    a = Math.floor(x);
		}
	else {
		a = Math.ceil(x);
		}
	return a;
	}


function frac(x) {
	var a;
	a = x - Math.floor(x);
	if (a < 0) a += 1;
	return a;
	}

function round(num, dp) {
   return Math.round (num * Math.pow(10, dp)) / Math.pow(10, dp);
    }


function range(x) {
	var a, b;
	b = x / 360;
	a = 360 * (b - ipart(b));
	if (a  < 0 ) {
		a = a + 360
		}
	return a
	}


function mjd(day, month, year, hour) {
	var a, b;
	if (month <= 2) {
		month = month + 12;
		year = year - 1;
		}
	a = 10000.0 * year + 100.0 * month + day;
	if (a <= 15821004.1) {
		b = -2 * Math.floor((year + 4716)/4) - 1179;
		}
	else {
		b = Math.floor(year/400) - Math.floor(year/100) + Math.floor(year/4);
		}
	a = 365.0 * year - 679004.0;
	return (a + b + Math.floor(30.6001 * (month + 1)) + day + hour/24.0);
	}

function caldat(mjd) {
	var calout;
	var b, d, f, jd, jd0, c, e, day, month, year, hour;
	jd = mjd + 2400000.5;
	jd0 = Math.floor(jd + 0.5);
	if (jd0 < 2299161.0) {
		c = jd0 + 1524.0;
		}
	else {
		b = Math.floor((jd0 - 1867216.25) / 36524.25);
		c = jd0 + (b - Math.floor(b/4)) + 1525.0;
		}
	d = Math.floor((c - 122.1)/365.25);
	e = 365.0 * d + Math.floor(d/4);
	f = Math.floor(( c - e) / 30.6001);
	day = Math.floor(c - e + 0.5) - Math.floor(30.6001 * f);
	month = f - 1 - 12 * Math.floor(f/14);
	year = d - 4715 - Math.floor((7 + month)/10);
	hour = 24.0 * (jd + 0.5 - jd0);
	hour = hrsmin(hour);
	calout = round(year * 10000.0 + month * 100.0 + day + hour/10000, 4);
	return calout + ""; //making sure calout is a string
	}


function quad(ym, yz, yp) {
	var nz, a, b, c, dis, dx, xe, ye, z1, z2, nz;
	var quadout = new Array;

	nz = 0;
	a = 0.5 * (ym + yp) - yz;
	b = 0.5 * (yp - ym);
	c = yz;
	xe = -b / (2 * a);
	ye = (a * xe + b) * xe + c;
	dis = b * b - 4.0 * a * c;
	if (dis > 0)	{
		dx = 0.5 * Math.sqrt(dis) / Math.abs(a);
		z1 = xe - dx;
		z2 = xe + dx;
		if (Math.abs(z1) <= 1.0) nz += 1;
		if (Math.abs(z2) <= 1.0) nz += 1;
		if (z1 < -1.0) z1 = z2;
		}
	quadout[0] = nz;
	quadout[1] = z1;
	quadout[2] = z2;
	quadout[3] = xe;
	quadout[4] = ye;
	return quadout;
	}


function lmst(mjd, glong) {
	var lst, t, d;
	d = mjd - 51544.5
	t = d / 36525.0;
	lst = range(280.46061837 + 360.98564736629 * d + 0.000387933 *t*t - t*t*t / 38710000);
	return (lst/15.0 + glong/15);
	}


function minisun(t) {
	var p2 = 6.283185307, coseps = 0.91748, sineps = 0.39778;
	var L, M, DL, SL, X, Y, Z, RHO, ra, dec;
	var suneq = new Array;

	M = p2 * frac(0.993133 + 99.997361 * t);
	DL = 6893.0 * Math.sin(M) + 72.0 * Math.sin(2 * M);
	L = p2 * frac(0.7859453 + M / p2 + (6191.2 * t + DL)/1296000);
	SL = Math.sin(L);
	X = Math.cos(L);
	Y = coseps * SL;
	Z = sineps * SL;
	RHO = Math.sqrt(1 - Z * Z);
	dec = (360.0 / p2) * Math.atan(Z / RHO);
	ra = (48.0 / p2) * Math.atan(Y / (X + RHO));
	if (ra <0 ) ra += 24;
	suneq[1] = dec;
	suneq[2] = ra;
	return suneq;
	}


function minimoon(t) {
	var p2 = 6.283185307, arc = 206264.8062, coseps = 0.91748, sineps = 0.39778;
	var L0, L, LS, F, D, H, S, N, DL, CB, L_moon, B_moon, V, W, X, Y, Z, RHO;
	var mooneq = new Array;

	L0 = frac(0.606433 + 1336.855225 * t);	// mean longitude of moon
	L = p2 * frac(0.374897 + 1325.552410 * t) //mean anomaly of Moon
	LS = p2 * frac(0.993133 + 99.997361 * t); //mean anomaly of Sun
	D = p2 * frac(0.827361 + 1236.853086 * t); //difference in longitude of moon and sun
	F = p2 * frac(0.259086 + 1342.227825 * t); //mean argument of latitude

	// corrections to mean longitude in arcsec
	DL =  22640 * Math.sin(L)
	DL += -4586 * Math.sin(L - 2*D);
	DL += +2370 * Math.sin(2*D);
	DL +=  +769 * Math.sin(2*L);
	DL +=  -668 * Math.sin(LS);
	DL +=  -412 * Math.sin(2*F);
	DL +=  -212 * Math.sin(2*L - 2*D);
	DL +=  -206 * Math.sin(L + LS - 2*D);
	DL +=  +192 * Math.sin(L + 2*D);
	DL +=  -165 * Math.sin(LS - 2*D);
	DL +=  -125 * Math.sin(D);
	DL +=  -110 * Math.sin(L + LS);
	DL +=  +148 * Math.sin(L - LS);
	DL +=   -55 * Math.sin(2*F - 2*D);

	S = F + (DL + 412 * Math.sin(2*F) + 541* Math.sin(LS)) / arc;
	H = F - 2*D;
	N =   -526 * Math.sin(H);
	N +=   +44 * Math.sin(L + H);
	N +=   -31 * Math.sin(-L + H);
	N +=   -23 * Math.sin(LS + H);
	N +=   +11 * Math.sin(-LS + H);
	N +=   -25 * Math.sin(-2*L + F);
	N +=   +21 * Math.sin(-L + F);

	L_moon = p2 * frac(L0 + DL / 1296000);
	B_moon = (18520.0 * Math.sin(S) + N) /arc;

	CB = Math.cos(B_moon);
	X = CB * Math.cos(L_moon);
	V = CB * Math.sin(L_moon);
	W = Math.sin(B_moon);
	Y = coseps * V - sineps * W;
	Z = sineps * V + coseps * W
	RHO = Math.sqrt(1.0 - Z*Z);
	dec = (360.0 / p2) * Math.atan(Z / RHO);
	ra = (48.0 / p2) * Math.atan(Y / (X + RHO));
	if (ra <0 ) ra += 24;
	mooneq[1] = dec;
	mooneq[2] = ra;
	return mooneq;
	}


function sin_alt(iobj, mjd0, hour, glong, cglat, sglat) {
	var mjd, t, ra, dec, tau, salt, rads = 0.0174532925;
	var objpos = new Array;
	mjd = mjd0 + hour/24.0;
	t = (mjd - 51544.5) / 36525.0;
	if (iobj == 1) {
		objpos = minimoon(t);
	}
	else {
		objpos = minisun(t);
		}
	ra = objpos[2];
	dec = objpos[1];

	tau = 15.0 * (lmst(mjd, glong) - ra);
	salt = sglat * Math.sin(rads*dec) + cglat * Math.cos(rads*dec) * Math.cos(rads*tau);
	return salt;
	}


function find_sun_and_twi_events_for_date(mjd, tz, glong, glat) {

	var sglong, sglat, date, ym, yz, above, utrise, utset, j;
	var yp, nz, rise, sett, hour, z1, z2, iobj, rads = 0.0174532925;
	var quadout = new Array;
	var sinho = new Array;
	var   always_up = " ****";
	var always_down = " ....";
	var outstring = "";
	var outstring1 = "";
	sinho = Math.sin(rads * -0.833);		//sunset upper limb simple refraction
	sglat = Math.sin(rads * glat);
	cglat = Math.cos(rads * glat);
	date = mjd - tz/24;

		j = 0; 
		rise = false;
		sett = false;
		above = false;
		hour = 1.0;
		ym = sin_alt(2, date, hour - 1.0, glong, cglat, sglat) - sinho;
		if (ym > 0.0) above = true;

		while(hour < 25 && (sett == false || rise == false)) {
			yz = sin_alt(2, date, hour, glong, cglat, sglat) - sinho;
			yp = sin_alt(2, date, hour + 1.0, glong, cglat, sglat) - sinho;
			quadout = quad(ym, yz, yp);
			nz = quadout[0];
			z1 = quadout[1];
			z2 = quadout[2];
			xe = quadout[3];
			ye = quadout[4];

			if (nz == 1) {
				if (ym < 0.0) {
					utrise = hour + z1;
					rise = true;
					}
				else {
					utset = hour + z1;
					sett = true;
					}
				} 

			if (nz == 2) {
				if (ye < 0.0) {
					utrise = hour + z2;
					utset = hour + z1;
					}
				else {
					utrise = hour + z1;
					utset = hour + z2;
					}
				} 

			ym = yp;
			hour += 2.0;

			} 


			if (rise == true || sett == true ) {
				if (rise == true) outstring += " " + hrsmin(utrise);
				else outstring += " ----";
				if (sett == true) outstring += " " + hrsmin(utset);
				else outstring += " ----";
				}
			else {
				if (above == true) outstring += always_up + always_up;
				else outstring += always_down + always_down;
				}
		outstring1 = outstring.substring(0,3) + '.' + outstring.substring(3,5) + ' ' + outstring.substring(5,8) + '.' + outstring.substring(8);
		return outstring1;
	}

function find_moonrise_set(mjd, tz, glong, glat) {

	var sglong, sglat, date, ym, yz, above, utrise, utset, j;
	var yp, nz, rise, sett, hour, z1, z2, iobj, rads = 0.0174532925;
	var quadout = new Array;
	var sinho;
	var   always_up = " ****";
	var always_down = " ....";
	var outstring1 = "";
	var outstring = "";

	sinho = Math.sin(rads * 8/60);		
	sglat = Math.sin(rads * glat);
	cglat = Math.cos(rads * glat);
	date = mjd - tz/24;
		rise = false;
		sett = false;
		above = false;
		hour = 1.0;
		ym = sin_alt(1, date, hour - 1.0, glong, cglat, sglat) - sinho;
		if (ym > 0.0) above = true;
		while(hour < 25 && (sett == false || rise == false)) {

			yz = sin_alt(1, date, hour, glong, cglat, sglat) - sinho;
			yp = sin_alt(1, date, hour + 1.0, glong, cglat, sglat) - sinho;
			quadout = quad(ym, yz, yp);
			nz = quadout[0];
			z1 = quadout[1];
			z2 = quadout[2];
			xe = quadout[3];
			ye = quadout[4];

			if (nz == 1) {
				if (ym < 0.0) {
					utrise = hour + z1;
					rise = true;
					}
				else {
					utset = hour + z1;
					sett = true;
					}
				} 


			if (nz == 2) {
				if (ye < 0.0) {
					utrise = hour + z2;
					utset = hour + z1;
					}
				else {
					utrise = hour + z1;
					utset = hour + z2;
					}
				}

			ym = yp;
			hour += 2.0;

			} // end of while loop

			if (rise == true || sett == true ) {
				if (rise == true) outstring += " " + hrsmin(utrise);
				else outstring += " ----";
				if (sett == true) outstring += " " + hrsmin(utset);
				else outstring += " ----";
				}
			else {
				if (above == true) outstring += always_up + always_up;
				else outstring += always_down + always_down;
				}
		outstring1 = outstring.substring(0,3) + '.' + outstring.substring(3,5) + ' ' + outstring.substring(5,8) + '.' + outstring.substring(8);
		return outstring1;
	}

function vzemidata() {
	var mydate=new Date();
	var year=mydate.getYear();
if (year < 1000) year+=1900;
	year = year.toString();
	var month=mydate.getMonth();
	month = month + 1;
	month = month.toString();
if (month<10) month="0"+month;
	var daym=mydate.getDate();
if (daym<10) daym="0"+daym;
	daym = daym.toString();
	var data = year + month + daym;
return data;
}

function loadiza() {
	var mydate = new Date();
	var y = mydate.getYear();
	var den = mydate.getDay();
	if (y < 1000) y+=1900;
	var m = mydate.getMonth();
	m = m + 1;
	var day = mydate.getDate();
	var glong = 23.3167;
	var glat = 42.6833;
	var tz = 3;
	var endned;
	var mjt1; var mjt2;
	var mjtem = mjd(day, m, y, 0.0) + 2400000.5;

	if (m <= 9 && m >=4) tz = 3;
	if (m == 1 || m == 2 || m == 11 || m == 12) tz = 2;
	if (m == 3 && day <= 24) tz = 2;
	if (m == 10 && day <= 24) tz = 3;
	if (m == 3 && day >= 25) {
	mjt1 = mjd(1, 3, y, 0.0);
	mjt2 = (mjt1 + 2400000.5 + 1.5) - Math.floor((mjt1 + 2400000.5 + 1.5)/7)*7;
	if (mjt2 == 0) endned = 29;
	if (mjt2 == 1) endned = 28;
	if (mjt2 == 2) endned = 27;
	if (mjt2 == 3) endned = 26;
	if (mjt2 == 4) endned = 25;
	if (mjt2 == 5) endned = 31;
	if (mjt2 == 6) endned = 30;
	if (day >= endned) tz = 3;
	else tz = 2;
	}
	if (m == 10 && day >= 25) {
	mjt1 = mjd(1, 10, y, 0.0);
	mjt2 = (mjt1 + 2400000.5 + 1.5) - Math.floor((mjt1 + 2400000.5 + 1.5)/7)*7;
	if (mjt2 == 0) endned = 29;
	if (mjt2 == 1) endned = 28;
	if (mjt2 == 2) endned = 27;
	if (mjt2 == 3) endned = 26;
	if (mjt2 == 4) endned = 25;
	if (mjt2 == 5) endned = 31;
	if (mjt2 == 6) endned = 30;
	if (day >= endned) tz = 2;
	else tz = 3;
	}

	var mj = mjd(day, m, y, 0.0);
	
	var h1;	var h2;	var m1;	var m2;	var t1;	var t2;	var t3;	var t4;	var t5;	var t6;	var t7;	var t8;	var sun;
	var hv1; var hv2; var mv1; var mv2; var tv4; var tv5; var tv7; var tv8;
	var ht1; var ht2; var mt1; var mt2; var tt4; var tt5; var tt7; var tt8;
	var hp1; var hp2; var mp1; var mp2; var tp4; var tp5; var tp7; var tp8;
	sun = find_sun_and_twi_events_for_date(mj, tz, glong, glat);
	h1 = sun.substring(0,3) * 1;
	m1 = sun.substring(4,6) * 1;
	h2 = sun.substring(6,10) * 1;
	m2 = sun.substring(11) * 1;
	t1 = h1 + m1/60;
	t2 = h2 + m2/60;
	t3 = t2 - t1;
	if (t3<=0) t3 = t3 + 24;
	t3 = t3/2
	t4 = Math.floor(t1 + t3);
	t5 = Math.floor((t1 + t3 - t4)*60);
	t6 = 12 + t4 + t5/60;
	if (t6>=24) t6 = t6 - 24;
	t7 = Math.floor(t6);
	t8 = Math.floor((t6 - t7)*60);

	mv1 = m1 - 18; hv1 = h1; if (mv1 < 0) {mv1 = mv1 + 60; hv1 = hv1 - 1; if (hv1<0) hv1 = hv1 + 24} if (mv1<10) mv1 = '0' + mv1;
	mv2 = m2 - 18; hv2 = h2; if (mv2 < 0) {mv2 = mv2 + 60; hv2 = hv2 - 1; if (hv2<0) hv2 = hv2 + 24} if (mv2<10) mv2 = '0' + mv2;
	tv5 = t5 - 18; tv4 = t4; if (tv5 < 0) {tv5 = tv5 + 60; tv4 = tv4 - 1; if (tv4<0) tv4 = tv4 + 24} if (tv5<10) tv5 = '0' + tv5;
	tv8 = t8 - 18; tv7 = t7; if (tv8 < 0) {tv8 = tv8 + 60; tv7 = tv7 - 1; if (tv7<0) tv7 = tv7 + 24} if (tv8<10) tv8 = '0' + tv8;

	mp1 = m1 - 6; hp1 = h1; if (mp1 < 0) {mp1 = mp1 + 60; hp1 = hp1 - 1; if (hp1<0) hp1 = hp1 + 24} if (mp1<10) mp1 = '0' + mp1;
	mp2 = m2 - 6; hp2 = h2; if (mp2 < 0) {mp2 = mp2 + 60; hp2 = hp2 - 1; if (hp2<0) hp2 = hp2 + 24} if (mp2<10) mp2 = '0' + mp2;
	tp5 = t5 - 6; tp4 = t4; if (tp5 < 0) {tp5 = tp5 + 60; tp4 = tp4 - 1; if (tp4<0) tp4 = tp4 + 24} if (tp5<10) tp5 = '0' + tp5;
	tp8 = t8 - 6; tp7 = t7; if (tp8 < 0) {tp8 = tp8 + 60; tp7 = tp7 - 1; if (tp7<0) tp7 = tp7 + 24} if (tp8<10) tp8 = '0' + tp8;

	mt1 = m1 - 9; ht1 = h1; if (mt1 < 0) {mt1 = mt1 + 60; ht1 = ht1 - 1; if (ht1<0) ht1 = ht1 + 24} if (mt1<10) mt1 = '0' + mt1;
	mt2 = m2 - 9; ht2 = h2; if (mt2 < 0) {mt2 = mt2 + 60; ht2 = ht2 - 1; if (ht2<0) ht2 = ht2 + 24} if (mt2<10) mt2 = '0' + mt2;
	tt5 = t5 - 9; tt4 = t4; if (tt5 < 0) {tt5 = tt5 + 60; tt4 = tt4 - 1; if (tt4<0) tt4 = tt4 + 24} if (tt5<10) tt5 = '0' + tt5;
	tt8 = t8 - 9; tt7 = t7; if (tt8 < 0) {tt8 = tt8 + 60; tt7 = tt7 - 1; if (tt7<0) tt7 = tt7 + 24} if (tt8<10) tt8 = '0' + tt8;
	if (m1<10) m1="0"+m1;
	if (m2<10) m2="0"+m2;
	if (t5<10) t5="0"+t5;
	if (t8<10) t8="0"+t8;
	
	document.getElementById("izs").innerHTML= h1 + ':' + m1;
	document.getElementById("gks").innerHTML= t4 + ':' + t5;
	document.getElementById("zas").innerHTML= h2 + ':' + m2;
	document.getElementById("dks").innerHTML= t7 + ':' + t8;

	document.getElementById("izv").innerHTML= hv1 + ':' + mv1;
	document.getElementById("gkv").innerHTML= tv4 + ':' + tv5;
	document.getElementById("zav").innerHTML= hv2 + ':' + mv2;
	document.getElementById("dkv").innerHTML= tv7 + ':' + tv8;

	document.getElementById("izt").innerHTML= ht1 + ':' + mt1;
	document.getElementById("gkt").innerHTML= tt4 + ':' + tt5;
	document.getElementById("zat").innerHTML= ht2 + ':' + mt2;
	document.getElementById("dkt").innerHTML= tt7 + ':' + tt8;

	document.getElementById("izp").innerHTML= hp1 + ':' + mp1;
	document.getElementById("gkp").innerHTML= tp4 + ':' + tp5;
	document.getElementById("zap").innerHTML= hp2 + ':' + mp2;
	document.getElementById("dkp").innerHTML= tp7 + ':' + tp8;
}

function loadPlan() {
	getFile('sun.csv',makeplan,'sun','<img src="sun.gif" width="25" height="25" align="absmiddle">Слънце');
	getFile('moon.csv',makeplan,'mon','<img src="mon.gif" width="25" height="23" align="absmiddle">Луна');
	getFile('mercury.csv',makeplan,'mer','<img src="mer.gif" width="25" height="25" align="absmiddle">Меркурий');
	getFile('venus.csv',makeplan,'ven','<img src="ven.gif" width="25" height="22" align="absmiddle">Венера');
	getFile('mars.csv',makeplan,'mar','<img src="mar.gif" width="25" height="21" align="absmiddle">Марс');
	getFile('jupiter.csv',makeplan,'jup','<img src="jup.gif" width="25" height="23" align="absmiddle">Юпитер');
	getFile('saturn.csv',makeplan,'sat','<img src="sat.gif" width="25" height="21" align="absmiddle">Сатурн');	
	getFile('uranus.csv',makeplan,'ura','<img src="ura.gif" width="25" height="23" align="absmiddle">Уран');	
	getFile('neptun.csv',makeplan,'nep','<img src="nep.gif" width="25" height="23" align="absmiddle">Нептун');	
	getFile('pluton.csv',makeplan,'plu','<img src="plu.gif" width="25" height="23" align="absmiddle">Плутон');	
	getFile('vuzel.csv',makeplan,'vuz','<img src="vuz.gif" width="25" height="23" align="absmiddle">Л.Възел');
getFile1('izv.csv',makerise,'izves','gkves','zaves','dkves','izvep','gkvep','zavep','dkvep','izvet','gkvet','zavet','dkvet','izvev','gkvev','zavev','dkvev');
getFile1('izs.csv',makerise,'izsis','gksis','zasis','dksis','izsip','gksip','zasip','dksip','izsit','gksit','zasit','dksit','izsiv','gksiv','zasiv','dksiv');
	loadiza();
}
