/*
 * ポイントサイトのリスト(json)を取得します。
 * method			(group/tag/search)
 * id				(id / keyword)
 * cbFunc			(callback)
 * targetObjXpath	(表示位置)
 * page				(ページ(任意))
 */
function pointSite(method,id,cbFnc,targetObjXpath,page,limit){
	var server = "/bittokuen/";

	if(method == "group"){
		var url = server + "ajax/group/";
		var postBody = { "id" : id };
	}else if(method == "tag"){
		var url = server + "ajax/tag/";
		var postBody = { "id" : id };
	}else if(method == "item"){
		var url = server + "ajax/item/";
		var postBody = { "id" : id };
	}else if(method == "search"){
		var url = server + "ajax/search/";
		var postBody = { "q" : id };
	}else{
		return;
	}
	if(!page){
		page = 1;
	}
	postBody["page"]  = page;
	if(!limit){
		limit = 10;
	}
	postBody["limit"] = limit;

	if(!id && id!=0){
		return;
	}
	if(!cbFnc && cbFnc!=0){
		return;
	}

	$.ajax({
		dataType : "jsonp",
		data : postBody,
		url : url,
		success : function(json){
			eval(cbFnc + "(json,targetObjXpath)");
		},
		error : function(){
		}
	});
}


/*
 * class="pointSite"を持つinputタグのvaluから、pointSite()を飛ばします。
 *
 * <input type="hidden" class="pointSite" value="tag,120,block,#pickupSite[,2]" />
 * → pointSite("tag","120","block","#pickupSite","2");
 *
 */
$(function(){
	getPointSite();
});

function getPointSite(){
	pointSiteCB = new pointSiteCallBack();
	var sitelists = $("input.pointSite");
	for(var i =0; i < sitelists.length; i++){
		// value="tag,120,block,#pickupSite"
		var method	  = sitelists[i].value.split(",")[0];
		var id		  = sitelists[i].value.split(",")[1];
		var cbFnc	  = sitelists[i].value.split(",")[2];
		var targetObjXpath = sitelists[i].value.split(",")[3];
		var page	  = sitelists[i].value.split(",")[4];
		var limit	  = sitelists[i].value.split(",")[5];
		
		if(typeof(pointSiteCB[cbFnc]) == "function"){
			pointSite(method , id , "pointSiteCB." + cbFnc, targetObjXpath , page , limit);
		}
	}
}

/* pointSite() の callback
 * this.formalize すると使いやすいかも。
 */
function pointSiteCallBack(){

	// mainBlock にページャーをつけたもの
	this.topBlock = function(json,targetObjXpath){
		var result = eval(json);
		this.mainBlock(json,targetObjXpath);
		var argument = this.checkArgument(eval(json)["method"]);

		// pager.js の pagerクラスを使用。
		var pagerNum = $(targetObjXpath).parent().children(".pager").length;
		this.pager = [];
		for(var i = 0; i < pagerNum; i++){
			this.pager[i] = new _pager();
			this.pager[i].createPager($(targetObjXpath).parent().children(".pager:eq(" + i +")"),result["data"]["page"],result["data"]["limit"],result["data"]["max"]);
			this.pager[i].flipPointSite(argument.method,argument.id,"topBlock",targetObjXpath,result["data"]["limit"],i);
		}
	};

	// 提携サイト表示、content内用
	this.mainBlock = function(json,targetObjXpath,max){
		var result = eval(json);
		var sites	= result["data"]["records"];
		var argument = this.checkArgument(eval(json)["method"]);

		var lists = "";
		for(var i = 0; i < sites.length; i++){
			var site = this.formalize(sites[i],argument.method,argument.id);
			var gicon = this.groupIcon(sites[i]);

			// html
			lists += "<li class=\"site\">\n";
			lists += "	<div class=\"site-inner\">\n";
			lists += "		<div class=\"site-head\">\n";
			lists += "			<h3><a href=\"" + site.url + "\">" + site.title + "</a></h3>\n";
			lists += "		</div>\n";
			lists += "		<div class=\"site-body\">\n";
			lists += "			<div class=\"image\">" + site.banner + "</div>\n";
			lists += "			<div class=\"bittoku\">\n";
			lists += (site.click != null) ? "				<ul class=\"click\">" : "				<ul>\n";
			lists += (site.click != null) ? "				<li class=\"click\"><strong>" + site.click + "</strong>ポイント</li>" : "";
			lists += "					<li class=\"action\">" + site.action + "</li>\n";
			lists += (site.point != null) ? "				<li class=\"point\"><strong>" + site.point + "</strong>" + site.pointType + "</li>\n" : "";
			lists += "					<li class=\"date\">" + site.date + "</li>\n";
			lists += gicon;
			lists += "				</ul>\n";
			lists += "			</div>\n";
			lists += "			<div class=\"detail\">\n";
			lists += "				<p>" + site.info + "</p>\n";
			lists += "			</div>\n";
			lists += "		</div>\n";
			lists += "	</div>\n";
			lists += "</li>\n";
		}
		$(targetObjXpath).html("<ul>" + lists + "</ul>");
	};

	// トップページNEW表示用
	this.newBlock = function(json,targetObjXpath,max){
		var result = eval(json);
		var sites	= result["data"]["records"];
		var argument = this.checkArgument(eval(json)["method"]);

		var count = 6;
		if(count > sites.length){
			count = sites.length;
		}
		var lists = "";
		for(var i = 0; i < count; i++){
			var site = this.formalize(sites[i],argument.method,argument.id);
			var gicon = this.groupIcon(sites[i]);

			// html
			lists += "<li class=\"site\">\n";
			lists += "	<div class=\"site-inner\">\n";
			lists += "		<div class=\"site-head\">\n";
			lists += "			<h3><a href=\"" + site.url + "\">" + site.title + "</a></h3>\n";
			lists += "		</div>\n";
			lists += "		<div class=\"site-body\">\n";
			lists += "			<div class=\"image\">" + site.banner + "</div>\n";
			lists += "			<div class=\"bittoku\">\n";
			lists += (site.click != null) ? "				<ul class=\"click\">" : "				<ul>\n";
			lists += (site.click != null) ? "				<li class=\"click\"><strong>" + site.click + "</strong>ポイント</li>" : "";
			lists += "					<li class=\"action\">" + site.action + "</li>\n";
			lists += (site.point != null) ? "				<li class=\"point\"><strong>" + site.point + "</strong>" + site.pointType + "</li>\n" : "";
			lists += "					<li class=\"date\">" + site.date + "</li>\n";
			lists += gicon;
			lists += "				</ul>\n";
			lists += "			</div>\n";
			lists += "			<div class=\"detail\">\n";
			lists += "				<p>" + site.info + "</p>\n";
			lists += "			</div>\n";
			lists += "		</div>\n";
			lists += "	</div>\n";
			lists += "</li>\n";
		}
		$(targetObjXpath).html("<ul>" + lists + "</ul>");
	};

	// トップページ特選商品表示用
	this.pickupItemBlock = function(json,targetObjXpath,max){
		var result = eval(json);
		var items	= result["data"]["records"];
		var argument = this.checkArgument(eval(json)["method"]);

		var lists = "";
		for(var i = 0; i < items.length; i++){
			var item = this.item_formalize(items[i],argument.method,argument.id);

			// html
			lists += "<li class=\"item\">\n";
			lists += "	<div class=\"item-inner\">\n";
			lists += "		<div class=\"item-body\">\n";
			lists += "			<div class=\"image\">" + item.banner + "</div>\n";
			lists += "			<div class=\"detail\">\n";
			lists += "				<h3><a href=\"" + item.url + "\">" + item.title + "</a></h3>\n";
			lists += "				<div class=\"bittoku\">\n";
			lists += "					<ul>\n";
			lists += "						<li class=\"price\"><strong>￥" + item.price + "</strong></li>\n";
			lists += "						<li class=\"point\"><strong>" + item.point + "</strong>ポイント" + "</li>\n";
			lists += "						<li class=\"shop\"><a href=\"" + item.shopurl + "\">" + item.shop + "</a></li>\n";
			lists += "					</ul>\n";
			lists += "				</div>\n";
			lists += "				<div class=\"getbtn\">\n";
			lists += "					<a href=\"" + item.url + "\"><img class=\"btn\" src=\"http://static.bitcash.jp/bittokuen/index/bt_detail_off.gif\" width=\"106\" height=\"31\" /></a>\n";
			lists += "				</div>\n";
			lists += "			</div>\n";
			lists += "		</div>\n";
			lists += "	</div>\n";
			lists += "</li>\n";
		}
		$(targetObjXpath).html("<ul>" + lists + "</ul>");

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

	// トップページ表示用
	this.topBlock = function(json,targetObjXpath,max){
		var result = eval(json);
		var sites	= result["data"]["records"];
		var argument = this.checkArgument(eval(json)["method"]);

		var count = 8;
		if(count > sites.length){
			count = sites.length;
		}
		var lists = "";
		for(var i = 0; i < count; i++){
			var site = this.formalize(sites[i],argument.method,argument.id);
			var gicon = this.groupIcon(sites[i]);

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

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

	// ランキング用
	this.rankingBlock = function(json,targetObjXpath){
		var result = eval(json);
		var sites	= result["data"]["records"];
		var argument = this.checkArgument(eval(json)["method"]);

		var lists = "";
		var count = 4; // 4位まで表示
		if(count > sites.length){
			count = sites.length;
		}
		for(var i = 0; i < ((count < sites.length) ? count : sites.length); i++){
			var site = this.formalize(sites[i],argument.method,argument.id);

			// html
			lists += "<li class=\"site rank" + (i + 1) + "\">\n";
			lists += "	<div class=\"site-inner\">\n";
			lists += "		<div class=\"image\">" + site.banner + "</div>\n";
			lists += "		<h3><a href=\"" + site.url + "\">" + site.title + "</a></h3>\n";
			lists += "		<div class=\"bittoku\">\n";
			lists += "			<ul>\n";
			lists += (site.point != null) ? "				<li class=\"point\"><strong>" + site.point + "</strong>" + site.pointType + "</li>\n" : "";
			lists += "				<li class=\"action\">" + site.action + "</li>\n";
			lists += "			</ul>\n";
			lists += "		</div>\n";
			lists += "		<div class=\"detailBtn\">\n";
			lists += "			<a href=\"" + site.url + "\"><img class=\"btn\" src=\"http://static.bitcash.jp/bittokuen/index/bt_detail_s_off.gif\" width=\"105\" height=\"24\" /></a>\n";
			lists += "		</div>\n";
			lists += "	</div>\n";
			lists += "</li>\n";
		}
		$(targetObjXpath).html("<ul>" + lists + "</ul>");

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


	// navランキング用
	this.navRanking = function(json,targetObjXpath){
		var result = eval(json);
		var sites	= result["data"]["records"];
		var argument = this.checkArgument(eval(json)["method"]);

		var lists = "";
		var count = 5; // 5位まで表示
		if(count > sites.length){
			count = sites.length;
		}
		for(var i = 0; i < ((count < sites.length) ? count : sites.length); i++){
			var site = this.formalize(sites[i],argument.method,argument.id);
			var url = site.url + "&amp;ref=rank";
			var banner = site.banner.match(/<img.*>/i);

			// html
			lists += "<li class=\"site rank" + (i + 1) + "\">\n";
			lists += "	<div class=\"site-inner\">\n";
			lists += "		<div class=\"site-head\">\n";
			lists += "			<h3><a href=\"" + url + "\">" + site.title + "</a></h3>\n";
			lists += "		</div>\n";
			lists += "		<div class=\"site-body\">\n";
			lists += "			<div class=\"image\"><a href=\"" + url + "\">" + banner + "</a></div>\n";
			lists += "			<div class=\"bittoku\">\n";
			lists += (site.click != null) ? "				<ul class=\"click\">" : "				<ul>\n";
			lists += (site.click != null) ? "				<li class=\"click\"><strong>" + site.click + "</strong>ポイント</li>" : "";
			lists += "					<li class=\"action\">" + site.action + "</li>\n";
			lists += (site.point != null) ? "				<li class=\"point\"><strong>" + site.point + "</strong>" + site.pointType + "</li>\n" : "";
			lists += "					<li class=\"date\">" + site.date + "</li>\n";
			lists += "				</ul>\n";
			lists += "			</div>\n";
			lists += "		</div>\n";
			lists += "	</div>\n";
			lists += "</li>\n";

		}
		$(targetObjXpath).html("<ul>" + lists + "</ul>");
	};

	// 定番ショップ用
	this.standardBlock = function(json,targetObjXpath,max){
		var result = eval(json);
		var sites	= result["data"]["records"];
		var argument = this.checkArgument(eval(json)["method"]);

		var count = 16;
		if(count > sites.length){
			count = sites.length;
		}
		var lists = "";
		for(var i = 0; i < count; i++){
			var site = this.formalize(sites[i],argument.method,argument.id);

			// html
			lists += "<li class=\"site\">\n";
			lists += "	<div class=\"site-inner\">\n";
			lists += "		<div class=\"image\">" + site.banner + "</div>\n";
			lists += "	</div>\n";
			lists += "</li>\n";
		}
		$(targetObjXpath).html("<ul>" + lists + "</ul>");
	};

	// クリックポイント表示用
	this.clickBlock = function(json,targetObjXpath,max){
		var result = eval(json);
		var sites	= result["data"]["records"];
		var argument = this.checkArgument(eval(json)["method"]);

		var count = 6;
		if(count > sites.length){
			count = sites.length;
		}
		var lists = "";
		for(var i = 0; i < count; i++){
			var site = this.formalize(sites[i],argument.method,argument.id);
			var gicon = this.groupIcon(sites[i]);
			var banner = site.banner.match(/<img.*>/i);

			// html
			lists += "<li class=\"site\">\n";
			lists += "	<div class=\"site-inner\">\n";
			lists += "		<div class=\"image\">" + site.banner + "</div>\n";
			lists += "		<h3><a href=\"" + site.url + "\">" + site.title + "</a></h3>\n";
			lists += "		<div class=\"bittoku\">\n";
			lists += (site.click != null) ? "				<ul class=\"click\">" : "				<ul>\n";
			lists += (site.click != null) ? "				<li class=\"click\"><strong>" + site.click + "</strong>ポイント</li>" : "";
			lists += (site.point != null) ? "				<li class=\"point\"><strong>" + site.point + "</strong>" + site.pointType + "</li>\n" : "";
			lists += "				<li class=\"action\">" + site.action + "</li>\n";
			lists += "			</ul>\n";
			lists += "		</div>\n";
			lists += "		<div class=\"detailBtn\">\n";
			lists += "			<a href=\"" + site.url + "\"><img class=\"btn\" src=\"http://static.bitcash.jp/bittokuen/index/bt_detail_s_off.gif\" width=\"105\" height=\"24\" /></a>\n";
			lists += "		</div>\n";
			lists += "	</div>\n";
			lists += "</li>\n";
		}
		$(targetObjXpath).html("<ul>" + lists + "</ul>");

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

	// 各カテゴリページ用
	this.categoryBlock = function(json,targetObjXpath){
		var result = eval(json);
		if(result["method"]["type"] == "tag"){
			$("#iconsample").parent().find("h3.category").remove();
			$("#iconsample").before("<h3 class=\"category\">" + result["method"]["tagname"] + "</h3>");
		}
		this.mainBlock(json,targetObjXpath);
		var argument = this.checkArgument(eval(json)["method"]);

		// pager.js の pagerクラスを使用。
		var pagerNum = $(targetObjXpath).parent().children(".pager").length;
		this.pager = [];
		for(var i = 0; i < pagerNum; i++){
			this.pager[i] = new _pager();
			this.pager[i].createPager($(targetObjXpath).parent().children(".pager:eq(" + i +")"),result["data"]["page"],result["data"]["limit"],result["data"]["max"]);
			this.pager[i].flipPointSite(argument.method,argument.id,"categoryBlock",targetObjXpath,result["data"]["limit"],i);
		}
	};

	// 商品用
	this.itemBlock = function(json,targetObjXpath){
		var result = eval(json);
		var items	= result["data"]["records"];
		var argument = this.checkArgument(eval(json)["method"]);

		var lists = "";
		for(var i = 0; i < items.length; i++){
			var item = this.item_formalize(items[i],argument.method,argument.id);

			// html
			lists += "<li class=\"site\">\n";
			lists += "	<div class=\"site-inner\">\n";
			lists += "		<div class=\"site-head\">\n";
			lists += "			<h3><a href=\"" + item.url + "\">" + item.title + "</a></h3>\n";
			lists += "		</div>\n";
			lists += "		<div class=\"site-body\">\n";
			lists += "		<div class=\"itemdetail\">\n";
			lists += "			<div class=\"image\">" + item.banner + "</div>\n";
			lists += "			<div class=\"bittoku\">\n";
			lists += "				<ul>\n";
			lists += "					<li class=\"action\">" + item.action + "</li>\n";
			lists += "					<li class=\"shop\">" + item.shop + "</li>\n";
			lists += "					<li class=\"shopinfo\"><a href=\"" + item.shopurl + "\">ショップ情報</a></li>\n";
			lists += "					<li class=\"price\"><strong>￥" + item.price + "</strong></li>\n";
			lists += "					<li class=\"point\"><strong>" + item.point + "</strong>ポイント<br />（商品購入金額の<p class=\"rate\">" + item.pointper + "</p>％）" + "</li>\n";
			lists += "					<li class=\"date\">" + item.date + "</li>\n";
			lists += "				</ul>\n";
			lists += "			</div>\n";
			lists += "			<div class=\"detail\">\n";
			lists += "				<p>" + item.info + "</p>\n";
			lists += "			</div>\n";
			lists += "		</div>\n";
			lists += "		</div>\n";
			lists += "	</div>\n";
			lists += "</li>\n";
		}
		$(targetObjXpath).html("<ul>" + lists + "</ul>");

		// pager.js の pagerクラスを使用。
		var pagerNum = $(targetObjXpath).parent().children(".pager").length;
		this.pager = [];
		for(var i = 0; i < pagerNum; i++){
			this.pager[i] = new _pager();
			this.pager[i].createPager($(targetObjXpath).parent().children(".pager:eq(" + i +")"),result["data"]["page"],result["data"]["limit"],result["data"]["max"]);
			this.pager[i].flipPointSite(argument.method,argument.id,"categoryBlock",targetObjXpath,result["data"]["limit"],i);
		}
	};

	// nav用
	this.navBlock = function(json,targetObjXpath){
		var result = eval(json);
		var sites	= result["data"]["records"];
		var argument = this.checkArgument(eval(json)["method"]);

		var lists = "";
		var count = 5;
		if(count > sites.length){
			count = sites.length;
		}

		for(var i = 0; i < ((count < sites.length) ? count : sites.length); i++){
			var site = this.formalize(sites[i],argument.method,argument.id);
			// html
			lists += "<li class=\"site\">";
			lists +=	 "<div class=\"newSiteHead\"><h3><a href=\"" + site.url + "\">" + site.title + "</a></h3></div>";
			lists +=	 "<div class=\"newSiteBody\">";
			lists +=		 "<div class=\"siteBanner\"><div>" + site.banner + "</div></div>";
			lists +=		 "<div class=\"clickDetail\"><ul>";
			lists +=		 (site.click != null) ? "<li class=\"getClick\"><strong>" + site.click + "</strong>ポイント</li>" : "";
			lists +=		 (site.point != null) ? "<li class=\"getPoint\"><strong>" + site.point + "</strong>" + site.pointType + "</li>" : "";
			lists +=			 "<li class=\"getaction\">" + site.action + "</li>";
			lists +=		 "</ul></div>";
			lists +=	 "</div>";
			lists += "</li>";
		}
		$(targetObjXpath).html("<ul>" + lists + "</ul>");
	};
	

	// グループアイコンの表示
	this.groupIcon = function(data){
		var iconBlock = "";
		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_wide.gif",
			"20006" : "icon_use.gif"
		}
		// group の有無
		if(data["groups"]){
			var icon = "";
			for(var i = 0; i < data["groups"].length; i++){
				if(data["groups"][i]["pickup_id"]){
					for(var key in icons){
						if(key == data["groups"][i]["pickup_id"]){
							if(key == "20001"){
								icon += "<a href=\"/bittokuen/list/tag/id/140/\"><img src=\"http://static.bitcash.jp/bittokuen/cmn/" + icons[key] + "\" alt=\"\" /></a>";
								break;
							}else if(key == "20002"){
								icon += "<a href=\"/bittokuen/list/group/id/1/\"><img src=\"http://static.bitcash.jp/bittokuen/cmn/" + icons[key] + "\" alt=\"\" /></a>";
								break;
							}else if(key == "20003"){
								icon += "<a href=\"/bittokuen/list/tag/id/124/\"><img src=\"http://static.bitcash.jp/bittokuen/cmn/" + icons[key] + "\" alt=\"\" /></a>";
								break;
							}else if(key == "20004"){
								icon += "<a href=\"/bittokuen/list/group/id/20004/\"><img src=\"http://static.bitcash.jp/bittokuen/cmn/" + icons[key] + "\" alt=\"\" /></a>"
								break;
							}else if(key == "20020"){
								icon += "<img src=\"http://static.bitcash.jp/bittokuen/cmn/" + icons[key] + "\" alt=\"\" />"
								break;
							}else if(key == "20006"){
								icon += "<a href=\"/bittokuen/list/tag/id/144/\"><img src=\"http://static.bitcash.jp/bittokuen/cmn/" + icons[key] + "\" alt=\"\" /></a>";
								break;
							}
						}
					}
				}
			}
		}
		if(icon != ""){
			iconBlock = "<li class=\"icon\">" + icon + "</li>";
		}
		return iconBlock;
	}

	// 集合タイプ
	this.checkArgument = function(data){
		var argument = {}
		argument.method = data["type"];
		if(data["type"] == "tag"){
			argument.id = data["tag_id"];
		}else if(data["type"] == "group" || data["type"] == "item"){
			argument.id = data["pickup_id"];
		}else{
			return;
		}
		return argument;
	};

	// json のままじゃ長いので変数に入れて戻します。
	this.formalize = function(siteData,type,id){
		obj = {};
		obj.title  = siteData["programname"];

//		obj.url    = "/bittokuen/click/jump/id/" + siteData["affiliate_id"];
		obj.url    = "/bittokuen/list/detail/id/" + siteData["affiliate_id"] + "/" + type + "/" + id + "/";

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

	// 商品用
	this.item_formalize = function(siteData,type,id){
		obj = {};
		obj.title		= siteData["programname"];

		obj.url			= "/bittokuen/list/detail/id/" + siteData["affiliate_id"] + "/" + type + "/" + id + "/";

		obj.shop		= siteData["sitename"];
		obj.shopurl		= "/bittokuen/list/detail/id/" + siteData["parent_id"] + "/" + type + "/" + id + "/";

		obj.banner		= siteData["bannerhtml"].replace('[url]',obj.url).replace('target="_blank"',"");
		obj.action		= siteData["actiontext"]
		obj.date		= siteData["pointcommitday"];
		obj.info		= siteData["bccomment"];
		obj.click		= siteData["clickpresent"];
		obj.price		= siteData["itemprice"]
		obj.pointper	= "-";
		obj.point		= "-";
		if(siteData["point_type"] == 1){
			obj.pointper= siteData["present"];
			// ポイント計算
			obj.point	= Math.floor(siteData["present"] / 100 * siteData["itemprice"]);
		} else if(siteData["point_type"] == 2){
			// 固定報酬
			obj.point	= siteData["present"];
		}

		// 画像URLのみ抜き出し
		obj.img			= $(siteData["bannerhtml"]).find("img").attr("src");
		// サイズ取得の為、バナー画像をロード
		var imgTemp = new Image();
		imgTemp.src = obj.img;
		// 表示サイズ上限
		var imgLimit = {
			"width"  : "146",
			"height" : "140"
		}
		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 = "";
		}

		obj.banner = obj.banner.replace('"'+obj.img+'"', '"'+obj.img+'" ' + bSize);

		return obj;
	};

}

