﻿function mainOghat() {
//try{
    var m = document.getElementById("azanhighcmsmonth").value;
    var d = eval(document.getElementById("azanday").value);
    var lg = eval(document.getElementById("longitude").value);
    var lat = eval(document.getElementById("latitude").value);
    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("azan_t1").innerHTML = hms(t1);
    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("azan_t2").innerHTML = hms(t2);
    ep = sun(m, d, 12, lg)
    ep = sun(m, d, ep[0], lg)
    zr = ep[0];
    document.getElementById("azan_t3").innerHTML = hms(zr);
    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("azan_t4").innerHTML = hms(t3);
    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("azan_t5").innerHTML = hms(t4);
   // }
   // catch(char * str ){}
}
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())
}

