/**************************************************************************************************** *		item.js *		 *		makeshop内で表示しているバナー、ムービー、ランキングを共通で管理するための処理を記述したファイル * *		[Create]	Hiroyuki Takahashi *		[Builde Date]	2010/1/15 *		[Modification  Date]	2010/2/20 * * 		[Version] *				0.5		・データによって、画像が表示されないバグを修正 *																							(2010/2/20) *				0.4		・データファイルでlinkが空白の時、ページ遷移が出来ないように修正 * 																							(2010/2/2) *				0.3		・「人気の〜」の処理を追加 *																							(2010/2/2) *				0.2		・データが０件時の出力false→空白に修正 *							・他サイトで使用→リンクが違いエラーを修正 *							  																(2010/1/20) * 				0.1		・[Create] [Builde Date][Modification  Date]を追加 *																							(2010/1/16) *****************************************************************************************************///データを処理するクラスfunction itemInfoRecord (itemNo, fullName, shortName, link, category, rank, oldRank, movieList, bannerList, lapping, boxPrice) {	this.itemNo = itemNo;					//商品コード	this.fullName = fullName;			  //名前(フル)		this.shortName = shortName;		//名前(ショート)	this.link = link;								 //リンク先	this.category = category;			 //カテゴリー 	this.rank = rank;							 //ランキング	this.oldRank = oldRank; 				//過去のランキング	this.movieList = movieList;			  //ムービーリスト	this.bannerList = bannerList;		//バナーリスト	this.lapping = lapping;					  //ラッピング	this.boxPrice = boxPrice;				//箱代}function itemInfoDb (baseRoot, itemDir) {	this.baseRoot = baseRoot;	this.itemDir = baseRoot + itemDir;	this.data = new Array();	this.setStaticBannerPrintNum = new Array();	this.setRandomBannerPrintNum = new Array();	this.setRankingPrintNum = new Array();	this.setPopularPrintTitle = new Array();	this.setPrintMenu = new Array();	this.setPrintMenuCategory = new Array();	this.popTest = new Array();	//------------データタイプ毎にデータ配列に代入---------------------------------------------------------------------	//バナー	this.bannerAdd = function (fullName, link, bannerList) {		var type = "banner";		if (this.data[type] == undefined) {			this.data[type] = new Array();			this.data[type][0] = new itemInfoRecord ('', fullName['fullName'], '', link['link'], '', '', '', '',  bannerList['bannerList'], '', '');		} else {			len = this.data[type].length;			this.data[type][len] = new itemInfoRecord ('', fullName['fullName'], '', link['link'], '', '', '', '',  bannerList['bannerList'], '', '');		}		return true;	}	//ムービー	this.movieAdd = function (movieList) {		var type = "movie";		if (this.data[type] == undefined) {			this.data[type] = new Array();			this.data[type][0] = new itemInfoRecord ('', '', '', '', '', '', '', movieList['movieList'], '', '', '');		} else {			var len = this.data[type].length;			this.data[type][len] = new itemInfoRecord ('', '', '', '', '', '', '', movieList['movieList'], '', '', '');		}		return true;	}	//ランキング	this.rankingAdd = function (category, link, fullName, rank) {		var type = "ranking";		if (this.data[type] == undefined) {			this.data[type] = new Array();			this.data[type][0] = new itemInfoRecord ( '', fullName['fullName'], '', link['link'], category['category'], rank['rank'], '', '', '', '', '' );		} else {			var len = this.data[type].length;			this.data[type][len] = new itemInfoRecord ( '', fullName['fullName'], '', link['link'], category['category'], rank['rank'], '', '', '', '', '' );		}		return true;	}		//popular	this.popularAdd = function (category, shortName, link) {		var type = "popular";		if (this.data[type] == undefined) {			this.data[type] = new Array();			this.data[type][0] = new itemInfoRecord ('', '', shortName['shortName'], link['link'], category['category'], '', '', '',  '', '', '');		} else {			len = this.data[type].length;			this.data[type][len] = new itemInfoRecord ('', '', shortName['shortName'], link['link'], category['category'], '', '', '',  '', '', '');		}		return true;	}		//その他アイテム	this.itemAdd = function (itemNo, fullName, shortName, oldRank, lapping, boxPrice) {		var type = "item";		if (this.data[type] == undefined) {			this.data[type] = new Array();			this.data[type][0] = new itemInfoRecord ( itemNo['itemNo'], fullName['fullName'], shortName['shortName'], '', '', '', oldRank['oldRank'], '', '', lapping['lapping'], boxPrice['boxPrice']);		} else {			var len = this.data[type].length;			this.data[type][len] = new itemInfoRecord ( itemNo['itemNo'], fullName['fullName'], shortName['shortName'], '', '', '', oldRank['oldRank'], '', '', lapping['lapping'], boxPrice['boxPrice']);		}		return true;		}	//--------------------------------------------------------------------------------------------------	//------------タイプ毎の出力件数取得---------------------------------------------------------------------	//固定バナーの出力件数取得	this.setStaticBannerNum = function (setStaticBannerNum) {		this.setStaticBannerPrintNum = setStaticBannerNum;		return true;	}		//ランダムバナーの出力件数取得	this.setRandomBannerNum = function (setRandomBannerNum) {		this.setRandomBannerPrintNum = setRandomBannerNum;		return true;	}		//ランキングの出力件数取得	this.setRankingNum = function (setRankingNum) {		this.setRankingPrintNum = setRankingNum;		return true;	}	//-----------------------------------------------------------------------------------------------------------------//------------タイトル名の取得---------------------------------------------------------------------------------------------	//「人気の〜」のタイトル取得	this.setPopularTitle = function (popularTitle) { this.setPopularPrintTitle = popularTitle; return true; }//------------------------------------------------------------------------------------------------------------------------------//------------汎用的に利用するコード---------------------------------------------------------------------	//argでデータをソートする	this.sort = function (arg,	data) {		if (arg == undefined) { return false; }		if (data == undefined) { return false; }		data.sort( function (b1, b2) { return b1[arg] - b2[arg]; } );		return data;	}			//データをランダムデータにする	this.random = function (randomData, num, size, type) {		var resArr = new Array();		if (randomData == undefined) { return false; }		else { len = resArr.length; }		for (cnt = 0; cnt < num; cnt++) {			key = Math.floor(Math.random() * randomData.length);			if (len == 0) { resArr[0] = randomData[key]; len++; }			else { len = resArr.length; resArr[len] = randomData[key]; }			ar1 = randomData.slice(0, key);			ar2 = randomData.slice(key+1);			randomData = ar1.concat(ar2);			this.data[type] = ar1.concat(ar2);		}		return resArr;	}		//カテゴリー毎にデータを得る	this.getCategoryData = function (category, data) {		if (category == undefined) { return false; }		if (data == undefined) { return false; }		var categoryData = new Array();		for (			cnt = 0, len = categoryData.length, max = data.length;			cnt < max;			cnt++, len = categoryData.length			) {	if (data[cnt].category == category) { categoryData[len] = data[cnt]; }		}		return categoryData;	}//------------------------------------------------------------------------------------------------------//------------ランキングの処理---------------------------------------------------------------------	//ランク毎にデータを得る	this.getRankData = function(type) {		var rankData = new Array();		if (this.data[type] == undefined) { return false; }		for (			cnt = 0, len = rankData.length, max = this.data[type].length;			cnt < max;			cnt++, len = rankData.length			) { if (this.data[type][cnt].rank != undefined) { rankData[len] = this.data[type][cnt]; }		}		return rankData;	}	//データをhtmlに変換する	this.convertRankingListHtml = function (data) {		var chklink = data.link;		if (chklink == "") { printHtml = '<li>' + data.fullName + '</li>'; }		else {			if (chklink.substr(0, 4) != "http") { link = this.baseRoot + data.link; }			else { link = data.link; }			printHtml = '<li><a href="' + link + '" title="' + data.fullName + '">' + data.fullName + '</a></li>';		}		return printHtml;	}	//カテゴリーが指定されていない場合の処理-------------------------------------------------	this.getRankingListAll = function (type, num) {		var type = "ranking";		//ランキングに関するデータを得る		var rankingData = new Array();		rankingData	= this.getRankData(type);		//ランキングデータに格納されているカテゴリーの種類を取得		var categoryList = new Array();		category = rankingData[0].category;		categoryList[0] = category;		for (cnt = 0, categoryAllCnt = 1; cnt < rankingData.length; cnt++) {			if (category != rankingData[cnt].category) { 				category = rankingData[cnt].category;				categoryList[categoryAllCnt] = rankingData[cnt].category;				categoryAllCnt++; 			} 		}		//カテゴリーの種類毎にランキングリストを出力する		for (categoryCnt = 0; categoryCnt < categoryList.length; categoryCnt++) {			this.printRankingListHtml(categoryList[categoryCnt], 'all');		}		return true;	}	//-----------------------ランキングリストHtmlデータを得る-------------------------------	this.getRankingListHtml = function (category, printType) {		var type = "ranking";		//カテゴリーが指定されていない場合の処理		if (category == undefined) { this.getRankingListAll();	return false; }		//ランキングに関するデータを得る		var rankingData = new Array();		rankingData	= this.getRankData(type);		//ランキングデータから指示されたカテゴリー毎のデータを得る		var categoryData = new Array();		categoryData = this.getCategoryData(category, rankingData);		//カテゴリデータをソートした値を得る		var sortData = new Array();		sortData = this.sort('rank', categoryData);		//データファイルで指定した出力件数で出力		if (printType == 'all') { num = sortData.length; }		else { num = this.setRankingPrintNum['setRankingNum'][category]; }		if (num == undefined) { max = sortData.length; }		else if (num > sortData.length) { max = sortData.length; }		else { max = num; }			//指定回数処理を繰り返しランキングデータを得る		for (cnt = 0, htmlList = ""; cnt < max; cnt++) {			htmlList += this.convertRankingListHtml(sortData[cnt]);		}		return htmlList;	}	//------------------------------------------------------------------------------------------------------	//ランキングリストHtmlを出力する	this.printRankingListHtml = function (category, printType) {		if (category == undefined) { this.getRankingListAll();	return false; }		else {			document.write('<ul>');			document.write( this.getRankingListHtml(category, printType));			document.write('</ul>');		}		return true;	} //------------------------------------------------------------------------------------------------------	//--------------------------バナーの処理----------------------------------------------------------------	//バナーデータ毎にデータを得る	this.getBannerListData = function (size, type) {		if (size == undefined) { return false; }		if (this.data[type] == undefined) { return false; }		var bannerArr = new Array();		//データの数分処理を繰り返す		for (cnt = 0, len = bannerArr.length; cnt < this.data[type].length; cnt++) {			if (this.data[type][cnt].bannerList[size]) {				if (len == 0) { bannerArr[0] = this.data[type][cnt]; len++; }				else { len = bannerArr.length; bannerArr[len] = this.data[type][cnt]; }			}			}		return bannerArr;	}	//バナーデータをHtmlに変換する	this.convertBannerListHtml = function (link, alt, source) {		var chklink = link;		//リンクが相対パスで指定された場合		if (chklink.substr(0, 4) != "http") { link = this.baseRoot + link; }		else { link = link; }		printHtml = '<a href="' + link + '" alt="' + alt + '" title="' + alt + '"><img src="' + source + '" alt="' + alt + '"></a>';		return printHtml;	}	//------------バナーHtmlデータを得る-------------------------------------------------------------------	//指定されたバナーデータを得る	this.getBannerHtml = function (size, type) {		//sizeが指定されていない場合		if (size == undefined) { return false; }		//バナーに関するデータを得る		var bannerData = new Array();		bannerData = this.getBannerListData(size, type);		if (bannerData == false) { return false; }		//指示されたデータを得る		for (cnt = 0, data = ""; cnt < bannerData.length; cnt++) {			if (bannerData[cnt].bannerList[size]) { data = bannerData[cnt]; }		}		//バナーhtmlを得る		var source = this.itemDir + data.bannerList[size];		htmlList = this.convertBannerListHtml(data.link, data.fullName, source);		return htmlList;	}	//------------------バナーHtmlの出力-----------------------------------------------------------------------------------------------	this.printBannerHtml = function (size) {		var type = "banner";		//sizeが指定されていない場合		if (size == undefined) { return false; }		//固定バナー出力件数の取得		max = this.setStaticBannerPrintNum['setStaticBannerNum'][size];		if (max == undefined) { max = 0; }		for (cnt = 0, num = 0; cnt < max + 1; num++) {			//出力件数の指定がある場合			if (cnt != 0) { 				str = size + cnt;				if (this.getBannerHtml (str, type) != false) {					document.write(this.getBannerHtml (str, type));				} else { document.write(""); }				cnt = num + 1;			} else { cnt = num + 1; }			//出力件数の指定がない場合			if (max == 0) {				if (this.getBannerHtml (size, type) != false) {					document.write(this.getBannerHtml (size, type));				} else { document.write(""); }			}		}		return true;	}	//--------------------ランダムバナーHtmlデータを得る------------------------------------------------------	//ランダムにしたバナーデータを得る	this.getRandomBannerHtml = function (size, type) {		//サイズが指定されていない場合		if (size == undefined) { return false; }		//バナーに関するデータを得る		bannerData = this.getBannerListData(size, type);		//numの値を取得する		num = this.setRandomBannerPrintNum['setRandomBannerNum'][size];		//numの値をチェックする		if (num == undefined) { num = 1; }		else if (num > bannerData.length) { num = bannerData.length; }		//バナーデータをランダムにした値を得る		data = this.random(bannerData, num, size, type);		//numの値がランダムにしたデータ数より大きい場合		if (num > data.length) { num = data.length; }		//指示された回数のデータを得る		for (cnt = 0, htmlList = ""; cnt < num; cnt++) {			if (data[cnt] != undefined) {				//ランダムバナーデータを得る				source = this.itemDir + data[cnt].bannerList[size];				htmlList += 					this.convertBannerListHtml(data[cnt].link, data[cnt].fullName, source);			} 		}		return htmlList;	}		//--------------------ランダムバナーHtmlの出力------------------------------------------------------------	this.printRandomBannerHtml = function (size) {		var type = "banner";		//サイズが指定されていない場合		if (size == undefined) { return false; }			document.write(this.getRandomBannerHtml (size, type)); 		return true;	}//----------------------------------------------------------------------------------------------------------------------//-------------------------movieの処理--------------------------------------------------------------------------------	//ムービーデータ毎にデータを得る	this.getMovieListData = function(size, type) {		if (size == undefined) { return false; }		if (this.data[type] == undefined) { return false; }		var movieArr = new Array();		//データの数分処理を繰り返す		for (cnt = 0, len = movieArr.length; cnt < this.data[type].length; cnt++) {			if (this.data[type][cnt].movieList[size]) {				if (len == 0) { movieArr[0] = this.data[type][cnt]; len++; }				else { len = movieArr.length; movieArr[len] = this.data[type][cnt]; }				}		}		return movieArr;	}	//movieデータをHtmlに変換する	this.convertMovieListHtml = function (movieId, size, autoPlay, volume) {		htmlList = 	'<script type="text/javascript">var MAINVIDEO = ' + movieId + 																	' ; ShowMainVideo("' + size + '", ' + autoPlay + ', ' + volume + '); </script>';		return htmlList;	}	//--------------MovieHtmlデータを得る----------------------------------------------------------------------		//指定されたムービーデータをHtml出力	this.getMovieHtml = function (size, type, autoPlay, volume) {		//サイズが指定されていない場合		if (size == undefined) { return false; }		//autoPlayが指定されていない場合		if (autoPlay == undefined ) { autoPlay = true; }		//volumeが指定されていない場合		if (volume == undefined )  { volume = '050'; }		//ムービーに関するデータを得る		movieData = this.getMovieListData(size, "movie");		if (movieData == false) { return false; }		//指示されたデータを得る		for (cnt = 0, data = ""; cnt < movieData.length; cnt++) {			if (movieData[cnt].movieList[size]) { data = movieData[cnt]; }		}		//ムービーhtmlを得る		htmlList = 			this.convertMovieListHtml(data.movieList[size], size, autoPlay, volume);		return htmlList;	}	//----------------ムービーHtmlを出力する------------------------------------------------------------------	this.printMovieHtml = function (size, autoPlay, volume) {		var type = "movie";		//サイズが指定されていない場合		if (size == undefined) { return false; }		//autoPlayが指定されていない場合		if (autoPlay == undefined ) { autoPlay = true; }		//volumeが指定されていない場合		if (volume == undefined )  { volume = '050'; }		if (this.getMovieHtml(size, type, autoPlay, volume) != false) {			document.write(this.getMovieHtml(size, type, autoPlay, volume));		} else { document.write(""); }		return true;	}	//----------------ランダムムービーHtmlを得る---------------------------------------------------------------	//ランダムにしたムービーデータをHtml出力	this.getRandomMovieHtml = function (size, type, num, autoPlay, volume) {		//サイズが指定されていない場合		if (size == undefined) { return false; }		//autoPlayが指定されていない場合		if (autoPlay == undefined ) { autoPlay = true; }		//volumeが指定されていない場合		if (volume == undefined )  { volume = '050'; }		//ムービーに関するデータを得る		movieData = this.getMovieListData(size, type);		//numの値が指定されていない場合		if (num == undefined) { num = movieData.length; }		else if (num > movieData.length) { num = movieData.length; }		data = this.random(movieData, num, size, "movie");		//指示された回数データを取得する		for (cnt = 0, htmlList = ""; cnt < num; cnt++) {			//ムービーデータHtmlを得る			htmlList += 				this.convertMovieListHtml(data[cnt].movieList[size], size, autoPlay, volume);		}		return htmlList;	}	//----------------ランダムムービーHtmlを出力する-------------------------------------------------------------------	this.printRandomMovieHtml = function (size, num, autoPlay, volume) {		var type = "movie";		//サイズが指定されていない場合		if (size == undefined) { return false; }		//autoPlayが指定されていない場合		if (autoPlay == undefined ) { autoPlay = true; }		//volumeが指定されていない場合		if (volume == undefined )  { volume = '050'; }		if (this.getRandomMovieHtml(size, type, num, autoPlay, volume) != false) { 			document.write(this.getRandomMovieHtml(size, type, num, autoPlay, volume)); 		} else { document.write(""); }		return true;	}//-----------------------------------------------------------------------------------------------------------------	//----------------------「人気の〜」の処理-------------------------------------------------------------------	//Popularのタイトルを出力する	this.printPopularTitle = function (category) {		popularTitle = this.setPopularPrintTitle;		//タイトル名の出力		if (popularTitle['setPopularTitle'][category] == undefined) { document.write(""); }		else { document.write(popularTitle['setPopularTitle'][category]); }		return true;	}	//データからHtmlに変換する	this.convertPopularListHtml = function (data) {		var chklink = data.link;		//リンクが相対パスで指定された場合		if (chklink.substr(0, 4) != "http") { link = this.baseRoot + data.link; }		else { link = data.link; }		printHtml = '<li><a href="' + link + '">' + data.shortName + '</a></li>';		return printHtml;	}		//PopularのデータをHtmlに変換し、取得する	this.getPopularList = function (type, category) {		//typeがPopularのデータを取得		var data = this.data[type];		//カテゴリー毎のデータ取得		var dataList = this.getCategoryData (category, data);		//出力件数の設定		var max = dataList.length;		//出力件数分出力リストの取得		for (cnt = 0, htmlList = ""; cnt < max; cnt++) {			htmlList +=this.convertPopularListHtml(dataList[cnt]);		}		return htmlList;	}		//popularのHtmlListを出力する	this.printPopularList = function (category) {		var type = 'popular';		//Htmlに変換したListを取得する		var popularHtmlList = this.getPopularList (type, category);		document.write("<ul>");		document.write(popularHtmlList);		document.write("</ul>");		return true;	}//--------------------------------------------------------------------------------------------------}/**************************************************************************************************** *		menuInfoDb *		 *		makeshop内の左側のメニューを管理する * *		[Create]	Hiroyuki Takahashi *		[Builde Date]	2010/1/30 * * 		[Version] * 				0.1		・[Create] [Builde Date][Modification  Date]を追加 *																							(2010/1/30) *****************************************************************************************************/function menuInfoRecord (menuCategory, arguments) {	this.menuCategory = menuCategory;	this.menuTag = arguments;	}function menuInfoDb () {	this.data = new Array();	this.setPrintMenuCategory = new Array();	this.setCategory = new Array ();	this.setMenuName = new Array();	this.setMenuOrder = new Array();	this.setMenuOrderName = new Array();			//出力するタグデータを取得し,メニューのカテゴリー毎にthis.dataに設定	this.menuAdd = function (menuCategory, arg) {		if (this.data[menuCategory] == undefined) {			this.data[menuCategory] = new Array();			this.data[menuCategory][0] = new menuInfoRecord (menuCategory, arguments);		} else {			len = this.data[menuCategory].length;			this.data[menuCategory][len] = new menuInfoRecord (menuCategory, arguments);		}		return true;	}		//メニュー名を取得	this.getMenuName = function (printMenuName) { 		this.setMenuName = printMenuName; 		return true; 	}		//カテゴリー名を取得	this.getCategoryName = function (printCategoryName) {		for (cCnt = 0; cCnt < arguments.length; cCnt++) {			this.setCategory[cCnt] = arguments[cCnt];		}		return true;	}	//メニューの並び順を取得する	this.getMenuOrder = function (type) {		this.setMenuOrder[type] = new Array();		for (cnt = 0; cnt < arguments.length; cnt++) {			if (cnt == 0) { 				if (this.setMenuOrderName.length == 0) { this.setMenuOrderName[0] = type; }				else { len = this.setMenuOrderName.length; this.setMenuOrderName[len] = type; }			}			if (cnt > 0) { this.setMenuOrder[type][cnt - 1] = arguments[cnt]; } 		}		return true;	}			//タグを結合する	this.unionMenuTag = function (arguments) {		for (cnt = 0, menuTag = ""; cnt < arguments.length; cnt++) {			if (cnt > 0) {	menuTag += arguments[cnt]; }		}		return menuTag;	}			//アイテム(DVD, CD, 書籍等)のタグを取得	this.getItemMenu = function (type, category) {		var categoryArr = this.setCategory;		itemDb.setPrintMenuCategory = category;		if (categoryArr.length != 0) { 			for (mCnt = 0, menuMainTag = '<div class="menu">'; mCnt < categoryArr.length; mCnt++) {				if (this.data[categoryArr[mCnt]] != undefined) {					if ( type == this.setMenuOrderName[0]) { 																													//メニューが開いた状態のタグを生成する						for ( unionCnt = 0; unionCnt < this.data[categoryArr[mCnt]].length; unionCnt++) {							if ( unionCnt != 3) { menuMainTag += this.unionMenuTag(this.data[categoryArr[mCnt]][unionCnt].menuTag); }						}					} else if ( type == this.setMenuOrderName[1]) { menuMainTag += this.unionMenuTag(this.data[categoryArr[mCnt]][0].menuTag); }					else if (category == categoryArr[mCnt]) { 																					//カテゴリーが指定された状態のタグを生成する						for ( unionCnt = 0; unionCnt < this.data[categoryArr[mCnt]].length; unionCnt++) {							if ( unionCnt != 2) { menuMainTag += this.unionMenuTag(this.data[categoryArr[mCnt]][unionCnt].menuTag); }						}					} else { menuMainTag += this.unionMenuTag(this.data[categoryArr[mCnt]][0].menuTag); }				} else { menuMainTag += ""; }			}			menuMainTag +=	'<h2 class="title03">&nbsp;</h2></div><!-- menu end -->';		} else { menuMainTag = ""; }		return menuMainTag;	}		//「人気の〜」のタグを取得	this.getPopularMenu = function (menuCategory) {		if (this.data[menuCategory] != undefined) {			popularMenuTag = this.unionMenuTag(this.data[menuCategory][0].menuTag);			if ( itemDb.getCategoryData(itemDb.setPrintMenuCategory, itemDb.data['popular']) == false) { popularMenuTag = ""; };		} else { popularMenuTag = ""; }		return popularMenuTag;	}		//検索,お得,ひまわり通販,お買い物案内,法律のタグを取得	this.getOtherMenu = function (menuCategory) {		if (this.data[menuCategory] != undefined) { 			menuTag = this.unionMenuTag(this.data[menuCategory][0].menuTag);		} else { menuTag = ""; }		return menuTag;	}			//設定した順番にタグを結合する	this.getSortTag = function (type, category) {		if (this.setMenuName['printMenuName'] != undefined) {			if (this.setMenuName['printMenuName']['menu'] == undefined) { return false; }			if (this.setMenuName['printMenuName']['popular'] == undefined) { return false; }		} else { return false; }		if (this.setMenuOrder[type] == undefined) { return false; }		for (printCnt = 0, htmlTag = ""; printCnt < this.setMenuOrder[type].length; printCnt++) {			if (this.setMenuOrder[type][printCnt] == this.setMenuName['printMenuName']['menu']) {				if (category == undefined) { htmlTag += this.getItemMenu(type); }  			} else if (this.setMenuOrder[type][printCnt] == this.setMenuName['printMenuName']['popular']) {				if (category == undefined) { return false; }				htmlTag += this.getItemMenu(type, category);				htmlTag += this.getPopularMenu(this.setMenuName['printMenuName']['popular']);			} else {				htmlTag += this.getOtherMenu(this.setMenuOrder[type][printCnt]);			}		}		return htmlTag;	}	//結合したタグを出力	this.printMenuTag = function (type, category) {		if (type == undefined) { return document.write(""); }		printHtmlTag = this.getSortTag(type, category);		if ( printHtmlTag == false ) { document.write(""); }		else { document.write(printHtmlTag); }		return true;	}}