// JavaScript Document
function createREQ() {
try {
     req = new XMLHttpRequest(); /* p.e. Firefox */
     } catch(err1) {
       try {
       req = new ActiveXObject('Msxml2.XMLHTTP'); /* algunas versiones IE */
       } catch (err2) {
         try {
         req = new ActiveXObject("Microsoft.XMLHTTP"); /* algunas versiones IE */
         } catch (err3) {
          req = false;
         }
       }
     }
     return req;
}
function requestGET(url, query, req) {
myRand=parseInt(Math.random()*99999999);
req.open("GET",url+'?'+'query'+'&rand='+myRand,true);
req.send(null);
}
function requestPOST(url, query, req) {
req.open("POST", url,true);
req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
req.send(query);
}
function doCallback(callback,item) {
eval(callback + '(item)');

}

function doAjax(url,query,callback,reqtype,getxml,div_mensaje) {
// crea la instancia del objeto XMLHTTPRequest 
var myreq = createREQ();

myreq.onreadystatechange = function() {
if(myreq.readyState == 4) {
   if(myreq.status == 200) {
      var item = myreq.responseText;
      if(getxml==1) {
         item = myreq.responseXML;
      }
      doCallback(callback, item);
    }
  }
  else {     // si readyState ha cambiado
                 // pero readyState <> 4
           document.getElementById(div_mensaje).innerHTML ='<div align=center><br><br><p><img src="admin/encuesta/images/loading.gif" border="0"></p><br><br></div>';
  }
  
}
if(reqtype=='post') {
requestPOST(url,query,myreq);
} else {
requestGET(url,query,myreq);
}
}

//función genérica para extraer elementos de un formulario,es util en peticiones "POST"
function getRequestBody(oForm) {
	var aParams = new Array();
	for (var i=0 ; i < oForm.elements.length; i++) 
	{
		if(oForm.elements[i].type != "radio" && oForm.elements[i].type != "checkbox")
		{
			var sParam = encodeURIComponent(oForm.elements[i].name);
			sParam += "=";
			sParam += encodeURIComponent(oForm.elements[i].value);
			aParams.push(sParam);
		}
		
		if(oForm.elements[i].type == "radio" && oForm.elements[i].checked)
		{
			var sParam = encodeURIComponent(oForm.elements[i].name);
			sParam += "=";
			sParam += encodeURIComponent(oForm.elements[i].value);
			aParams.push(sParam);
		}
	}
	return aParams.join("&");
}

//esta funcion es para volver cuando no se eligio ninguna opcion
function volver(id_seccion)
{
	//doAjax('/sys/encuesta/auxi.php?c='+id_seccion,'','volverr','get','0','la_encuesta')
	
}

function validar(f,tipo)
{
	
	var formu = document.forms[f];//todo el furmulario lo guardo en una variable
	//alert("esto es formu "+f);
	var count = validar_radios(formu);
	
	if(count <= 0)
	{
		alert("Debe elegir una opcion");
		return false;
	}
	else
	{
		if(tipo==1)
			accion_encuesta(f);	
		else
			accion_encuesta_pre(f);	
	}
}

function volverr(texto)
	{
		var la_encuesta = document.getElementById("la_encuesta_pre");
		la_encuesta.innerHTML = "";
		la_encuesta.innerHTML = texto;
	}

function validar_radios(oForm)
{
	var cont = 0;
	for (var i=0 ; i < oForm.elements.length; i++) 
	{
		
		if(oForm.elements[i].type == "radio" && oForm.elements[i].checked)
			cont ++;
	}
	return cont;
}


//función que pone en marcha la encuesta
	function hacer_encuesta(texto)
	{
		var la_encuesta = document.getElementById("la_encuesta");
		la_encuesta.innerHTML = texto;
	}
	
	//función que pone en marcha la encuesta premiada
	function hacer_encuesta_pre(texto)
	{
		var la_encuesta = document.getElementById("la_encuesta_pre");
		la_encuesta.innerHTML = texto;
	}
	
	function accion_encuesta(f)
	{
		var formu = document.forms[f];//todo el furmulario lo guardo en una variable
		//alert("esto es formu en accion encuesta "+formu);
		//ahora armo el query 
		var query = getRequestBody(formu);
		//este es el div donde va a aparecer el mensaje de espera
		doAjax('admin/encuesta/votar_encuesta.php',query,'hacer_encuesta','post','0','la_encuesta')
	}
	
	//esta es la misma que la de arriba pero para encuestas premiadas
	function accion_encuesta_pre(f)
	{
		var formu = document.forms[f];//todo el furmulario lo guardo en una variable
		//alert("esto es formu en accion encuesta "+formu);
		//ahora armo el query 
		var query = getRequestBody(formu);
		//este es el div donde va a aparecer el mensaje de espera
		doAjax('admin/encuesta/votar_premiada.php',query,'hacer_encuesta_pre','post','0','la_encuesta_pre')
	}
	
	//esta funcion muestra la encuesta  premiada al cancelar el login
	function mostrar_premiada(){
		doAjax('admin/encuesta/votar_premiada.php','&a=1','show_premiada','post','0','la_encuesta_pre')	
	}
	function show_premiada(texto)
	{
		var la_encuesta = document.getElementById("la_encuesta_pre");
		la_encuesta.innerHTML = texto;
	}

	
//esta función es para manejar div ocultos
//cuando se muestra login,se oculta el formulario de votar y viceversa
function showhide(id)
{ 	
	obj = document.getElementById(id); 
	if (obj.style.display == "none")
	{ 
			obj.style.display = ""; 
	}
	else
	{ 
		obj.style.display = "none"; 
	}  
} 

//esta función oculta el formulario de votar
function ocultar_formu(id){
	//alert("este es el id "+id);
	formu=document.getElementById(id);
	formu.style.display="none";
}
//esta función es para hacer el login en forma asincronica
function login()
{
	var formu = document.forms.loguear;//todo el furmulario lo guardo en una variable	
	var query = getRequestBody(formu);
		
	doAjax('album/login.php',query,'hacer_login','post','0','la_encuesta_pre');
}

//esta función es para poner en marcha el login ajax
function hacer_login(texto)
{
	var la_encuesta = document.getElementById("la_encuesta_pre");
	la_encuesta.innerHTML = texto;
}
