var	oDecoder2
	=	{
		id						:	"oDecoder2",
		cdeGetTileName			:	function (arg_Level,arg_Page,arg_Tile_Y,arg_Tile_X){
										var	sResultTileName			=	"";
										var	sLevelPath				=	oDecoder2.cdeGetLevelPath(arg_Level);
										var	iRebuildBook			=	oBookInfo.EachBookInfo.length;
										var	sCacheBasePath			=	getgsSrv_Cache();
										var	sImgBasePath			=	getgaSrv_Image();
										var	sTileName				=	"";
										var	iEachBookIdx			=	0;

										switch(iRebuildBook){
										case	1	:	iEachBookOnLinePage
														=	arg_Page;
														break;
										default		:	iEachBookIdx
														=	oBookInfo.PageInfo[arg_Page][0];
														iEachBookOnLinePage
														=	oBookInfo.PageInfo[arg_Page][2];
														break;
										}

										if( oBookInfo.EachBookInfo[iEachBookIdx][3]	!=	"" ){
											sTileName
											=	oBookInfo.EachBookInfo[iEachBookIdx][6][iEachBookOnLinePage]	+
												oBookInfo.EachBookInfo[iEachBookIdx][7][arg_Tile_Y]			+
												oBookInfo.EachBookInfo[iEachBookIdx][8][arg_Tile_X];
										}else{
											sTileName
											=	oDecoder2.FillDigit(iEachBookOnLinePage)		+
												"_"												+
												oDecoder2.FillDigit(arg_Tile_Y)					+
												"_"												+
												oDecoder2.FillDigit(arg_Tile_X);
										}

										switch(arg_Level){
										case	0	:	sCacheBasePath
														=	sCacheBasePath					+
															gsPort							+
															gsSlash							+
															oDecoder2.cdeGetPathInfo(iEachBookIdx);
														sResultTileName
														=	gsProtocol						+
															sCacheBasePath					+
															gsSlash							+
															sLevelPath						+
															gsSlash							+
															sTileName						+
															".jpg";
														break;
										default		:	sImgBasePath
														=	sImgBasePath										+
															gsPort												+
															gsSlash												+
															oDecoder2.cdeGetPathInfo(iEachBookIdx);
														sResultTileName
														=	gsProtocol											+
															sImgBasePath										+
															gsSlash												+
															sLevelPath											+
															gsSlash												+
															sTileName											+
															".jpg";
														break;
										}
										return	sResultTileName;
									},
		cdeGetPathInfo			:	function (arg_EachBookiIdx){
										var	sResultPath					=	"";
										sResultPath
										=	gsBookBase										+
											gsSlash											+
											oBookInfo.EachBookInfo[arg_EachBookiIdx][2][0]	+
											gsSlash											+
											oBookInfo.EachBookInfo[arg_EachBookiIdx][2][1]	+
											gsSlash											+
											oBookInfo.EachBookInfo[arg_EachBookiIdx][2][2]	+
											gsSlash											+
											oBookInfo.EachBookInfo[arg_EachBookiIdx][2][3]	+
											"_"												+
											oBookInfo.EachBookInfo[arg_EachBookiIdx][2][4]	+
											"_"												+
											oBookInfo.EachBookInfo[arg_EachBookiIdx][2][5];

										return sResultPath;
									},
		cdeGetLevelPath			:	function (arg_Level){
										var	sResultLevelPath	=	"Level_00"		+
																	arg_Level;

										return	sResultLevelPath;
									},
		FillDigit				:	function (arg_sNum){
										var	Result				=	"";

										if( ( arg_sNum	>	-1 ) && ( arg_sNum	<	10 ) ){
											Result		=	"000"			+
															arg_sNum;
										}else if( ( arg_sNum	>=	10 ) && ( arg_sNum	<	100 ) ){
											Result		=	"00"			+
															arg_sNum;
										}else if( ( arg_sNum	>=	100 ) && ( arg_sNum	<	1000 ) ){
											Result		=	"0"				+
															arg_sNum;
										}else if( ( arg_sNum	>=	1000 ) && ( arg_sNum	<	10000 ) ){
											Result		=	arg_sNum;
										}
										return	Result;
									},
		GetTileCount			:	function (arg_ImgSize,arg_TileSize){
										return	Math.ceil((arg_ImgSize-1)/ arg_TileSize);
									}
		}

