var curtime = new Date; curtime.setTime(1714201622000); var lastloctime = new Date; lastloctime.setMilliseconds(0); var diff = curtime.getTime() - lastloctime.getTime(); var serversnow = new Date; function recalcserversnow() { serversnow.setTime((new Date).getTime() + diff); } recalcserversnow(); var nextstartdate = new Date; var nextenddate = new Date; nextstartdate.setTime(1714406400000); nextenddate.setTime(1714665600000); AuctionClosed = false; var curday = serversnow.getDate(); var curhour = serversnow.getHours() / 24; function calcauctionrunning(){ if (AuctionClosed) return 0; var curtime = serversnow.getTime(); if ((nextenddate > nextstartdate) && (curtime < nextstartdate)) return 0; if (curtime < nextenddate) return 1; return 0; } var auctionrunning = calcauctionrunning(); function resettimes(){ // In the meaning of setting them again - not // setting them to defaults :-) return; // we don't want this nextstartdate.setTime(curtime.getTime()); nextstartdate.setDate(startday); nextstartdate.setMinutes(0); nextstartdate.setSeconds(0); nextstartdate.setMilliseconds(0); nextstartdate.setHours(starthour); if (nextstartdate < curtime){ if (nextstartdate.getMonth() < 11){ nextstartdate.setMonth(nextstartdate.getMonth() + 1); } else { nextstartdate.setMonth(0); nextstartdate.setFullYear(nextstartdate.getFullYear() + 1); } }; nextenddate.setTime(curtime.getTime()); nextenddate.setDate(endday); nextenddate.setMinutes(0); nextenddate.setSeconds(0); nextenddate.setMilliseconds(0); nextenddate.setHours(endhour); if (nextenddate < curtime){ if (nextenddate.getMonth() < 11){ nextenddate.setMonth(nextenddate.getMonth() + 1); } else { nextenddate.setMonth(0); nextenddate.setFullYear(nextenddate.getFullYear() + 1); } }; }; function reloadframes(){ location.reload(); // no frames }; function recalctimes(){ recalcserversnow(); var curday = serversnow.getDate(); var curhour = serversnow.getHours() / 24; var prev = auctionrunning; auctionrunning = calcauctionrunning(); if (typeof prev == "boolean" && (prev != auctionrunning)){ // oh my god oh my god oh my god NU ÅBNER / LUKKER AUKTIONEN for (var i = 0; i < auctionEvents.length; i++) { if ((auctionEvents[i][0] == "onOpen" && auctionrunning) || (auctionEvents[i][1] == "onClose" && !auctionrunning)){ if (typeof auctionEvents[i][1] == "string") { eval(auctionEvents[i][1]); } else if (typeof auctionEvents[i][1] == "function") { auctionEvents[i][1](); } } } } } resettimes(); recalctimes(); if (typeof elementstoshowstatusin == "undefined"){ var elementstoshowstatusin = new Array(); } if (typeof auctionEvents == "undefined"){ var auctionEvents = new Array( new Array("onOpen", "reloadframes()"), new Array("onClose", "reloadframes()") ); } if (typeof minnumberlength == "undefined"){ var minnumberlength = function (i, n){ var s = i + ""; while (s.length < n){ s = "0" + s; } return s; } } function updateelements(){ if (AuctionClosed){ for (var i in elementstoshowstatusin){ eval(elementstoshowstatusin[i][0] + " = \"" + res + "\""); }; } else { //recalcserversnow(); recalctimes(); // This also recalcs server's Now. var stime = ""; var sshorttime = ""; ddiff = new Date; //recalcserversnow(); if (auctionrunning){ ddiff.setTime(nextenddate.getTime() - serversnow.getTime()); } else { ddiff.setTime(nextstartdate.getTime() - serversnow.getTime()); }; var nday = ddiff.getTime(); nday = nday - (nday % (1000 * 60 * 60 * 24)); nday = nday / (1000 * 60 * 60 * 24); ddiff.setTime(ddiff.getTime() + 1000 * 60 * 60 * 23); // Læg en // dag til for at gå udenom en bug, der lægger en time til i // getHours() når int repræsentationen af datoen ikke er over en // dag. Det giver ingen mening, men sådan er de fleste // third-party bugs jo. var day = nday; var hour = ddiff.getHours(); var minute = ddiff.getMinutes(); var second = ddiff.getSeconds(); if (day > 1){ stime += day + " dage, "; } else { hour += day * 24; day = -1; // Noter, at 'x dage, ' ikke er i strengen }; if (day == -1 && hour < 1){ minute += hour * 60; hour = -1; // Noter tilsvarende, at 'x timer' ikke er i strengen } else { stime += hour + " timer, "; }; if (hour == -1 && minute < 3){ second += minute * 60; minute = -1; } else { stime += minute + " minutter, "; }; if (minute == -1){ stime += "
"+second+"<\\\/div>"; } else { stime += second + " sekund" + (second == 1 ? "" : "er") + "."; }; day = nday; hour = ddiff.getHours(); minute = ddiff.getMinutes(); second = ddiff.getSeconds(); if (day < 1){ sshorttime = ""; day = -1; } else { sshorttime = day + ":"; }; if (day < 0){ if (hour < 1){ minute += hour * 60; hour = -1; }; }; if (hour >= 0){ sshorttime += minnumberlength(hour, 2) + ":"; }; if (hour < 0){ if (minute <= 5){ second += minute * 60; minute = -1; }; }; if (minute >= 0){ sshorttime += minnumberlength(minute, 2) + ":"; }; if (sshorttime == ""){ sshorttime = ""+second+""; } else { sshorttime += minnumberlength(second, 2); }; for (var i in elementstoshowstatusin){ var currec = elementstoshowstatusin[i]; var curelement = currec[0]; var curformat = currec[1]; var ifonlinethen = currec[2]; var ifofflinethen = currec[3]; var closedformat = currec[4]; var res; if (!AuctionClosed){ res = curformat; var toreplace = res.indexOf("%s"); while (toreplace > -1){ var before = res.substr(0, toreplace); var after = res.substr(toreplace+2, res.length); res = before; if (auctionrunning){ res += ifonlinethen; } else { res += ifofflinethen; }; res += after; toreplace = res.indexOf("%s"); }; toreplace = res.indexOf("%i"); while (toreplace > -1){ res = res.substr(0, toreplace) + stime + res.substr(toreplace+2, res.length); toreplace = res.indexOf("%i"); }; toreplace = res.indexOf("%l"); while (toreplace > -1){ res = res.substr(0, toreplace) + sshorttime + res.substr(toreplace+2, res.length); toreplace = res.indexOf("%l"); }; /*res = res.replace("¤startday¤", startday); res = res.replace("¤starthour¤", starthour); res = res.replace("¤endday¤", endday); res = res.replace("¤endhour¤", endhour); res = res.replace("¤curhour¤", nextstartdate.getHours());*/ } else { res = closedformat; }; eval(currec[0] + " = \"" + res + "\""); }; }; }; var updateelements_interval = setInterval("updateelements()", 1000); function counter_onloadhook() { var oldonload = window.onload; if (typeof window.onload == "string"){ window.onload = function() { eval(oldonload); updateelements(); } } else if (typeof window.onload == 'function') { window.onload = function() { if (oldonload) { oldonload(); } updateelements(); } } else { window.onload = updateelements; } } counter_onloadhook(); if (typeof elementstoshowstatusin != "undefined"){ var idx = elementstoshowstatusin.length; elementstoshowstatusin[idx] = new Array( "document.getElementById('counter').innerHTML", "%s", "%l<\\\/span>", "%l<\\\/span>", "Lukket<\\\/span>" //"Auktionen er lukket<\\\/span> på ubestemt tid." ); }