var PoolsLoc = "/pools/" ;
var PoolsName = "" ;
var PoolsJawab = new Array ;
var PoolsJawabCustom = new Array ;
var PoolsDiv = 'PoolsDiv' ;
var PoolsColor = new Array('#939191','#FC2E2E','#AFFDA7','#6678FF','#FFFA66','#B966FF','#66FF6A','#FFB266','#66FDFF','#FBC2DA','#C3FBC2','#939191','#FC2E2E','#AFFDA7','#6678FF','#FFFA66','#B966FF','#66FF6A','#FFB266','#66FDFF','#FBC2DA','#C3FBC2');
var CustomPoolsDiv = 'CustomPoolsDiv' ;
var CustomPoolsName = '' ;

function ShuffleArray(arr) { 
	var i=arr.length,j,t;
	while(i--){
		j=Math.floor((i+1)*Math.random());
		t=arr[i];
		arr[i]=arr[j];
		arr[j]=t;
	}
	return arr; 
}

function InitiatePools(D) {
	D += (D)?"_":"";
	PoolsName = D ;
	if (!Get_Cookie('SentraInfoPoolsClose'))
	{
		var S = document.getElementById('PoolingSeparator') ;
		S.style.height = 20 ;
		S.height = 20 ;
		document.getElementById(PoolsDiv).style.border = '1px solid black';
		document.getElementById(PoolsDiv).style.padding = '1';
		if (!Get_Cookie('SentraInfoPools') && !Get_Cookie('SentraInfoAdminLogin')) {
			Pools_DisplayForm(PoolsName+"soal.php",1);
		} else {
			Pools_DisplayForm(PoolsName+"soal.php",0);
		}
	}
}

function Pools_Close() {
	var S = document.getElementById('PoolingSeparator') ;
	S.style.height = 1 ;
	S.height = 1 ;
	var D = document.getElementById(PoolsDiv) ;
	D.innerHTML = "" ;
	D.style.visibility = 'hidden';
	D.style.display = 'none';
	D.style.border = '0';
	Set_Cookie('SentraInfoPoolsClose', 'Close', 0.5, '/', '', '' );
}

function Pools_Select(D) {
	var H = "Silakan tunggu sebentar...<br>hasil polling akan ditampilkan..." ;
	H += "<center><img src=\"http://www.sentrainfo.com/images/blank.gif\" height=20></center>";
	document.getElementById(PoolsDiv).innerHTML = H ;
	Pools_Global_Request("Pools_Data",PoolsLoc+"pool.php?D="+PoolsName+"&I="+D);
	Set_Cookie('SentraInfoPools', 'Pooled', 1, '/', '', '' );
}

function Pools_Form_Display(Data) {
	var H = "<b>POOLING</b> :<br>" ;
	var D = Trim(Data).split("\n");
	PoolsJawab = D ;
	H += D[0]+"<br>" ;
	for (var i=1; i<D.length; i++)
	{
		H += "<input style=\"cursor: pointer;\" type=radio onclick=\"Pools_Select("+i+")\"> <font style=\"cursor: pointer;\" onclick=\"Pools_Select("+i+")\">"+D[i]+"</font><br>" ;
	}
	H += "<div align=right>:: <a class=linkmember href=\"http://www.sentrainfo.com/pooling.php\">Lihat Polling Sebelumnya</a> :: <a class=linkmember href=\"javascript: Pools_Close();\">Tutup</a> ::</div>";
	H += "<center><img src=\"http://www.sentrainfo.com/images/blank.gif\" height=1></center>";
	document.getElementById(PoolsDiv).innerHTML = H ;
}

function Pools_Form_Display2(Data) {
	var H = "" ;
	var D = Trim(Data).split("\n");
	PoolsJawab = D ;
	Pools_DisplayResult(PoolsName+'hasil.php');
}

function Pools_Result_Display(Data) {
	var H = "<b>HASIL POLLING</b> :<br>"+PoolsJawab[0] + "<br>" ;
	var D = Trim(Data).split("\n");
	var Total = 0 ;
	for (var i=0; i<D.length; i++) {
		D[i] = Trim(D[i]) ;
		Total += Math.round(D[i]) ;
	}
	for (var i=1; i<PoolsJawab.length; i++)
	{
		PoolsJawab[i] = Trim(PoolsJawab[i]);
		var P = (Total>0)?Math.round(Math.round(D[i-1])/Total * 100):0 ;
		var T = 196;
		var He = 16 ;
		var He2 = (window.stop)?He:He-2 ;
		var W1 = Math.round(T*P/100) ;
		var W2 = T - Math.round(T*P/100) ;
		if (!window.stop)
		{
			if (P==100)
			{
				W1 = W1-2 ;
			} else {
				W1 = W1-1 ;
			}
		}
		var Suara = (Math.round(D[i-1])>0)?Math.round(D[i-1]):"Tidak ada";
		var DisplayInfo = (Get_Cookie('SentraInfoAdminLogin'))?Suara+" suara dari total "+Total+" suara":Trim(PoolsJawab[i]) + " (" + P +  "%)";
		H += "<div title=\""+DisplayInfo+"\" style=\"border: 1px solid black; background-color:white; position:relative; width:"+T+"; height:"+He+";\">";
		H += "<div style=\"background-color: "+PoolsColor[i]+"; position:absolute;width:"+W1+"; left:0; height:"+He2+";\"></div>"; 
		H += "<div align=center style=\"position:absolute;background:transparent;width:"+T+"; left:0; height:"+He2+";\">"+PoolsJawab[i] + " (" + P +  "%)"+"</div>"; 
		H += "</div>" ;
		H += "<center><img src=\"http://www.sentrainfo.com/images/blank.gif\" height=2></center>";
	}
	H += "<div align=right>:: <a class=linkmember href=\"http://www.sentrainfo.com/pooling.php\">Lihat Polling Sebelumnya</a> :: <a class=linkmember href=\"javascript: Pools_Close();\">Tutup</a> ::</div>";
	H += "<center><img src=\"http://www.sentrainfo.com/images/blank.gif\" height=1></center>";

	document.getElementById(PoolsDiv).innerHTML = H ;

	setTimeout("Pools_DisplayResult(PoolsName+'hasil.php');",60000);

}

function Pools_DisplayForm(D,X) {
	if (X == 1)
	{
		Pools_Global_Request("Pools_Form",PoolsLoc+D+"?Ref="+EncodeURL(Math.round(Math.random(0,1)*100000000000)));
	} else {
		Pools_Global_Request("Pools_Form2",PoolsLoc+D+"?Ref="+EncodeURL(Math.round(Math.random(0,1)*100000000000)));
	}
}

function Pools_DisplayResult(D) {
	Pools_Global_Request("Pools_Result",PoolsLoc+D+"?Ref="+EncodeURL(Math.round(Math.random(0,1)*100000000000)));
}

function Pools_RequestDone(ID,Data) {
	if (Data.responseText) {
		if (ID == 'Pools_Form') {
			Pools_Form_Display(Data.responseText);
		} else if (ID == 'Pools_Form2') {
			Pools_Form_Display2(Data.responseText);
		} else if (ID == 'Pools_Result') {
			Pools_Result_Display(Data.responseText);
		} else if (ID == 'Pools_Data') {
			Pools_DisplayResult(PoolsName+"hasil.php");
		} else if (ID == 'Pools_Custom') {
			Pools_JawabCustomPool(Data.responseText);
		} else if (ID == 'Pools_Jawab') {
			Pools_CustomResult_Display(Data.responseText);
		}
	}
}

function Pools_Global_RequestReady(ID,http_request) {
	if (http_request.readyState == 4) {
		if (http_request.status == 200) {
			Pools_RequestDone(ID,http_request) ;
		} else {
			//alert('There was a problem with the data request.');
		}
	}
}

function Pools_Global_Request(ID,url) {
	var url_post = url;
	var url_send = null;
	if (url.indexOf('?')>0)
	{
		url_post = url.substring(0,url.indexOf('?'));
		url_send = url.substring(url.indexOf('?')+1);
	} else {
		url_post = url ;
		url_send = null ;
	}

	var http_request = false;

	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) {
			http_request.overrideMimeType('text/xml');
			// See note below about this line
		}
	} else if (window.ActiveXObject) { // IE
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}

	if (!http_request) {
		alert('Giving up :( Cannot create an XMLHTTP instance');
		return false;
	}
	http_request.onreadystatechange = function() { Pools_Global_RequestReady(ID,http_request) }
	if (url_send != null)
	{
		http_request.open('POST', url_post, true);
		http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		http_request.setRequestHeader("Content-length", url_send.length);
		http_request.setRequestHeader("Connection", "close");	
		http_request.send(url_send);
	} else {
		http_request.open('GET', url_post, true);
		http_request.send(url_send);
	}
}

function Pools_JawabCustomPool(Data) {
	var D = Trim(Data).split("\n");
	PoolsJawabCustom = D ;

	
	var P = (CustomPoolsName)?CustomPoolsName+'_hasil.php':"hasil.php";
	Pools_Global_Request("Pools_Jawab",PoolsLoc+P+"?Ref="+EncodeURL(Math.round(Math.random(0,1)*100000000000)));
}

function Pools_SeeCustomPool(DivObj,PoolsName) {
	CustomPoolsDiv = DivObj ;
	CustomPoolsName = PoolsName ;
	var P = (CustomPoolsName)?CustomPoolsName+'_soal.php':"soal.php";
	Pools_Global_Request("Pools_Custom",PoolsLoc+P+"?Ref="+EncodeURL(Math.round(Math.random(0,1)*100000000000)));
}

function Pools_CustomResult_Display(Data) {
	var H = PoolsJawabCustom[0] + "<center><img src=\"http://www.sentrainfo.com/images/blank.gif\" height=2></center>" ;
	var D = Trim(Data).split("\n");
	var Total = 0 ;
	for (var i=0; i<D.length; i++) {
		Total += Math.round(D[i]) ;
		D[i] = Trim(D[i]) ;
	}
	var PoolsColor2 = ShuffleArray(PoolsColor);
	for (var i=1; i<PoolsJawabCustom.length; i++)
	{
		PoolsJawabCustom[i] = Trim(PoolsJawabCustom[i]);
		var P = (Total>0)?Math.round(Math.round(D[i-1])/Total * 100):0 ;
		var T = 200;
		var He = 16 ;
		var He2 = (window.stop)?He:He-2 ;
		var W1 = Math.round(T*P/100) ;
		var W2 = T - Math.round(T*P/100) ;
		if (!window.stop)
		{
			if (P==100)
			{
				W1 = W1-2 ;
			} else {
				W1 = W1-1 ;
			}
		}
		var Suara = (Math.round(D[i-1])>0)?Math.round(D[i-1]):"Tidak ada";
		var DisplayInfo = (Get_Cookie('SentraInfoAdminLogin'))?Suara+" suara dari total "+Total+" suara":Trim(PoolsJawabCustom[i]) + " (" + P +  "%)";
		H += "<div title=\""+DisplayInfo+"\" style=\"border: 1px solid black; background-color:white; position:relative; width:"+T+"; height:"+He+";\">";
		H += "<div style=\"background-color: "+PoolsColor2[i]+"; position:absolute;width:"+W1+"; left:0; height:"+He2+";\"></div>"; 
		H += "<div align=center style=\"position:absolute;background:transparent;width:"+T+"; left:0; height:"+He2+";\">"+PoolsJawabCustom[i] + " (" + P +  "%)"+"</div>"; 
		H += "</div>" ;
		H += "<center><img src=\"http://www.sentrainfo.com/images/blank.gif\" height=2></center>";
	}
	H += (CustomPoolsName)?"<div align=left><a href=\"javascript: Pools_CloseCustom('"+CustomPoolsDiv+"');\">:: Tutup hasil polling ini ::</a></div>":"";
	H += "<center><img src=\"http://www.sentrainfo.com/images/blank.gif\" height=18></center>";
	var D = document.getElementById(CustomPoolsDiv) ;
	D.style.visibility = 'visible';
	D.style.display = '';
	D.innerHTML = H ;
}

function Pools_CloseCustom(P) {
	var D = document.getElementById(P) ;
	D.innerHTML = "" ;
	D.style.visibility = 'hidden';
	D.style.display = 'none';
}
