﻿// retuns local time given an offset from UTC
function localeTime(offset) {
	d = new Date();
	utc = d.getTime() + (d.getTimezoneOffset() * 60000);
	return new Date(utc + (3600000 * offset));
}

// return the number of days until the 2010 Olympics in a given timezone
function countdownDays(offset) {
	var date = new Date("February 12, 2010");
	var now = localeTime(offset);
	var diff = date.getTime() - now.getTime();
	var days = Math.floor(diff / (1000 * 60 * 60 * 24)) + 1;
	if (days < 0) days = 0;
	return days;
}

// returns the value of a specified parameter in the URL
/*
function getURLParam(strParamName) {
	var strReturn = "";
	var strHref = window.location.href;
	if (strHref.indexOf("?") > -1) {
		var strQueryString = strHref.substr(strHref.indexOf("?")).toLowerCase();
		var aQueryString = strQueryString.split("&");
		for (var iParam = 0; iParam < aQueryString.length; iParam++) {
			if (aQueryString[iParam].indexOf(strParamName.toLowerCase() + "=") > -1) {
				var aParam = aQueryString[iParam].split("=");
				strReturn = aParam[1];
				break;
			}
		}
	}
	return unescape(strReturn);
}
*/

// returns the value of a specified parameter in the URL - Added by William (Feb 27, 2009)
function getURLParam(strParamName) {
	var strReturn = "";
	var PathName = window.location.pathname;
	var aQueryString=PathName.split(".");
	strReturn=aQueryString[1].toLowerCase();
	return unescape(strReturn);
}


// returns a string with a locale-specific message with the numbers of days until the 2010 Olympics
function countdownMessage() {

	var startMessage = "<span style=\"font-weight:bold; font-size: 13px; color: #FFFFFF\">";
	var startEmphasis = "<big>";
	var endEmphasis = "</big>";
	var endMessage = "</span>";
	var smallindent = "<br/>&nbsp;";
	var bigindent = "<br/>&nbsp;&nbsp;";

	<!--// get locale
	var locale = getURLParam("localeId"); 
	
	// generate and return message
	switch (locale) {
		case "en-ca":	// canada english
			return startMessage + "<span style=\"line-height: 1.1;\">" + startEmphasis + countdownDays(-5) + smallindent + "days" + endEmphasis + bigindent + "to go" + "</span>" + endMessage;
		case "fr-ca":	// canada french
			return startMessage + "<span style=\"line-height: 1.1;\">" + "il reste" + smallindent + startEmphasis + countdownDays(-5) + bigindent + "jours" + endEmphasis + "</span>" + endMessage;
		case "de": // germany
			return startMessage + "<span style=\"line-height: 1.1;\">" + startEmphasis + countdownDays(+1) + smallindent + "Tage noch" + endEmphasis + "</span>" + endMessage;
		case "en-au": // australia
			return startMessage + "<span style=\"line-height: 1.1;\">" + startEmphasis + countdownDays(+9) + smallindent + "days" + endEmphasis + bigindent + "to go" + "</span>" + endMessage;
		case "en-gb": // united kingdom
			return startMessage + "<span style=\"line-height: 1.1;\">" + startEmphasis + countdownDays(0) + smallindent + "days" + endEmphasis + bigindent + "to go" + "</span>" + endMessage;
		case "en-us": // united states
			return startMessage + "<span style=\"line-height: 1.1;\">" + startEmphasis + countdownDays(-5) + smallindent + "days" + endEmphasis + bigindent + "to go" + "</span>" + endMessage;
		case "es": // mexico
			return startMessage + "<span style=\"line-height: 1.1;\">" + "faltan" + smallindent + startEmphasis + countdownDays(-7) + bigindent + "dias" + endEmphasis + "</span>" + endMessage;
		case "fr": // france
			return startMessage + "<span style=\"line-height: 1.1;\">" + "il reste" + smallindent + startEmphasis + countdownDays(+1) + bigindent + "jours" + endEmphasis + "</span>" + endMessage;
		case "ja": // japan
			return startMessage + "<span style=\"line-height: 1.1;\">" + "&#12354;&#12392;" + smallindent + startEmphasis + countdownDays(+9) + bigindent + "&#26085;" + endEmphasis + "</span>" + endMessage;
		case "ko": // korea
			return startMessage + "<span style=\"line-height: 1.5;\">" + startEmphasis + countdownDays(+9) + smallindent + "&#51068;" + endEmphasis + "</span>" + endMessage;
		case "zh-cn": // china
			return startMessage + "<span style=\"line-height: 1.1;\">" + "&#36824;&#26377;" + smallindent + startEmphasis + countdownDays(+8) + bigindent + "&#22825;" + endEmphasis + "</span>" + endMessage;
		default:
			return startMessage + "<span style=\"line-height: 1.1;\">" + startEmphasis + countdownDays(-5) + smallindent + "days" + endEmphasis + bigindent + "to go" + "</span>" + endMessage;
	}
	
}

// returns a string with a locale-specific message with the numbers of days until the 2010 Olympics
function countdownBar() {

	var startMessage = '<b><span style="color: #FFFFFF; vertical-align: middle; line-height: 13px; font-family: Verdana;">';
	var endMessage = "</span></b>";

	// get locale
	var locale = getURLParam("localeId");
	
	// generate and return message
	switch (locale) {
		case "en-ca":	// canada english
			return startMessage + "<span style=\"font-size: 10px;\">" + "countdown to the games" + "</span>" + endMessage;
		case "fr-ca":	// canada french
			return startMessage + "<span style=\"font-size: 9px;\">" + "Compte &agrave; rebours vers 2010" + "</span>" + endMessage;
		case "de": // germany
			return startMessage + "<span style=\"font-size: 10px;\">" + "countdown zu den Spielen" + "</span>" + endMessage;
		case "en-au": // australia
			return startMessage + "<span style=\"font-size: 10px;\">" + "countdown to the games" + "</span>" + endMessage;
		case "en-gb": // united kingdom
			return startMessage + "<span style=\"font-size: 10px;\">" + "countdown to the games" + "</span>" + endMessage;
		case "en-us": // united states
			return startMessage + "<span style=\"font-size: 10px;\">" + "countdown to the games" + "</span>" + endMessage;
		case "es": // mexico
			return startMessage + "<span style=\"font-size: 8px;\">" + "cuenta regresiva para los juegos" + "</span>" + endMessage;
		case "fr": // france
			return startMessage + "<span style=\"font-size: 9px;\">" + "Compte &agrave; rebours vers 2010" + "</span>" + endMessage;
		case "ja": // japan
			return startMessage + "<span style=\"font-size: 10px;\">" + "&#12496;&#12531;&#12463;&#12540;&#12496;&#12540;&#12458;&#12522;&#12531;&#12500;&#12483;&#12463;&#12414;&#12391;" + "</span>" + endMessage;
		case "ko": // korea
			return startMessage + "<span style=\"font-size: 11px;\">" + "&#46041;&#44228;&#50732;&#47548;&#54589; &#52852;&#50868;&#53944;&#45796;&#50868;" + "</span>" + endMessage;
		case "zh-cn": // china
			return startMessage + "<span style=\"font-size: 11px;\">" + "&#36317;2010&#28201;&#21733;&#21326;&#20908;&#22885;&#20250;" + "</span>" + endMessage;
		default:
			return startMessage + "<span style=\"font-size: 10px;\">" + "countdown to the games" + "</span>" + endMessage;
	}
	
}
