/////////////////////////////////////////////////////////// // "Live Clock Advanced" script - Version 1.0 // By Mark Plachetta (astroboy@zip.com.au) // // Get the latest version at: // http://www.zip.com.au/~astroboy/liveclock/ // // Based on the original script: "Upper Corner Live Clock" // available at: // - Dynamic Drive (http://www.dynamicdrive.com) // - Website Abstraction (http://www.wsabstract.com) // ======================================================== // CHANGES TO ORIGINAL SCRIPT: // - Gave more flexibility in positioning of clock // - Added date construct (Advanced version only) // - User configurable // ======================================================== // Both "Advanced" and "Lite" versions are available free // of charge, see the website for more information on the // two scripts. /////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////// /////////////// CONFIGURATION ///////////////////////////// // Set the clock's font face: var myfont_face = "Geneva"; // Set the clock's font size (in point): var myfont_size = "1"; // Set the clock's font color: var myfont_color = "#000000"; // Set the clock's background color: var myback_color = "#E0E0E0"; // Set the text to display before the clock: var mypre_text = ""; // Set the width of the clock (in pixels): var mywidth = 70; // Display the time in 24 or 12 hour time? // 0 = 24, 1 = 12 var my12_hour = 1; // How often do you want the clock updated? // 0 = Never, 1 = Every Second, 2 = Every Minute // If you pick 0 or 2, the seconds will not be displayed var myupdate = 1; // Display the date? // 0 = No, 1 = Yes var DisplayDate = 0; /////////////// END CONFIGURATION ///////////////////////// /////////////////////////////////////////////////////////// // Global varibale definitions: var dn = ""; var mn = "th"; var old = ""; // The following arrays contain data which is used in the clock's // date function. Feel free to change values for Days and Months // if needed (if you wanted abbreviated names for example). var DaysOfWeek = new Array(7); DaysOfWeek[0] = "Domingo"; DaysOfWeek[1] = "Lunes"; DaysOfWeek[2] = "Martes"; DaysOfWeek[3] = "Miércoles"; DaysOfWeek[4] = "Jueves"; DaysOfWeek[5] = "Viernes"; DaysOfWeek[6] = "Sábado"; var MonthsOfYear = new Array(12); MonthsOfYear[0] = "enero"; MonthsOfYear[1] = "febrero"; MonthsOfYear[2] = "marzo"; MonthsOfYear[3] = "abril"; MonthsOfYear[4] = "mayo"; MonthsOfYear[5] = "junio"; MonthsOfYear[6] = "julio"; MonthsOfYear[7] = "agosto"; MonthsOfYear[8] = "septiembre"; MonthsOfYear[9] = "octubre"; MonthsOfYear[10] = "noviembre"; MonthsOfYear[11] = "diciembre"; // This array controls how often the clock is updated, // based on your selection in the configuration. var ClockUpdate = new Array(3); ClockUpdate[0] = 0; ClockUpdate[1] = 1000; ClockUpdate[2] = 60000; // Se queda con la fecha_hora inicial del server var fecha_desde = new Date(2010, 6, 30, 3, 6, 33); // Se queda con la fecha_hora inicial del cliente var init_date = new Date(); // Diferencia de hora Miami - Buenos Aires. Expresado en milisegundos. var miami_dif_miliseg = 3600000; // The main part of the script: function RelojHoraArgentina() { if (old == "die") { return; } //show clock in NS 4 if (document.layers) document.RelojArgentinaPosNS.visibility="show" // fecha_hora actual var ahora = new Date(); // Calcula date_now = fecha_desde + ( Date() - init_date ) var Digital = new Date( fecha_desde.valueOf() + (ahora.valueOf() - init_date.valueOf()) ); // Get all our date variables: //var Digital = new Date(); var day = Digital.getDay(); var mday = Digital.getDate(); var month = Digital.getMonth(); var year = Digital.getYear(); var hours = Digital.getHours(); var minutes = Digital.getMinutes(); var seconds = Digital.getSeconds(); // Fix the "mn" variable if needed: if (mday == 1) { mn = "st"; } else if (mday == 2) { mn = "nd"; } else if (mday == 3) { mn = "rd"; } else if (mday == 21) { mn = "st"; } else if (mday == 22) { mn = "nd"; } else if (mday == 23) { mn = "rd"; } else if (mday == 31) { mn = "st"; } // Set up the hours for either 24 or 12 hour display: if (my12_hour) { dn = "AM"; if (hours > 12) { dn = "PM"; hours = hours - 12; } if (hours == 0) { hours = 12; } } else { dn = ""; } if (minutes <= 9) { minutes = "0"+minutes; } if (seconds <= 9) { seconds = "0"+seconds; } // This is the actual HTML of the clock. If you're going to play around // with this, be careful to keep all your quotations in tact. myclock = ''; myclock += ''; myclock += mypre_text; if (DisplayDate) { myclock += DaysOfWeek[day]+' '+mday+' de ' + MonthsOfYear[month] + ' de ' + year + ', '; } myclock += ''+hours+':'+minutes; if ((myupdate < 2) || (myupdate == 0)) { myclock += ':'+seconds; } myclock += ' '+dn+''; myclock += ''; if (old == "true") { document.write(myclock); old = "die"; return; } // Write the clock to the layer: if (document.layers) { clockpos = document.RelojArgentinaPosNS; liveclock = clockpos.document.RelojArgentinaNS; liveclock.document.write(myclock); liveclock.document.close(); } else if (document.all) { RelojArgentinaVivoIE.innerHTML = myclock; } if (myupdate != 0) { setTimeout("RelojHoraArgentina()",ClockUpdate[myupdate]); } } // The main part of the script: RELOJ HORA MIAMI function RelojHoraUSA() { if (old == "die") { return; } //show clock in NS 4 if (document.layers) document.RelojUSAPosNS.visibility="show" // fecha_hora actual var ahora = new Date(); // Calcula date_now = fecha_desde + ( Date() - init_date ) - (segundos de diferencia con Miami) var Digital = new Date( fecha_desde.valueOf() + (ahora.valueOf() - init_date.valueOf()) - miami_dif_miliseg ); // Get all our date variables: //var Digital = new Date(); var day = Digital.getDay(); var mday = Digital.getDate(); var month = Digital.getMonth(); var year = Digital.getYear(); var hours = Digital.getHours(); var minutes = Digital.getMinutes(); var seconds = Digital.getSeconds(); // Fix the "mn" variable if needed: if (mday == 1) { mn = "st"; } else if (mday == 2) { mn = "nd"; } else if (mday == 3) { mn = "rd"; } else if (mday == 21) { mn = "st"; } else if (mday == 22) { mn = "nd"; } else if (mday == 23) { mn = "rd"; } else if (mday == 31) { mn = "st"; } // Set up the hours for either 24 or 12 hour display: if (my12_hour) { dn = "AM"; if (hours > 12) { dn = "PM"; hours = hours - 12; } if (hours == 0) { hours = 12; } } else { dn = ""; } if (minutes <= 9) { minutes = "0"+minutes; } if (seconds <= 9) { seconds = "0"+seconds; } // This is the actual HTML of the clock. If you're going to play around // with this, be careful to keep all your quotations in tact. myclock = ''; myclock += ''; myclock += mypre_text; if (DisplayDate) { myclock += DaysOfWeek[day]+' '+mday+' de ' + MonthsOfYear[month] + ' de ' + year + ', '; } myclock += ''+hours+':'+minutes; if ((myupdate < 2) || (myupdate == 0)) { myclock += ':'+seconds; } myclock += ' '+dn+''; myclock += ''; if (old == "true") { document.write(myclock); old = "die"; return; } // Write the clock to the layer: if (document.layers) { clockpos = document.RelojUSAPosNS; liveclock = clockpos.document.RelojUSANS; liveclock.document.write(myclock); liveclock.document.close(); } else if (document.all) { RelojUSAVivoIE.innerHTML = myclock; } if (myupdate != 0) { setTimeout("RelojHoraUSA()",ClockUpdate[myupdate]); } } function dos_ceros(n) { if(n < 10) return '0' + n; else return n; }