// JavaScript Document
function changeWidth(element,width){
	element.style.width = width;
}

function votar(URL,id,title, voteBotton, optionsMenu,stateObj){
	xhttp = HTTPREQUEST();
	xhttp.onreadystatechange = function(){
		if(xhttp.readyState == 1 || xhttp.readyState==2){
			stateObj.innerHTML = "Un momento por favor.";
		}else if(xhttp.readyState == 3){
			stateObj.innerHTML = "Cargando resultados.";
			
		}else{
			if(xhttp.status == 200 || xhttp.status == 0){
				XMLRESULT = xhttp.responseXML;
				polls = XMLRESULT.getElementsByTagName("poll");
				title.innerHTML = polls[0].childNodes[2].firstChild.nodeValue;
				var aHTML = "<form name='options'>";
				var voters = 0;
				for(var i=0;i<=polls[0].childNodes[3].childNodes.length-1;i++){
					voters = polls[0].childNodes[4].firstChild.nodeValue;
					var porcentaje = polls[0].childNodes[3].childNodes[i].childNodes[3].firstChild.nodeValue  * 100 / voters;
					aHTML = aHTML + polls[0].childNodes[3].childNodes[i].childNodes[2].firstChild.nodeValue 
								+"<br/><div id='result"+i+"'></div>&nbsp;"
								+porcentaje.toFixed(2)
								+"%<br />";
				}
				optionsMenu.innerHTML = aHTML;
				for(var i=0;i<=polls[0].childNodes[3].childNodes.length-1;i++){
					document.getElementById("result"+i).className = "poll"+i;
					document.getElementById("result"+i).innerHTML =  "&nbsp;";
					document.getElementById("result"+i).display = "block";
					voters = polls[0].childNodes[4].firstChild.nodeValue;
					changeWidth(document.getElementById("result"+i),Math.round(polls[0].childNodes[3].childNodes[i].childNodes[3].firstChild.nodeValue  * 100/voters)+"px");	
				}
			voteBotton.innerHTML = "";
			 }					
	}	

  }
   xhttp.open("POST",URL,true);
	xhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	xhttp.send("id="+id+"&vote=yes");
}
function viewResult(URL,idPoll,title, voteBotton, optionsMenu,stateObj){
		xhttp = HTTPREQUEST();
	xhttp.onreadystatechange = function(){
	
		if(xhttp.readyState == 1 || xhttp.readyState==2){
			stateObj.innerHTML = "Un momento por favor.";
		}else if(xhttp.readyState == 3){
			stateObj.innerHTML = "Cargando resultados.";
			
		}else{
			if(xhttp.status == 200){
				XMLRESULT = xhttp.responseXML;
				polls = XMLRESULT.getElementsByTagName("poll");
				if(polls[0].childNodes[2].firstChild.nodeValue == "si"){
					title.innerHTML = polls[0].childNodes[3].firstChild.nodeValue;
				}else{
					title.innerHTML = polls[0].childNodes[2].firstChild.nodeValue;
				}
				var HTML = "<form name='options'>";
				for(var i=0;i<=polls[0].childNodes[3].childNodes.length-1;i++){
				voters = polls[0].childNodes[4].firstChild.nodeValue;
				var porcentaje = polls[0].childNodes[3].childNodes[i].childNodes[3].firstChild.nodeValue  * 100 / voters;
				HTML += polls[0].childNodes[3].childNodes[i].childNodes[2].firstChild.nodeValue + "<br/><div id='result"+i+"'></div>&nbsp;"+porcentaje.toFixed(2)+"%<br />";
			}
				optionsMenu.innerHTML = HTML;
				for(var i=0;i<=polls[0].childNodes[3].childNodes.length-1;i++){
				document.getElementById("result"+i).className = "poll"+i;
				document.getElementById("result"+i).innerHTML =  "&nbsp;";
				document.getElementById("result"+i).display = "block";
				voters = polls[0].childNodes[4].firstChild.nodeValue;
				changeWidth(document.getElementById("result"+i),Math.round(polls[0].childNodes[3].childNodes[i].childNodes[3].firstChild.nodeValue  * 100/voters)+"px");
				
			}		
				voteBotton.innerHTML = "";
			
			}
		}	

  }
   xhttp.open("POST",URL,true);
	xhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	xhttp.send("id="+idPoll+"&view=yes");
}
function poll(URL,title, optionsMenu, voteBotton,stateObj){
	xhttp = HTTPREQUEST();
	xhttp.onreadystatechange = function(){
		if(xhttp.readyState == 1 || xhttp.readyState==2){
			stateObj.innerHTML = "Espere por favor.";
		}else if(xhttp.readyState == 3){
			stateObj.innerHTML = "Cargando encuesta.";
			
		}else{
			if(xhttp.status == 200){
			XMLRESULT = xhttp.responseXML;
			polls = XMLRESULT.getElementsByTagName("poll");
			title.innerHTML = polls[0].childNodes[2].firstChild.nodeValue;
			id = polls[0].childNodes[0].firstChild.nodeValue;
				if(polls[0].childNodes[1].firstChild.nodeValue == "no"){				
						var HTML = "<form name='optionsV'>";
						for(var i=0;i<=polls[0].childNodes[3].childNodes.length-1;i++){
							HTML += "<input type='radio' name='voteRadio' value='"+polls[0].childNodes[3].childNodes[i].childNodes[0].firstChild.nodeValue+"'/>"+polls[0].childNodes[3].childNodes[i].childNodes[2].firstChild.nodeValue + "<br/>"; 
						}
						optionsMenu.innerHTML = HTML;
						var votarElement = document.createElement("a");
						var view = document.createElement("a");
						votarElement.href="#";
						votarElement.innerHTML = "votar";
						view.href="#";
						view.innerHTML = "&nbsp;&nbsp;&nbsp;Ver resultados";
						voteBotton.appendChild(votarElement)
						voteBotton.appendChild(view);
						votarElement.onclick = function(){			
						//Estraemos radio seleccionado.
						var i;
						seleccionado = document.optionsV.voteRadio;
						noSeleccion = false;
							for (i=0;i<seleccionado.length;i++){
								if (seleccionado[i].checked){
								 noSeleccion = false;	
								break;
								}else{
								 noSeleccion = true;
								}
							}
							if(noSeleccion){
								alert("Elige un opción!");
							}else{
								votar(URL,seleccionado[i].value,title,voteBotton, optionsMenu,stateObj);
							}
						}				
						view.onclick = function(){
						  viewResult(URL,id,title, voteBotton, optionsMenu,stateObj);
						}
				}else{
						viewResult(URL,id,title, voteBotton, optionsMenu,stateObj)
				}
			}
		}	
  }
   xhttp.open("POST",URL,true);
	xhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	xhttp.send(null);
}