/*
 * class="pointSiteDetail"を持つinputタグのvaluから、pointSiteDetail()を飛ばします。
 *
 */
$(function(){
	var id   = $("input.pointSiteDetail").val().split(",")[0];
	pointSiteDetail(id);
	getRecommend(id);
});

/*
 * ポイントサイトの詳細ページを取得(json)します。
 * id				(id / keyword)
 */
function pointSiteDetail(id){
	var url = "/bittokuen/ajax/detail/";
	var postBody = { "id" : id };

	$.ajax({
		dataType : "jsonp",
		data : postBody,
		url : url,
		success : function(data,status){
			showSiteDetail(data)
		},
		error : function(){
		}
	});


}

function getRecommend(id){
	var url = "/bittokuen/ajax/recommend/";
	var postBody = { "id" : id };

	$.ajax({
		dataType : "jsonp",
		data : postBody,
		url : url,
		success : function(data,status){
			showRecommend(data)
		},
		error : function(){
		}
	});
}

function showSiteDetail(json){
	var result = eval(json);

	var siteData = result["data"]["records"][0];

	var type  = $("input.pointSiteDetail").val().split(",")[1];
	var tid   = $("input.pointSiteDetail").val().split(",")[2];

	// 通常詳細
	if ( !siteData["parent_id"] ) {
		var sitedetail = {};
		sitedetail.title	= siteData["programname"];
		if ( type && '' !== tid ) {
			sitedetail.url		= "/bittokuen/click/jump/id/" + siteData["affiliate_id"]+ "/" + type + "/" + tid + "/";
		} else {
			sitedetail.url		= "/bittokuen/click/jump/id/" + siteData["affiliate_id"];
		}
		sitedetail.img		= $(siteData["bannerhtml"]).find("img").attr("src");
		sitedetail.action	= siteData["actiontext"]
		sitedetail.date 	= siteData["pointcommitday"];
		sitedetail.overview = siteData["bccomment"];
		sitedetail.detail	= siteData["bccomment2"];
		sitedetail.click	= siteData["clickpresent"];
		sitedetail.point	= siteData["present"];
		sitedetail.pointType	= "";
		if(siteData["point_type"] == 1){
			sitedetail.pointType = "％";
		}else if(siteData["point_type"] == 2){
			sitedetail.pointType = "ポイント";
		}

		// グループアイコンの表示
		sitedetail.giconlist = "";
		var icons = {
			"20001" : "icon_bigpoint_group.gif",
			"20002" : "icon_hot_group.gif",
			"20003" : "icon_new_group.gif",
			"20004" : "icon_pointup_group.gif",
			"20020" : "icon_pointup_group.gif"
		}
		// group の有無
		if(siteData["groups"]){
			var icon = "";
			for(var i = 0; i < siteData["groups"].length; i++){
				if(siteData["groups"][i]["pickup_id"]){
					for(var key in icons){
						if(key == siteData["groups"][i]["pickup_id"]){
							if(key == "20001" || key == "20002" || key == "20003" || key == "20004" || key == "20020"){
								icon += "<img src=\"http://static.bitcash.jp/bittokuen/cmn/" + icons[key] + "\" alt=\"\" />";
								break;
							}
						}
					}
				}
			}
		}
		if(icon != ""){
			sitedetail.giconlist = "<li class=\"icon\">" + icon + "</li>";
		}

		var bSize = "";


		// サイズ取得の為、バナー画像をロード
		var imgTemp = new Image();
		imgTemp.src = sitedetail.img;

		// 表示サイズ上限
		var imgLimit = {
			"width"  : "160",
			"height" : "120"
		}


		if(imgTemp.width > imgLimit.width || imgTemp.height > imgLimit.height){
			if(imgTemp.width / imgLimit.width >= imgTemp.height / imgLimit.height){
				// 横幅を縮小
				bSize = "width=\"" + imgLimit.width + "\"";
			}else{
				// 縦幅を縮小
				bSize = "height=\"" + imgLimit.height + "\"";
			}
		}else{
			bSize = "width=\"120\"";
		}

		$("div.site-head").html("<h3>" + sitedetail.title + "</h3>");
		var lists = "";
		lists += "<div class=\"image\"><div class=\"image-inner\">\n";
		lists += "		<img src=\"" + sitedetail.img + "\" alt=\"" + sitedetail.title + "\"  title=\"" + sitedetail.title + "\" " + bSize + " />\n";
		lists += "</div></div>\n";
		lists += "<div class=\"bittoku\">\n";
		lists += (sitedetail.click != null) ? "		<ul class=\"click\">" : "				<ul>\n";
		lists += (sitedetail.click != null) ? "		<li class=\"click\"><strong>" + sitedetail.click + "</strong>ポイント</li>" : "";
		lists += 		"<li class=\"action\">" + sitedetail.action + "</li>\n";
		lists += (sitedetail.point != null) ? "		<li class=\"point\"><strong>" + sitedetail.point + "</strong>" + sitedetail.pointType + "</li>\n" : "";
		lists += 		"<li class=\"date\">" + sitedetail.date + "</li>\n";
		lists += 		sitedetail.giconlist + "\n";
		lists += 	"</ul>\n";
		lists += "</div>\n";
		lists += "<div class=\"overview\">\n";
		lists += 	"<p>" + sitedetail.overview + "</p>\n";
		lists += "</div>\n";
		lists += "<div class=\"detail\">\n";
		lists += 	"<p>" + sitedetail.detail + "</p>\n";
		lists += "</div>\n";


		$("div.site-body").prepend( lists );
	} else {
	// 商品詳細
		var itemdetail = {};
		itemdetail.title	= siteData["programname"];
		if ( type && '' !== tid ) {
			itemdetail.url		= "/bittokuen/click/jump/id/" + siteData["affiliate_id"]+ "/" + type + "/" + tid + "/";
			itemdetail.shopurl	= "/bittokuen/list/detail/id/" + siteData["parent_id"]+ "/" + type + "/" + tid + "/";
		} else {
			itemdetail.url		= "/bittokuen/click/jump/id/" + siteData["affiliate_id"];
			itemdetail.shopurl	= "/bittokuen/list/detail/id/" + siteData["parent_id"];
		}
		itemdetail.shop		= siteData["sitename"];
		itemdetail.img		= $(siteData["bannerhtml"]).find("img").attr("src");
		itemdetail.action	= siteData["actiontext"]
		itemdetail.date		= siteData["pointcommitday"];
		itemdetail.overview = siteData["bccomment"];
		itemdetail.detail	= siteData["bccomment2"];
		itemdetail.click	= siteData["clickpresent"];
		itemdetail.price	= siteData["itemprice"]
		itemdetail.pointper	= "-";
		itemdetail.point	= "-";
		if(siteData["point_type"] == 1){
			itemdetail.pointper	= siteData["present"];
			// ポイント計算
			itemdetail.point	= Math.floor(siteData["present"] / 100 * siteData["itemprice"]);
		} else if(siteData["point_type"] == 2){
			// 固定報酬
			itemdetail.point	= siteData["present"];
		}

		// サイズ取得の為、バナー画像をロード
		var imgTemp = new Image();
		imgTemp.src = itemdetail.img;
		// 表示サイズ上限
		var imgLimit = {
			"width"  : "160",
			"height" : "120"
		}
		if(imgTemp.width > imgLimit.width || imgTemp.height > imgLimit.height){
			if(imgTemp.width / imgLimit.width >= imgTemp.height / imgLimit.height){
				// 横幅を縮小
				bSize = "width=\"" + imgLimit.width + "\"";
			}else{
				// 縦幅を縮小
				bSize = "height=\"" + imgLimit.height + "\"";
			}
		}else{
			bSize = "width=\"120\"";
		}

		$("div.site-head").html("<h3>" + itemdetail.title + "</h3>");
		var str="";
		str += "<div class=\"itemdetail\">\n";
		str += "	<div class=\"image\"><div class=\"image-inner\"><img src=\"" + itemdetail.img + "\" alt=\"" + itemdetail.title + "\"  title=\"" + itemdetail.title + "\" " + bSize + " /></div></div>\n";
		str += "	<div class=\"bittoku\">\n";
		str += "	<ul>\n";
		str += "		<li class=\"action\">" + itemdetail.action + "</li>\n";
		str += "		<li class=\"shop\">" + itemdetail.shop + "</li>\n";
		str += "		<li class=\"shopinfo\"><a href=\"" + itemdetail.shopurl + "\">ショップ情報</a></li>\n";
		str += (itemdetail.price != null) ? "		<li class=\"price\"><strong>￥" + itemdetail.price + "</strong></li>\n" : "";
		str += (itemdetail.price != null) ? "		<li class=\"point\"><strong>" + itemdetail.point + "</strong>ポイント<br />（商品購入金額の<p class=\"rate\">" + itemdetail.pointper + "</p>％）" + "</li>\n" : "		<li class=\"rate\"><strong>" + itemdetail.pointper + "</strong>％</li>\n";
		str += "		<li class=\"date\">" + itemdetail.date + "</li>\n";
		str += "	</ul>\n";
		str += "	</div>\n";
		str += "	<div class=\"overview\">\n";
		str += "		<p>" + itemdetail.overview + "</p>\n";
		str += "	</div>\n";
		str += "	<div class=\"detail\">\n";
		str += "		<p>" + itemdetail.detail + "</p>\n";
		str += "	</div>\n";
		str += "</div>\n";
		$("div.site-body").prepend(str);
	}
}

function showRecommend(json){
	var result = eval(json);
	var sites	= result["data"]["records"];

	// 無い場合は終了
	if( !sites.length ) return;

	var id  = $("input.pointSiteDetail").val().split(",")[0];

	var lists = "";
	var rlists = "";
	var count = 4;
	if(count > sites.length) count = sites.length;

	for(var i = 0; i < ((count < sites.length) ? count : sites.length); i++){
		site = {};
		site.title  = sites[i]["programname"];

		site.url    = "/bittokuen/list/detail/id/" + sites[i]["affiliate_id"] + "/rcmd/" + id + "/";

		site.banner = sites[i]["bannerhtml"].replace('[url]',site.url).replace('target="_blank"',"");
		site.action	 = sites[i]["actiontext"]
		site.date   = sites[i]["pointcommitday"];
		site.info   = sites[i]["bccomment"];
		site.click  = sites[i]["clickpresent"];
		site.point  = sites[i]["present"];
		site.pointType	= "";
		if(sites[i]["point_type"] == 1){
			site.pointType = "％";
		}else if(sites[i]["point_type"] == 2){
			site.pointType = "ポイント";
		}

		// html
		rlists += "<li class=\"site\">\n";
		rlists += "	<div class=\"site-inner\">\n";
		rlists += "		<div class=\"image\">" + site.banner + "</div>\n";
		rlists += "		<h3><a href=\"" + site.url + "\">" + site.title + "</a></h3>\n";
		rlists += "		<div class=\"bittoku\">\n";
		rlists += "			<ul>\n";
		rlists += (site.point != null) ? "				<li class=\"point\"><strong>" + site.point + "</strong>" + site.pointType + "</li>\n" : "";
		rlists += "				<li class=\"action\">" + site.action + "</li>\n";
		rlists += "			</ul>\n";
		rlists += "		</div>\n";
		rlists += "		<div class=\"detailBtn\">\n";
		rlists += "			<a href=\"" + site.url + "\"><img class=\"btn\" src=\"http://static.bitcash.jp/bittokuen/index/201010/bt_detail_s_off.gif\" width=\"105\" height=\"21\" alt=\"詳細・購入\" /></a>\n";
		rlists += "		</div>\n";
		rlists += "	</div>\n";
		rlists += "</li>\n";
	}

		lists += "<div class=\"four-column-block\">";
		lists += "	<div class=\"block-head\">";
		lists += "		<h4>コチラもおすすめ</h4>";
		lists += "	</div>";
		lists += "	<div class=\"block-body\">";
		lists += "		<div class=\"sitelist\">";
		lists += "			<ul>";
		lists += rlists;
		lists += "			</ul>";
		lists += "		</div>";
		lists += "	</div>";
		lists += "</div>";

	$("div.recommend").html(lists);

	$("div.recommend img.btn").hover(
		function(){
			$(this).attr("src",$(this).attr("src").replace("_off.","_on."));
		},
		function(){
			$(this).attr("src",$(this).attr("src").replace("_on.","_off."));
		}
	);
}

