﻿var Ms = {

	/* リクエストを送って結果を受け取る */
	
	requestData: function(url, params, handler) {
		var myAjax = new Ajax.Request(
			url, 
			{
				method: 'get', 
				parameters: params, 
				onComplete: function(request) {
					try {
						handler(eval('(' + request.responseText + ')'));
					} catch(e) {
//						console.log(url + '?' + params + "\n" + request.responseText);
					}
				}
			});
	},

	backQuery : {
		type : '', 
		query : '', 
		artist_id : '', 
		package_id : '', 
		artist : '', 
		package_title : '',
		sort: '',
		sort_type: '',
		page: ''
	},

	backQueryTemp : {
		type : '', 
		query : '', 
		artist_id : '', 
		package_id : '', 
		artist : '', 
		package_title : '',
		sort: '',
		sort_type: '',
		page: ''
	},


	/* 検索を押した際に実行 */

	searchTrack : function(type) {
		var search_query = $('search_query').value;

		Ms.backQuery.type = '';              // 保存していた戻る用の情報をリセットする
		Ms.backQueryTemp.type = '';          // 保存していた戻る用の情報をリセットする

		if (search_query) {
			this.goSearch(type, search_query, '', '', '', '', '', '', '');
		}
	},

	searchTrack2 : function() {
		var query_title = '' + $('query_title').value;
		var query_artist = '' + $('query_artist').value;
		//var query_package = '' + $('query_package').value;

		Ms.backQuery.type = '';              // 保存していた戻る用の情報をリセットする
		Ms.backQueryTemp.type = '';          // 保存していた戻る用の情報をリセットする

		if (query_title) {
			this.goSearch('title', query_title, '', '', query_artist, '', '', '', '');
		//} else if (query_package) {
		//	this.goSearch('package', '', '', '', query_artist, query_package, '','', '');
		} else if (query_artist) {
			this.goSearch('artist', '', '', '', query_artist, '', '', '', '');
		}
	},

	
	/* 検索リクエストを送る */
	
	goSearch : function(type, query, artist_id, package_id, artist, package_title, sort, sort_type, page) {
		if ( type ) {
			searchreset.style.display = 'block';
			searchnow.style.display = 'block';
			resultheader.style.display = 'none'; // 検索結果のヘッダーを隠す
			notfoundpage.style.display = 'none';
			notfoundhelppage.style.display = 'none';
			trackrequest.style.display = 'none'; // リクエスト表示を隠す
			requestbuttom.style.display = 'none';
			trackrequestsuccess.style.display = 'none';
			newplguide.style.display = 'none';
			stop_search = false;
			
			if (!sort) {
				if (type == 'title' && (package_id || package_title)) {
					var sort = 15;
				} else {
					var sort = 1;
				}
			}
			
			if (artist.match(/^GoToAND_/)) {
				var before_artist = artist.replace("GoToAND_", "");
 
				if (before_artist != $('andresult_artist').value) {
					artist_id = '';
					artist = $('andresult_artist').value;
				} else {
					artist = before_artist;
				}
			}
			
			if (query == 'GoToANDSearch99') {
				var query = $('andresult').value;
			}
			
			if (package_title == 'GoToANDSearch99') {
				var package_title = $('andresult').value;
			}
	
			if ((Ms.backQueryTemp.type == type && Ms.backQueryTemp.query == query
					&& Ms.backQueryTemp.artist_id == artist_id && Ms.backQueryTemp.package_id == package_id
					&& Ms.backQueryTemp.artist == artist && Ms.backQueryTemp.package_title == package_title
					 && Ms.backQueryTemp.page != page)) {
			} else {
				Ms.backQuery.type = '' + Ms.backQueryTemp.type;
				Ms.backQuery.query = '' + Ms.backQueryTemp.query;
				Ms.backQuery.artist_id = '' + Ms.backQueryTemp.artist_id; 
				Ms.backQuery.package_id = '' + Ms.backQueryTemp.package_id;
				Ms.backQuery.artist = '' + Ms.backQueryTemp.artist;
				Ms.backQuery.package_title = '' + Ms.backQueryTemp.package_title;
				Ms.backQuery.sort = '' + Ms.backQueryTemp.sort;
				Ms.backQuery.sort_type = '' + Ms.backQueryTemp.sort_type;
				Ms.backQuery.page = '' + Ms.backQueryTemp.page;
			}

			backHistoryLog = true;
			SearchFlag.push("search");

			Ms.requestData(
				'/data/get_track', 
				'search_type='+type+'&query='+encodeURIComponent(query)+'&artist_id='+artist_id+'&package_id='+package_id+'&artist='+encodeURIComponent(artist)+'&package_title='+encodeURIComponent(package_title)+'&sort='+sort+'&sort_type='+sort_type+'&p='+page, 
				handler_list);
		}
	},

	backSearch : function(type, query, artist_id, package_id, artist, package_title, sort, sort_type, page) {
		if (type) {
			Ms.backQuery.type = '';
			Ms.backQueryTemp.type = '';

			Ms.goSearch(type, query, artist_id, package_id, artist, package_title, sort, sort_type, page);
		}
	},
	
	addTrack : function(kwid, mmid) {
		var elmp = document.createElement('p');
		elmp.innerHTML = '<img src="/images/ajax-loader_circle.gif">';
		if (trunkList.length > 0){
			listpage.appendChild(elmp);
		} else {
			listpagesample.appendChild(elmp);
		}
		
		this.requestData(
			'/data/create_keyword', 
			'kwid=' + kwid + '&mmid=' + mmid, 
			addTrack_handler);
	},

	displayTrunk : function() {
		listpage.innerHTML = '';
		var elmul = document.createElement('ol');
		for (cnt=0; cnt<trunkList.length; cnt++) {
			var elm = document.createElement('li');
			
			if ( trunkList[cnt].image ) {
				elm.innerHTML = '<h3><img src=\"'+ trunkList[cnt].image +'\">'+trunkList[cnt].title+'</h3>';
			} else if ( trunkList[cnt].asin ) {
				elm.innerHTML = '<h3><img src=\"http://images-jp.amazon.com/images/P/'+ trunkList[cnt].asin + '.09._SCMZZZZZZZ_SX40_.jpg\" alt=\"ジャケットイメージ\"  />'+trunkList[cnt].title+'</h3>';
			} else {
				elm.innerHTML = '<h3><img src=\"/images/img_no-photo.jpg\" width=\"40\" height=\"40\" />'+trunkList[cnt].title+'</h3>';
			}
			
			//elm.innerHTML += '<input type=\"hidden\" name=\"kwid[]\" value=\"'+trunkList[cnt].kwid+'\"/><div class=\"no\">'+no+'</div><div class=\"song\">'+trunkList[cnt].title+'　<a href=\"javascript:void(0);\" onclick=\"Ms.deleteTrack('+cnt+','+trunkList[cnt].kwid+')"><b>[削除]</b></'+'a></div><div class=\"artist\">'+trunkList[cnt].artist+'</div>';
			elm.innerHTML += '<p>'+trunkList[cnt].artist+'</p>';
			elm.innerHTML += '<input type=\"hidden\" name=\"kwid[]\" value=\"'+trunkList[cnt].kwid+'\" />';
	
			elmul.appendChild(elm);
		}

		listpage.appendChild(elmul);

		var elmdiv = document.createElement('div');
		elmdiv.className = 'submit';
		elmdiv.innerHTML = '<p>トラックを選んだら次へ進んでください。</p><input type="submit" name="goto" value="解説を書く" />';

		listpage.appendChild(elmdiv);
		
		return true;
	},

	/* 検索をやめる or もういちどやり直すときに実行 */
	
	searchReset : function() {
		searchreset.style.display = 'none';  // リセットボタンを隠す
		searchnow.style.display = 'none';    // 「検索中」を隠す
		resultheader.style.display = 'none'; // 検索結果のヘッダーを隠す
		refinementform.style.display = 'none'; //　絞り込み窓を隠す
		page.style.display = 'none';         // 検索結果を隠す
		trackrequest.style.display = 'none'; // リクエスト表示を隠す
		search_query = '';                   // 入力文字をリセット
		Ms.backQuery.type = '';              // 保存していた戻る用の情報をリセットする
		Ms.backQueryTemp.type = '';          // 保存していた戻る用の情報をリセットする
		stop_search = true;                  // 検索を途中でやめる
		advancedsearchform.style.display = 'block';
		requestbuttom.style.display = 'block';
		newplguide.style.display = 'block';
		alertmessage.style.display = 'none';
		notfoundpage.style.display = 'none';
		notfoundhelppage.style.display = 'none';
		trackrequestsuccess.style.display = 'none';
	},
	
	/* リクエスト画面を表示する */

	openRequestForm : function(type, title, artist, package_title) {

		$('request_title').value = '';
		$('request_artist').value = '';
		$('request_package').value = '';

		switch (type) {
			case 'title':
				$('request_title').value = title;
				$('request_artist').value = artist;
				$('request_package').value = package_title;
				break;
			case 'artist':
				$('request_artist').value = title;
				break;
			case 'package':
				if (!package_title) {
					$('request_package').value = title;
				} else {
					$('request_artist').value = artist;
					$('request_package').value = package_title;
				}
		}

		resultheader.style.display = 'none';
		page.style.display = 'none';
		//advancedsearchform.style.display = 'none';
		requestbuttom.style.display = 'none';
		searchreset.style.display = 'block'; 
		trackrequest.style.display = 'block';
		notfoundpage.style.display = 'none';
		notfoundhelppage.style.display = 'none';
	},

	/* ページ送りを生成する */
	
	makePageList : function(page_count, page) {

		var start = page - 4;
		var end = parseInt(page) + 4;
		var top = new Array();
		var last = new Array();
		var merge = new Array();
		
		if (start < 1) {
			start = 1;
			end = 9;
		} else if (end > page_count) {
			end = page_count;
			start = page_count - 8;
		}
		
		if (start > 3) {
			top[0] = 1;
			top[1] = 2;
			top[2] = 3;
			top[3] = 0;
		} else {
			start = 1;
		}
		
		if (end < (page_count - 2)) {
			for (i=page_count - 2;i<=page_count;i++) {
				last.push(i);
			}
			last.unshift(0);
		} else if (end < page_count) {
			end = page_count;
		}
		
		if (start < 1) { start = 1 };
		if (end > page_count) { end = page_count };
		
		if (start >= end) {
			return array();
		}
		
		merge = top;
		for (n=start;n<=end;n++) {
			merge.push(n);
		}
		
		for (c=0;c<last.length;c++) {
			merge.push(last[c]);
		}

		return merge;
	},
	
	/* ジャケット画面を表示 */

	openWin : function(kwid, mmid, jancode, title, artist) {
		var width  = 300;
		var height = 470;
		var t = 0;
		var l = 0; 
		var url = "";
		var opt = "";
		
		url = '/home/jacket?kwid='+ kwid +'&mmid=' + mmid +'&jancode='+ jancode +'&title='+ encodeURIComponent(title) + '&artist='+ encodeURIComponent(artist) ;
		//url += "&flower_id=" + flower_id + "&date=" + date + "&title=" + title;
		
		l = (screen.availWidth / 2) - (width / 2);
		t = (screen.availHeight / 2) - (height / 2);
		
		opt = "width=" + width + ",height=" + height + ",scrollbars=1,resizable=1,status=0,menubar=0,directories=0,toolbar=0,left=" + l + ",top=" + t;
		window.open(url, "jacket", opt);
	}	
}

var MsList = {
	queryValue : function(value) {
		resultheader.innerHTML = '';
		var elmh3 = document.createElement('h3');
		
		switch (value.search_type) {
			case 'title':
				if (value.music_count) {
					resultheader.innerHTML = '<p style=\"color:#999;margin-bottom:5px;font-size:90%;\"><img src=\"/images/icon_magnifier.png\" alt=\"虫眼鏡\" class=\"icon\" />をクリックするとアルバムのジャケットを見ることができます。</p>';
				}
				if ( value.search_query ) {
					elmh3.innerHTML = '<img src="/images/pages/home/icon_track.png" alt="" class="icon" />楽曲名<span>'+ value.search_query + '</span>の検索結果';
				} else if ( value.search_artist ) {
					elmh3.innerHTML = '<img src="/images/pages/home/icon_track.png" alt="" class="icon" />アーティスト名<span>'+ value.search_artist + '</span>の検索結果';
				} else if ( value.search_package ) {
					elmh3.innerHTML = '<img src="/images/pages/home/icon_track.png" alt="" class="icon" /><span>'+ value.search_package + '</span>のアルバム情報';
				}
				break;
			case 'artist':
				elmh3.innerHTML = '<img src="/images/pages/home/icon_track.png" alt="" class="icon" />アーティスト名<span>'+ value.search_query + '</span>の検索結果';
				break;
			case 'package':
				elmh3.innerHTML = '<img src="/images/pages/home/icon_track.png" alt="" class="icon" />アルバム名';
				if (value.search_query) {
					elmh3.innerHTML += '<span>'+ value.search_query + '</span>';
				} else {
					elmh3.innerHTML += '<span>'+ value.search_package + '</span>';
				}
				elmh3.innerHTML += 'の検索結果';
				break;
		}
	
		resultheader.appendChild(elmh3);
	},
	
	displayTotalCount : function(type, count) {
		var elmp = document.createElement('p');
		elmp.id = 'totalcount';
		
		switch (type) {
			case 'title':
				elmp.innerHTML = count + '曲のトラックが登録されています';
				break;
			case 'artist':
				elmp.innerHTML = count + '名（組）のアーティストが登録されています';
				break;
			case 'package':
				elmp.innerHTML = count + 'タイトルのアルバムが登録されています';
				break;
		}

		resultheader.appendChild(elmp);
	},
	
	displaySearchWindow : function(value) {
		refinementform.innerHTML = '';
		if ((value.search_type =='title' && !value.search_package) || value.search_type =='package') {
			var elmform = document.createElement('form');
			elmform.setAttribute('action', 'javascript:void(0)'); 
			if (!(value.search_type =='title' && value.search_package)) {
				var elmdiv2 = document.createElement('div');
				elmdiv2.innerHTML = 'アーティスト名 ';
				var elminput = document.createElement('input');
				elminput.id = 'andresult_artist';
				elminput.setAttribute('name', 'artist'); 
				elminput.setAttribute('type', 'text');
				
				if (value.search_artist) {
					elminput.setAttribute('value', value.search_artist);
				}
	
				elminput.className = 'txt';
				elmdiv2.appendChild(elminput);
				elmdiv2.innerHTML += ' と';
			}
			elmform.appendChild(elmdiv2);


			var elmdiv3 = document.createElement('div');

			if (value.search_type =='title') {
				elmdiv3.innerHTML = '楽曲名 ';
			} else if (value.search_type =='package') {
				elmdiv3.innerHTML = 'アルバム名 ';
			}

			var elminput = document.createElement('input');
			elminput.id = 'andresult';
			elminput.setAttribute('name', 'title'); 
			elminput.setAttribute('type', 'text');
			if (value.search_query) {
				elminput.setAttribute('value', value.search_query);
			} else if (value.search_package){
				elminput.setAttribute('value', value.search_package);
			}
			elminput.className = 'txt';
			elmdiv3.appendChild(elminput);

			elmdiv3.innerHTML += ' で ';

			var elminput = document.createElement('input');
			elminput.setAttribute('type', 'submit'); 
			if (value.search_type =='title') {
				elminput.setAttribute('onclick', 'Ms.goSearch(\'title\', \'GoToANDSearch99\', \''+value.search_artist_id+'\', \'\', \'GoToAND_'+value.search_artist+'\', \'\', \'\', \'\', \'\')'); 
			} else if (value.search_type =='package') {
				elminput.setAttribute('onclick', 'Ms.goSearch(\'package\', \'\', \'\', \'\', \'GoToAND_'+value.search_artist+'\', \'GoToANDSearch99\', \'\', \'\', \'\')'); 
			}

			elminput.setAttribute('value', '絞り込む');
			elmdiv3.appendChild(elminput);
			elmdiv3.innerHTML += ' ';

			elmform.appendChild(elmdiv3);
		
			refinementform.appendChild(elmform);
		}
	},
	
	displayTrackList : function(type, search_package, value, musics) {
		var elmtb = document.createElement('table');
		var elmtbody = document.createElement("tbody");
		elmtb.appendChild(elmtbody);

		var elmtr = document.createElement('tr');
		elmtr.className = 'head';

		switch (value.search_type) {
			case 'title':
				if (!value.search_package) {
					var sort_no = [	{ no: 1, value: '楽曲' },
									{ no: 9, value: 'アーティスト' },
									{ no: 5, value: 'アルバム'},
									{ no: -16, value:'発売日' }];
				}
				break;
			case 'artist':
				var sort_no = [	{ no: 1, value: 'アーティスト' }];
				break;
			case 'package':
				var sort_no = [	{ no: 1, value: 'アルバム' },
								{ no: 4, value: 'アーティスト' },
								{ no: -5, value:'発売日' }];
				break;
		}

		if (sort_no) {
			for (i=0;i<sort_no.length;i++) {
				var elmth = document.createElement('th');
				if (value.search_sort == sort_no[i].no) {
					if (value.search_sort_type) {
						switch (value.search_sort_type) {
							case 'ASC':
								var sort_type = 'DESC';
								break;
							case 'DESC':
								var sort_type = 'ASC';
								break;
						}
					} else {
						if (sort_no[i].no < 0) {
							var sort_type = 'ASC';
						} else {
							var sort_type = 'DESC';
						}
					}

					switch (sort_type) {
						case 'ASC':
							var value_sort_type = '▲';
							break;
						case 'DESC':
							var value_sort_type = '▼';
							break;
					}

					var thHTML = sort_no[i].value+'<a href="javascript:void(0)" onClick="Ms.goSearch(\''+value.search_type+'\', \''+value.search_query+'\', \''+value.search_artist_id+'\', \''+value.search_package_id+'\', \''+value.search_artist+'\', \''+value.search_package+'\', \''+sort_no[i].no+'\', \''+sort_type+'\', \'\')">'+ value_sort_type+'</a>';
				} else {
					var thHTML = sort_no[i].value+'<a href="javascript:void(0)" onClick="Ms.goSearch(\''+value.search_type+'\', \''+value.search_query+'\', \''+value.search_artist_id+'\', \''+value.search_package_id+'\', \''+value.search_artist+'\', \''+value.search_package+'\', \''+sort_no[i].no+'\', \'ASC\', \'\')">▲</a>';
					thHTML += '<a href="javascript:void(0)" onClick="Ms.goSearch(\''+value.search_type+'\', \''+value.search_query+'\', \''+value.search_artist_id+'\', \''+value.search_package_id+'\', \''+value.search_artist+'\', \''+value.search_package+'\', \''+sort_no[i].no+'\', \'DESC\', \'\')">▼</a>';
				}
				
				elmth.innerHTML = thHTML;
				elmtr.appendChild(elmth);
			}
			var elmth = document.createElement('th');
			elmth.innerHTML = ' ';
			elmtr.appendChild(elmth);
	
		}
		elmtbody.appendChild(elmtr);
	
		for (cnt=0;cnt<musics.length;cnt++) {
			var elmtr = document.createElement('tr');

			var rest = cnt % 2;
			if ( !rest ) {
				elmtr.className = 'line1';
			} else {
				elmtr.className = 'line2';
			}

			if (musics[cnt].title) {	
				value_title = musics[cnt].title.replace(/\\/g, "");			
			} else {
				value_title = '';
			}
			if (musics[cnt].artist) {
				value_artist = musics[cnt].artist.replace(/\\/g, "");			
			} else {
				value_artist = '';
			}
			if (musics[cnt].package_title) {
				value_package_title = musics[cnt].package_title.replace(/\\/g, "");			
			} else {
				value_package_title = '';
			}

			switch (type) {
				case 'title':
					var elmth = document.createElement('th');
					if ( search_package ) {
						var count = musics.length - 1;
						var max_group_no = musics[count].group_no;
						if (max_group_no > 1) {
							elmth.innerHTML = musics[cnt].group_no+'-';
						}
						elmth.innerHTML += musics[cnt].track_no+'．'+value_title;
					} else {
						elmth.innerHTML = '<img src="/images/pages/home/icon_track.png" alt="" class="icon" />';
						elmth.innerHTML += value_title;
					}
					elmtr.appendChild(elmth);

					if ( !search_package ) {
						var elmtd = document.createElement('td');
						elmtd.innerHTML = value_artist;
						elmtr.appendChild(elmtd);
						var elmtd = document.createElement('td');
						elmtd.innerHTML = value_package_title;
						elmtr.appendChild(elmtd);
						var elmtd = document.createElement('td');
						elmtd.innerHTML = musics[cnt].package_release_date;
						elmtr.appendChild(elmtd);
					}
				
					var elmtd = document.createElement('td');
					elmtd.className = 'btns';
					elmtd.innerHTML = '<a href=\"javascript:void(0);\" onclick="Ms.openWin(\''+musics[cnt].kwid+'\',\''+musics[cnt].mmid+'\',\''+musics[cnt].jancode+'\',\''+value_title+'\',\''+value_artist+'\')\"><img src="/images/icon_magnifier.png" alt="ジャケットを見る" /><'+'/a>';
					elmtd.innerHTML += '<a href=\"javascript:void(0);\" onclick="Ms.addTrack(\''+musics[cnt].kwid+'\',\''+musics[cnt].mmid+'\')\"><img src="/images/btn_select_track.png" alt="選曲" /><'+'/a>';
					elmtr.appendChild(elmtd);
					break;
					
				case 'artist':
					var elmtd = document.createElement('td');
					elmtd.innerHTML = value_artist;
					elmtr.appendChild(elmtd);
					var elmtd = document.createElement('td');
					elmtd.className = 'btns';
					elmtd.innerHTML = '<a href=\"javascript:void(0);\" onClick="Ms.goSearch(\'package\', \'\', \'\', \'\', \''+musics[cnt].artist+'\', \'\', \'\', \'\', \'\')"><img src=\"/images/pages/home/btn_show_album.png\" alt=\"アルバムを見る\" /><'+'/a>';
					elmtd.innerHTML += '<a href=\"javascript:void(0);\" onClick="Ms.goSearch(\'title\', \'\', \''+musics[cnt].artist_id+'\', \'\', \''+musics[cnt].artist+'\', \'\', \'\', \'\', \'\')"><img src="/images/pages/home/btn_show_track_detail.png" alt="楽曲を見る" /><'+'/a>';
					elmtr.appendChild(elmtd);
					break;

				case 'package':
					var elmtd = document.createElement('td');
					elmtd.innerHTML = value_package_title;
					elmtr.appendChild(elmtd);
					var elmtd = document.createElement('td');
					elmtd.innerHTML = value_artist;
					elmtr.appendChild(elmtd);
					var elmtd = document.createElement('td');
					elmtd.innerHTML = musics[cnt].package_release_date;
					elmtr.appendChild(elmtd);
					var elmtd = document.createElement('td');
					elmtd.className = 'btns';
					//elmtd.innerHTML = '<a href=\"javascript:void(0);\" onclick="Ms.openWin(\''+musics[cnt].kwid+'\',\''+musics[cnt].mmid+'\',\''+musics[cnt].jancode+'\',\''+value_package_title+'\',\''+value_artist+'\')\"><img src="/images/icon_magnifier.png" alt="ジャケットを見る" /><'+'/a>';
					elmtd.innerHTML = '<a href=\"javascript:void(0);\" onClick="Ms.goSearch(\'title\', \'\', \'\', \''+musics[cnt].package_id+'\', \'\', \''+value_package_title+'\', \'\', \'\', \'\')"><img src="/images/pages/home/btn_show_track_detail.png" alt="楽曲を見る" /><'+'/a>';
					elmtr.appendChild(elmtd);
					break;
			}
			elmtbody.appendChild(elmtr);
		}

		page.appendChild(elmtb);
	},

	displayAlbumInfo : function(value) {
		var musics = value.musics[0];
		if (!musics) {
			var musics = value.musics_ms[0];
		}
	
		var elmdiv = document.createElement('div');
		elmdiv.id = 'albumInfo';
		elmdiv.className = 'clearfix';

		var elmh4 = document.createElement('h4');
			if (value.asin) {
				elmh4.innerHTML = '<img src=\"http://images-jp.amazon.com/images/P/'+value.asin+'.09._SCMZZZZZZZ_SX100_.jpg\" alt=\"\" />';
			} else {
				elmh4.innerHTML = '<img src=\"/images/img_no-photo.jpg\" width=\"100\" alt=\"\" />';
			}
				elmh4.innerHTML += 'アルバム情報';
		elmdiv.appendChild(elmh4);

		var elmul = document.createElement('ul');
		var elmli = document.createElement('li');
		elmli.innerHTML = 'アルバム名: '+ musics.package_title;
		elmul.appendChild(elmli);
		var elmli = document.createElement('li');
		elmli.innerHTML = 'アーティスト名: '+ musics.artist;
		elmul.appendChild(elmli);
		var elmli = document.createElement('li');
		elmli.innerHTML = '発売日: '+ musics.package_release_date;
		elmul.appendChild(elmli);
//		var elmli2 = document.createElement('li');
//		elmli2.innerHTML = '<a href=\"javascript:void(0);\" onclick="Ms.openWin(\''+musics.kwid+'\',\''+musics.mmid+'\',\''+musics.jancode+'\',\''+value_title+'\',\''+value_artist+'\')\"><img src="/images/icon_magnifier.png" alt="ジャケットを見る" /><'+'/a>';
//		elmul.appendChild(elmli2);
		elmdiv.appendChild(elmul);

		page.appendChild(elmdiv);
	},

	displayPageNavi : function(value) {
		if ( total_count > page_count) {
			var page_total_count = total_count / page_count + 1;
			var page_list = Ms.makePageList(Math.floor(page_total_count), value.page);

			var elmli3 = document.createElement('li');

			if (value.page > 1 && value.mmg_count) {
				var prev_page = value.page - 1;		
				elmli3.innerHTML = '<a href=\"javascript:void(0);\" onclick=\"Ms.goSearch(\''+value.search_type+'\', \''+value.search_query+'\', \''+value.search_artist_id+'\', \''+value.search_package_id+'\', \''+value.search_artist+'\', \''+value.search_package+'\', \''+value.search_sort+'\', \''+value.search_sort_type+'\', \''+prev_page+'\')\">前へ<'+'/a>';
			}

			for (pg=0;pg<page_list.length;pg++) {
				if ( !page_list[pg] ) {
					elmli3.innerHTML += '...';
				} else if ( page_list[pg] == value.page ) {
					elmli3.innerHTML += '<span style="margin:0 2px;font-size: 130%;"><a href=\"javascript:void(0);\" onclick=\"Ms.goSearch(\''+value.search_type+'\', \''+value.search_query+'\', \''+value.search_artist_id+'\', \''+value.search_package_id+'\', \''+value.search_artist+'\', \''+value.search_package+'\', \''+value.search_sort+'\', \''+value.search_sort_type+'\', \''+page_list[pg]+'\')\"><b>'+page_list[pg]+'<'+'/b></a></span>';
				} else {
					elmli3.innerHTML += '<span style="margin:0 2px;"><a href=\"javascript:void(0);\" onclick=\"Ms.goSearch(\''+value.search_type+'\', \''+value.search_query+'\', \''+value.search_artist_id+'\', \''+value.search_package_id+'\', \''+value.search_artist+'\', \''+value.search_package+'\', \''+value.search_sort+'\', \''+value.search_sort_type+'\', \''+page_list[pg]+'\')\">'+page_list[pg]+'</a></span>';
				}
			}

			if ((page_count * value.page) < total_count && value.mmg_count ) { 
				var next_page = parseInt(value.page) + 1;
				elmli3.innerHTML += '<a href=\"javascript:void(0);\" onclick=\"Ms.goSearch(\''+value.search_type+'\', \''+value.search_query+'\', \''+value.search_artist_id+'\', \''+value.search_package_id+'\', \''+value.search_artist+'\', \''+value.search_package+'\', \''+value.search_sort+'\', \''+value.search_sort_type+'\', \''+next_page+'\')\">次へ<'+'/a>　';
			}
			
			var elmul = document.createElement('ul');
			elmul.className = 'navPage';
			elmul.appendChild(elmli3);
			
			page.appendChild(elmul);
		}
	},
	
	displayNotFound : function(type, query) {
		switch (type) {
			case 'title':
				notfoundpage.innerHTML = '「'+query+'」から始まる楽曲名のトラックは見つかりませんでした。'
				break;
			case 'artist':
				notfoundpage.innerHTML = '「'+query+'」から始まる名前のアーティストは見つかりませんでした。'
				break;
			case 'package':
				notfoundpage.innerHTML = '「'+query+'」から始まるタイトルのアルバムは見つかりませんでした。'
				break;
		}
		notfoundpage.style.display = 'block';
		notfoundhelppage.style.display = 'block';
	}
}


/* 検索結果をここで処理をする */

var total_count;
var backpage;

var handler_list = function(value) {
	if (stop_search) {
		return false;
	}

	if (SearchTwoFlag) {
		SearchTwoFlag = '';
		return false;
	}
	
	if (SearchFlag.length > 1) {
		SearchTwoFlag = true;
	}
	SearchFlag = new Array();

	advancedsearchform.style.display = 'none';
	resultheader.style.display = 'block';
	searchnow.style.display = 'none';
	
	if (value.page == 1) {
		total_count = value.music_count;
	}

	page.innerHTML = '';

	if (Ms.backQuery.type) {
		var elmdiv = document.createElement('div');
		elmdiv.id = 'backbuttom';
		elmdiv.innerHTML = '<a href=\"javascript:void(0);\" onclick="Ms.backSearch(\''+Ms.backQuery.type+'\', \''+Ms.backQuery.query+'\', \''+Ms.backQuery.artist_id+'\', \''+Ms.backQuery.package_id+'\', \''+Ms.backQuery.artist+'\', \''+Ms.backQuery.package_title+'\', \''+Ms.backQuery.sort+'\', \''+Ms.backQuery.sort_type+'\', \''+Ms.backQuery.page+'\')"><b>[戻る]</b></a>';
		page.appendChild(elmdiv);
	}

	MsList.queryValue(value);

	if ( total_count == 0 ) {
		
		MsList.displayNotFound(value.search_type, value.search_query);

	} else {
	
		
		if ( value.search_type != 'title' || !value.search_package ) {
			MsList.displayTotalCount(value.search_type, total_count);
		}

		MsList.displaySearchWindow(value);

		if ( value.search_type == 'title' && value.search_package ) {
			MsList.displayAlbumInfo(value);
		}

		if ( value.mmg_count > 0 ) {
			MsList.displayPageNavi(value);
			MsList.displayTrackList(value.search_type, value.search_package, value, value.musics);
			MsList.displayPageNavi(value);
		}
		if ( value.ms_count > 0 ) {
			var elmh4 = document.createElement('h4');
			elmh4.innerHTML = 'リクエスト一覧';
			page.appendChild(elmh4);
			MsList.displayTrackList(value.search_type, value.search_package, value, value.musics_ms);
		}

		if ((value.search_type =='title' && !value.search_package) || value.search_type =='package') {
			refinementform.style.display = 'block';
		} else {
			refinementform.style.display = 'none';
		}
	}

	Ms.backQueryTemp.type = '' + value.search_type;
	Ms.backQueryTemp.query = '' + value.search_query;
	Ms.backQueryTemp.artist_id = '' + value.search_artist_id; 
	Ms.backQueryTemp.package_id = '' + value.search_package_id;
	Ms.backQueryTemp.artist = '' + value.search_artist;
	Ms.backQueryTemp.package_title = '' + value.search_package;
	Ms.backQueryTemp.sort = '' + value.search_sort;
	Ms.backQueryTemp.sort_type = '' + value.search_sort_type;
	Ms.backQueryTemp.page = '' + value.page;

	page.style.display = 'block';
};


/* トラックリストに追加するときの結果をうけとって実行 */

var trunkList = new Array();

var addTrack_handler = function(track) {
	var cnt = trunkList.length;
	var no = cnt + 1;
	var addtrack_message = '';
	
	if (track == 'DOMERROR') {
		alertmessage.innerHTML = '選曲ができません。';
		alertmessage.style.display = 'block';
		window.scrollTo(0,0);
		
		return false;
	}

	for (i=0;i<cnt;i++) {
		var songlist = trunkList[i];
		
		if (songlist.kwid == track.kwid) {
			alertmessage.innerHTML = 'すでに選曲しています。';
			alertmessage.style.display = 'block';
			window.scrollTo(0,0);
			
			return false;
		}
	}
	
	if (no > 10 && !is_selector) {
		alertmessage.innerHTML = 'プレイリストに追加する楽曲は10曲までです。楽曲の削除がしたい場合は解説などの入力へ進んで下さい。';
		alertmessage.style.display = 'block';
		window.scrollTo(0,100);
		
		return false;
	} else {		
		alertmessage.style.display = 'none';
		
		trunkList[cnt] = track;
		
		Ms.displayTrunk();

		listpagesample.style.display = 'none';
		listpage.style.display = 'block';

		if ( cnt < 7 ) {
			window.scrollTo(0,0);
		} else {
			window.scrollTo(0,500);
		}		
		return true;
	}

	
};

var handler_request = function(value) {
	page.innerHTML = '';
	trackrequest.style.display = 'none';
	
	trackrequestsuccess.style.display = 'block';
};

