<script>
function main()
{
var i = document.getElementById("cities").selectedIndex;
if(i==0)
return
var m=document.getElementById("month").selectedIndex+1;
var d=eval(document.getElementById("day").value);
var lg=eval(document.getElementById("longitude").value);
var lat=eval(document.getElementById("latitude").value);
// var lg=52.5125;
// var lat=29.635;
var ep=sun(m,d,4,lg)
var zr=ep[0];
delta=ep[1];
ha=loc2hor(108.0,delta,lat)
var t1=Round(zr-ha,24)
ep=sun(m,d,t1,lg)
zr=ep[0];
delta=ep[1];
ha=loc2hor(108.0,delta,lat)
var t1=Round(zr-ha,24)
document.getElementById("t1").innerHTML=hms(t1);
//
// t2= Sun rise
//
ep=sun(m,d,6,lg)
zr=ep[0];
delta=ep[1];
ha=loc2hor(90.833,delta,lat)
var t2=Round(zr-ha,24)
ep=sun(m,d,t2,lg)
zr=ep[0];
delta=ep[1];
ha=loc2hor(90.833,delta,lat)
t2=Round(zr-ha,24)
document.getElementById("t2").innerHTML=hms(t2);
//
// zr=Zohr
//
ep=sun(m,d,12,lg)
ep=sun(m,d,ep[0],lg)
zr=ep[0];
document.getElementById("zr").innerHTML=hms(zr);
//
// t2= Sun set
//
ep=sun(m,d,18,lg)
zr=ep[0];
delta=ep[1];
ha=loc2hor(90.833,delta,lat)
var t3=Round(zr+ha,24)
ep=sun(m,d,t3,lg)
zr=ep[0];
delta=ep[1];
ha=loc2hor(90.833,delta,lat)
t3=Round(zr+ha,24)
document.getElementById("t3").innerHTML=hms(t3);
//
// t2= Maghreb
//
ep=sun(m,d,18.5,lg)
zr=ep[0];
delta=ep[1];
ha=loc2hor(94.3,delta,lat)
var t4=Round(zr+ha,24)
ep=sun(m,d,t4,lg)
zr=ep[0];
delta=ep[1];
ha=loc2hor(94.3,delta,lat)
t4=Round(zr+ha,24)
document.getElementById("t4").innerHTML=hms(t4);
}
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 init()
{
lgs= [0,13.25,08.41,10.02,11.35];
lats=[0,52.30,50.07,53.33,48.08];
}
function coord()
{
var c=document.getElementById("cities");
var i = c.selectedIndex;
if(i==0)
{
document.getElementById("longitude").value="";
document.getElementById("latitude").value="";
}
else
{
document.getElementById("longitude").value=lgs[i].toString()
document.getElementById("latitude").value=lats[i].toString()
}
}
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())
}
</script>
<style>
<!--
body { font-family: Tahoma;font-weight:normal; font-size: 12px}
td { font-family: Tahoma;font-weight:normal; font-size: 12px}
-->
</style>";
<body onload="init()" style="text-align: center">
<table width="95%" class=table align="center">
<tr>
<td width="100%" align="center">
<table border="1" width="60%" id="table3" dir="ltr">
<tr>
<td align="center" id="t1"> </td>
<td dir="rtl" width="50%"><span lang="fa">اذان صبح</span></td>
</tr>
<tr>
<td align="center" id="t2"> </td>
<td dir="rtl" width="50%"><span lang="fa">طلوع خورشید</span></td>
</tr>
<tr>
<td align="center" id="zr"> </td>
<td dir="rtl" width="50%"><span lang="fa">اذان ظهر</span></td>
</tr>
<tr>
<td align="center" id="t3"> </td>
<td dir="rtl" width="50%"><span lang="fa">غروب خورشید</span></td>
</tr>
<tr>
<td align="center" id="t4"> </td>
<td dir="rtl" width="50%"><span lang="fa">اذان مغرب</span></td>
</tr>
</table>
</td>
</tr>
<tr><td><br></td></tr>
<tr>
<td align="center" width="55%">
<table border=1 width="70%"><tr>
<form dir="rtl">
<td>روز : <input id="day" type="text" name="T1" size="6" value="1" dir="ltr"></td>
<td>ماه : <select size="1" id="month" name="month">
<option value="1" >فروردین</option>
<option value="2">اردیبهشت</option>
<option value="3">خرداد</option>
<option value="4">تیر</option>
<option value="5">مرداد</option>
<option value="6">شهریور</option>
<option value="7">مهر</option>
<option value="8">آبان</option>
<option value="9">آذر</option>
<option value="10">دی</option>
<option value="11">بهمن</option>
<option value="12">اسفند</option>
</select>
</td>
</tr><tr>
<td>طول جغرافیایی : <input type="text" id="longitude" name="T2" size="7" dir="ltr" value="" disabled="true"></td>
<td>عرض جغرافیایی : <input type="text" id="latitude" name="T3" size="7" dir="ltr" value="" disabled="true"></td>
</tr><tr>
<td colspan="2">مراکز استان :
<select id="cities" name="c" dir="rtl" onchange="coord()">
<option>انتخاب کنید</option>
<option>Berlin</option>
<option>Frankfurt</option>
<option>Hamburg</option>
<option>Munich</option>
</select></td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="button" value="محاسبه" name="go" onclick="main();"></td>
</form>
</tr></table>
</td>
</tr>
</table>