/*
 * Calculates and displays the current time in Bangkok
 */

// on page load call GetTime
window.onload=GetTime;

// create weekday array
var weekday=new Array(7);
weekday[0]="Sunday";
weekday[1]="Monday";
weekday[2]="Tuesday";
weekday[3]="Wednesday";
weekday[4]="Thursday";
weekday[5]="Friday";
weekday[6]="Saturday";

function GetTime() {
    var dt = new Date();
    var calc = dt.getTimezoneOffset() * 60000; // get the timezone offset and convert to milliseconds
    calc = dt.getTime() + calc; // calculate the GMT time in milliseconds
    calc = calc + (7 * 3600000); // calculate the time in milliseconds for bangkok by adding 7 hours
    dt.setTime(calc);
    var ampm = getAMPM(dt.getHours());
    document.getElementById("clock").innerHTML = (convertHour(dt.getHours()) + ":" + IfSingleDigit(dt.getMinutes()) + ":" + IfSingleDigit(dt.getSeconds()) + " " + ampm);
    document.getElementById("weekday").innerHTML = weekday[dt.getDay()];
    setTimeout("GetTime()", 1000);
}

// do pretty formatting
function IfSingleDigit(num) {
    return ((num <= 9) ? ("0" + num) : num);
}

function getAMPM(hour) {
    return ((hour >= 12) ? "PM" : "AM");
}

function convertHour(hour) {
    if (hour > 12) {
        return (hour - 12);
    }
    else {
        return ((hour == 0) ? 12 : hour);
    }
}
