﻿		var fixd;
        
        var tod=new Date();
        var y = tod.getFullYear();
        var m = tod.getMonth();
        var d = tod.getDate();		
        
		function isGregLeapYear(year)
        {
				return year%4 == 0 && year%100 != 0 || year%400 == 0;
        }

        function gregToFixed(year, month, day)
        {
				day = day + adjust
                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;
        }

        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(Muharam,Safar,Rabi1,Rabi2,Jumada1,Jumada2,Rejab,Syaban,Ramadan,Syawal,Dzulkaedah,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;
        }
		
		function Hari()
        {
		var weekday=new Array(Ahad,Isnin,Selasa,Rabu,Khamis,Jumaat,Sabtu);
        var dow = tod.getDay();
		document.write(weekday[dow] + ", " );
		}

		function PaparMasihi()
		{
        var monthname=new Array(Januari,Februari,Mac,April,Mei,Jun,Julai,Ogos,September,Oktober,November,Disember);
        document.write( d + " " + monthname[m] + " " + y);
		}

		function PaparHijri()
		{
        var mh = m + 1;
        fixd=gregToFixed(y, mh, d);
        var h=new Hijri(1426, 11, 29);
        h = fixedToHijri(fixd);
        document.write( h.toString() + Simbol);
		}
		
		function Turun()
		{
		document.write(" // ");
		}
		function JoomfaShamsi()
{
week= new Array(Ahad,Isnin,Selasa,Rabu,Khamis,Jumaat,Sabtu)
months = new Array(Farvardin,Ordibehesht,Khordad,Tir,Mordad,Shahrivar,Mehr,Aban,Azar,Day,Bahman,Esfand);
a = new Date(); d= a.getDay(); day= a.getDate(); month =a.getMonth()+1; year= a.getYear(); if (year== 0){year=2000;}
 if (year<100){year +=1900;} y=1; for(i=0;i<3000;i+=4) { if (year==i)
{y=2;} } for(i=1;i<3000;i+=4) { if (year==i) {y=3;} } if (y==1) {
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; } } if (y==2) { year -= ( (month < 3) || ((month ==
3) && (day < 20)) )? 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<20)? (month=12, day+=10):(month=1, day-=19); break; case 4:
(day<20)? (month=1, day+=12):(month=2, day-=19); break; case 5:
(day<21)? (month=2, day+=11):(month=3, day-=20); break; case 6:
(day<21)? (month=3, day+=11):(month=4, day-=20); break; case 7:
(day<22)? (month=4, day+=10):(month=5, day-=21); break; case 8:
(day<22)? (month=5, day+=10):(month=6, day-=21); break; case 9:
(day<22)? (month=6, day+=10):(month=7, day-=21); break; case
10:(day<22)? (month=7, day+=9):(month=8, day-=21); break; case
11:(day<21)? (month=8, day+=10):(month=9, day-=20); break; case
12:(day<21)? (month=9, day+=10):(month=10, day-=20); break; default:
break; } } if (y==3) { year -= ( (month < 3) || ((month == 3)
&& (day < 21)) )? 622:621; switch (month) { case 1:
(day<20)? (month=10, day+=11):(month=11, day-=19); break; case 2:
(day<19)? (month=11, day+=12):(month=12, day-=18); break; case 3:
(day<21)? (month=12, day+=10):(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; } }
document.write(day+" "+months[month-1]+" "+ year);

}

