// JavaScript Document

var J1970 = 2440587.5;                // Julian date at Unix epoch: 1970-01-01
var ISLAMIC_EPOCH = 1948439.5;
var ISLAMIC_WEEKDAYS = new Array("الاحد", "الاثنين","الثلاثاء", "الاربعاء","الخميس", "الجمعة", "السبت");

var ISLAMIC_MONTHS = new Array("محرم", "صفر", "ربيع الاول","ربيع الاخر", "جماد الاول", "جماد الاخر","رجب", "شعبان", "رمضان","شوال", "ذو القعده", "ذوالحجه");

var ENGLISH_WEEKDAYS = new Array("Sunday", "Monday","Tuesday", "Wednesday","Thursday", "Friday", "Saturday");
var ENGLISH_MONTHS = new Array("January", "February", "March","April", "May", "June","July", "August", "September","October", "November", "December");

var JULIAN_MONTHS = new Array("يناير", "فبراير", "مارس","ابريل", "مايو", "يونيو","يوليو", "اغسطس", "سبتمبر","اكتوبر", "نوفمبر", "ديسمبر");

//  LEAP_ISLAMIC  --  Is a given year a leap year in the Islamic calendar ?
function calcUnixTime()
{
    var t = new Number(document.unixtime.time.value);

    setJulian(J1970 + (t / (60 * 60 * 24)));
}


function islamic_to_jd(year, month, day)
{
    return (day +
            Math.ceil(29.5 * (month - 1)) +
            (year - 1) * 354 +
            Math.floor((3 + (11 * year)) / 30) +
            ISLAMIC_EPOCH) - 1;
}

//  JD_TO_ISLAMIC  --  Calculate Islamic date from Julian day

function jd_to_islamic(jd)
{
	jd = (jd / (60 * 60 * 24)) + J1970;		// to get day from unix day
    var year, month, day;

    jd = Math.floor(jd) + 0.5;
    year = Math.floor(((30 * (jd - ISLAMIC_EPOCH)) + 10646) / 10631);
    month = Math.min(12,
                Math.ceil((jd - (29 + islamic_to_jd(year, 1, 1))) / 29.5) + 1);
    day = (jd - islamic_to_jd(year, month, 1)) + 1;
    return new Array(year, month, day);
}

