/*
East Renfrewshire Council - Child Protection Committee
Teenagers Website

Javascript performs client side functions
-includes AJAX for poll voting

Susan Smith		16.04.09
*/

var xmlHttpX;
var chart;
var currentpoll;
//var currp;

function processVoteX(int, cp)
{
//	currp=cp;
	xmlHttpX=GetXmlHttpObjectX(int);
	if (xmlHttpX==null)
	{
	 alert ("Sorry, your browser doesn't support the poll program");
	 return;
	} 
	var url="poll_result_x.php";
	url=url+"?vote="+int;
	url=url+"&currp="+cp;
	url=url+"&sid="+Math.random();
	xmlHttpX.onreadystatechange=stateChangedX;
	xmlHttpX.open("GET",url,true);
	xmlHttpX.send(null);
} 

function stateChangedX() 
{ 
	if (xmlHttpX.readyState==4 || xmlHttpX.readyState=="complete")
	{ 
//		document.getElementById("innerPoll").innerHTML=xmlHttp.responseText;
		//alert("HERE");
		var xmlDoc=xmlHttpX.responseXML.documentElement;
		var currp=""+xmlDoc.getElementsByTagName("currp")[0].childNodes[0].nodeValue;
		
/*		var lab0=""+xmlDoc.getElementsByTagName("label0")[0].childNodes[0].nodeValue;
		if(lab0.length>10)
		{
			var arr0=lab0.split(" ");
			var len0=arr0.length;
			var i0;
			var newlab0="";
			for(i0=0; i0<len0; i0++)
			{
				newlab0+=arr0[i0]+" ";
				if(((i0+1)==4) && ((i0+1)<len0)) newlab0+='\n';
				else if((i0+1)==8)
				{
					newlab0+="...";
					break;
				}
			}
			lab0=newlab0;
		}
		var lab1=""+xmlDoc.getElementsByTagName("label1")[0].childNodes[0].nodeValue;
		if(lab1.length>15)
		{
			var arr1=lab1.split(" ");
			var len1=arr1.length;
			var i1;
			var newlab1="";
			for(i1=0; i1<len1; i1++)
			{
				newlab1+=arr1[i1]+" ";
				if(((i1+1)==4) && ((i1+1)<len1)) newlab1+='\n';
				else if((i1+1)==8)
				{
					newlab1+="...";
					break;
				}

			}
			lab1=newlab1;
		}
		var lab2=""+xmlDoc.getElementsByTagName("label2")[0].childNodes[0].nodeValue;
		if(lab2.length>15)
		{
			var arr2=lab2.split(" ");
			var len2=arr2.length;
			var i2;
			var newlab2="";
			for(i2=0; i2<len2; i2++)
			{
				newlab2+=arr2[i2]+" ";
				if(((i2+1)==4) && ((i2+1)<len2)) newlab2+='\n';
				else if((i2+1)==8)
				{
					newlab2+="...";
					break;
				}

			}
			lab2=newlab2;
		}
		var lab3=""+xmlDoc.getElementsByTagName("label3")[0].childNodes[0].nodeValue;
		if(lab3.length>15)
		{
			var arr3=lab3.split(" ");
			var len3=arr3.length;
			var i3;
			var newlab3="";
			for(i3=0; i3<len3; i3++)
			{
				newlab3+=arr3[i3]+" ";
				if(((i3+1)==4) && ((i3+1)<len3)) newlab3+='\n';
				else if((i3+1)==8)
				{
					newlab3+="...";
					break;
				}

			}
			lab3=newlab3;
		}
		var num0=parseInt(xmlDoc.getElementsByTagName("num0")[0].childNodes[0].nodeValue);
		var num1=parseInt(xmlDoc.getElementsByTagName("num1")[0].childNodes[0].nodeValue);
		var num2=parseInt(xmlDoc.getElementsByTagName("num2")[0].childNodes[0].nodeValue);
		var num3=parseInt(xmlDoc.getElementsByTagName("num3")[0].childNodes[0].nodeValue);	*/
		
		var heading=""+xmlDoc.getElementsByTagName("heading")[0].childNodes[0].nodeValue;
		//alert(heading);
		var curr_vote=""+xmlDoc.getElementsByTagName("you")[0].childNodes[0].nodeValue;		
	//	alert(curr_vote);
/*		var data = new google.visualization.DataTable();
		data.addColumn('string', 'response');
		data.addColumn('number', '% chosen');
		data.addRows([
		  [lab0, num0],
		  [lab1, num1],
		  [lab2, num2],
		  [lab3, num3]
		]);*/
				
//		chart = new google.visualization.PieChart(document.getElementById('pollhold'+currp));
//		chart.draw(data, {width: 200, height: 340, is3D: true, colors:[{color:'#C12702', darker:'#A72303'}, {color:'#E2C94A', darker:'#D3AF23'}, {color:'#9BB552', darker:'#859540'}, {color:'#1B7B6F', darker:'#145A4B'}], legend: 'bottom', tooltipWidth: 150, backgroundColor: '#3E1D24', legendTextColor: '#ffffff', legendBackgroundColor: '#3E1D24', tooltipFontSize:10});
		      //C12702,E2C94A,9BB552,1B7B6F
	
//		google.visualization.events.addListener(chart, 'onmouseover', chartMouseOver);
//		google.visualization.events.addListener(chart, 'onmouseout', chartMouseOut);
	  
//		document.getElementById('pollbot'+currp).innerHTML="<p><strong>You voted:</strong> <br/><span class='indent'>"+xmlDoc.getElementsByTagName("you")[0].childNodes[0].nodeValue+"</span></p>";
//		document.getElementById('innerPoll'+currp).className='innerPollDone';

		document.getElementById('innerPoll'+currp).innerHTML="<div><h3>Poll Result:</h3><p>"+heading+"</p><div  style='margin-left:1px;'><div id='pollres"+currp+"'><em>* To view the poll result you need <a href='http://www.adobe.com/products/flashplayer/' title='get flash player'>Flash Player</a> *</em></div></div><p><strong>You voted:</strong><span class='pollres'>"+curr_vote+"</span><br/></p></div>";
		swfobject.embedSWF('open-flash-chart.swf', 'pollres'+currp, '199', '160', '9.0.0', 'expressInstall.swf', {'data-file':'chart_alt.php?id='+currp+'','loading':'loading...'} );

		
	}
}

  function chartMouseOver(e) {
    chart.setSelection([e]);
  }
  
  function chartMouseOut(e) {
    chart.setSelection([{'row': null, 'column': null}]);
  }
 

function GetXmlHttpObjectX()
{ 
	var objXMLHttp=null;
	if (window.XMLHttpRequest)
	{
		objXMLHttp=new XMLHttpRequest();
	}
	else if (window.ActiveXObject)
	{
		 objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP");
	}
	return objXMLHttp;
}

function processVoteMobX(int, cp)
{
//	currp=cp;
	xmlHttpX=GetXmlHttpObjectX(int);
	if (xmlHttpX==null)
	{
	 alert ("Sorry, your browser doesn't support the poll program");
	 return;
	} 
	var url="poll_result_mob_x.php";
	url=url+"?vote="+int;
	url=url+"&currp="+cp;
	currentpoll=cp;
	url=url+"&sid="+Math.random();
	xmlHttpX.onreadystatechange=stateChangedMobX;
	xmlHttpX.open("GET",url,true);
	xmlHttpX.send(null);
} 
function stateChangedMobX() 
{ 
	if (xmlHttpX.readyState==4 || xmlHttpX.readyState=="complete")
	{ 
		var xmlDoc=xmlHttpX.responseXML.documentElement;
		//alert("HERE");
		var currp=""+xmlDoc.getElementsByTagName("currp")[0].childNodes[0].nodeValue;
		
		var lab0=""+xmlDoc.getElementsByTagName("label0")[0].childNodes[0].nodeValue;
		var lab1=""+xmlDoc.getElementsByTagName("label1")[0].childNodes[0].nodeValue;
		var lab2=""+xmlDoc.getElementsByTagName("label2")[0].childNodes[0].nodeValue;
		var lab3=""+xmlDoc.getElementsByTagName("label3")[0].childNodes[0].nodeValue;
		var num0=parseInt(xmlDoc.getElementsByTagName("num0")[0].childNodes[0].nodeValue);
		var num1=parseInt(xmlDoc.getElementsByTagName("num1")[0].childNodes[0].nodeValue);
		var num2=parseInt(xmlDoc.getElementsByTagName("num2")[0].childNodes[0].nodeValue);
		var num3=parseInt(xmlDoc.getElementsByTagName("num3")[0].childNodes[0].nodeValue);	
		var total=""+xmlDoc.getElementsByTagName("total")[0].childNodes[0].nodeValue;
		var heading=""+xmlDoc.getElementsByTagName("heading")[0].childNodes[0].nodeValue;
		//alert(heading);
		var curr_vote=""+xmlDoc.getElementsByTagName("you")[0].childNodes[0].nodeValue;	
		var cpc;
		var cont="";
		cperc=Math.round(num0/total*100);
		cont+="<p class='innerPollMob'> > "+lab0+" <span class='mpperc'>"+cperc+"%</span></p>";
		cperc=Math.round(num1/total*100);
		cont+="<p class='innerPollMob'> > "+lab1+" <span class='mpperc'>"+cperc+"%</span></p>";
		cperc=Math.round(num2/total*100);
		cont+="<p class='innerPollMob'> > "+lab2+" <span class='mpperc'>"+cperc+"%</span></p>";
		cperc=Math.round(num3/total*100);
		cont+="<p class='innerPollMob'> > "+lab3+" <span class='mpperc'>"+cperc+"%</span></p>";

		document.getElementById('innerPoll'+currp).innerHTML="<div><h3>Poll Result:</h3><p>"+heading+"</p><div  style='margin-left:1px;'><div id='pollres"+currp+"'>"+cont+"</div></div><p><strong>You voted:</strong><span class='pollres'>"+curr_vote+"</span><br/></p></div>";
	}
}
