﻿function goodsSearch(page) {
	state.innerHTML = "検索中です・・・";
	goods.innerHTML = "";
	info.innerHTML = "";

 //var url = "http://ws.bzen.net/lib/RakutenItemSearch.php";
 var url = "../lib/ItemSearch.php";

	var paramList = "keyword=";
	if(key){
		paramList += key;
		word.value = decodeURIComponent(key);
		key = null;
	}else{
		if(!word.value){
			word.value = "水着";
		}
	paramList += encodeURIComponent(word.value);
	}

	paramList += "&version=2007-10-25";
	paramList += "&hits=10"; //1ページの表示数
	paramList += "&page=" + page;
	//paramList += "&sort=" + encodeURIComponent("-reviewCount"); //レビュー件数順（降順）
	paramList += "&sort=" + encodeURIComponent($F('slctSort'));
	paramList += "&genreId=402363";
	paramList += "&imageFlag=1";

 	//info.innerHTML = paramList;

	new Ajax.Request(url,
	{
		method: 'get',
		onSuccess: getResponse,
		onFailure: getError,
		parameters: paramList
	});

	function getResponse(req){
		var response = req.responseXML.getElementsByTagName('Response');
		var status = response[0].getElementsByTagName('Status')[0].firstChild.nodeValue;

		if(!(status == "Success")){
			state.innerHTML = "データが見つかりませんでした。";
			return;
		}

		var count = parseInt(response[0].getElementsByTagName('count')[0].firstChild.nodeValue);
		var first = parseInt(response[0].getElementsByTagName('first')[0].firstChild.nodeValue);
		var last = parseInt(response[0].getElementsByTagName('last')[0].firstChild.nodeValue);
		var hits = parseInt(response[0].getElementsByTagName('hits')[0].firstChild.nodeValue);
		var item = response[0].getElementsByTagName('Item');

		//ボタン作成
		//tmpBtn += "<hr width=600 align=\"left\"><br />";
		var tmpBtn = "<table id=\"tblBtn\"><tr>"

		if (page < 2) {
			if(count > last){
				tmpBtn += "<td></td><td><input type=\"button\" name=\"btnNext\" id=\"btnNext\" value=\"次を表示\"></td>";
			}
		} else if (count > last) {
			tmpBtn += "<td><input type=\"button\" name=\"btnPrevious\" id=\"btnPrevious\" value=\"前を表示\"></td>";
			tmpBtn += "<td><input type=\"button\" name=\"btnNext\" id=\"btnNext\" value=\"次を表示\"></td>";
		} else {
			tmpBtn += "<td><input type=\"button\" name=\"btnPrevious\" id=\"btnPrevious\" value=\"前を表示\"></td><td></td>";
		}

		tmpBtn += "</tr></table>";
		var tmpHtml = tmpBtn;
		tmpHtml += "<hr width=600 align=\"left\">";

		//商品テーブル作成
		//tmpHtml += "<table id=\"tblGoods\"><tr><td>";
		
		for(i = 0; i < item.length; i++){
			var itemName = item[i].getElementsByTagName('itemName');
			var tmpAlt = itemName[0].firstChild.nodeValue;
			var affiliateUrl = item[i].getElementsByTagName('affiliateUrl');
			var tmpClickUrl = affiliateUrl[0].firstChild.nodeValue;
			var mediumImageUrl = item[i].getElementsByTagName('mediumImageUrl');
			var tmpUrl = mediumImageUrl[0].firstChild.nodeValue;
			var itemPrice = item[i].getElementsByTagName('itemPrice');
			var tmpPrice = itemPrice[0].firstChild.nodeValue;
			var shopName = item[i].getElementsByTagName('shopName');
			var shopNameValue = shopName[0].firstChild.nodeValue;
			var shopUrl = item[i].getElementsByTagName('shopUrl');
			var shopUrlValue = shopUrl[0].firstChild.nodeValue;
			var reviewCount = item[i].getElementsByTagName('reviewCount');
			var reviewCountValue = reviewCount[0].firstChild.nodeValue;

			var taxFlag = item[i].getElementsByTagName('taxFlag');
			var taxFlagValue = taxFlag[0].firstChild.nodeValue;
			var postageFlag = item[i].getElementsByTagName('postageFlag');
			var postageFlagValue = postageFlag[0].firstChild.nodeValue;
			var creditCardFlag = item[i].getElementsByTagName('creditCardFlag');
			var creditCardFlagValue = creditCardFlag[0].firstChild.nodeValue;
			var availability = item[i].getElementsByTagName('availability');
			var availabilityValue = availability[0].firstChild.nodeValue;

			//var itemCaption = item[i].getElementsByTagName('itemCaption');
			//var itemCaptionValue = itemCaption[0].firstChild.nodeValue;

			//商品リンク作成
			tmpHtml += "<table width=600 id=\"tblGoods\" border=1 cellpadding=0 cellspacing=0 bordercolor=\"#cccccc\">";
			tmpHtml += "<tr>";			
			tmpHtml += "<td width=130 height=130 rowspan=2><div align=\"center\">";
			if(tmpUrl != ""){
				tmpHtml += "<a href=\"" + tmpClickUrl + "\" target=\"_blank\">";
				tmpHtml += "<img src='"+ tmpUrl + "' border=0>";
				tmpHtml += "</a>";
        			//tmpHtml += "<br />";
      			}else{
        			tmpHtml += "商品画像が<br />ありません。";
        			//tmpHtml += "<br />";
      			}
			tmpHtml += "</div></td>";
			tmpHtml += "<td bgcolor=\"#dddddd\"><table width=450 border=0 align=\"center\" cellpadding=0 cellspacing=0>";
			tmpHtml += "<tr>";
			tmpHtml += "<td width=150>";
			tmpHtml += "<b>" + tmpPrice + "<FONT SIZE=-1>円</FONT></b>";
			tmpHtml += "</td>";
			tmpHtml += "<td><div align=\"right\">";
			tmpHtml += "<a href=\"" + shopUrlValue + "\" target=\"_blank\">";
			tmpHtml += shopNameValue;
			tmpHtml += "</a>";
			tmpHtml += "</div></td>";
			tmpHtml += "</tr>";
			tmpHtml += "</table></td>";
			tmpHtml += "</tr>";
			tmpHtml += "<tr>";
			tmpHtml += "<td><div align=\"center\">";
			tmpHtml += "<table width=450 border=0 cellspacing=0 cellpadding=0>";
			tmpHtml += "<tr>";
			tmpHtml += "<td width=300 BGCOLOR=\"#EEEEEE\"><FONT SIZE=-1>";
			if(taxFlagValue != 1){
				tmpHtml += "<b>税込</b>";
			}else{
				tmpHtml += "税別";
			}
			if(postageFlagValue != 1){
				tmpHtml += "、<b><FONT Color=\"#FF0000\">送料込</FONT></b>";
			}else{
				tmpHtml += "、送料別";
			}
			if(creditCardFlagValue != 1){
				tmpHtml += "";
			}else{
				tmpHtml += "、<b><FONT Color=\"#339999\">カードOK</FONT></b>";
			}
			if(availabilityValue != 1){
				tmpHtml += "、<b><FONT Color=\"#CC6600\">売り切れ</FONT></b>";
			}else{
				tmpHtml += "";
			}
			tmpHtml += "</FONT></td>";
			tmpHtml += "<td width=150 BGCOLOR=\"#EEEEEE\"><p align=\"right\"><FONT SIZE=-1>";
			tmpHtml += "レビュー(感想) " + reviewCountValue + "件";
			tmpHtml += "</FONT></p></td>";
			tmpHtml += "</tr>";
			tmpHtml += "<tr>";
			tmpHtml += "<td height=80 colspan=\"2\">";
			if(tmpAlt.length >= 100){
				tmpHtml += "<a href='" + tmpClickUrl + "'>";
				tmpHtml += tmpAlt.substring(0, 100);				
				tmpHtml += " ...</a><br />";
			}else{
				tmpHtml += "<a href='" + tmpClickUrl + "'>";
				tmpHtml += tmpAlt;
				tmpHtml += "</a><br />";
			}
			tmpHtml += "</td>";
			tmpHtml += "</tr>";

			tmpHtml += "</table>";
			tmpHtml += "</div></td>";
			tmpHtml += "</tr>";
			tmpHtml += "</table>";
			tmpHtml += "<hr width=600 align=\"left\">";
		}
		
		//tmpHtml += "</tr></table>";
		//tmpHtml += "</td></tr></table>";
		tmpHtml += tmpBtn;

		//結果を表示
		state.innerHTML = "検索終了：" + count + " 件中 " + first + " ～ " + last + " 件目のデータです。<br />";
		goods.innerHTML = tmpHtml;

		//ボタンにイベントを設定
		var btnN = document.getElementsByName("btnNext");
		var btnP = document.getElementsByName("btnPrevious");

		if (page < 2) {
			if(count > last){
				btnN[0].onclick = function (){goodsSearch(++page);}
				btnN[1].onclick = function (){goodsSearch(++page);}
			}
		} else if (count > last) {
			btnN[0].onclick = function (){goodsSearch(++page);}
			btnP[0].onclick = function (){goodsSearch(--page);}
			btnN[1].onclick = function (){goodsSearch(++page);}
			btnP[1].onclick = function (){goodsSearch(--page);}
		} else {
			btnP[0].onclick = function (){goodsSearch(--page);}
			btnP[1].onclick = function (){goodsSearch(--page);}
		}

 	}

	function getError(req){
		state.innerHTML = "データを取得できませんでした。<br />\n";
	}

return false;
}
