var mensajes_error = {
    'error' : 'Hubo un error al tratar de responder la encuesta.',
    'error_ajax' : 'No hay respuesta por parte del servidor. Favor de intentar mas tarde.',
    'escoja' : 'Por favor escoja una opcion'
}

function CreaAjax() {
    var ua = navigator.userAgent.toLowerCase();
    if (!window.ActiveXObject)
        request = new XMLHttpRequest();
    else if (ua.indexOf('msie 5') == -1)
        request = new ActiveXObject("Msxml2.XMLHTTP");
    else
        request = new ActiveXObject("Microsoft.XMLHTTP");
    return request;
}

/** @param idencuesta El numero de encuesta a enviar.
 *  @param valor El valor a enviar en la encuesta.
 *  @param elemparam El elemento cuyo innerHTML será reemplazado con la solicitud ajax.
 */
function EnviaEncuesta(idencuesta,elemparam, idevento) {
    var self = this;
    var url = 'encuesta.php?idencuesta=' + idencuesta + '&modo_ajax=1&evtid=' + idevento + '';
    var data = '';
    var ajax_obj = null;
    var valor = '';
    self.elem = elemparam;
    if(typeof(elemparam)=='string') {
        self.elem = document.getElementById(elemparam);
    }
    try {
        if(null == self.elem) { throw "error"; }
        // Obtener valor indicado directamente
        var elems = self.elem.getElementsByTagName('input');
        if(!elems.length) { throw "error"; }
        for(var i = 0; i < elems.length; ++i) {
            var tmpopcion = elems.item(i);
            if(tmpopcion.name == 'votar' && tmpopcion.checked) {
                valor = tmpopcion.value;
                break;
            }
        }
        if(valor.length == 0) {
            alert(mensajes_error['escoja']);
            return false; // NO hay ningún valor seleccionado.
        }
        data='valor=' + valor;
        self.ajax_obj = CreaAjax();
    } catch(e) {
        alert(mensajes_error['error']);
        return false;
    }
    self.ajax_obj.open('POST', url, true);
    self.ajax_obj.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    self.ajax_obj.onreadystatechange = function() {
        if (self.ajax_obj.readyState == 4) {
            if(self.ajax_obj.status == 200) {
                self.elem.innerHTML = self.ajax_obj.responseText;
            } else {
                alert(mensajes_error['error_ajax']);
            }
        }
    }
    self.ajax_obj.send(data);
}

