﻿ 
 
    // takwin solat function
     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;
    }

    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", "Rabiul Awal", "Rabiul Akhir", "Jamadil Awal", "Jamadil Akhir", "Rejab", "Sya'ban", "Ramadan", "Syawal", "Zulka'edah", "Zulhijjah");
        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 xmlHttp

    function showNegeri(str) {
        xmlHttp = GetXmlHttpObject()
        if (xmlHttp == null) {
            alert("Browser does not support HTTP Request")
            return
        }
        var url = "/modules/mod_waktusolatget.php"
        url = url + "?negeri=" + str
        xmlHttp.onreadystatechange = stateChanged
        xmlHttp.open("GET", url, true)
        xmlHttp.send(null)
    }

    function stateChanged() {
        if (xmlHttp.readyState == 4 || xmlHttp.readyState == "complete") {
        
    var tod = new Date();
    var weekday = new Array("Ahad", "Isnin", "Selasa", "Rabu", "Khamis", "Jumaat", "Sabtu");
    var monthname = new Array("Jan", "Feb", "March", "April", "Mei", "Jun", "Julai", "Ogos", "Sept", "Okt", "Nov", "Dis");

    var y = tod.getFullYear();
    var m = tod.getMonth();
    var d = tod.getDate();
    var dow = tod.getDay();
    document.getElementById("txtHint").innerHTML = "<div class='date'>" + weekday[dow] + " " + d + " " + monthname[m] + " " + y + "</div>"; 

    m++;
    fixd = gregToFixed(y, m, d);
    var h = new Hijri(1421, 11, 28);
    h = fixedToHijri(fixd);
    
        document.getElementById("txtHint").innerHTML += "<div class='date'>" +  h.toString() + " H" + "</div><br />";
    
            document.getElementById("txtHint").innerHTML += xmlHttp.responseText
        }
    }

    function GetXmlHttpObject() {
        var xmlHttp = null;
        try {
            // Firefox, Opera 8.0+, Safari
            xmlHttp = new XMLHttpRequest();
        }
        catch (e) {
            //Internet Explorer
            try {
                xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
            }
            catch (e) {
                xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
        }
        return xmlHttp;
    }
 
 // visibility function
 function hidediv() {
        if (document.getElementById) { // DOM3 = IE5, NS6
            document.getElementById('hideshow').style.visibility = 'hidden';
        }
        else {
            if (document.layers) { // Netscape 4
                document.hideshow.visibility = 'hidden';
            }
            else { // IE 4
                document.all.hideshow.style.visibility = 'hidden';
            }
        }
    }

    function showdiv() {
        if (document.getElementById) { // DOM3 = IE5, NS6
            document.getElementById('hideshow').style.visibility = 'visible';
        }
        else {
            if (document.layers) { // Netscape 4
                document.hideshow.visibility = 'visible';
            }
            else { // IE 4
                document.all.hideshow.style.visibility = 'visible';
            }
        }
    }

    function show() {
        var _status = '';
        if (document.getElementById) { // DOM3 = IE5, NS6
            _status = document.getElementById('takwinStatus').innerHTML;
        }
        else {
            if (document.layers) { // Netscape 4
                _status = document.takwinStatus.innerHTML;
            }
            else { // IE 4
                _status = document.all.takwinStatus.innerHTML;
            }
        }
        if (_status == '+') {
            if (document.getElementById) { // DOM3 = IE5, NS6
                document.getElementById('takwinStatus').innerHTML = '-';
                document.getElementById('txtHint').style.display = '';
                document.getElementById('txtLink').style.display = '';
                document.getElementById('txtHeader').style.display = '';
            }
            else {
                if (document.layers) { // Netscape 4
                    document.takwinStatus.innerHTML = '-';
                    document.txtHint.style.display = '';
                    document.txtLink.style.display = '';
                    document.txtHeader.style.display = '';
                }
                else { // IE 4
                    document.all.takwinStatus.innerHTML = '-';
                    document.all.txtHint.display = '';
                    document.all.txtLink.display = '';
                    document.all.txtHeader.display = '';
                }
            }
        } else {
        if (document.getElementById) { // DOM3 = IE5, NS6
            document.getElementById('takwinStatus').innerHTML = '+';
            document.getElementById('txtHint').style.display = 'none';
            document.getElementById('txtLink').style.display = 'none';
            document.getElementById('txtHeader').style.display = 'none';
        }
        else {
            if (document.layers) { // Netscape 4
                document.takwinStatus.innerHTML = '+';
                document.txtHint.style.display = 'none';
                document.txtLink.style.display = 'none';
                document.txtHeader.style.display = 'none';
            }
            else { // IE 4
                document.all.takwinStatus.innerHTML = '+';
                document.all.txtHint.display = 'none';
                document.all.txtLink.display = 'none';
                document.all.txtHeader.display = 'none';
            }
        }
        }
    }
