$(document).ready(function() {
	LaunchDate.localize($('.date'));
	LaunchDate.localize($('.time'));
});

/**
 * Reformats a launch date per the user’s time zone and locale.
 *
 * @copyright   2010, Blizzard Entertainment, Inc.
 * @class       AccountHistory
 * @requires    
 * @example
 *
 *      LaunchDate.localize();
 *
 */
var LaunchDate = {
	localize: function(element) {
		if (!element.length) {
			return false;
		}
		var datetime = element.attr('class').split(' ')[1],
			type = element.attr('class').split(' ')[0],
			format = 'dd-MM-yyyy HH:mm';
		switch (Core.locale) {
			default:
			case 'de-de':
			case 'pl-pl':
				format = 'dd.MM.yyyy HH:mm';
				break;
			case 'en-us':
				format = 'MM/dd/yyyy hh:mm a';
				break;
			case 'en-gb':
			case 'es-es':
			case 'es-mx':
			case 'fr-fr':
			case 'pt-br':
			case 'it-it':
			case 'ru-ru':
				format = 'dd/MM/yyyy HH:mm';
				break;
			case 'en-sg':
				format = 'dd/MM/yyyy hh:mm a';
				break;
			case 'ja-ja':
			case 'ko-kr':
				format = 'yyyy/MM/dd HH:mm';
				break;
			case 'zh-cn':
			case 'zh-tw':
				format = 'yyyy-MM-dd HH:mm';
				break;
		}
		if (type === 'date') {
			switch (Core.locale) {
				default:
				case 'de-de':
				case 'pl-pl':
					format = 'dd.MM';
					break;
				case 'en-us':
					format = 'MM/dd';
					break;
				case 'en-gb':
				case 'es-es':
				case 'es-mx':
				case 'fr-fr':
				case 'pt-br':
				case 'it-it':
				case 'ru-ru':
					format = 'dd/MM';
					break;
				case 'en-sg':
					format = 'dd/MM';
					break;
				case 'ja-ja':
				case 'ko-kr':
					format = 'MM/dd';
					break;
				case 'zh-cn':
				case 'zh-tw':
					format = 'MM-dd';
					break;
			}
		}
		if (type === 'time') {
			switch (Core.locale) {
				default:
				case 'de-de':
				case 'pl-pl':
					format = 'HH:mm';
					break;
				case 'en-us':
					format = 'hh:mm a';
					break;
				case 'en-gb':
				case 'es-es':
				case 'es-mx':
				case 'fr-fr':
				case 'pt-br':
				case 'it-it':
				case 'ru-ru':
					format = 'HH:mm';
					break;
				case 'en-sg':
					format = 'hh:mm a';
					break;
				case 'ja-ja':
				case 'ko-kr':
					format = 'HH:mm';
					break;
				case 'zh-cn':
				case 'zh-tw':
					format = 'HH:mm';
					break;
			}
		}
		datetime = Core.formatDatetime(format, datetime);
		if (!datetime) {
			return;
		}
		if (Core.locale === 'en-us' || Core.locale === 'en-sg') {
			if (type === 'date') {
				datetime = datetime.replace('/0', '/');
			}
			if (type === 'time' && datetime.substr(0,1) === '0') {
				datetime = datetime.substr(1);
			}
		}
		element.text(datetime);
	}
}

