var regionsArray = new Array(
  "Abkhazia, Sukhumi","3",
  "Afghanistan, Kabul","4",
  "Aland, Mariehamn","2",
  "Albania, Tirana","1",
  "Algeria, Algiers","1",
  "American Samoa, Pago Pago","-11",
  "Andorra, Andorra la Vella","1",
  "Angola, Luanda","1",
  "Anguilla, The Valley","-4",
  "Antigua and Barbuda, Saint John's","-4",
  "Argentina, Buenos Aires","-3",
  "Armenia, Yerevan","4",
  "Aruba, Oranjestad","-4",
  "Australia, Canberra","10",
  "Austria, Vienna","1",
  "Azerbaijan, Baku","4",
  "Bahamas, Nassau","-5",
  "Bahrain, Manama","3",
  "Bangladesh, Dhaka","6",
  "Barbados, Bridgetown","-4",
  "Belarus, Minsk","2",
  "Belgium, Brussels","1",
  "Belize, Belmopan","-6",
  "Benin, Porto-Novo","1",
  "Bermuda, Hamilton","-4",
  "Bhutan, Thimphu","6",
  "Bolivia, La Paz","-4",
  "Bosnia-Herzegovina, Sarajevo","1",
  "Botswana, Gaborone","2",
  "Brazil, Brasilia","-3",
  "Brunei, Bandar Seri Begawan","8",
  "Bulgaria, Sofia","2",
  "Burkina Faso, Ouagadougou","0",
  "Burundi, Bujumbura","2",
  "Cambodia, Phnom Penh","7",
  "Cameroon, Yaounde","1",
  "Canada, Ottawa","-5",
  "Cape Verde, Praia","-1",
  "Cayman Islands, George Town","-5",
  "Central African Republic, Bangui","1",
  "Chad, N'Djamena","1",
  "Chile, Santiago","-4",
  "China (PRC), Beijing","-4",
  "Christmas Island, The Settlement","7",
  "Cocos Islands, West Island","6.5",
  "Colombia, Bogota","-5",
  "Comoros, Moroni","3",
  "Congo (DRC), Kinshasa","1",
  "Cook Islands, Avarua","-10",
  "Costa Rica, San Jose","-6",
  "Cote d'Ivoire, Yamoussoukro","0",
  "Croatia, Zagreb","1",
  "Cuba, Havana","-5",
  "Cyprus, Nicosia","2",
  "Czech Republic, Prague","1",
  "Denmark, Copenhagen","1",
  "Djibouti, Djibouti City","3",
  "Dominica, Roseau","-4",
  "Dominican Republic, Santo Domingo","-4",
  "East Timor, Dili","9",
  "Ecuador, Quito","-5",
  "Egypt, Cairo","2",
  "El Salvador, San Salvador","-6",
  "Equatorial, Guinea Malabo","1",
  "Eritrea, Asmara","3",
  "Estonia, Tallinn","2",
  "Ethiopia, Addis Ababa","3",
  "Faroe, Islands Torshavn","0",
  "Fiji, Suva","12",
  "Finland, Helsinki","2",
  "France, Paris","1",
  "French Polynesia, Papeete","-10",
  "Gabon, Libreville","1",
  "Gambia, Banjul","0",
  "Georgia, Tbilisi","4",
  "Germany, Berlin","1",
  "Ghana, Accra","0",
  "Gibraltar, Gibraltar","1",
  "Greece, Athens","2",
  "Greenland, Nuuk","-3",
  "Grenada, Saint George's","-4",
  "Guam, Hagatna","10",
  "Guatemala, Guatemala City","-6",
  "Guernsey, St Peter Port","0",
  "Guinea, Conakry","0",
  "Guinea-Bissau, Bissau","0",
  "Guyana, Georgetown","-4",
  "Haiti, Port-au-Prince","-5",
  "Honduras, Tegucigalpa","-6",
  "Hungary, Budapest","1",
  "Iceland, Reykjavik","0",
  "India, New Delhi","5.3",
  "Indonesia, Jakarta","7",
  "Iran, Tehran","3.3",
  "Iraq, Baghdad","3",
  "Ireland, Dublin","0",
  "Isle of Man, Douglas","0",
  "Israel, Jerusalem","2",
  "Italy, Rome","1",
  "Jamaica, Kingston","-5",
  "Japan, Tokyo","9",
  "Jersey, St. Helier","0",
  "Jordan, Amman","2",
  "Kazakhstan, Astana","6",
  "Kenya, Nairobi","3",
  "Kiribati, South Tarawa","13",
  "Korea (North), P'yongyang","9",
  "Korea (South), Seoul","9",
  "Kuwait, Kuwait City","3",
  "Kyrgyzstan, Bishkek","6",
  "Laos, Vientiane","7",
  "Latvia, Riga","2",
  "Lebanon, Beirut","2",
  "Lesotho, Maseru","2",
  "Liberia, Monrovia","0",
  "Libya, Tripoli","2",
  "Liechtenstein, Vaduz","1",
  "Lithuania, Vilnius","2",
  "Luxembourg, Luxembourg","1",
  "Macedonia, Skopje","1",
  "Madagascar, Antananarivo","3",
  "Malawi, Lilongwe","2",
  "Malaysia, Kuala Lumpur","8",
  "Maldives, Male","5",
  "Malta, Valletta","1",
  "Marshall Islands, Majuro","12",
  "Mauritania, Nouakchott","1",
  "Mauritius, Port Louis","4",
  "Mayotte, Mamoudzou","3",
  "Mexico, Mexico City","-6",
  "Moldova, Chisinau","2",
  "Mongolia, Ulaanbaatar","8",
  "Montenegro, Podgorica","1",
  "Montserrat, Brades Estate","-4",
  "Morocco, Rabat","0",
  "Mozambique, Maputo","2",
  "Myanmar, Naypyidaw","6.3",
  "Namibia, Windhoek","1",
  "Nepal, Kathmandu","5.45",
  "Netherlands Antilles, Willemstad","-4",
  "Netherlands, Amsterdam","1",
  "New Caledonia, Noumea","11",
  "New Zealand, Wellington","12",
  "Nicaragua, Managua","-6",
  "Niger, Niamey","1",
  "Nigeria, Abuja","1",
  "Niue, Alofi","-11",
  "Norfolk Island, Kingston","11.3",
  "Northern Mariana Islands, Saipan","10",
  "Norway, Oslo","1",
  "Oman, Muscat","4",
  "Pakistan, Islamabad","5",
  "Palau, Melekeok","9",
  "Panama, Panama City","-5",
  "Papua New Guinea, Port Moresby","10",
  "Paraguay, Asuncion","-4",
  "Peru, Lima","-5",
  "Philippines, Manila","8",
  "Pitcairn Islands, Adamstown","-8",
  "Poland, Warsaw","1",
  "Portugal, Lisbon","0",
  "Puerto Rico, San Juan","-4",
  "Qatar, Doha","3",
  "Romania, Bucharest","2",
  "Russia, Moscow","3",
  "Rwanda, Kigali","2",
  "Saint Helena, Jamestown","0",
  "Saint Kitts and Nevis, Basseterre","-4",
  "Saint Lucia, Castries","-4",
  /*"Saint Vincent and the Grenadines, Kingstown","-4",*/
  "Saint-Pierre and Miquelon, Saint-Pierre","-3",
  "Samoa, Apia","-11",
  "San Marino, San Marino","1",
  "Sao Tome and Principe, Sao Tome","0",
  "Saudi Arabia, Riyadh","3",
  "Senegal, Dakar","0",
  "Serbia, Belgrade","1",
  "Seychelles, Victoria","4",
  "Sierra Leone, Freetown","0",
  "Slovakia, Bratislava","1",
  "Slovenia, Ljubljana","1",
  "Solomon Islands, Honiara","11",
  "Somalia, Mogadishu","3",
  "South Africa, Pretoria","2",
  "Spain, Madrid","1",
  "Sri Lanka, Sri Jayawardanapura Kotte","5.3",
  "Sudan, Khartoum","3",
  "Suriname, Paramaribo","-3",
  "Svalbard, Longyearbyen","1",
  "Swaziland, Mbabane","2",
  "Sweden, Stockholm","1",
  "Switzerland, Berne","1",
  "Syria, Damascus","2",
  "Taiwan China (ROC), Taipei","8",
  "Tajikistan, Dushanbe","5",
  "Tanzania, Dodoma","3",
  "Thailand, Bangkok","7",
  "Togo, Lome","0",
  "Tonga, Nuku'alofa","13",
  "Transnistria, Tiraspol","2",
  "Trinidad and Tobago, Port of Spain","-4",
  "Tunisia, Tunis","1",
  "Turkey, Ankara","2",
  "Turkmenistan, Ashgabat","5",
  "Turks and Caicos Islands, Cockburn Town","-5",
  "Tuvalu, Fongafale","12",
  "Uganda, Kampala","3",
  "Ukraine, Kyiv","2",
  "United Arab Emirates, Abu Dhabi","4",
  "United Kingdom, London","0",
  "United States, Washington, D.C.","-5",
  "Uruguay, Montevideo","-2",
  "Uzbekistan, Tashkent","5",
  "Vanuatu, Port Vila","11",
  "Venezuela, Caracas","-4",
  "Vietnam, Hanoi","7",
  "Virgin Islands, British, Road Town","-4",
  "Virgin Islands, US, Charlotte Amalie","-4",
  "Wallis and Futuna, Mata'Utu","12",
  "Western Sahara, Laayoune","0",
  "Yemen, Sanaa","3",
  "Zambia, Lusaka","2",
  "Zimbabwe, Harare","1"
);

function padout(number) { return (number < 10) ? '0' + number : number; }

function ampm(time) {
    var hours = padout(time.getHours()), minutes = padout(time.getMinutes());
    var seconds = padout(time.getSeconds());
    var adjhours = hours;
	var day = time.getDay();
	switch (day)
	{
		case 0: var sday = 'sun'; break;
		case 1: var sday = 'mon'; break;
		case 2: var sday = 'tue'; break;
		case 3: var sday = 'wed'; break;
		case 4: var sday = 'thu'; break;
		case 5: var sday = 'fri'; break;
		case 6: var sday = 'sat'; break;
	}
    return ((adjhours < 10) ? ' ' : ' ') + adjhours + ':' + minutes + ':' + seconds + ' ' + sday;
    //var adjhours = (hours == 0) ? 12 : ((hours < 13) ? hours : hours-12);
    //return ((adjhours < 10) ? ' ' : '') + adjhours + ':' + minutes + ':' + seconds + ((hours < 12) ? ' am' : ' pm');
}

if ((navigator.appVersion.indexOf('MSIE 3') == -1))
  var fiddle = 1;
else
  var fiddle = -1;
	
function setClock(gmtX) {
  var time = new Date();
	var TimezoneOffset = time.getTimezoneOffset();
	var tempnum;
	
	if (gmtX == 0) {
	  tempnum = 0;
	} else {
	  tempnum = ((document.clocks.summer.checked) ? 60*60*1000 : 0);
	}

  time.setTime(time.getTime() + TimezoneOffset*60*1000*fiddle + gmtX*60*60*1000 + tempnum);

  document.clocks.elements['GMT' + (12 + gmtX)].value = ampm(time)
}

function setLocalDateTime()
{
	var time = new Date();
	
	var val = time.getMonth();
	switch (val)
	{
		case 0: var sMonth = 'January'; break;
		case 1: var sMonth = 'February'; break;
		case 2: var sMonth = 'March'; break;
		case 3: var sMonth = 'April'; break;
		case 4: var sMonth = 'May'; break;
		case 5: var sMonth = 'June'; break;
		case 6: var sMonth = 'July'; break;
		case 7: var sMonth = 'August'; break;
		case 8: var sMonth = 'September'; break;
		case 9: var sMonth = 'October'; break;
		case 10: var sMonth = 'November'; break;
		case 11: var sMonth = 'December'; break;
	}
	
	lDate = document.getElementById('localDate');
	lDate.innerText = sMonth+' '+time.getDate()+', '+time.getFullYear();
	
	lTime = document.getElementById('localTime');
	lTime.innerText = padout(time.getHours)+':'+padout(time.getMinutes());
}

function updateForm() {
  var time = new Date();
	var TimezoneOffset = time.getTimezoneOffset();
/*
  var gmtX = document.formname.theirzone.options[document.formname.theirzone.selectedIndex].value - 0;
  time.setTime(time.getTime() + TimezoneOffset*fiddle*60*1000 + gmtX*60*60*1000 + ((document.formname.summer.checked) ? 60*60*1000 : 0));
  document.formname.theirtime.value = ampm(time);
*/  
  setClock(-9);
  setClock(-8);
  setClock(-7);
  setClock(-6);
  setClock(-5);
	setClock(0);
	
  setTimeout("updateForm()",500);
}

function worldTimeZonesHtml() {
  var color = 1;
  
  document.writeln("<table>");
  for (i=0; i < 222; i=i+2) { // 148
    //document.writeln("<tr bgcolor='#F8F9FD'><td width='120px'>"+regionsArray[i]+"</td><td width='80px'><input type='text' name='wtz"+i+"' value='' class='oucwtz'></td><td>&nbsp;</td><td width='120px'>"+regionsArray[i+148]+"</td><td width='80px'><input type='text' name='wtz"+(i+148)+"' value='' class='oucwtz'></td><td>&nbsp;</td><td width='120px'>"+regionsArray[i+296]+"</td><td width='80px'><input type='text' name='wtz"+(i+296)+"' value='' class='oucwtz'></td></tr>");
    document.writeln("<tr bgcolor='#F8F9FD'><td width='220px'>"+regionsArray[i]+"</td><td width='80px'><input type='text' name='wtz"+i+"' value='' class='oucwtz'></td><td bgcolor='white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td><td width='220px'>"+regionsArray[i+222]+"</td><td width='80px'><input type='text' name='wtz"+(i+222)+"' value='' class='oucwtz'></td></tr>");
    color = 1 - color;
  }
  document.writeln("</table>");
}

function worldTimeZones() {
  var gmtX;
  
  for (i=0; i < regionsArray.length; i=i+2) {
    var time = new Date();
    var TimezoneOffset = time.getTimezoneOffset();
    
    gmtX = regionsArray[i+1] - 0;
    time.setTime(time.getTime() + TimezoneOffset*fiddle*60*1000 + gmtX*60*60*1000 + ((document.formname.summer.checked) ? 60*60*1000 : 0));
    eval("document.formname.wtz"+i+".value = ampm(time)");
  }
  
  setTimeout("worldTimeZones()",500);
}
