// -----------------------------------------------------------------------------
//  Funcion AJAX - Interface para la conexión XMLHTTP - 10-03-2006      
//  Code licensed under Creative Commons Attribution-ShareAlike License
//  http://creativecommons.org/licenses/by-sa/2.0/
// -----------------------------------------------------------------------------
// PARAMETROS DE LA FUNCIÓN AJAX.
// -----------------------------------------------------------------------------
// • sFile		->	Dirección URL del script de servidor que va a tratar la
//					petición y nos va a devolver respuesta.
// • params		->	Parámetros pasados al script de servidor.
//					Ej: params="clave1=valor1&calve2=valor2"
// • container	->  ID del objeto al que se le insertará el código devuelto 
//					por el servidor. Ej: "capa1".
//					Con "+capa1" añadimos al contenido de 'capa1' lo devuelto
//					por el servidor.
//					Con "^capa1" añadimos por delante del contenido de 'capa1'
//					lo devuelto por el servidor.
// • sMethod	->	POST o GET
// • codeDone	->  Código javascript que se ejecutará cuando la llamada
//					ajax haya terminado.
// -----------------------------------------------------------------------------
var HTML_ajax_response = "";
function ajax_votar(sFile, params, container, sMethod, codeDone) {
	
	var myConn = new XHConn();	// Objeto de la conexión
	// -----------------------------------------------------------------------------
	// Campo opcional con código que se ejecutará cuando la petición ajax finalice.
	// -----------------------------------------------------------------------------
	if(codeDone) {
		var code = codeDone;
	}
	// -----------------------------------------------------------------------------
	if (!myConn) alert("XMLHTTP not available. Try a newer/better browser.");
	// -----------------------------------------------------------------------------
	// Funcion que se ejecutará cuando XHConn finalize la conexión.
	// Puede añadir delate('^') del codigo de la capa, detras('+') o sustituirlo.
	// -----------------------------------------------------------------------------
	var fnDone = function (oXML) {
		if(container) {
			if(typeof container === "string"){
				switch(container.charAt(0)) {
				case '^':
					if(typeof container === "string")
						container = container.replace(/^\^/,'');
					//if(!document.getElementById(container)) return false;
					var update = document.getElementById(container).innerHTML;
					//document.getElementById(container).innerHTML = oXML.responseText + update;
					replaceHtml(container, oXML.responseText + update);
					break;
				case '+': 
					if(typeof container === "string")
						container = container.replace(/^\+/,'');
					//if(!document.getElementById(container)) return false;
					//document.getElementById(container).innerHTML += oXML.responseText;
					var update = document.getElementById(container).innerHTML;
					replaceHtml(container, update + oXML.responseText);
					break;
				default:
					//if(!document.getElementById(container)) return false;
					//document.getElementById(container).innerHTML = oXML.responseText;
					replaceHtml(container, oXML.responseText);
				break;
				}
			} else {
				replaceHtml(container, oXML.responseText);
			}
		}
		// Ejecución de codigo javascript al terminar la conexion AJAX.
		if(code) { eval(code) }
	};
	myConn.connect(sFile, sMethod, params, fnDone);
}
// -----------------------------------------------------------------------------
//  Funcion AJAX - Interface para la conexión XMLHTTP - 10-03-2006      
//  Code licensed under Creative Commons Attribution-ShareAlike License
//  http://creativecommons.org/licenses/by-sa/2.0/
// -----------------------------------------------------------------------------
function ajaxVar(sFile, globalVar, params, sMethod, codeDone) {
// -----------------------------------------------------------------------------
// Separamos el php de la id de la capa donde se introducira el texto devuelto
// sFile <=> "script.php#id_capa"
// -----------------------------------------------------------------------------
	//var sFile = sFile.split('#');
	var myConn = new XHConn();	// Objeto de la conexión
	// -----------------------------------------------------------------------------
	// Campo opcional con código que se ejecutará cuando la petición ajax finalice.
	// -----------------------------------------------------------------------------
	if(codeDone) {
		var code = codeDone;
	}
	
	// -----------------------------------------------------------------------------
	if (!myConn) alert("XMLHTTP not available. Try a newer/better browser.");
	// -----------------------------------------------------------------------------
	// Funcion que se ejecutará cuando XHConn finalize la conexión.
	// Puede añadir delate('^') del codigo de la capa, detras('+') o sustituirlo.
	// -----------------------------------------------------------------------------
	var fnDone = function (oXML) {
		eval(globalVar + " = oXML.responseText");
		// Ejecución de codigo javascript al terminar la conexion AJAX.
		if(code) { eval(code) }
	};
	return myConn.connect(sFile, sMethod, params, fnDone);
}
// -----------------------------------------------------------------------------
//  XHConn - Simple XMLHTTP Interface - bfults@gmail.com - 2005-04-08      
//  Code licensed under Creative Commons Attribution-ShareAlike License
//  http://creativecommons.org/licenses/by-sa/2.0/
// -----------------------------------------------------------------------------
function XHConn() {

  var xmlhttp, bComplete = false;
  try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); }
  catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); }
  catch (e) { try { xmlhttp = new XMLHttpRequest(); }
  catch (e) { xmlhttp = false; }}}
  if (!xmlhttp) return null;
  this.connect = function(sURL, sMethod, sVars, fnDone) {
    if (!xmlhttp) return false;
    bComplete = false;
    sMethod = sMethod.toUpperCase();
    try {
      if (sMethod == "GET") {
        xmlhttp.open(sMethod, sURL+"?"+sVars, true);
        sVars = "";
      } else {
        xmlhttp.open(sMethod, sURL, true);
        xmlhttp.setRequestHeader("Method", "POST "+sURL+" HTTP/1.1");
		//xmlhttp.setRequestHeader("Content-Type",
		//						 "text/html; charset=iso-8859-1");
        xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
      }
      xmlhttp.onreadystatechange = function() {
        if (xmlhttp.readyState == 4 && !bComplete) {
          bComplete = true;
          fnDone(xmlhttp);
        }};
      xmlhttp.send(sVars);
    }
    catch(z) { return false; }
    return true;
  };
  return this;
}
// -----------------------------------------------------------------------------
// Funcion de reemplazo del inneHTML. En IE funciona del modo tradicional.En el 
// resto de navegadores se modifica la forma de insertar el código dentro del
// objeto para optimizar el tiempo de reemplazo de dicho código.
// -----------------------------------------------------------------------------
function replaceHtml(el, html) {
	var oldEl = (typeof el === "string" ? document.getElementById(el) : el);
	/*@cc_on // Puro innerHTML para IE (que es más rápido)
	oldEl.innerHTML = html;
	return oldEl;
	@*/
	var newEl = oldEl.cloneNode(false);
	newEl.innerHTML = html;
	oldEl.parentNode.replaceChild(newEl, oldEl);
	return newEl;
};


var ajax_url = "votar_noticia.asp";
function votar(valor_voto, id_entrada, seccion){
	var params = "&action=votar";
	params += "&valor_voto=" + valor_voto;
	params += "&id=" + id_entrada;
	params += "&seccion=" + seccion;
	ajax_votar(ajax_url, params, "contenedor_votos_" + id_entrada, "POST");
}

function votado(){
alert('Su voto ya ha sido recogido anteriormente');
}
