// modify Rafhan Joehan rafhanjoehan@yahoo.com

// Current Server Time script (SSI or PHP)- By JavaScriptKit.com (http://www.javascriptkit.com)
// For this and over 400+ free scripts, visit JavaScript Kit- http://www.javascriptkit.com/
// This notice must stay intact for use.

//Depending on whether your page supports SSI (.shtml) or PHP (.php), UNCOMMENT the line below your page supports and COMMENT the one it does not:
//Default is that SSI method is uncommented, and PHP is commented:

//var currenttime = '<!--#config timefmt="%B %d, %Y %H:%M:%S"--><!--#echo var="DATE_LOCAL" -->' //SSI method of getting server date
//var currenttime = '<?php //print date("F d, Y H:i:s", time()+660); ?>' //PHP method of getting server date
//var currenttime = '<?php echo date("F d, Y H:i:s", time()+660); ?>' //PHP method of getting server date

///////////Stop editting here/////////////////////////////////

//var montharray=new Array("January","February","March","April","May","June","July","August","September","October","November","December")
Simbol=" H"

// Bulan Hijrah
Muharam="Muharram";
Safar="Safar";
Rabi1="Rabi'ul Awal";
Rabi2="Rabi'ul Akhir";
Jumada1="Jamadil Awal";
Jumada2="Jamadil Akhir";
Rejab="Rejab";
Syaban="Sya'ban";
Ramadan="Ramadan";
Syawal="Syawal";
Dzulkaedah="Dzulka'edah";
Dzulhijjah="Dzulhijjah";

var adjust = 1;

var serverdate=new Date(currenttime)

var fixd;

        var y = serverdate.getFullYear();
        var m = serverdate.getMonth();
        var d = serverdate.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 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);
		}


switch (lang)
{
case 'en':
  var montharray=new Array("January","February","March","April","May","June","July","August","September","October","November","December")
  break;
case 'my':
  var montharray=new Array("Januari","Februari","Mac","April","Mei","Jun","Julai","Ogos","September","Oktober","November","Disember")
  break;
default:
  var montharray=new Array("Januari","Februari","Mac","April","Mei","Jun","Julai","Ogos","September","Oktober","November","Disember")
}

function padlength(what){
var output=(what.toString().length==1)? "0"+what : what
return output
}

function displaytime(){
serverdate.setSeconds(serverdate.getSeconds()+1)

        var mh = m + 1;
        fixd=gregToFixed(serverdate.getFullYear(), serverdate.getMonth()+1, serverdate.getDate());
        var h=new Hijri(1426, 11, 29);
        h = fixedToHijri(fixd);

switch (lang)
{
case 'en':
  var datestring=montharray[serverdate.getMonth()]+" "+padlength(serverdate.getDate())+", "+serverdate.getFullYear()
  break;
case 'my':
  var datestring=padlength(serverdate.getDate())+" "+montharray[serverdate.getMonth()]+" "+serverdate.getFullYear()
  break;
default:
  var datestring=padlength(serverdate.getDate())+" "+montharray[serverdate.getMonth()]+" "+serverdate.getFullYear()
}
//var datestring=montharray[serverdate.getMonth()]+" "+padlength(serverdate.getDate())+", "+serverdate.getFullYear()
//var datestring=padlength(serverdate.getDate())+" "+montharray[serverdate.getMonth()]+" "+serverdate.getFullYear()+" | "
var timestring=padlength(serverdate.getHours())+":"+padlength(serverdate.getMinutes())+":"+padlength(serverdate.getSeconds())
document.getElementById("servertime").innerHTML=hijrah+"<br>"+datestring+" "+timestring
//document.getElementById("servertime").innerHTML=h.toString() + Simbol+"<br>"+datestring+" "+timestring
//document.getElementById("servertime").innerHTML=timestring
}

window.onload=function(){
startit();
setInterval("displaytime()", 1000);
}
