﻿

var fixd;

function isGregLeapYear(year)
{
	return year%4 == 0 && year%100 != 0 || year%400 == 0;
}

function gregToFixed(year, month, day)
{
	var a = Math.floor((year - 1) / 4);
	var b = Math.floor((year - 1) / 100);
	var c = Math.floor((year - 1) / 400);
	var d = Math.floor((367 * month - 362) / 12);

	if (month <= 2)
		e = 0;
	else if (month > 2 && isGregLeapYear(year))
		e = -1;
	else
		e = -2;

	return 1 - 1 + 365 * (year - 1) + a - b + c + d + e + day;
}

function Hijri(year, month, day)
{
	this.year = year;
	this.month = month;
	this.day = day;
	this.toFixed = hijriToFixed;
	this.toString = hijriToString;
	this.toStringEN = hijriToStringEN;
}

function hijriToFixed()
{
	return this.day + Math.ceil(29.5 * (this.month - 1)) + (this.year - 1) * 354 +
		Math.floor((3 + 11 * this.year) / 30) + 227015 - 1;
}

function hijriToString()
{
	var months = new Array('&#1575;&#1604;&#1605;&#1581;&#1585;&#1605;',
'&#1589;&#1601;&#1585;',
'&#1585;&#1576;&#1610;&#1593; &#1575;&#1604;&#1571;&#1608;&#1604;',
'&#1585;&#1576;&#1610;&#1593; &#1575;&#1604;&#1579;&#1575;&#1606;&#1610;',
'&#1580;&#1605;&#1575;&#1583;&#1609; &#1575;&#1604;&#1571;&#1608;&#1604;',
'&#1580;&#1605;&#1575;&#1583;&#1609; &#1575;&#1604;&#1579;&#1575;&#1606;&#1610;',
'&#1585;&#1580;&#1576;',
'&#1588;&#1593;&#1576;&#1575;&#1606;',
'&#1585;&#1605;&#1590;&#1575;&#1606;',
'&#1588;&#1608;&#1575;&#1604;',
'&#1584;&#1608; &#1575;&#1604;&#1602;&#1593;&#1583;&#1577;',
'&#1584;&#1608; &#1575;&#1604;&#1581;&#1580;&#1577;');
	
	//("Muharam","Safar","Rabi\'ul Awal","Rabiul Akhir","Jamadil Awal","Jamadil Akhir","Rajab","Sha\'ban","Ramadhan","Shawwal","Dzulka\'edah","Dzulhijjah");
return this.day + " " + months[this.month - 1]+ " " + this.year;
}

function hijriToStringEN()
{
	var months = new Array("Muharam","Safar","Rabi\'ul Awal","Rabiul Akhir","Jamadil Awal","Jamadil Akhir","Rajab","Sha\'ban","Ramadhan","Shawwal","Dzulka\'edah","Dzulhijjah");
return this.day + " " + months[this.month - 1]+ " " + this.year;
}

function fixedToHijri(f)
{
var i=new Hijri(1100, 1, 1);
i.year = Math.floor((30 * (f - 227015) + 10646) / 10631);
var i2=new Hijri(i.year, 1, 1);
var m = Math.ceil((f - 29 - i2.toFixed()) / 29.5) + 1;
i.month = Math.min(m, 12);
i2.year = i.year;
 	i2.month = i.month;
 	i2.day = 1;
i.day = f - i2.toFixed() + 1;
return i;
}

var tod=new Date();
var weekday=new Array("الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت");
var weekday_en=new Array("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday");
var monthname=new Array("يناير","فبراير","مارس","ابريل","مايو","يونيه","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر");


var monthname_en=new Array(
"January","February","March","April","May","June","July","August","September","October","November","December"
);

var y = tod.getFullYear();
var m = tod.getMonth();
var d = tod.getDate();
var dow = tod.getDay();
m++;
fixd=gregToFixed(y, m, d);
var h=new Hijri(1421, 11, 28);
h = fixedToHijri(fixd);

function writeDate()
{
	document.write(d + "/" + m + "/" + y);
}
function writeDateReversed()
{
	document.write(y + "/" + m + "/" + d);
}
function writeDayAR()
{
	document.write(weekday[dow] + " ");
}
function writeDayEN()
{
	document.write(weekday_en[dow] + " ");
}
function writeGregAR()
{
	document.write(d + " " + monthname[m-1] + " " + y);
}
function writeGregEN()
{
	document.write(d + " " + monthname_en[m-1] + " " + y );
}
function writeHijriAR()
{
	document.write(h.toString() );
}
function writeHijriEN()
{
	document.write(h.toStringEN() );
}
function writeSeparator()
{
	document.write( "-" );
}
