/*
Originally created by: Shawn Patel, Saber Robotics Programming Team Member
Saber Robotics (FIRST Team #2506), Franklin, Wisconsin
Rev: January, 2012
*/

/***************************
*********IMPORTANT**********
****************************

USE THE FOLLOWING GLOBAL
VARIABLES TO CHANGE TARGET
TIMES FOR THE THREE CLOCKS

event1Str, event2Str, event3Str

THE TARGET TIMES ARE 
REPRESENTED AS DATESTRINGS
WITH THE FOLLOWING ITEMS:
	1. MONTH (SELF-
	EXPLANATORY, SPELL
	CORRECTLY)
	2. DAY OF MONTH
	3. YEAR
	4. HOUR IN MILITARY TIME
	5. MINUTES
	6. SECONDS
	
PUT TOGETHER, THESE ITEMS
SHOULD LOOK LIKE

var event1Str = "February 22, 2012 15:00:00";
var event2Str = "March 22, 2012 15:00:00";
var event3Str = "March 31, 2012 15:00:00";

Place them before this script reference.

****************************
******END OF BRIEFING*******
***************************/

function makeClock(lines_before,caption,days_id,hours_id,minutes_id,seconds_id, event)
{
	for (i = 1; i <= lines_before; i = i + 1)
	{
		document.write('<br>');
	}
	document.write(
	   '<table align="center" class="clock" border="1" cellpadding="0" cellspacing="0" width="145px"><caption>'
	  + caption + '</caption><tr><td align="center" class="clock">Days</td><td align="center" class="clock">Hrs</td>'
	  + '<td align="center" class="clock">Mins</td><td align="center" class="clock">Secs</td></tr>'
	  +'<tr><td width="25%" align="center" class="clock"><span class="clock-digit" id="' + days_id
	  +'">Please</span></td><td width="25%" align="center" class="clock"><span class="clock-digit" id="'+hours_id
	  +'">Enable</span></td><td width="25%" align="center" class="clock"><span class="clock-digit" id="'+minutes_id
	  +'">Java</span></td><td width="25%" align="center" class="clock"><span class="clock-digit" id="'+seconds_id
	  +'">script!</span></td></tr></table>'
	);
}



function clockCount()
{
	displayTimer('event1_d','event1_h','event1_m','event1_s', event1Str);
	displayTimer('event2_d','event2_h','event2_m','event2_s', event2Str);
	displayTimer('event3_d','event3_h','event3_m','event3_s', event3Str);
	setTimeout('clockCount();',1000);
}

function displayTimer(d_id,h_id,m_id,s_id,dateStr)
{
	var fromDate = new Date();	//Current time/date
	var toDate = new Date(dateStr);
	var difDate = new Date(toDate - fromDate);	//Subtracs milliseconds
	
	if (difDate >= 0) //Early error check
		timeout = 1;
	
	var days = 0;	//These variables are for how much time left
	var hours = 0;
	var mins = 0;
	var secs = 0;
	var timeout = 0;	//Error trapping variable
	
	/***************************************
	UNITS:
		-86,400,000ms per day
		-03,600,000ms per hour
		-00,060,000ms per minute
		-00,001,000ms per second
	***************************************/
	days = Math.floor(difDate/86400000);
	hours = Math.floor((difDate - (days * 86400000)) / 3600000);
	mins = Math.floor((difDate - (days * 86400000) - (hours * 3600000)) / 60000);
	secs = Math.floor((difDate - (days * 86400000) - (hours * 3600000) - (mins * 60000)) / 1000);
	
	if (days < 0)	//Error trap to check if past days
		timeout = 1;
	if (hours < 0)	//Error trap to check if past hours
		timeout = 1;
	if (mins < 0)	//Error trap to check if past minutes
		timeout = 1;
	if (secs < 0)	//Error trap to check if past seconds
		timeout = 1;
		
	if (timeout == 0)	//Only outputs if CURRENT time is before TARGET
	{
		document.getElementById(d_id).innerHTML = days;
		document.getElementById(h_id).innerHTML = hours;
		document.getElementById(m_id).innerHTML = mins;
		document.getElementById(s_id).innerHTML = secs;
		
	}
	else	//Only outputs if CURRENT time is past TARGET
	{
		document.getElementById(d_id).innerHTML = "The"
		document.getElementById(h_id).innerHTML = "time"
		document.getElementById(m_id).innerHTML = "has"
		document.getElementById(s_id).innerHTML = "come!"
	}
	
}

