﻿(function () {
if ((window.location.href + '').indexOf('nojs') >= 0) {
		return;
	}
	var Dom = YAHOO.util.Dom,
		Util = YAHOO.util,
		Lang = YAHOO.lang,
		Connect = YAHOO.util.Connect,
		JSON = YAHOO.lang.JSON;
	var date = new Date();
	var d = date.getDate(),
		m = date.getMonth() + 1,
		y = date.getFullYear(),
		wd = date.getDay();
	var adText = {
		'English':'AD {year} {day} {month} {wd}',
		'Chinese':'西元{year}年 {month} {day}日 {wd}'
	}
	var wdText = {
		'English':['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
		'Chinese': ['禮拜天', '禮拜一', '禮拜二', '禮拜三', '禮拜四', '禮拜五', '禮拜六', ]
	};
	var monthText = {
		'English': ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
		'Chinese': ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月', ]
	};
	/*
	if (d < 10) {
		d = '0' + d;
	}
	if (m < 10) {
		m = '0' + m;
	}
	y = y + '';
	*/
	var dateStr = (m < 10 ? '0' : '') + m + '/' + (d < 10 ? '0' : '') + d;
	function request(url, data, successHandler, handlerArgument, failureHandler) {
		var i, datastr = '';
		for (i in data) {
			if (Lang.hasOwnProperty(data, i)) {
				datastr += i + '=' + data[i] + '&';
			}
		}
		Connect.startEvent.subscribe(function () {
			
		});
		Connect.completeEvent.subscribe(function () {
			
		});
		if (!failureHandler) {
			failureHandler = function () {
				//window.alert('error');
			}
		}
		return Connect.asyncRequest('GET', url, {
			cache: false,
			success: successHandler,
			argument: handlerArgument,
			failure: failureHandler
		}, datastr.slice(0, -1));
	}
	var lang = Dom.get('language').value;
	request('/calendar-data/' + y + '-' + lang + '.txt', {}, function (o) {
		var cal = JSON.parse(o.responseText);
		var dateInfo = cal[dateStr];
		Dom.get('ad-date').innerHTML = Lang.substitute(adText[lang], {'year':y, 'month':monthText[lang][m - 1], 'day':d, 'wd':wdText[lang][wd]});
		Dom.get('tibet-date').innerHTML = dateInfo.dateString;
		Dom.get('date-description').innerHTML = dateInfo.dateDescription;
	}, null);
}());
