﻿// JavaScript Document
PWC.Utils.addEvent(window,"load",function(evt){
	PWC.oEncuesta["encuesta"] = new ChartMyXML("encuesta");
	var num = Math.random()*1220;
	PWC.oEncuesta["encuesta"].load(rutaHanlderEncuesta,"pg=getEncuesta",function(){
		PWC.oEncuesta["encuesta"].PrintFlashToLayer(document.getElementById(PWC.oEncuesta["encuesta"].swfCapaID));
		PWC.oEncuesta["encuesta"].PrintForm();
	});
	
});

PWC.oEncuesta = new Array();
function ChartMyXML(indice){
	var self = this;
	self.indice = indice;
	self.xml = null;
	self.xmlstr = null;
	self.capa = null;
	self.obj = null;
	self.xf = PWC.Utils._xml;
	self.capaID = "tblencuesta";
	self.swfCapaID = "tblencuesta_swf";
	self.url = rutaSWFEncuesta;
	self.onLoad = function(){};
	self.floaded = function(){};
	self.load = function(url,vars,fname){
		if(fname)self.onLoad  = fname;
        self.currentvars = vars;
        var _xml = new PWC.MyServer();
        _xml.url = url;
        _xml.vars = vars;
        //prompt("",_xml.url + "?" + _xml.vars)
        var capatop = document.getElementById(self.capaID);
        capatop.innerHTML = "Cargando..";
        _xml.onFinish = function(){
           self.xml = _xml.responseXML;
           self.onLoad();     
        }
        _xml._get(); 
    }
	self.isloaded = function(obj,fname){
		var p = obj.PercentLoaded();
		window.status = p;
		if(p<100){
			var intervalo = setTimeout(function(){
				self.isloaded(obj,fname);
			},100);
		}else{
			self.floaded = fname;
			self.floaded();
		}
	}
	self.PrintForm = function(){
		var htm = "";
		var capatop = document.getElementById(self.capaID);
		var x = self.xml.documentElement;
		var preguntaNode = x.getElementsByTagName("pregunta")[0];
		//            var titulo = self.xf._subnodevalue(comentario,"titulo");
		var pregunta = self.xf._nodevalue(preguntaNode);
		var preguntaID = preguntaNode.getAttribute("id");
		var cookieEncuestaID = Number(getCookie("voto_encuestaID"));
		if(preguntaID <= cookieEncuestaID){
		    self.gr();
		    return;
		}
		var respuestas = x.getElementsByTagName("respuesta")
		htm += "<p><strong>" + pregunta + "</strong></p>";
		for(var i=0;i<respuestas.length;i++){
			var respuesta = respuestas[i];
			var respuestaID = respuesta.getAttribute("id");
			var nombre = self.xf._nodevalue(respuesta);
			htm += "<p>";
			htm += "<input type='radio' name='radioEncuesta' value='"+respuestaID+"' /><label for='radioEncuesta'>"+nombre+"<label> ";
			htm += "</p>";
		}
		htm += "<p class='alR'>";
		htm += "<input type='button' name='btnEncuesta' value='Votar' onclick=\"PWC.oEncuesta['"+self.indice+"'].Vote(this.form,'"+preguntaID+"'); \" />";
		htm += "</p>";
		capatop.innerHTML = htm;
	}
	self.gr = function(){
		var capatop = document.getElementById(self.capaID);
		var capaswf = document.getElementById(self.swfCapaID);
		capatop.style.display = "none";
		capaswf.style.display = "block";
		var strxml = "<arreglo>";
		var x = self.xml.documentElement;
		var respuestas = x.getElementsByTagName("respuesta")
		for(var i=0;i<respuestas.length;i++){
			var respuesta = respuestas[i];
			var respuestaID = respuesta.getAttribute("id");
			var nombre = self.xf._nodevalue(respuesta);
			var valor = respuesta.getAttribute("valor");
			strxml += '<dato valor="'+valor+'">'+nombre+'</dato>';
		}
		strxml += "</arreglo>";
		self.xmlstr = strxml;
		var intervalo = setTimeout(function(){
			self.Execute();	
		},300);
	}
	self.Vote = function(f,preguntaID){
		var valor = "";
		for(var i=0;i<f.radioEncuesta.length;i++){
			if(f.radioEncuesta[i].checked){ 
				valor = f.radioEncuesta[i].value; 
				break;
			}
		}
		if(valor == ""){
		    alert("Favor de seleccionar una opción");
		    return;
		}
		var vars = "pg=submitVoto&idEncuesta="+preguntaID;
		vars += "&idRespuesta="+valor;
		var _post = new PWC.MyServer();
		_post.url = rutaHanlderEncuesta;
		_post.vars = vars;
		var capatop = document.getElementById(self.capaID);
		capatop.innerHTML = "Cargando resultados...";
		_post.onFinish = function(){
			var num = Math.random()*1220;
			self.load(rutaHanlderEncuesta,"pg=getEncuesta",function(){
			    SetCookie("voto_encuestaID",preguntaID);
				self.gr();
			});
		}
		_post._get();
	}
	self.Execute = function(){
		var flashMovie = self.getFlashMovieObject("myFlashMovie" + self.indice);
		self.isloaded(flashMovie,function(){
			flashMovie.SetVariable("/:loadMyData", "s");
			flashMovie.SetVariable("/:xmlstr", self.xmlstr);
		});
	}
	self.getFlashStr = function(){
		var aux = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://active.macromedia.com/flash2/cabs/swflash.cab#version=4,0,0,0" id="myFlashMovie'+self.indice+'" width="200" height="180" >';
			aux += '<param name="movie" value="'+self.url+'" />';
			aux += '<param name="allowScriptAccess" value="sameDomain">';
			aux += '<param name="wmode" value="transparent">';
			aux += '<param name="quality" value=high />';
			aux += '<param name="play" value="false" />';
			aux += '<param name="bgcolor" value="#FFFFFF" />';
			aux += '<param name="loop" value="false">';
			aux += '<embed play="false" allowScriptAccess="sameDomain" wmode="transparent" swliveconnect="true" name="myFlashMovie'+self.indice+'" src="'+self.url+'" quality="high" bgcolor="#FFFFFF" width="200" height="180" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash">';
			aux += '</embed>';
			aux += '</object>';

		return aux;
	}
	self.getFlashMovieObject = function(movieName)
	{
		if (window.document[movieName]) 
		{
			return window.document[movieName];
		}
		if (navigator.appName.indexOf("Microsoft Internet")==-1)
		{
			if (document.embeds && document.embeds[movieName])
			return document.embeds[movieName]; 
		}
		else
		{
			return document.getElementById(movieName);
		}
	}
	self.PrintFlashToLayer = function(capa){
	    var x = self.xml.documentElement;
	    var preguntaNode = x.getElementsByTagName("pregunta")[0];
	    var pregunta = self.xf._nodevalue(preguntaNode);
		var preguntaID = preguntaNode.getAttribute("id")
		var strFlash = "<p><strong>" + pregunta + "</strong></p>";
		strFlash += self.getFlashStr();
		var x = self.xml.documentElement;
		capa.innerHTML = strFlash;
		
		self.obj = self.getFlashMovieObject("myFlashMovie" + self.indice);
	}
}
