﻿main();
function main()
{
    a = new Date();
    day= a.getDate();
    month = a.getMonth()+1;
    year= a.getYear();

	year = (year== 0)?2000:year;
	(year<1000)? (year += 2000):true;
    
	year -= ( (month < 3) || ((month == 3) && (day < 21)) )? 622:621;

	switch (month) {
    	case 1: (day<21)? (month=10, day+=10):(month=11, day-=20); break;
    	case 2: (day<20)? (month=11, day+=11):(month=12, day-=19); break;
    	case 3: (day<21)? (month=12, day+=9):(month=1, day-=20);   break;
    	case 4: (day<21)? (month=1, day+=11):(month=2, day-=20);   break;
    	case 5:
    	case 6: (day<22)? (month-=3, day+=10):(month-=2, day-=21); break;
    	case 7:
    	case 8:
    	case 9: (day<23)? (month-=3, day+=9):(month-=2, day-=22);  break;
    	case 10:(day<23)? (month=7, day+=8):(month=8, day-=22);    break;
    	case 11:
    	case 12:(day<22)? (month-=3, day+=9):(month-=2, day-=21);  break;
       default:  	break;
	}

	
	var lat=35.7;
	var ep=sun(month,day,4,51.41)
	var zr=ep[0];
	delta=ep[1];
	ha=loc2hor(108.0,delta,lat)
	var t1=Round(zr-ha,24)
	ep=sun(month,day,t1,51.41)
	zr=ep[0];
	delta=ep[1];
	ha=loc2hor(108.0,delta,lat)
	var t1=Round(zr-ha,24)
	var specialT1=hms(t1);
	//shogedidar.blogfa.com
	ep=sun(month,day,6,51.41)
	zr=ep[0];
	delta=ep[1];
	ha=loc2hor(90.833,delta,lat)
	var t2=Round(zr-ha,24)
	ep=sun(month,day,t2,51.41)
	zr=ep[0];
	delta=ep[1];
	ha=loc2hor(90.833,delta,lat)
	t2=Round(zr-ha,24)
	var specialT2=hms(t2);
	//shogedidar.blogfa.com
	ep=sun(month,day,12,51.41)
	ep=sun(month,day,ep[0],51.41)
	zr=ep[0];
	var specialZR=hms(zr);
	//shogedidar.blogfa.com
	ep=sun(month,day,18,51.41)
	zr=ep[0];
	delta=ep[1];
	ha=loc2hor(90.833,delta,lat)
	var t3=Round(zr+ha,24)
	ep=sun(month,day,t3,51.41)
	zr=ep[0];
	delta=ep[1];
	ha=loc2hor(90.833,delta,lat)
	t3=Round(zr+ha,24)
	var specialT3=hms(t3);
	//shogedidar.blogfa.com
	ep=sun(month,day,18.5,51.41)
	zr=ep[0];
	delta=ep[1];
	ha=loc2hor(94.3,delta,lat)
	var t4=Round(zr+ha,24)
	ep=sun(month,day,t4,51.41)
	zr=ep[0];
	delta=ep[1];
	ha=loc2hor(94.3,delta,lat)
	t4=Round(zr+ha,24)
	var specialT4=hms(t4);
	//peyambareomid.blogfa.com
	
	var OGATDate=new Date();
	var OGATTime=OGATDate.getHours();
	var OGATmsg;
	if((OGATTime>=0)&&(OGATTime<4)){OGATmsg="نیمه شب بخیر";}
	if((OGATTime>=4)&&(OGATTime<10)){OGATmsg="صبح بخیر";}
	if((OGATTime>=10)&&(OGATTime<15)){OGATmsg="ظهر بخیر";}
	if((OGATTime>=15)&&(OGATTime<19)){OGATmsg="عصر بخیر";}
	if((OGATTime>=19)&&(OGATTime<=23)){OGATmsg="شب بخیر";}

document.write("<center>"+OGATmsg+"<br>");
	document.write("<TABLE dir=ltr style='font-family:Tahoma;border-collapse:collapse;font-size:8pt;color:#000000;' width='130px' border=0>");
document.write("<TR><TD align=right>"+specialT1+"</TD><TD dir=rtl><SPAN lang=fa>اذان صبح</SPAN></TD></TR>");
document.write("<TR><TD align=right>"+specialT2+"</TD><TD dir=rtl><SPAN lang=fa>طلوع آفتاب</SPAN></TD></TR>");
document.write("<TR><TD align=right>"+specialZR+"</TD><TD dir=rtl><SPAN lang=fa>اذان ظهر</SPAN></TD></TR>");
document.write("<TR><TD align=right>"+specialT3+"</TD><TD dir=rtl><SPAN lang=fa>غروب آفتاب</SPAN></TD></TR>");
document.write("<TR><TD align=right>"+specialT4+"</TD><TD dir=rtl><SPAN lang=fa>اذان مغرب</SPAN></TD></TR>");
document.write("<TR><TD align=right>پیامبر امید</TD></TR></TABLE></center>");


}

function sun(m,d,h,lg)
{
	if(m<7)
		d= 31*(m-1)+d+h/24;
	else
		d=6+30*(m-1)+d+h/24;
	var M=74.2023+0.98560026*d;
	var L=-2.75043+0.98564735*d;
	var lst=8.3162159+0.065709824*Math.floor(d)+1.00273791*24*(d%1)+lg/15;	
	var e=0.0167065;
	var omega=4.85131-0.052954*d;
	var ep=23.4384717+0.00256*cosd(omega);
	var ed=180.0/Math.PI*e;
	var u=M;
	for(var i=1;i<5;i++)
		u=u-(u-ed*sind(u)-M)/(1-e*cosd(u));
	var v=2*atand(tand(u/2)*Math.sqrt((1+e)/(1-e)));
	var theta=L+v-M-0.00569-0.00479*sind(omega);
	var delta=asind(sind(ep)*sind(theta));
	var alpha=180.0/Math.PI*Math.atan2(cosd(ep)*sind(theta),cosd(theta));
	if(alpha>=360)
		alpha-=360;
	var ha=lst-alpha/15;
	var zr=Round(h-ha,24);
	return ([zr,delta])
}

function sind(x){return(Math.sin(Math.PI/180.0*x));}
function cosd(x){return(Math.cos(Math.PI/180.0*x));}
function tand(x){return(Math.tan(Math.PI/180.0*x));}
function atand(x){return(Math.atan(x)*180.0/Math.PI);}
function asind(x){return(Math.asin(x)*180.0/Math.PI);}
function acosd(x){return(Math.acos(x)*180.0/Math.PI);}
function sqrt(x){return(Math.sqrt(x));}
function frac(x){return(x%1);}
function floor(x){return(Math.floor(x));}
function ceil(x){return(Math.ceil(x));}
function loc2hor(z,d,p){
	return(acosd((cosd(z)-sind(d)*sind(p))/cosd(d)/cosd(p))/15);
}
function Round(x,a){
	var tmp=x%a;
	if(tmp<0)
		tmp+=a;
	return(tmp)
}

function hms(x)
{
	x=Math.floor(3600*x);
	h=Math.floor(x/3600);
	mp=x-3600*h;
	m=Math.floor(mp/60);
	s=Math.floor(mp-60*m);

	return((h<10)? "0" : "")+h.toString()+":"+((m<10)? "0" : "")+m.toString()+":"+((s<10)? "0" : "")+s.toString();
 
}
