
var zoneArr = new Array();
var i = 0;

function AddTimeZone(container, gmt_offset, format) {
	var i = zoneArr.length;
	zoneArr[i] = new Array();
	zoneArr[i].Container = container;
	zoneArr[i].GMT = gmt_offset;
	zoneArr[i].Format = format;
}

function getTimeZoneGMT() {
    var offsetOut = '';
    var localized_time = new Date();
    var localOffset = (localized_time.getTimezoneOffset()/60)
    if (localOffset < 0) {
            offsetOut = '(GMT ' + localOffset + ')';
        }
        else {
            offsetOut = '(GMT +' + localOffset + ')';
        }
    return offsetOut;
}
function deployZones(container, gmt_offset, format) {
	if (!container) return;
	var time_now = new Date();
	var offset = (time_now.getTimezoneOffset() * 60000);
	var difference = (gmt_offset*1000*60*60);
	var t = difference + offset;
	var retDate = new Date(time_now);
	retDate = time_now.getTime();
	retDate = retDate + t;
	time_now = new Date(retDate);

	if(format == 'long') {
		
                var time_current = new Date();
                var day = time_current.getDay();
		var numday = time_current.getDate();
		var month = time_current.getMonth();
		var year = time_current.getFullYear();
		var hours = time_current.getHours();
		var minutes = time_current.getMinutes();
		var seconds = time_current.getSeconds();
		
		if(hours < 10) {
                        hours = '0' + hours;
                    }
		if(minutes < 10) {
                        minutes = '0' + minutes;
                    }
		if(seconds < 10) {
                        seconds = '0' + seconds;
                    }
		
		day_arr = new Array( 'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday' );
		month_arr = new Array( 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec' );
		
		day = day_arr[ day ];
		month = month_arr[ month ];
		
		container.innerHTML = day.toString() + ', ' + month.toString() + ' ' + numday.toString() + ' ' + year.toString() + ', ' + hours.toString() + ':' + minutes.toString() + ':' + seconds.toString() + ' ' + getTimeZoneGMT();
	} 
	else {
		var hours_alt = new String(time_now.getHours());
                var minutes_alt = new String(time_now.getMinutes());
                if (hours_alt.length == 1) {
                        hours_alt = '0' + hours_alt;
                    }
                if (minutes_alt.length == 1) {
                        minutes_alt = '0' + minutes_alt;
                    }
		
		container.innerHTML = hours_alt + ':' + minutes_alt;
	}	
}

function InitZones() {
	for (var i = 0;i<zoneArr.length;i++) {
		deployZones(document.getElementById(zoneArr[i].Container), zoneArr[i].GMT, zoneArr[i].Format);
	}
	window.setTimeout( 'InitZones()', 1000 );
}

