function toHex(val)
{
	var x = Number(256+val).toString(16);
	return x.substr(x.length-2);
}
function to2dig(val)
{
	var x = Number(100+val).toString();
	return x.substr(x.length-2);
}
function RGB(r,g,b)
{
	return '#' + toHex(r) + toHex(g) + toHex(b);
}

// function to update the text
function updateOlympicTimer()
{
	// opening ceremonies were 8pm, Feb 10 +1GMT
	//var timeOpening = Date.UTC(2006,1,10,19,00,00);

    //UTC	Friday, August 8, 2008 at 12:00:00	
	var timeOpening = Date.UTC(2008,7,8,12,00,00);
	
	// closing ceremonies start 8pm, Feb 26 Torino time (+1GMT)
	// So, in UTC/GMT that's 7pm, 19
	//var timeClosing = Date.UTC(2006,1,26,19,00,00);
	var timeClosing = Date.UTC(2008,7,24,15,59,00);
	
	// current time, in UTC
	// adjust the current time zone to UTC/GMT (looks like getTime is UTC anyway...)
	var dateLocal = new Date();
	var timeNow = dateLocal.getTime();
	
	// compute the lengths of various time periods
	var seclen = 1000;
	var minlen = seclen * 60;
	var hourlen = minlen * 60;
	var daylen = hourlen * 24;
	
	// compute time remaining
	var delta = timeClosing - timeNow;
	var days = Math.floor(delta / daylen); delta -= days * daylen;
	var hours = Math.floor(delta / hourlen); delta -= hours * hourlen;
	var minutes = Math.floor(delta / minlen); delta -= minutes * minlen;
	var seconds = Math.floor(delta / seclen); //delta -= seconds * seclen;
	//var ms = delta;
	
	//compute what % of the way we're there...
	var timeTotal = timeClosing - timeOpening;
	var pcent = 100 * (timeNow - timeOpening) / timeTotal;
	// limit it to 2 decimal places
	pcent = (Math.floor(pcent * 100)) / 100;
	
	// pick a color (green 00FF00, yellow FFFF00, red FF0000)
	// run r from 00 to FF for the first 50%,
	// and then run green down from FF to 00 for the last 50 %
	var r,g;
	if(pcent <= 50)
	{
	g = 255;
	r = Math.floor(5.1 * pcent);
	}
	else
	{
	r = 255;
	g = 255 - Math.floor(5.1 * pcent - 255);
	}
	var color = RGB(r,g,0);
	
	// now update the text
	var elem = document.getElementById("knitolympics");
	if(elem)
	{
	elem.innerHTML = '';
	//elem.innerHTML += "<b>TIME REMAINING:</b><br><br>";
	elem.innerHTML += "<b>" + days + "</b>d ";
	elem.innerHTML += "<b>" + hours + "</b>h ";
	elem.innerHTML += "<b>" + to2dig(minutes) + "</b>m ";
	elem.innerHTML += "<b>" + to2dig(seconds) + "</b>s remaining";
	elem.style.background = color;
	elem.style.textAlign = "center";
	elem.style.border = "1px solid black";
	}
	
	// set the color/text of the panic button
	elem = document.getElementById("knitpanic");
	if(elem)
	{
	elem.innerHTML = "Elapsed time: " + pcent + "%";
	}
	
	setTimeout("updateOlympicTimer()", 1000);
}
// kick start the timer
updateOlympicTimer();
