/*
 * クイックアンケートの結果リスト(json)を取得します。
 * cbFunc			(callback)
 * targetObjXpath	(表示位置)
 */
function quickenqQuestion( cbFnc, targetObjXpath ){
	var str = '';
	str += "<div class=\"list-loader\">\n";
	str += "<img src=\"http://static.bitcash.jp/bittokuen/shopping/search/ajax-loader.gif\">\n";
	str += "</div>\n";
	$(targetObjXpath).html(str);

	var server = "/bittokuen/";
	var url = server + "ajax/quickenqquestion";
	var postBody = {};

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

/*
 * class="quickenqList"を持つinputタグのvalueから、getquickenqList()を飛ばします。
 *
 * <input type="hidden" class="quickenqList" value="10,1,ListBlock,#nav-shoppingsearch .enqlist" />
 * → getquickenqList(10, 1, "ListBlock", "#nav-shoppingsearch .enqlist");
 *
 */
$(function(){
	getquickenqQuestion();
});

function getquickenqQuestion(){
	quickenqQuestionCB = new quickenqQuestionCallBack();
	var quickenqQuestions = $("input.quickenqQuestion");

	for( var i =0; i < quickenqQuestions.length; i++ ) {
		var cbFnc					= quickenqQuestions[i].value.split(",")[0];
		var targetObjXpath			= quickenqQuestions[i].value.split(",")[1];

		if( typeof( quickenqQuestionCB[cbFnc] ) == "function" ){
			quickenqQuestion( "quickenqQuestionCB." + cbFnc, targetObjXpath );
		}
	}
}

/* quickenqList() の callback
 * this.formalize すると使いやすいかも。
 */
function quickenqQuestionCallBack(){
	// 商品検索の結果ページの表示
	this.QuestionBlock = function(json,targetObjXpath){
		var result = eval(json);

		// 検索結果判定
		if ( !result ){
			// なし
			this.notfoundBlock(json,targetObjXpath);
		} else {
			// あり
			this.foundBlock(json,targetObjXpath);
		}
		return;
	};

	// なし
	this.notfoundBlock = function(json,targetObjXpath){
		var str = "";
		str += "<div class=\"list-error\">\n";
		str += "<p>実施中のクイックアンケートはありません。</p>\n";
		str += '<p><a href="/bittokuen/quickenq/">投票結果を見る</a></p>'+"\n";
		str += "</div>\n";
		$(targetObjXpath).html( str );
	}

	// あり
	this.foundBlock = function(json,targetObjXpath){
		var result = eval(json);
		var lists = "";

		lists += "<div class=\"question\">\n";
		lists += "	<h3>" + result['question']+ "</h3>\n";
		// コメントあれば
		if ( result['comment'] ) lists += "	<div class=\"comment\">" + result['comment']+ "</div>\n";
		// 提供者名あれば
		if ( result['name'] ) {
			lists += "	<div class=\"username\">"+ result['name']+ "さん</div>\n";
		} else if ( result['icon']!=0 && result['icon'] ) {
			lists += '<div class="staff" id="staff'+ result['icon']+ '">'+ result['iconname']+ '</div>';
		}

		lists += "	<div class=\"term\">[投票期間："+ result['start']+ "～"+ result['end']+ "]</div>\n";
		lists += "</div>\n";
		lists += "<div class=\"answer\">\n";
		lists += "	<form action=\"/bittokuen/quickenq/confirm\" name=\"quickenq\" method=\"get\">\n";
		lists += "	<input type=\"hidden\" name=\"e\" value=\"" + result['id'] + "\">\n";
		lists += "	<ul>\n";
		for(var i = 0; i < result['choice'].length; i++){
			lists += "		<li class=\"choice\">\n";
			lists += "			<input type=\"radio\" name=\"c\" value=\""+ result['choice'][i]['cho_id']+ "\" id=\"Q" + result['id'] + "-" + result['choice'][i]['cho_id'] + "\"/><p><label for=\"Q" + result['id'] + "-" + result['choice'][i]['cho_id'] + "\">" + result['choice'][i]['choice']+ "</label></p>\n";
			lists += "		</li>\n";
		}

		lists += "	</ul>\n";
		lists += "	<div class=\"votebtn\"><input class=\"btn\" type=\"image\" src=\"http://static.bitcash.jp/bittokuen/nav/bt_enquete_off.gif\" value=\"投票\" alt=\"投票\" width=\"78\" height=\"21\" /></div>\n";

		lists += "	<div class=\"resultlink\"><a href=\"/bittokuen/quickenq/view?e=" + result['id']+ "\">投票結果を見る</a></div>\n";

		lists += "	</form>\n";
		lists += "</div>\n";

		$(targetObjXpath).html(lists);

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


