
	var setupMessage = "投票するためにはブラウザのcookieの設定を有効にして下さい。";
	var invalidMessage = "この写真には既に投票済みです。\n※投票は、1枚の写真に対し、1時間1回です。";
	var successMessage = "投票は受け付けられました。\n結果は1時間ごとに集計されます。";
	var failureMessage = "この写真は現在投票規制中です。しばらく待って再投票して下さい。"
	var votedShelfLife = 0.04; //1時間弱

	var increID = 1;
	var votedChar = "_voted_";
	var vButton = "voteBtn";

//--------------------------------------------------------------------------------------------------
	function add_vote(cid, sid, aid, vImage, dImage) {

		var cid_sid = cid + "_" + sid;
		var votedID = cid_sid + votedChar + aid;
		var enID = cid_sid + "_EN";

		//ブラウザのcookie設定
		if(!navigator.cookieEnabled) {
			alert(setupMessage);
			return;

		} else {
			var cktest = new CookieManager({shelfLife:1});
			cktest.setCookie(enID, "en");
			var restest = cktest.getCookie(enID);
			if(restest == null || !(restest == "en")) {
				alert(setupMessage);
				return;
			} else {
				cktest.clearCookie(enID);
			}
		}
		
		//投票プレ処理
		var ckman = new CookieManager({shelfLife:votedShelfLife});
		var res = ckman.getCookie(votedID);
		if(res != null) {
			alert(invalidMessage);
			return;
		} else {
			ckman.setCookie(votedID, "1");
		}

		//投票
		sendvoteRequest(cid, sid, aid, vImage, dImage);

		return;
	}

//--------------------------------------------------------------------------------------------------
	function sendvoteRequest(cid, sid, aid, vImage, dImage) {

		var incrURL = "/cs/multiform/" + cid + "_" + sid + "/increservice";
		var voteParams = "aid=" + aid + "&idx=" + increID;
		var voteOption = {
			method : 'get',
			parameters : voteParams,
			onSuccess : function(xhRequest, xJSON) {
				voteSuccess(xhRequest, xJSON, cid, sid, aid, vImage, dImage);
			}, 
			onFailure : function(xhRequest, xJSON) {
				voteFailure(xhRequest, xJSON, cid, sid, aid);
			}
		};
		new Ajax.Request(incrURL, voteOption);
		
		return;
	}

//--------------------------------------------------------------------------------------------------
	function voteSuccess(xhRequest, xJSON, cid, sid, aid, vImage, dImage) {

		var returnValue = voteMessage(xhRequest);
		if (returnValue[0] == 0) {

			checkVoted(cid, sid, aid, vImage, dImage);
			alert(successMessage);

		} else if (returnValue[0] == 1) {

			voteFailure(xhRequest, xJSON, cid, sid, aid);
		}
	}

//--------------------------------------------------------------------------------------------------
	function voteFailure(xhRequest, xJSON, cid, sid, aid) {

		//失敗の場合は連投防止Cookie削除
		var votedID = cid + "_" + sid + votedChar + aid;
		var ckman = new CookieManager();
		ckman.clearCookie(votedID);

		alert(failureMessage);
	}

//--------------------------------------------------------------------------------------------------
	function voteMessage(xhRequest) {

		var xmlobj = xhRequest.responseXML;

		var errorTag = xmlobj.getElementsByTagName("error");
		var errorTagvalue = errorTag[0].firstChild.nodeValue;

		var messageTag = xmlobj.getElementsByTagName("message");
		var messageTagvalue = messageTag[0].firstChild.nodeValue;

		var returnMessage = new Array(errorTagvalue, messageTagvalue);
		return returnMessage;
	}

//--------------------------------------------------------------------------------------------------
	function checkVoted(cid, sid, aid, vImage, dImage) {

		var votedID = cid + "_" + sid + votedChar + aid;
		
		//Cookie
		var ckV = new CookieManager({shelfLife:votedShelfLife});
		var cook = ckV.getCookie(votedID);

		//Button Change
		var btnObj = $(vButton + "_" + aid);
		//btnObj.onload = null;
		if(cook == null) {
			if(btnObj.src != vImage) {
				btnObj.src = vImage;
			}
		} else {
			if(btnObj.src != dImage) {
				btnObj.src = dImage;
			}
			btnObj.onmouseover = function() {
			}
			btnObj.onmouseout = function() {
			}
		}
		btnObj.style.visibility = "visible";
	}

//--------------------------------------------------------------------------------------------------
	function checkVotedList(cid, sid, parentName, vImage, dImage) {

		var btns = document.getElementsByClassName("imgover", parentName);
		for (j = 0; j < btns.length; j++) {
			var btnHead = btns[j].id.split("_")[0];
			var btnAID = btns[j].id.split("_")[1];
			if(btnHead == vButton && btnAID != null && btnAID != "") {
				checkVoted(cid, sid, btnAID, vImage, dImage);
			}
		}
	}

//--------------------------------------------------------------------------------------------------
function addOnload(addfunc) {
	var oldfunc = window.onload;
	
	if (typeof oldfunc != 'function') {
		window.onload = addfunc;
	} else {
		window.onload = function() {
			oldfunc();
			addfunc();
		}
	}
}
