function eliminarOpcion(row,id){
	if(confirm('¿Seguro que desea eliminar esta opción?')){
		if ($('opciones_eliminar').value=='')
			$('opciones_eliminar').value = id;
		else
			$('opciones_eliminar').value = $('opciones_eliminar').value+','+id;
		
		var row = $('row'+row);
		var rows = $('agregarEncuesta').rows;
		for(n in rows){
			if(rows[n] == row)
				$('agregarEncuesta').deleteRow(n);	
		}
		resetOptionNumbers();
		$('totalOpt').value = parseInt($('totalOpt').value)-1;
	}
}
function resetOptionNumbers(){
	var tds = $('agregarEncuesta').getElementsByTagName('td');
	var re = new RegExp('Opción #[0-9]*');
	var c = 1;
	for(n in tds){
		if(tds[n])
		if(tds[n].firstChild)
		if(tds[n].firstChild.nodeValue)
		if(re.test(tds[n].firstChild.nodeValue)){
			tds[n].firstChild.nodeValue = 'Opción #'+c;
			c++;
		}
	}
}
var nuevaOpcionCount = 1;
function agregarOpcionEdit(){
	// Tabla
	var tabla = $('agregarEncuesta');
	var ultimaFila = tabla.rows.length-3;
	// Renglon
	var iteracion = ultimaFila;
	var row = tabla.insertRow(ultimaFila);
	row.id = 'rowNueva'+nuevaOpcionCount;
	iteracion -= 2;
	// Primer celda, texto
	var celda1 = row.insertCell(0);
	celda1.className = 'p5 tright';
	$a(celda1,$tN('Opción #'+iteracion));
	// Segunda celda, input texto
	var celda2 = row.insertCell(1);
	celda2.className = 'p5';
	var opcion = $c('input');
	opcion.name = 'opciones['+iteracion+'][texto]';
	opcion.type = 'text';
	opcion.className = 'pin bgray';
	opcion.style.width = '350px';
	$a(celda2,opcion);
	// Tercera celda, botones
	var celda3 = row.insertCell(2);
	celda3.className = 'p5 center';
	var botonCancelar = $c('input');
	botonCancelar.className = 'boton gradiente';
	botonCancelar.id = 'cancelNuevaOpcion_' + nuevaOpcionCount;
	botonCancelar.type = 'button';
	botonCancelar.value = 'Cancelar';
	var rowID = row.id
	botonCancelar.onclick = function(evt){
		var target = getTarget(evt);
		var button = target.id;
		var id = button.substr(button.lastIndexOf('_')+1, button.length);
		var tabla = $('agregarEncuesta');
		for(n=0;n<tabla.rows.length;n++){
			if(tabla.rows[n].id == 'rowNueva'+id){
				try{
					tabla.deleteRow(tabla.rows[n].rowIndex);
				}catch(e){
					tabla.deleteRow(n);
				}
				resetOptionNumbers();
				break;
			}
		}
	};
	nuevaOpcionCount++;
	$a(celda3,botonCancelar);
	$('totalOpt').value = parseInt($('totalOpt').value)+1;
}
function submitPoll(){
	if (trim($('titulo').value)==''){
		alert('Debe especificar un título');
		return false;
	}
	if (parseInt($('totalOpt').value)<2){
		alert('Debe agregar al menos dos opciones');
		return false;
	}
	return true;
}
function doneSubmitPoll(obj){
	if (obj.status){
		window.location = obj.redirect;
	}else{
		alert(obj.message);
	}
}
var seccion = '', encuestaID = null, limiteEdit = null;
var radioStyled = null, radioInputs;
windowOnloadAdd(function(){
	seccion = (CURRENT_SECTION)?CURRENT_SECTION:'encuestas';
	if (CURRENT_ACTION == 'agregar'){
		$('botonAgregar').onclick = function(evt){agregarOpcion();};
		$('botonQuitar').onclick = function(evt){quitarOpcion();};
		$('botonSubmit').onclick = function(evt){sendEncuesta();};
	}
});
function closePoll(idPoll){
	ajaxRequest(POLL, 'close_poll',{'id':idPoll}, changeOpenClose);
}
function changeOpenClose(arr){
	if(arr['status']){
		var boton = $('cerrarEncuesta'+arr['id']);
		boton.innerHTML = (arr['closed']==0)?'Cerrar':'Abrir';
	}else alert(arr['error']);
}
function sendVote(){
	var send = false;
	for(n in radioInputs){
		if(radioInputs[n].type == 'radio'){
			send = (radioInputs[n].checked)?true:send;
		}
	}
	if(send)
		$('voteForm').submit();
}
function agregarOpcion(){
	// Tabla
	var tabla = $('agregarEncuesta');
	var ultimaFila = tabla.rows.length-3;
	// Renglon
	var iteracion = ultimaFila;
	var row = tabla.insertRow(ultimaFila);
	//iteracion--;
	// Primer celda, texto
	var celda1 = row.insertCell(0);
	$a(celda1,$tN('Opción #'+iteracion));
	// Segunda celda, input texto
	var celda2 = row.insertCell(1);
	var opcion = $c('input');
	opcion.id = 'opcion' + iteracion;
	opcion.name = 'opcion' + iteracion;
	opcion.type = 'text';
	//opcion.name = 'opciones['+iteracion+'][texto]';
	//opcion.className = 'pin bgray';
	$a(celda2,opcion);
}
function sendEncuesta(){
	var accept = true;
	var tabla = $('agregarEncuesta');
	var inputs = tabla.getElementsByTagName('input');
	for(n in inputs){
		if(inputs[n].type == 'text'){
			if(inputs[n].value == ''){
				inputs[n].className = 'required';
				accept = false;
			}else inputs[n].className = '';
		}
	}
	if(accept) $('form').submit();
}
function radioClick(radio){
	for(n in radioStyled){
		if (radio != radioStyled[n]) {
			radioStyled[n].className = 'radioUnchecked';
		}else{
			radioStyled[n].className = 'radioChecked';
		}
	}
	var styledId = radio.id;
	var radioId = styledId.replace('_','');
	$(radioId).checked = true;
}
var newOptionRowId = 0;
function aceptarNuevaOpcion(button){
	var id = button.id.substr(button.id.lastIndexOf('_')+1, button.id.length);
	var campoTexto = $('nuevaOpcion'+id);
	var nuevaOpcion = campoTexto.value;
	if(trim(nuevaOpcion) == '')
		alert('Opción inválida');
	else{
		newOptionRowId = id;
		ajaxRequest(seccion,'new_option',{'id_poll':encuestaID,'text':nuevaOpcion},setNuevaOpcion);
	}
}
function setNuevaOpcion(arr){
	if(arr['status']){
		var newId = arr['option_id'];
		var row = $('rowNueva'+newOptionRowId);
		row.id = 'row'+newId;
		var campoOpcion = $('nuevaOpcion'+newOptionRowId);
		campoOpcion.readOnly = true;
		campoOpcion.id = 'opcion'+newId;
		campoOpcion.name = 'opcion'+newId;
		var botonCancelar = $('cancelNuevaOpcion_'+newOptionRowId);
		botonCancelar.id = 'editarOpcion_'+newId;
		botonCancelar.value = 'Editar Opción';
		botonCancelar.onclick = function(evt){
			var target = getTarget(evt);
			var id = target.id.substr(target.id.lastIndexOf('_')+1, target.id.length);
			editarOpcion(id);
		}
		var botonAceptar = $('acceptNuevaOpcion_'+newOptionRowId);
		botonAceptar.id = 'eliminarOpcion_'+newId;
		botonAceptar.value = 'Eliminar Opción';
		botonAceptar.onclick = function(evt){
			var target = getTarget(evt);
			var id = target.id.substr(target.id.lastIndexOf('_')+1, target.id.length);
			eliminarOpcion(id);
		}
		limiteEdit++;
		var tabla = $('agregarEncuesta');
		var index = 0, nodeBefore = '', nodeDeleted = '';
		var re = new RegExp('rowNueva[0-9]*');
		for(n in tabla.rows){
			if(tabla.rows[n]){
				if(tabla.rows[n] == row){
					index = n;
					nodeDeleted = tabla.rows[n].id;
				}
				if(re.test(tabla.rows[n].id) && nodeBefore == ''){
					nodeBefore = tabla.rows[n].id;
				}
			}
		}
		if(nodeBefore != ''){
			var root = tabla.getElementsByTagName('tr')[index].parentNode;
			var clone = tabla.getElementsByTagName('tr')[index].cloneNode(true);
			root.insertBefore(clone, $(nodeBefore));
			index++;
			tabla.deleteRow(index);
			var botonCancelar = $('editarOpcion_'+newId);
			botonCancelar.onclick = function(evt){
				var target = getTarget(evt);
				var id = target.id.substr(target.id.lastIndexOf('_')+1, target.id.length);
				editarOpcion(id);
			}
			var botonAceptar = $('eliminarOpcion_'+newId);
			botonAceptar.onclick = function(evt){
				var target = getTarget(evt);
				var id = target.id.substr(target.id.lastIndexOf('_')+1, target.id.length);
				eliminarOpcion(id);
			}
		}
		resetOptionNumbers();
		alert(arr['html']);
	}else alert(arr['error']); 
}

function paginationPolls(page){
	$('loading_top').innerHTML="Cargando...";
	$('loading_bottom').innerHTML="Cargando...";
	ajaxRequest(seccion,'lista_encuestas',page,resultPaginationPolls);
}

function resultPaginationPolls(arr){
	if(arr.status){
		$('polls_content').innerHTML=arr.html;
	}
}
function deletePoll(idPoll){
	if (idPoll==0){
		if (confirm('¿Realmente desea descartar los cambios?')){
			window.location.href = '/'+POLL+'/';
		}
		return;
	}
	if (confirm('¿Realmente desea eliminar esta encuesta?')){
		if (confirm('Todos los votos se perderán, ¿desea continuar?')){
			ajaxRequest('encuestas','deletePoll',{ idPoll:idPoll },doneDeletePoll);
		}
	}
}
function doneDeletePoll(obj){
	if (obj.status){
		window.location.href = obj.redirect;
		return;
	}
	alert(obj.message);
}
var elementId = 0;

