
var serverSideFile = '/html_cmn/func/vote.php';

//Default¤Î¥°¥é¥Õ¥«¥é¡¼¤ò»ØÄê
var voteLeftImage = '/html_cmn/images/graph_left_perple.png';
var voteRightImage = '/html_cmn/images/graph_right_perple.png';
var voteCenterImage = '/html_cmn/images/graph_middle_perple.png';

var graphMaxWidth = 100;
var graphMinWidth = 15;	
var pollScrollSpeed = 5;	
var useCookiesToRememberCastedVotes = true;
var txt_totalVotes = '¹ç·×: ';


var ajaxObjects = new Array();
var pollVotes = new Array();
var pollVoteCounted = new Array();
var totalVotes = new Array();


/* ŽÅ¡¦Ž¼Ž·¡¦²â·ö¡ø·á.»ì²ê¿¡¡¦/

var preloadedImages = new Array();
preloadedImages[0] = new Image();
preloadedImages[0].src = voteLeftImage;
preloadedImages[1] = new Image();
preloadedImages[1].src = voteRightImage;
preloadedImages[2] = new Image();
preloadedImages[2].src = voteCenterImage;

/*
Ž¡Ž¦Ž­ùàŽËŽÂookieŽ³ü¡¡¦@¥ì¹ñ¡¦RLŽ£¡¦Ž¡Ž¦_Ž¥Ž¦Ž¥¡¦Óâ.»ì¡¦¡¦¡¦¥ì¡¦¥ìßàÍà¡¦¥ì·ì¡¦
http://www.mach5.com/support/analyzer/manual/html/General/CookiesJavaScript.htm
*/
function Poller_Get_Cookie(name) { 
   var start = document.cookie.indexOf(name+"="); 
   var len = start+name.length+1; 
   if ((!start) && (name != document.cookie.substring(0,name.length))) return null; 
   if (start == -1) return null; 
   var end = document.cookie.indexOf(";",len); 
   if (end == -1) end = document.cookie.length; 
   return unescape(document.cookie.substring(len,end)); 
} 

/*
// Ž¡Ž¦Ž­ùàŽËð×üÉä£Ž¦Ž¡Ž¦ŽËáÇŽ¡Ž¼Ž¥Ž¿Ž£¡¦Ž¡Ž¦Ž¡Ž¦Ž¡Ž¦Ž¡Ž¦XŽ£¡¦ŽÃà£àÝàºŽ¯
*/
function Poller_Set_Cookie(name,value,expires,path,domain,secure) { 
	expires = expires * 60 * 60 * 24 * 1000;
	var today = new Date();
	var expires_date = new Date( today.getTime() + (expires) );
    var cookieString = name + "=" +escape(value) + 
       ( (expires) ? ";expires=" + expires_date.toGMTString() : "") + 
       ( (path) ? ";path=" + path : "") + 
       ( (domain) ? ";domain=" + domain : "") + 
       ( (secure) ? ";secure" : ""); 
    document.cookie = cookieString; 
}


function showVoteResults(pollId,ajaxIndex)
{
	
	document.getElementById('poller_waitMessage' + pollId).style.display='none';
	
	var xml = ajaxObjects[ajaxIndex].response;
	xml = xml.replace(/\n/gi,'');
	//alert(xml);
	//¥¿¥¤¥È¥ë¤Î¼èÆÀ¡õÀßÄê¤òÇÑ»ß¡ÊÊÌ¥ë¡¼¥Á¥ó¤Ç¼Â»Ü¡Ë
	//var reg = new RegExp("^.*?<pollerTitle>(.*?)<.*$","gi");
	//var pollerTitle = xml.replace(reg,'$1');
	
	var resultDiv = document.getElementById('poller_results' + pollId);
	
	/*¥¿¥¤¥È¥ë¤Î¥¿¥°¤òP¢ÍSPAN¤Ë¤¹¤ë
	**********************************************/
	/*var titleP = document.createElement('P');
	titleP.className='result_pollerTitle';
	titleP.innerHTML = pollerTitle;
	resultDiv.appendChild(titleP);	
	*/
	/*¥¿¥¤¥È¥ë½ÐÎÏ¤ò¤ä¤á¤ë
	var titleSPAN = document.createElement('SPAN');
	titleSPAN.className='result_pollerTitle';
	titleSPAN.innerHTML = pollerTitle;
	resultDiv.appendChild(titleSPAN);
	*/
	var options = xml.split(/<option>/gi);

	pollVotes[pollId] = new Array();
	totalVotes[pollId] = 0;
	for(var no=1;no<options.length;no++){
		
		var elements = options[no].split(/</gi);
		var currentOptionId = false;
		for(var no2=0;no2<elements.length;no2++){
			if(elements[no2].substring(0,1)!='/'){
				var key = elements[no2].replace(/^(.*?)>.*$/gi,'$1');
				var value = elements[no2].replace(/^.*?>(.*)$/gi,'$1');
			
				if(key.indexOf('optionText')>=0){
					
					//¹àÌÜ¥¤¥á¡¼¥¸¤È¥ª¥×¥·¥ç¥ó¥Æ¥­¥¹¥È¤ò³ÊÇ¼¤¹¤ëDIV¤òÄêµÁ start
					var containerDiv =  document.createElement('DIV');
					containerDiv.className='item_container';
					//¹àÌÜ¥¤¥á¡¼¥¸¤È¥ª¥×¥·¥ç¥ó¥Æ¥­¥¹¥È¤ò³ÊÇ¼¤¹¤ëDIV¤òÄêµÁ end



					//¹àÌÜ¤Î¥¤¥á¡¼¥¸¤òÄÉ²Ã start
					var OptionImg = document.createElement('IMG');
					OptionImg.src="/html_cmn/images/item_point16.png";
					OptionImg.align="absmiddle";
					//resultDiv.appendChild(OptionImg);	
					containerDiv.appendChild(OptionImg);	
					//¹àÌÜ¤Î¥¤¥á¡¼¥¸¤òÄÉ²Ã end


					var pOption = document.createElement('SPAN');
					pOption.className='result_pollerOption';
					pOption.innerHTML = value;
					//resultDiv.appendChild(pOption);	
					containerDiv.appendChild(pOption);	
					



					//¥¤¥á¡¼¥¸¡Ü¹àÌÜ¥Æ¥­¥¹¥È¤ò¿ÆDIV¤Ë¥»¥Ã¥È
					resultDiv.appendChild(containerDiv);	

					
					/*
					var pOption = document.createElement('A');
					pOption.href='#';
					pOption.className='result_pollerOption';
					pOption.innerHTML = value;
					resultDiv.appendChild(pOption);					
					*/
				}
				
				if(key.indexOf('optionId')>=0){
					currentOptionId = value/1;
				}
				
				if(key.indexOf('votes')>=0){

					var voteDiv = document.createElement('DIV');
					voteDiv.className='result_pollGraph';
					resultDiv.appendChild(voteDiv);	
					
					var leftImage = document.createElement('IMG');
					leftImage.src = voteLeftImage;
					leftImage.className='left_img';
					voteDiv.appendChild(leftImage);
					
					
					var numberDiv = document.createElement('DIV');
					numberDiv.style.backgroundImage = 'url(\'' + voteCenterImage + '\')';
					numberDiv.innerHTML = '0%';
					numberDiv.id = 'result_voteTxt' + currentOptionId;
					voteDiv.appendChild(numberDiv);	
					
					var rightImage = document.createElement('IMG');
					rightImage.src = voteRightImage;
					rightImage.className='right_img';
					voteDiv.appendChild(rightImage);						
					
					pollVotes[pollId][currentOptionId] = value;
					totalVotes[pollId] = totalVotes[pollId]/1 + value/1;
				}
			}
		}
	}
	
	/*var totalVoteP = document.createElement('P');
	totalVoteP.className = 'result_totalVotes';
	totalVoteP.innerHTML = txt_totalVotes + totalVotes[pollId];
	voteDiv.appendChild(totalVoteP);	
	*/
	
	/*¹ç·×¤ÎÉ½¼¨¾ì½ê¤òÊÑ¹¹¤¹¤ë
	*****************************************************/
	var totalVoteSPAN = document.createElement('SPAN');
	totalVoteSPAN.className = 'result_totalVotes';
	totalVoteSPAN.innerHTML = txt_totalVotes + totalVotes[pollId]+'É¼';
	//alert(totalVoteSPAN.innerHTML );
	var div_obj=document.getElementById('vote_header');
	div_obj.innerHTML='';
	div_obj.appendChild(totalVoteSPAN);
	
	setPercentageVotes(pollId);
	slideVotes(pollId,0);
}

function setPercentageVotes(pollId)
{
	for(var prop in pollVotes[pollId]){

		pollVotes[pollId][prop] =  Math.round( (pollVotes[pollId][prop] / totalVotes[pollId]) * 100);

	}	
	
	var currentSum = 0;
	for(var prop in pollVotes[pollId]){
		currentSum = currentSum + pollVotes[pollId][prop]/1;			
	}
	//ÇÛÎó¤ÎÍ×ÁÇ¤ò¾å½ñ¤­¤¹¤ë¡©¤Ê¤¼¤«¤¢¤Ã¤Æ¡¢IE¤ÇÆ°¤«¤Ê¤¯¤Ê¤ë¤¿¤á¥³¥á¥ó¥È¥¢¥¦¥È
	//pollVotes[pollId][prop] = pollVotes[pollId][prop] + (100-currentSum);
	
}

function slideVotes(pollId,currentPercent)
{
	currentPercent = currentPercent/1 + 1;

	for(var prop in pollVotes[pollId]){
			
			
		if(pollVotes[pollId][prop]>=currentPercent){
			
			var obj = document.getElementById('result_voteTxt' + prop);

			obj.innerHTML = currentPercent + '%';
			obj.style.width = Math.max(graphMinWidth,Math.round(currentPercent/100*graphMaxWidth)) + 'px';
		
		}			

	}
	
	if(currentPercent<100){
		setTimeout('slideVotes("' + pollId + '","' + currentPercent + '")',pollScrollSpeed);
	}
}


function prepareForPollResults(pollId)
{
	document.getElementById('poller_waitMessage' + pollId).style.display='block';
	document.getElementById('poller_question' + pollId).style.display='none';	
}


function castMyVote(vote_id,formObj,graph_color)
{

	if(vote_id!=0){
		var elements = formObj.elements['vote[' + vote_id + ']'];
		var optionId = '';
		var i=0;
		for(var no=0;no<elements.length;no++){

			if(elements[no].checked){
				if(i==0){
					optionId=elements[no].value;
				}else{
					optionId =optionId +','+ elements[no].value;
				}
				i++;
			}
		}

		//Cookie¤Ç¤Ï¤Ê¤¯IP¤Ë¤è¤ê½ÅÊ£ÅêÉ¼¤òËÉ»ß
		//Poller_Set_Cookie('vote_' + vote_id,'1',9000);
	
		//if(optionId!=""){
		
				var ajaxIndex = ajaxObjects.length;
				ajaxObjects[ajaxIndex] = new sack();
				ajaxObjects[ajaxIndex].requestFile = serverSideFile;
				ajaxObjects[ajaxIndex].setVar('vote_id',vote_id);
				ajaxObjects[ajaxIndex].setVar('item_id',optionId);
				
				//¥°¥é¥Õ¥«¥é¡¼¤ÎÀßÄê
				usr_chg_graph_color(graph_color);
				//¥Ø¥Ã¥À¡¼¤ÎÅêÉ¼¥Ü¥¿¥ó¤òÈóÉ½¼¨¤Ë¤¹¤ë
				del_header_btn();
	
				prepareForPollResults(vote_id);
				ajaxObjects[ajaxIndex].onCompletion = function(){ showVoteResults(vote_id,ajaxIndex); }; 
				ajaxObjects[ajaxIndex].runAJAX(); 
			

		//}
	}else{
		alert("ÅêÉ¼ºîÀ®¤Ë¤ª¤±¤ë¥×¥ì¥Ó¥å¡¼¤Ç¤ÏÅêÉ¼¤Ç¤­¤Þ¤»¤ó¡£");
	}

} 

function displayResultsWithoutVoting(vote_id,graph_color)
{


	var ajaxIndex = ajaxObjects.length;
	ajaxObjects[ajaxIndex] = new sack();
	//ajaxObjects[ajaxIndex].requestFile = serverSideFile + '?pollId=' + pollId;

	//GET¤ÇID¤òÅÏ¤¹¤Î¤ä¤á¤ë
	//UTF-8¤Ç¤ÎÄÌ¿®¤òÁ°Äó¤È¤·¤Æ¤¤¤ë¤¿¤áÊ¸»ú²½¤±¤·¤ÆPHPÂ¦¤Ë¤¦¤Þ¤¯ID¤¬¤ï¤¿¤é¤Ê¤¤
	ajaxObjects[ajaxIndex].requestFile = serverSideFile ;
	//ÇÛÎó¤ËÀßÄê¤·¤ÆID¤òÅÏ¤¹
	ajaxObjects[ajaxIndex].setVar('vote_id',vote_id);

	//¥°¥é¥Õ¥«¥é¡¼¤ÎÀßÄê
	usr_chg_graph_color(graph_color);


	prepareForPollResults(vote_id);
	ajaxObjects[ajaxIndex].onCompletion = function(){ showVoteResults(vote_id,ajaxIndex); };	
	ajaxObjects[ajaxIndex].runAJAX();	
	
}

//¥°¥é¥Õ¥«¥é¡¼¤òÊÑ¹¹¤¹¤ë
function usr_chg_graph_color(color){
	
 voteLeftImage = '/html_cmn/images/graph_left_'+color+'.png';
 voteRightImage = '/html_cmn/images/graph_right_'+color+'.png';
 voteCenterImage = '/html_cmn/images/graph_middle_'+color+'.png';
	
}

//¥×¥ì¥Ó¥å¡¼ÍÑÅêÉ¼¤Î³«É¼É½¼¨
function displayResultsPreview(graph_color)
{

	
	var ajaxIndex = ajaxObjects.length;
	var vote_id=0;
	ajaxObjects[ajaxIndex] = new sack();
	//ajaxObjects[ajaxIndex].requestFile = serverSideFile + '?pollId=' + pollId;

	//GET¤ÇID¤òÅÏ¤¹¤Î¤ä¤á¤ë
	//UTF-8¤Ç¤ÎÄÌ¿®¤òÁ°Äó¤È¤·¤Æ¤¤¤ë¤¿¤áÊ¸»ú²½¤±¤·¤ÆPHPÂ¦¤Ë¤¦¤Þ¤¯ID¤¬¤ï¤¿¤é¤Ê¤¤
	ajaxObjects[ajaxIndex].requestFile = '/html_cmn/func/VotePrev.php' ;
	//ÇÛÎó¤ËÀßÄê¤·¤ÆID¤òÅÏ¤¹
	ajaxObjects[ajaxIndex].setVar('vote_id',vote_id);
	//¥°¥é¥Õ¥«¥é¡¼¤ÎÀßÄê
	usr_chg_graph_color(graph_color);

	prepareForPollResults(vote_id);
	ajaxObjects[ajaxIndex].onCompletion = function(){ showVoteResults(vote_id,ajaxIndex); };	
	ajaxObjects[ajaxIndex].runAJAX();	
	
}

function del_header_btn(){
	
	if($('vote_btn_header')){
		var header_btn_container=$('vote_btn_header');
		header_btn_container.style.display='none';
	}

}

