function ShowCityTimes(dt){ //var dt=new Date(); var def=dt.getTimezoneOffset()/60; var gmt=(dt.getHours()+def); var minsec=':'+IfZero(dt.getMinutes())+':'+IfZero(dt.getSeconds()); for (var i=0;i<25 ;i++ ){ if (i==12) i++; d.getElementById('city'+i).value=check24(gmt+i-12)+minsec; } //setTimeout("GetTime()",500); } function IfZero(num){return((num<=9)?("0"+num):num);} function check24(hour){return IfZero((hour>=24)? hour-24:hour);}//--> var left = "Clock updated"; var xi = null; var req = null; var tn = null; var gn = null; var now = null; var df = null; var jt = null; var ho = null; function load(url){ if (window.XMLHttpRequest) { req = new XMLHttpRequest(); req.onreadystatechange = process; req.open("GET", url, true); req.send(null); } else if (window.ActiveXObject) { req = new ActiveXObject("Microsoft.XMLHTTP"); if (req) { req.onreadystatechange = process; req.open("POST", url, true); req.setRequestHeader( "If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT" ); req.send(); } } } function process() { if (req.readyState == 4) { if (req.status == 200) { sw = parseFloat(req.responseText); user_time = (new Date()).getTime(); server_time = (new Date(sw)).getTime(); user_server_difference = server_time - user_time; }} } function GetObject(name, inLayer) { return document[name] || (document.all && document.all[name]) || (document.getElementById && document.getElementById(name)) || (document.layers && inLayer && document.layers[inLayer].document[name]); } function WriteToDiv(div, input){ var div_x = GetObject(div); input = input; if (div_x && div_x.innerHTML) div_x.innerHTML = input; else if (div_x && div_x.document) { div_x.document.writeln(input); div_x.document.close(); } } function WriteDisplay(input, layer) { WriteToDiv(layer, input); } function Compile(day, date, month, year, hour, minute, second, type, date_layer, time_layer, s_tzone, tzone_value, nt, time_layer_2){ var hour_check_1 = hour; var hour_check_2 = hour; switch (day){ case 0 : day = "Sunday"; break; case 1 : day = "Monday"; break; case 2 : day = "Tuesday"; break; case 3 : day = "Wednesday"; break; case 4 : day = "Thursday"; break; case 5 : day = "Friday"; break; case 6 : day = "Saturday"; break; } switch (month){ case 0 : month = "January"; break; case 1 : month = "February"; break; case 2 : month = "March"; break; case 3 : month = "April"; break; case 4 : month = "May"; break; case 5 : month = "June"; break; case 6 : month = "July"; break; case 7 : month = "August"; break; case 8 : month = "September"; break; case 9 : month = "October"; break; case 10 : month = "November"; break; case 11 : month = "December"; break; } if (hour < 10) hour = ("0" + hour); if (minute < 10) minute = ("0" + minute); if (second < 10) second = ("0" + second); if (hour_check_2 == 0){ var display_hour = 12; WriteDisplay(day + ", " + date + " " + month + " " + year, date_layer); if (type == "top") WriteDisplay(hour + ":" + minute + " / " + display_hour + ":" + minute , date_layer); if (nt == 1){ if (time_layer == null) time_layer = "xzx"; if (time_layer.match("gmt")) WriteDisplay(hour_check_1 + ":" + minute , time_layer_2); else if (time_layer == null) WriteDisplay(hour_check_1 + ":" + minute , time_layer_2); else{ WriteDisplay(hour_check_1 + ":" + minute , time_layer_2); WriteDisplay(hour + ":" + minute + ":" + second, time_layer); } } else WriteDisplay(hour + ":" + minute + ":" + second + " / " + display_hour + ":" + minute + ":" + second , time_layer); if (minute == 0 && second == 0){ WriteDisplay(day + ", " + date + " " + month + " " + year, date_layer); if (type == "top") WriteDisplay(hour + ":" + minute + " / " + "Midnight", time_layer); else WriteDisplay(hour + ":" + minute + ":" + second + " / " + "Midnight", time_layer); } } else if (hour_check_2 >= 0 && hour_check_2 <= 12){ WriteDisplay(day + ", " + date + " " + month + " " + year, date_layer); if (type == "top") WriteDisplay(hour + ":" + minute , time_layer); if (nt == 1){ if (time_layer == null) time_layer = "xzx"; if (time_layer.match("gmt")) WriteDisplay(hour_check_1 + ":" + minute , time_layer_2); else if (time_layer == null) WriteDisplay(hour_check_1 + ":" + minute , time_layer_2); else { WriteDisplay(hour_check_1 + ":" + minute , time_layer_2); WriteDisplay(hour + ":" + minute + ":" + second, time_layer); } } else WriteDisplay(hour + ":" + minute + ":" + second , time_layer); if (hour_check_1 == 12 && minute == 00 && second == 00){ WriteDisplay(day + ", " + date + " " + month + " " + year, date_layer); if (type == "top") WriteDisplay(hour + ":" + minute + " / " + "Noon", time_layer); else WriteDisplay(hour + ":" + minute + ":" + second + " / " + "Noon", time_layer); } } else{ WriteDisplay(day + ", " + date + " " + month + " " + year, date_layer); if (type == "top") WriteDisplay(hour + ":" + minute + " / " + hour_check_1 + ":" + minute , time_layer); if (nt == 1){ if (time_layer == null) time_layer = "xzx"; if (time_layer.match("gmt")) WriteDisplay(hour_check_1 + ":" + minute , time_layer_2); else if (time_layer == null) WriteDisplay(hour_check_1 + ":" + minute , time_layer_2); else { WriteDisplay(hour_check_1 + ":" + minute , time_layer_2); WriteDisplay(hour + ":" + minute + ":" + second, time_layer); } } else WriteDisplay(hour + ":" + minute + ":" + second + " / " + hour_check_1 + ":" + minute + ":" + second , time_layer); } WriteDisplay(tzone_value, s_tzone); } function display (s, div_gmt_date, div_gmt_time, div_user_date, div_user_time, update_display, ko, xx, qv, nu) { //var dt=new Date(); var def=dt.getTimezoneOffset()/60; var gmt=(dt.getHours()+def); var minsec=':'+IfZero(dt.getMinutes())+':'+IfZero(dt.getSeconds()); for (var i=0;i<25 ;i++ ){ if (i==12) i++; document.getElementById('city'+i).value=check24(gmt+i-12)+minsec; } df = parseInt(ko); if (df > 0){ ho = df; ho = (ho / 60 / 60 / 1000); ho = ho + ''; if (ho.match(".25")) ho = ho.replace(/\.25/, ":15"); else if (ho.match(".75")) ho = ho.replace(/\.75/, ":45"); else if (ho.match(".5")) ho = ho.replace(/\.5/, ":30"); else ho = ho + ":00"; jt = "Local Time = GMT + " + ho + " (Standard Time)"; } else if (df < 0){ ho = df - df - df; ho = (ho / 60 / 60 / 1000); ho = ho + ''; if (ho.match(".25")) ho = ho.replace(/\.25/, ":15"); else if (ho.match(".75")) ho = ho.replace(/\.75/, ":45"); else if (ho.match(".5")) ho = ho.replace(/\.5/, ":30"); else ho = ho + ":00"; jt = "Local Time = GMT - " + ho + " (Standard Time)"; } else if (df == 0) jt = "Local Time = GMT"; tn = (new Date()).getTime(); if (now !== null){ gn = tn - now; } if (s == "main_top") type = "top"; else type = "normal"; now = (new Date()).getTime(); var true_user_time = new Date(now + user_server_difference); var ServerDSTCheck = true_user_time; var thisYear = true_user_time.getUTCFullYear(); var Spring = new Date(); Spring.setTime(Date.UTC(2007, 2, 25, 1, 0, 0)); switch (thisYear){ case 2008 : Spring.setTime(Date.UTC(2008, 2, 30, 1, 0, 0)); break; case 2009 : Spring.setTime(Date.UTC(2009, 2, 29, 1, 0, 0)); break; case 2010 : Spring.setTime(Date.UTC(2010, 2, 28, 1, 0, 0)); break; case 2011 : Spring.setTime(Date.UTC(2011, 2, 27, 1, 0, 0)); break; } GoSpring = Spring.getTime(); var Fall = new Date(); Fall.setTime(Date.UTC(2007, 9, 28, 1, 0, 0)); switch (thisYear){ case 2008 : Fall.setTime(Date.UTC(2008, 9, 26, 1, 0, 0)); break; case 2009 : Fall.setTime(Date.UTC(2009, 9, 25, 1, 0, 0)); break; case 2010 : Fall.setTime(Date.UTC(2010, 9, 31, 1, 0, 0)); break; case 2011 : Fall.setTime(Date.UTC(2011, 9, 30, 1, 0, 0)); break; } GoFall = Fall.getTime(); if (ServerDSTCheck >= GoSpring && ServerDSTCheck < GoFall){ df = 7200000; jt = "GMT + 2:00 (Central Europe Daylight / Summer Time)"; } else if ((ServerDSTCheck < GoSpring || ServerDSTCheck >= GoFall)){ df = 3600000; jt = "GMT + 1:00 (Central Europe Standard Time)"; } var UTCDay = true_user_time.getUTCDay(); var UTCDate = true_user_time.getUTCDate(); var UTCMonth = true_user_time.getUTCMonth(); var UTCYear = true_user_time.getUTCFullYear(); var UTCHours = true_user_time.getUTCHours(); var UTCMinutes = true_user_time.getUTCMinutes(); var aSeconds = true_user_time.getUTCSeconds(); if (qv == 1) Compile (UTCDay, UTCDate, UTCMonth, UTCYear, UTCHours, UTCMinutes, aSeconds, type, div_gmt_date, div_gmt_time, "gmt_link_default", 'GMT', qv, "gmt_time_sec"); else Compile (UTCDay, UTCDate, UTCMonth, UTCYear, UTCHours, UTCMinutes, aSeconds, type, div_gmt_date, div_gmt_time); var bi = aSeconds; if (bi > xi || bi == 59 && xi == 0){ left = start - 1; start = left; } var gr = true_user_time.getTimezoneOffset(); gr = gr * 60 * 1000; var nr = true_user_time.getTime(); nr = nr + gr; nr = nr + df; nr = new Date(nr); var lDay = nr.getDay(); var lDate = nr.getDate(); var lMonth = nr.getMonth(); var lYear = nr.getFullYear(); var lHours = nr.getHours(); var lMinutes = nr.getMinutes(); var aSeconds = nr.getSeconds(); if (qv == 1){ Compile (lDay, lDate, lMonth, lYear, lHours, lMinutes, aSeconds, type, div_user_date, div_user_time, xx, jt, qv, nu); var tDay = true_user_time.getDay(); var tDate = true_user_time.getDate(); var tMonth = true_user_time.getMonth(); var tYear = true_user_time.getFullYear(); var tHours = true_user_time.getHours(); var tMinutes = true_user_time.getMinutes(); var aSeconds = true_user_time.getSeconds(); Compile (tDay, tDate, tMonth, tYear, tHours, tMinutes, aSeconds, type, "user_date_2", null, "user_timezone_2", "User Timezone", qv, "user_time_sec_2"); } else Compile (lDay, lDate, lMonth, lYear, lHours, lMinutes, aSeconds, type, div_user_date, div_user_time, xx, jt); xi = aSeconds; var city_times_base = new Date(now + user_server_difference + df - 3600000); ShowCityTimes(city_times_base); setTimeout('display("'+s+'","'+div_gmt_date+'","'+div_gmt_time+'","'+div_user_date+'","'+div_user_time+'","'+update_display+'","'+df+'","'+xx+'","'+qv+'","'+nu+'")', 500); }