/*
 * class="featureSite"を持つinputタグのvaluから、featureSite()を飛ばします。
 * bittokuen.js を先に読み込んでください。
 * <input type="hidden" class="featureSite" value="tag,120,block,#pickupSite[,2]" />
 * → featureSite("tag","120","block","#pickupSite","2");
 *
 */
$(function(){
	getFeatureSite();
});

function getFeatureSite(){
	featureSiteCB = new featureSiteCallBack();
	var sitelists = $("input.featureSite");
	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(featureSiteCB[cbFnc]) == "function"){
			pointSite(method , id , "featureSiteCB." + cbFnc, targetObjXpath , page , limit);
		}
	}
}

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

	// ゲームPC特集用
	this.gamepcBlock = 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-head\">\n";
			lists += "		<h3><a href=\"" + item.url + "\">" + item.title + "</a></h3>\n";
			lists += "	</div>\n";
			lists += "	<div class=\"item-body\">\n";
			lists += "		<div class=\"image\">" + item.banner + "</div>\n";
			lists += "		<div class=\"detail\">\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/feature/gamepc/bt_detail_b_off.gif\" width=\"240\" height=\"51\" /></a>\n";
			lists += "			</div>\n";
			lists += "		</div>\n";
			lists += "		<div class=\"info\">\n";
			lists += "			<h4><img src=\"http://static.bitcash.jp/bittokuen/feature/gamepc/point_title_b.gif\" width=\"596\" height=\"39\" /></h4>\n";
			lists += "			<div class=\"info-inner\">\n";
			lists += "				<p>" + item.info + "</p>\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.gamepcBlock2 = 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-head\">\n";
			lists += "		<h3><a href=\"" + item.url + "\">" + item.title + "</a></h3>\n";
			lists += "	</div>\n";
			lists += "	<div class=\"item-body\">\n";
			lists += "		<div class=\"image\">" + item.banner + "</div>\n";
			lists += "		<div class=\"detail\">\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/feature/gamepc/bt_detail_s_off.gif\" width=\"105\" height=\"31\" /></a>\n";
			lists += "			</div>\n";
			lists += "		</div>\n";
			lists += "		<div class=\"info\">\n";
			lists += "			<h4><img src=\"http://static.bitcash.jp/bittokuen/feature/gamepc/point_title_m.gif\" width=\"288\" height=\"39\" /></h4>\n";
			lists += "			<div class=\"info-inner\">\n";
			lists += "				<p>" + item.info + "</p>\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.gamepcBlock3 = 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
			if(i == items.length-1){
				lists += "<li class=\"item last\">\n";
			}else{
				lists += "<li class=\"item\">\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/feature/gamepc/bt_detail_s_off.gif\" width=\"105\" height=\"31\" /></a>\n";
			lists += "			</div>\n";
			lists += "		</div>\n";
			lists += "		<div class=\"info\">\n";
			lists += "			<h4><img src=\"http://static.bitcash.jp/bittokuen/feature/gamepc/point_title_s.gif\" width=\"276\" height=\"33\" /></h4>\n";
			lists += "			<div class=\"info-inner\">\n";
			lists += "				<p>" + item.info + "</p>\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.gamepcBlock4 = 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]);

			if(i == sites.length-1){
				lists += "<li class=\"site last\">\n";
			}else{
				lists += "<li class=\"site\">\n";
			}
			lists += "	<div class=\"site-inner\">\n";
			lists += "		<div class=\"site-body\">\n";
			lists += "			<div class=\"image\">" + site.banner + "</div>\n";
			lists += "			<div class=\"bittoku\">\n";
			lists += "				<ul>\n";
			lists += "					<li class=\"action\">" + site.action + "</li>\n";
			lists += "					<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>");
	};

	//Windows7特集　メイン大サイズ用
	this.windows7Block = 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/feature/windows7/bt_detail_main_off.gif\" width=\"105\" height=\"31\" /></a>\n";
			lists += "				</div>\n";
			lists += "				<div class=\"info\">\n";
			lists += "					<h4><img src=\"http://static.bitcash.jp/bittokuen/feature/windows7/title_point_l.gif\" width=\"337\" height=\"25\" /></h4>\n";
			lists += "					<div class=\"info-inner\">\n";
			lists += "						<p>" + item.info + "</p>\n";
			lists += "					</div>\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."));
			}
		);

	};

	//Windows7特集　メイン中サイズ用
	this.windows7Block2 = 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/feature/windows7/bt_detail_main_off.gif\" width=\"105\" height=\"31\" /></a>\n";
			lists += "				</div>\n";
			lists += "			</div>\n";
			lists += "			<div class=\"info\">\n";
			lists += "				<h4><img src=\"http://static.bitcash.jp/bittokuen/feature/windows7/title_point_m.gif\" width=\"271\" height=\"25\" /></h4>\n";
			lists += "				<div class=\"info-inner\">\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>");

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

	};

	//Windows7特集　メイン小サイズ用
	this.windows7Block3 = 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/feature/windows7/bt_detail_main_off.gif\" width=\"105\" 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."));
			}
		);

	};

	//Windows7特集　右カラム用
	this.windows7Block4 = 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
			if(i == items.length-1){
				lists += "<li class=\"item last\">\n";
			}else{
				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/feature/windows7/bt_detail_right_off.gif\" width=\"105\" height=\"31\" /></a>\n";
			lists += "				</div>\n";
			lists += "			</div>\n";
			lists += "			<div class=\"info\">\n";
			lists += "				<h4><img src=\"http://static.bitcash.jp/bittokuen/feature/windows7/title_point_right.gif\" width=\"276\" height=\"25\" /></h4>\n";
			lists += "				<div class=\"info-inner\">\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>");

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

	};

	//FX特集用
	this.fxBlock = 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);

			// html
			if(i == sites.length-1){
				lists += "<li class=\"site last\">\n";
			}else{
				lists += "<li class=\"site\">\n";
			}
			lists += "	<div class=\"site-inner\">\n";
			lists += "		<div class=\"site-head\">\n";
			lists += "			<h4><a href=\"" + site.url + "\">" + site.title + "</a></h4>\n";
			lists += "		</div>\n";
			lists += "		<div class=\"site-body\">\n";
			lists += "			<div class=\"image\"><a href=\"" + site.url + "\"><img src=\"http://static.bitcash.jp/bittokuen/feature/fx/bnr/bnr_" + site.id + ".gif\" /></a></div>\n";
			lists += "			<div class=\"data\"><img src=\"http://static.bitcash.jp/bittokuen/feature/fx/data/data_" + site.id + ".gif\" /></div>\n";
			lists += "			<div class=\"detail\">\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=\"info\">\n";
			lists += "					<p>" + site.info + "</p>\n";
			lists += "				</div>\n";
			lists += "			</div>\n";
			lists += "		</div>\n";
			lists += "	</div>\n";
			lists += "</li>\n";
		}
		$(targetObjXpath).html("<ul>" + lists + "</ul>");
	};

	//FX特集用2
	this.fxBlock2 = 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
			if(i == items.length-1){
				lists += "<li class=\"item last\">\n";
			}else{
				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 += "				<h4><a href=\"" + item.url + "\">" + item.title + "</a></h4>\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 += "					</ul>\n";
			lists += "				</div>\n";
			lists += "			</div>\n";
			lists += "		</div>\n";
			lists += "	</div>\n";
			lists += "</li>\n";
		}
		$(targetObjXpath).html("<ul>" + lists + "</ul>");
	};


	// 新生活特集（サイト）
	this.newlifeBlock = 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);

			// html
			lists += "<li class=\"site\">\n";
			lists += "	<div class=\"site-inner\">\n";
			lists += "		<div class=\"site-body\">\n";
			lists += "			<div class=\"image\">" + site.banner + "</div>\n";
			lists += "			<div class=\"detail\">\n";
			lists += "				<h3><a href=\"" + site.url + "\">" + site.title + "</a></h3>\n";
			lists += "				<div class=\"bittoku\">\n";
			lists += "					<ul>\n";
			lists += "						<li class=\"action\">" + site.action + "</li>\n";
			lists += "						<li class=\"point\"><strong>" + site.point + "</strong>" + site.pointType + "</li>\n";
			lists += "					</ul>\n";
			lists += "				</div>\n";
			lists += "			</div>\n";
			lists += "		</div>\n";
			lists += "	</div>\n";
			lists += "</li>\n";
		}
		$(targetObjXpath).html("<ul>" + lists + "</ul>");

	};

	// 新生活特集（商品）
	this.newlifeItemBlock = 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 += "					</ul>\n";
			lists += "				</div>\n";
			lists += "			</div>\n";
			lists += "		</div>\n";
			lists += "	</div>\n";
			lists += "</li>\n";
		}
		$(targetObjXpath).html("<ul>" + lists + "</ul>");

	};

	//ワールドカップ特集用(FX)
	this.worldcupBlock = 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);

			// html
			lists += "<li class=\"site\">\n";
			lists += "	<div class=\"site-inner\">\n";
			lists += "		<div class=\"site-body\">\n";
			lists += "			<div class=\"image\"><a href=\"" + site.url + "\"><img src=\"http://static.bitcash.jp/bittokuen/feature/fx/bnr/bnr_" + site.id + ".gif\" /></a></div>\n";
			lists += "			<div class=\"detail\">\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>\n";
			lists += "		</div>\n";
			lists += "	</div>\n";
			lists += "</li>\n";
		}
		$(targetObjXpath).html("<ul>" + lists + "</ul>");
	};

	// 特集商品
	this.featureItemBlock = 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 += "					</ul>\n";
			lists += "				</div>\n";
			lists += "			</div>\n";
			lists += "		</div>\n";
			lists += "	</div>\n";
			lists += "</li>\n";
		}
		$(targetObjXpath).html("<ul>" + lists + "</ul>");

	};

	//右ブロック商品用
	this.rightItemBlock = 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
			if(i == items.length-1){
				lists += "<li class=\"item last\">\n";
			}else{
				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 += "					</ul>\n";
			lists += "				</div>\n";
			lists += "			</div>\n";
			lists += "		</div>\n";
			lists += "	</div>\n";
			lists += "</li>\n";
		}
		$(targetObjXpath).html("<ul>" + lists + "</ul>");
	};

	// 特集店舗用
	this.featureStoreBlock = 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 icon = "";

			if(sites[i]["groups"]){
				for(var j = 0; j < sites[i]["groups"].length; j++){
					if(sites[i]["groups"][j]["pickup_id"]){
						if(sites[i]["groups"][j]["pickup_id"]=="20004"){
							icon = "<li class=\"icon\"><img src=\"http://static.bitcash.jp/bittokuen/cmn/icon_pointup_wide.gif\" alt=\"\" /></li>\n";
						}
					}
				}
			}

			// html
			lists += "<li class=\"site\">\n";
			lists += "	<div class=\"site-inner\">\n";
			lists += "		<div class=\"site-body\">\n";
			lists += "			<div class=\"image\">" + site.banner + "</div>\n";
			lists += "			<div class=\"detail\">\n";
			lists += "				<h3><a href=\"" + site.url + "\">" + site.title + "</a></h3>\n";
			lists += "				<div class=\"bittoku\">\n";
			lists += "					<ul>\n";
			lists += "						<li class=\"point\"><strong>" + site.point + "</strong>" + site.pointType + "</li>\n";
			lists += icon;
			lists += "					</ul>\n";
			lists += "				</div>\n";
			lists += "			</div>\n";
			lists += "		</div>\n";
			lists += "	</div>\n";
			lists += "</li>\n";
		}
		$(targetObjXpath).html("<ul>" + lists + "</ul>");
	};

	// 商品用サンプル
	this.itemBlock = function(json,targetObjXpath,max){
		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>");

		$(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.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"
		}
		// 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;
							}
						}
					}
				}
			}
		}
		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"];

		var server = "http://www.bitcash.jp";
		//obj.url	 = server +  "/bittokuen/click/jump/?id=" + siteData["affiliate_id"];
		obj.url    = server +  "/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.id     = siteData["affiliate_id"];
		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"  : "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\"";
		}

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

 */

		return obj;
	};
}

