/**
 * カレンダークラス
**/
Calendar = {
	/* プロパティ */
	ImgNum: [],	// 日付で使う画像のファイル名
	ImgWeek: [],// 曜日で使う画像のファイル名
	IdYear: [],	// 年の箇所のエレメントID
	IdMonth: [],// 月の箇所のエレメントID
	IdDay: [],	// 日の箇所のエレメントID
	IdWeek: "",	// 曜日の箇所のエレメントID
	/* メソッド */
	Initialize: InitCalendar,	// 初期化
	SetCalendar: SetCalendar	// カレンダーの設定
};

/**
 * 初期化処理
 * @param{String} kNum   数字の画像
 * @param{String} kWeek  曜日の画像
 * @param{String} kYear  年のエレメント名
 * @param{String} kMonth 月のエレメント名
 * @param{String} kDay   日付のエレメント名
 * @param{String} aWeek  曜日のエレメント名
**/
function InitCalendar( kNum, kWeek, kYear, kMonth, kDay, aWeek )
{
	Calendar.ImgNum = kNum;
	Calendar.ImgWeek = kWeek;
	Calendar.IdYear = kYear;
	Calendar.IdMonth = kMonth;
	Calendar.IdDay = kDay;
	Calendar.IdWeek = aWeek;
}

/**
 * カレンダーを設定
**/
function SetCalendar()
{
	// 起動機から日付情報を取得
	var aCalendar = system.getInfoString( "system.date.getLocaleShort" );
	// 配列に日付情報を格納
	var kYear =  GetNowYear( aCalendar );
	var kMonth = GetNowMonth( aCalendar );
	var kDay =   GetNowDay( aCalendar );
	var aWeek =  GetNowWeek();
	// コンテンツ上のエレメントに画像を設定
	SetNowYear( Calendar.IdYear, kYear );
	SetNowMonth( Calendar.IdMonth, kMonth );
	SetNowDay( Calendar.IdDay, kDay );
	SetNowWeek( Calendar.IdWeek, aWeek);
}

/**
 * 年を取得
 * @param{String} strDate
 * @return{String}
**/
function GetNowYear( strDate )
{
	var kYear = [];
	for( var i = 0; i < 4; i++ ) {
		aNum = i + 6;
		kYear[ i ] = strDate.substring( aNum, aNum + 1 );
	}
	return kYear;
}

/**
 * 月を取得
 * @param{String} strDate
 * @return{String}
**/
function GetNowMonth( strDate )
{
	var kMonth = [];
	kMonth[ 0 ] = strDate.substring( 3, 4 );
	kMonth[ 1 ] = strDate.substring( 4, 5 );
	return kMonth;
}

/**
 * 日を取得
 * @param{String} strDate
 * @return{String}
**/
function GetNowDay( strDate )
{
	var kDay = [];
	kDay[ 0 ] = strDate.substring( 0, 1 );
	kDay[ 1 ] = strDate.substring( 1, 2 );
	return kDay;
}

/**
 * 曜日を取得
 * @return{Number} （例：日曜日=0 水曜日=3 土曜日=6）
**/
function GetNowWeek()
{
	var aWeek = system.getInfoInteger( "system.date.getWeekDay" );
	return aWeek;
}

/**
 * 年を設定
 * @param{String} arrayId   対象のエレメントID
 * @param{String} arrayYear 設定する数値
**/
function SetNowYear( arrayId, arrayYear )
{
	var YearElement, aYear;
	for( var i = 0; i < 4; i++) {
		YearElement = page.getElementById( arrayId[ i ] );
		aYear = arrayYear[ i ];
		YearElement.src = Calendar.ImgNum[ aYear ];
	}
}

/**
 * 月を設定
 * @param{String} arrayId    対象のエレメントID
 * @param{String} arrayMonth 設定する数値
**/
function SetNowMonth( arrayId, arrayMonth )
{
	var MonthElement, aYear;
	for( var i = 0; i < 2; i++) {
		MonthElement = page.getElementById( arrayId[ i ] );
		aYear = arrayMonth[ i ];
		MonthElement.src = Calendar.ImgNum[ aYear ];
	}
}

/**
 * 日を設定
 * @param{String} arrayId  対象のエレメントID
 * @param{String} arrayDay 設定する数値
**/
function SetNowDay( arrayId, arrayDay )
{
	var DayElement, aYear;
	for( var i = 0; i < 2; i++) {
		DayElement = page.getElementById( arrayId[ i ] );
		aYear = arrayDay[ i ];
		DayElement.src = Calendar.ImgNum[ aYear ];
	}
}

/**
 * 曜日を設定
 * @param{String} Id      対象のエレメントID
 * @param{String} numWeek 設定する数値
**/
function SetNowWeek( Id, numWeek )
{
	var WeekElement = page.getElementById( Id );
	WeekElement.src = Calendar.ImgWeek[ numWeek ];
}
