Chezshire Posted September 14, 2008 Share Posted September 14, 2008 Hello Everyone. I'm a newb who has been playing with coding, php, javascript, and other net related things for a few months and has very, very little idea of what he is doing. I've run into a road block and i'm hoping some nice kind <note the butt smooching here > wonderful person out their < i.e. you reading things please please please help me > might be able to prove some advice or wisdom in resolving my problem. Huge thanks! PROBLEM: A friend hep me update some stuff on my site last night, and now i'm getting an odd error which results in a pop up window appearing that says 'Launch time!' which i have to click 'OK' to proceed to any page which has the javascript on it. I believe the problem has something to do with line #49 as shown below (full javascript is at the bottom of this post - i've pull the two areas which I think are related to the problem and spotlighted them for anyone who might be able to help me out with resolving this issue. #045 cdLocalTime.prototype.showresults=function(){ #046 var thisobj=this #047 var debugstring=(this.debugmode)? "<p style=\"background-color: #FCD6D6; color: black; padding: 5px\"><big>Debug Mode on!</big><br /><b>Current Local time:</b> "+this.localtime.toLocaleString()+"<br />Verify this is the correct current local time, in other words, time zone of count down date.<br /><br /><b>Target Time:</b> "+this.targetdate.toLocaleString()+"<br />Verify this is the date/time you wish to count down to (should be a future date).</p>" : "" #048 #049 var timediff=(this.targetdate-this.localtime)/1000 //difference btw target date and current date, in seconds #49 var timediff=(this.targetdate-this.localtime)/1000 //difference btw target date and current date, in seconds #50 if (timediff<0){ //if time is up #51 this.timesup=true #52 this.container.innerHTML=debugstring+this.formatresults() #53 return #54 } #105 } #106 else{ //else if target date/time met #107 var displaystring="" //Don't display any text #108 alert("Launch time!") //Instead, perform a custom alert #109 } #110 return displaystring #111 } #112 ERROR MESSAGE: Debug Mode on! Current Local time: September 14, 2008 8:27:02 AM PDT Verify this is the correct current local time, in other words, time zone of count down date. Target Time: September 14, 2008 12:00:05 AM PDT Verify this is the date/time you wish to count down to (should be a future date). undefined Full code for page (It's loaded several times in various places) [/b] <head> <style type="text/css"> .lcdstyle{ /*Example CSS to create LCD countdown look*/ background-color:#050F1D; color:fff; font: bold 16px MS Sans Serif; padding: 3px; } .lcdstyle sup{ /*Example CSS to create LCD countdown look*/ font-size: 80% } </style> </head> <script type="text/javascript"> //To debug or reset cloc add ',debugmode' to the function line below - remove once reset function cdLocalTime(container, servermode, offsetMinutes, targetdate, debugmode){ if (!document.getElementById || !document.getElementById(container)) return this.container=document.getElementById(container) var servertimestring=(servermode=="server-php")? '<? print date("F d, Y H:i:s", time())?>' : (servermode=="server-ssi")? '<!--#config timefmt="%B %d, %Y %H:%M:%S"--><!--#echo var="DATE_LOCAL" -->' : '<%= Now() %>' this.localtime=this.serverdate=new Date(servertimestring) this.targetdate=new Date(targetdate) this.debugmode=(typeof debugmode!="undefined")? 1 : 0 this.timesup=false this.localtime.setTime(this.serverdate.getTime()+offsetMinutes*60*1000) //add user offset to server time this.updateTime() } cdLocalTime.prototype.updateTime=function(){ var thisobj=this this.localtime.setSeconds(this.localtime.getSeconds()+1) setTimeout(function(){thisobj.updateTime()}, 1000) //update time every second } cdLocalTime.prototype.displaycountdown=function(baseunit, functionref){ this.baseunit=baseunit this.formatresults=functionref this.showresults() } cdLocalTime.prototype.showresults=function(){ var thisobj=this var debugstring=(this.debugmode)? "<p style=\"background-color: #FCD6D6; color: black; padding: 5px\"><big>Debug Mode on!</big><br /><b>Current Local time:</b> "+this.localtime.toLocaleString()+"<br />Verify this is the correct current local time, in other words, time zone of count down date.<br /><br /><b>Target Time:</b> "+this.targetdate.toLocaleString()+"<br />Verify this is the date/time you wish to count down to (should be a future date).</p>" : "" var timediff=(this.targetdate-this.localtime)/1000 //difference btw target date and current date, in seconds if (timediff<0){ //if time is up this.timesup=true this.container.innerHTML=debugstring+this.formatresults() return } var oneMinute=60 //minute unit in seconds var oneHour=60*60 //hour unit in seconds var oneDay=60*60*24 //day unit in seconds var dayfield=Math.floor(timediff/oneDay) var hourfield=Math.floor((timediff-dayfield*oneDay)/oneHour) var minutefield=Math.floor((timediff-dayfield*oneDay-hourfield*oneHour)/oneMinute) var secondfield=Math.floor((timediff-dayfield*oneDay-hourfield*oneHour-minutefield*oneMinute)) if (this.baseunit=="hours"){ //if base unit is hours, set "hourfield" to be topmost level hourfield=dayfield*24+hourfield dayfield="n/a" } else if (this.baseunit=="minutes"){ //if base unit is minutes, set "minutefield" to be topmost level minutefield=dayfield*24*60+hourfield*60+minutefield dayfield=hourfield="n/a" } else if (this.baseunit=="seconds"){ //if base unit is seconds, set "secondfield" to be topmost level var secondfield=timediff dayfield=hourfield=minutefield="n/a" } this.container.innerHTML=debugstring+this.formatresults(dayfield, hourfield, minutefield, secondfield) setTimeout(function(){thisobj.showresults()}, 1000) //update results every second } /////CUSTOM FORMAT OUTPUT FUNCTIONS BELOW////////////////////////////// //Create your own custom format function to pass into cdLocalTime.displaycountdown() //Use arguments[0] to access "Days" left //Use arguments[1] to access "Hours" left //Use arguments[2] to access "Minutes" left //Use arguments[3] to access "Seconds" left //The values of these arguments may change depending on the "baseunit" parameter of cdLocalTime.displaycountdown() //For example, if "baseunit" is set to "hours", arguments[0] becomes meaningless and contains "n/a" //For example, if "baseunit" is set to "minutes", arguments[0] and arguments[1] become meaningless etc //1) Display countdown using plain text function formatresults(){ if (this.timesup==false){//if target date/time not yet met var displaystring="<span style='background-color: #CFEAFE'>"+arguments[1]+" hours "+arguments[2]+" minutes "+arguments[3]+" seconds</span>" } else{ //else if target date/time met var displaystring="rollover!" } return displaystring } //2) Display countdown with a stylish LCD look, and display an alert on target date/time function formatresults2(){ if (this.timesup==false){ //if target date/time not yet met var displaystring="<span class='lcdstyle'>"+arguments[0]+" <sup>days</sup> "+arguments[1]+" <sup>hours</sup> "+arguments[2]+" <sup>minutes</sup> "+arguments[3]+" <sup>seconds</sup></span> Until Rollover" } return displaystring } </script> <body> <div id="cdcontainer"></div> <script type="text/javascript"> //cdLocalTime("ID_of_DIV_container", "server_mode", LocaltimeoffsetMinutes, "target_date", "opt_debug_mode") //cdLocalTime.displaycountdown("base_unit", formatfunction_reference) //Note: "launchdate" should be an arbitrary but unique variable for each instance of a countdown on your page: var launchdate=new cdLocalTime("cdcontainer", "server-php", 0, "September 14, 2008 00:00:05", "debugmode") launchdate.displaycountdown("days", formatresults2) </script> </body> </html> Quote Link to comment Share on other sites More sharing options...
obsidian Posted September 15, 2008 Share Posted September 15, 2008 If I understand your issue right, you are wanting to turn off the debug mode so that the alert box does not appear on every page. If so, consider the following line: function cdLocalTime(container, servermode, offsetMinutes, targetdate, debugmode) If you pass in the final parameter (no matter what it is), the debugmode of the object is set to 1 (or on). So, wherever you call cdLocalTime(), you need to be sure you have only 4 parameters and not 5. Removing the 5th parameter will turn off debug mode for you. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.