﻿var Y_KensakuType;//古いページ対応[削除予定]



function yahooItemDisp(page,genr){
//ロードレイヤー表示
if(nowMall == 'yahoo'){LayerDiv.style.display = 'block';}


var k_word;
if(page){offset = hits * (page - 1);Y_page = page}
if(genr){
	if(genr == 1){categoryId = firstCategoryId;}

}

//ショップを絞込んでない時は0の戻す処理
if(!YnowShop.type){
store_id = '';
delete YnowShop.name;
delete YnowShop.type;
delete YnowShop.word;
}

if(Y_page == 34){hits=10;}//最後のページのヒット数変更
kensakuType = 'all';







//検索キーワード関係
if(Y_KensakuType == 'and'){var Y_K = Y_kensaku_word;}
else{var Y_K = '(' + Y_kensaku_word + ')';}

if(YnowShop.type == 'B'){
	k_word = Y_K;
	if(YnowShop.word){k_word = k_word + ' ' + YnowShop.word;}
}
else if(YnowShop.type == 'A'){
	k_word = '';
	if(YnowShop.word){k_word = YnowShop.word;}

}
else{
	k_word = Y_K;
	if(Ysize){
		k_word += ' ' + Ysize;
	}

	if(YColorWord){//カラーリストのキーワード
		k_word += ' ' +  YColorWord;
	}
	if(YBestWord){//人気キーワードリストのキーワード
		k_word += ' ' +  YBestWord;
	}
	if(PlusWord){//検索フォームのキーワード
		k_word += ' ' + PlusWord;
	}
}








if(NG_word && k_word && YnowShop.type != 'A'){
	NG_words = new String(NG_word);
		words = NG_words.split(" ");
			for(p = 0; p < words.length; p++){
				k_word += ' -' + words[p];
			}

}

if(jyogaigo == 'on'){
	if(checkNgWord && !YnowShop.type && !PlusWord){
		checkNgWord = new String(checkNgWord);
		checkNgWords = checkNgWord.split(" ");
		for(c = 0; c < checkNgWords.length; c++){
				k_word += ' -' + checkNgWords[c];
		}

	}
}







//alert('ヤフー【' + k_word +'】\n検索タイプ【' + kensakuType + '】\n親ジャンル【' + firstCategoryId + '】\n現在ジャンル【' + categoryId + '】\nショップコード【' + store_id + '】');
var url = "../api_lib/yahooItemSearch.php";
var paramList = "query=" + encodeURIComponent(k_word);	//検索キーワード
paramList += "&type=" + kensakuType;				//検索タイプ
paramList += "&hits=" + hits;					//検索件数
paramList += "&availability=1";					//在庫あり
paramList += "&offset=" + offset;				//表示始番
paramList += "&category_id=" + categoryId;			//カテゴリー
paramList += "&module=subcategories";
paramList += "&store_id=" + store_id;
paramList += "&sort=" + encodeURIComponent(Ysort);
paramList += "&price_from=" + Y_Low_kakaku;
paramList += "&price_to=" + Y_Hei_kakaku;
paramList += "&reload=" + reload;
					//==========通信=============
					new Ajax.Request(url,
					{
						method: 'get',
						onSuccess: getData,
						onFailure: showErrMsg,
						parameters: paramList
					});
					//===========================
hits=30;//ヒット数を戻す
//----------アイテム通信の成功時に実行する関数----------
function getData(data){
	var mall = "yahoo";
	//xmlの最親要素の参照
	var ResultSet = data.responseXML.getElementsByTagName('ResultSet');
	if(!ResultSet[0]){
		if(nowMall == 'yahoo'){LayerDiv.style.display = 'none';}
		//alert('接続に失敗しました。もう一度接続します。');
		//reload += 100;
		//setTimeout("yahooItemDisp()",2000);
		yahoo_state.innerHTML ="アクセスが集中しているため接続に失敗しました。しばらくしてからご利用ください。";
return;
	}
	else{
	var count = ResultSet[0].getAttribute("totalResultsAvailable");//全商品数
	var Rcount = ResultSet[0].getAttribute("totalResultsReturned");

	yahoo_back_genre.innerHTML		= "";
	yahoo_genre_list.innerHTML		= "";
	yahoo_pagelist.innerHTML = "";
	yahoo_bottom_pagelist.innerHTML = "";
	YshopList.innerHTML = '';
	YshopListTitle.innerHTML = '';


	if(count == 0)	{
		yahoo_result.innerHTML = '';
		if(nowMall == 'yahoo'){LayerDiv.style.display = 'none';}
		yahoo_state.innerHTML ="ヤフーの商品は見つかりませんでした。";
		yahoo_bottom_state.innerHTML = "";
		return;
	}
	if(Rcount ==0){
		if(nowMall == 'yahoo'){LayerDiv.style.display = 'none';}
		yahoo_state.innerHTML ="このページの商品が見つかりません。";
		return;
	}



	if(nowMall == 'yahoo'){LayerDiv.style.display = 'none';}
		//個別商品データーhits要素の参照
	var item  = data.responseXML.getElementsByTagName('Hit');
	var Store = data.responseXML.getElementsByTagName('Store');
	var Review = data.responseXML.getElementsByTagName('Review');
	var Shipping = data.responseXML.getElementsByTagName('Shipping');
	yahoo_result.innerHTML			= "";


	shopCodeShopName = new Object();

	//商品の数だけ繰り返し実行
	for(i = 0; i < item.length; i++){
	var itemNameValue = getValue(item[i], 'Name');
	var itemPriceValue = getValue(item[i], 'Price');
	var itemCaptionValue = getValue(item[i], 'Description');
	var affiliateUrlValue = getValue(item[i], 'Url');
	var mediumImageUrlValue = getValue(item[i], 'Medium');
	var souryouKomiFlagValue = getValue(Shipping[i], 'Code');
	var reviewCountValue = getValue(Review[i], 'Count');
	var reviewUrlValue = getValue(Review[i], 'Url');
	var shopNameValue = getValue(Store[i], 'Name');
	var shopCodeValue = getValue(Store[i], 'Id');
		//送料無料か？
	if(souryouKomiFlagValue == 2){souryouKomiFlagValue = 0;}
	
	//半角スペース処理
	shopNameValue = shopNameValue.replace(/ +/g , ' ').replace('&','&amp;');

		
var ng = 0;		//商品名に除外キーワードがある場合は表示をしない処理	↓



YYng_words = Yng_word;



//↓↓↓↓↓↓↓↓↓↓除外キーチェック用↓↓↓↓↓↓↓↓↓↓
if(jyogaigo=='on'){

if(!YnowShop.type && !PlusWord){
	if(Yng_word){
		for(h = 0; h < ItemName_key.length; h++){
			if(h == 0 && ItemName_key[h]){
				YYng_words = Yng_word + ' ' + ItemName_key[h]
			}
			else if(ItemName_key[h]){
				YYng_words += ' ' + ItemName_key[h];
			}
		}
	}
	else{
	if(ItemName_key[0]){YYng_words = ItemName_key[0]}
	if(ItemName_key[1]){YYng_words += ' ' + ItemName_key[1]}
	if(ItemName_key[2]){YYng_words += ' ' + ItemName_key[2]}
	if(ItemName_key[3]){YYng_words += ' ' + ItemName_key[3]}
	if(ItemName_key[4]){YYng_words += ' ' + ItemName_key[4]}
	if(ItemName_key[5]){YYng_words += ' ' + ItemName_key[5]}
	if(ItemName_key[6]){YYng_words += ' ' + ItemName_key[6]}
	}

}
else{YYng_words = Yng_word;}
}
//↑↑↑↑↑↑↑↑↑↑除外キーチェック用↑↑↑↑↑↑↑↑↑↑




if(YnowShop != 'A'){
	if(YYng_words){
		YYng_words = new String(YYng_words);
		word = YYng_words.split(" ");
			for(p = 0; p < word.length; p++){
				rf = new RegExp(word[p],"i");
				if(itemNameValue.match(rf)){
				ng = 1;
				break;
				}
			}
	}
	if(Yng_shop){
		Yng_shops = new String(Yng_shop);
		word = Yng_shops.split(":");
			for(p = 0; p < word.length; p++){
				if(word[p] == shopNameValue){
				ng = 1;
				break;
				}
			}
	}
//↓↓↓↓↓↓↓↓↓↓送料チェック用↓↓↓↓↓↓↓↓↓↓

if(X && souryouCheck == 'on' && X[shopNameValue + shopCodeValue]){
	ng = 1;
}

//↑↑↑↑↑↑↑↑↑↑送料チェック用↑↑↑↑↑↑↑↑↑↑
	if(ng == 1){
		if(nowMall == 'yahoo'){
			LayerDiv.style.display = 'none';
			LayerDiv.innerHTML = '';
		}
		continue;
	}			//商品名に除外キーワードがある場合は表示をしない処理	↑
}

		//画像をアフィリエイトリンク作成
		affiliateImgLink = '<a href="' + affiliateUrlValue + '" target= "_blank"><img src="' + mediumImageUrlValue + '" width="128" height="128" alt="商品詳細" title="' + itemNameValue + '"><img Src="http://ad.jp.ap.valuecommerce.com/servlet/gifbanner?sid=2395414&pid=877592484" height="1" width="1" Border="0"></a>'

		//クレジットカード利用可か？
	var Payment = Store[i].getElementsByTagName('Payment');
	var PaymentMethod = Payment[0].getElementsByTagName('Method');
		for(var j = 0; j < PaymentMethod.length; j++){
		var PaymentCodeValue = getValue(PaymentMethod[j], 'Code')
			if(PaymentCodeValue == 1){
			var creditCardFlagValue = 1;
			}
		}
if(i == (item.length - 1))var last = 'last';//ロードレイヤー削除関係

	SyouhinSet(	//関数呼び出し
	mall,
	yahoo_result,
	itemNameValue,
	itemCaptionValue,
	affiliateImgLink,
	itemPriceValue,
	creditCardFlagValue,
	shopNameValue,
	shopCodeValue,
	souryouKomiFlagValue,
	reviewCountValue,
	reviewUrlValue,
	last
	);
		//ショップリスト取得
	var shopCodeValue = getValue(Store[i], 'Id');
	var shopName = getValue(Store[i], 'Name');

	//半角スペース処理
	shopName = shopName.replace(/ +/g , ' ').replace('&','&amp;');

	shopCodeShopName[shopCodeValue] = [shopName];



	}//for文おわり

	ShopList(	//ショップリスト表示関数呼び出し
	mall
	);

		//-----ページステータス表示-----

var first = item[0].getAttribute("index");//商品始番
var last  = item[item.length-1].getAttribute("index");//商品終番

	PageStatus(	//関数呼び出し
	yahoo_state,
	yahoo_bottom_state,
	count,
	first,
	last
	);
		//-----ページリスト表示-----
if(count > 1000){
	var pageCount = Math.floor(1000 / hits);
	var amari = 1000 % hits;
}
else{
	var pageCount = Math.floor(count / hits);
	var amari = count % hits;
}
			//全ページ数
if(amari > 0){++pageCount}			//全ページ数

	PageList(	//関数呼び出し
	mall,
	yahoo_pagelist,
	yahoo_bottom_pagelist,
	pageCount
	);


		//---------ジャンル----------
var subcategories = data.responseXML.getElementsByTagName('Subcategories');
var category = subcategories[0].getElementsByTagName('Category');
var ul = document.createElement('ul');
yahoo_back_genre.appendChild(ul);
	if(firstCategoryId == 0){
		li = document.createElement('li');
		ul.appendChild(li);
				if(1 < category.length){
					li.setAttribute('id', '0');
					li.innerHTML = '全カテゴリー'+ '<br>∨';
					li.onclick = function(){
						categoryId = this.getAttribute('id');
						offset = 0;
						y_page = 1;
						yahooItemDisp();
					}
				}
				else{
				li.innerHTML = '全カテゴリー';
				li.setAttribute('id', 'jigenre');
				}
		}


if(1 < category.length){

	if(firstCategoryId == 0){
	i = 1;
	}
	else{
		for(i = 1; i < category.length; i++){
			var pII = getValue(category[i], 'Id');
			if(pII == firstCategoryId){break;}
		}
	}

	for(i = i; i < category.length; i++){
		var pN = getValue(category[i], 'Name');
		var pI = getValue(category[i], 'Id');



		var li = document.createElement('li');
		li.setAttribute('id', pI);
		li.innerHTML = pN + '<br>∨';
		ul.appendChild(li);
		if(i !== category.length-1){
			li.onclick = function(){
			categoryId = this.getAttribute('id');
			offset = 0;
			Y_page = 1;
			yahooItemDisp();
			}
		}





	}
li.innerHTML = pN;
li.setAttribute('id','jigenre');
}


		//子ジャンルデータ取得
var child = data.responseXML.getElementsByTagName('Child');
var genre_ul = document.createElement('ul');
yahoo_genre_list.appendChild(genre_ul);
	for(i = 0; i < child.length; i++){
	var NG = 0;
	var genreIdeValue = getValue(child[i], 'Id');
	var genreNameValue = getValue(child[i], 'Name');
	var genreHitValue = getValue(child[i], 'Hits');
		if(Yng_genr){
			Yng_genrL = new String(Yng_genr).split(" ");
			for(var l = 0; l < Yng_genrL.length; l++){
				if(Yng_genrL[l] == genreIdeValue){
				NG = 1;
				}
			}
		}
		if(NG == 1){continue;}
	Genre(	//ジャンルリスト表示関数呼び出し
	mall,
	genre_ul,
	genreIdeValue,
	genreNameValue,
	genreHitValue
	);
	}
	}
	}//getData終わり

}//itemDisp終わり
