/////////////////////////////////////////////////////////////////////////
//
//						funciones básicas de ajax
//
//

function newXMLHttpRequest() {
	
	var xmlreq = false;
	
	if (window.XMLHttpRequest) {
		xmlreq = new XMLHttpRequest();
		//alert('XMLHttpRequest creado correctamente');
	} 
	else if (window.ActiveXObject) {
    		// Try ActiveX
		try { 
			xmlreq = new ActiveXObject("Msxml2.XMLHTTP");
			//alert('XMLHttpRequest no creado... se crea ActiveXObject("Msxml2.XMLHTTP")');
		} catch (e1) { 
			// first method failed 
			try {
				xmlreq = new ActiveXObject("Microsoft.XMLHTTP");
				//alert('XMLHttpRequest no creado... se crea ActiveXObject("Microsoft.XMLHTTP")');
			} catch (e2) {
				 // both methods failed 
				 //alert('no se pudo crear xmlreq... error tratando de crear XMLHttpRequest')
			} // de catch()
		} // de catch
 	} // de else if

	return xmlreq;
} 

function getReadyStateHandler(req, responseXmlHandler) {
	return function () {
			//alert("entrando a getReadyStateHandler return function");
			//alert("getReadyStateHandler return function dice --- req.readyState :"+req.readyState);
			//alert("getReadyStateHandler return function dice --- req.status :"+req.status);

		if (req.readyState == 4) {
				//alert("getReadyStateHandler return function dice -- responseXmlHandler");
				//alert(responseXmlHandler);
				//alert('getReadyStateHandler return function dice -- req.responseXML');
				//alert(req.responseXML);
				//alert('getReadyStateHandler return function dice -- req.status = '+req.status);
			if (req.status == 200) {				
					//alert("req.responseXML");
					//alert(req.responseXML);
					responseXmlHandler(req.responseXML);
			} 
			else {
				//alert('error');
				var hellomsg = document.getElementById("herramientas");
				hellomsg.innerHTML = "ERROR: "+ req.status;
			}
    	} // if
 	} // de return

}

///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
//							Funcion para unir nodes.child mayores a a 4K
//
//			fuente:
//				http://trac.openlayers.org/attachment/ticket/1006/nodeValue.patch
//
function concatChildValues (node, def) { 
	var value = ""; 
	var child = node.firstChild; 
	var childValue; 
	while(child) { 
		childValue = child.nodeValue; 
		if(childValue) { 
			value += childValue; 
		} 
		child = child.nextSibling; 
	} 
	if(value == "" && def != undefined) { 
		value = def; 
	} 
	return value; 
}



//////////////////////////////////////////////////////////////////////////////////////////
//																						//
//								Actualizar botón votar									//
//								Actualizar conteo de votos								//
//																						//
//																						//



function votarEncuesta(id){
	
	//alert(id);


	var item = document.getElementById("botonVotar");
	item.innerHTML = "<strong class=\"subtitulo_01\">votando...</strong> ";


	var req = newXMLHttpRequest();

  	var callbackHandler = getReadyStateHandler(req, actualizarBotonVotar);
  	req.onreadystatechange = callbackHandler;
	
  	
	req.open("POST", "../auxiliar/votarEncuesta.php", true);
  	req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

  
	  	
	req.send("opcion=" + id);


	/**/
}

function actualizarBotonVotar(testXML) {
	// Extraer los HTML de cada tag
	//alert('actualizarHerramienta');
	var botonVotar = testXML.getElementsByTagName("botonVotar")[0];
		botonVotar = botonVotar.firstChild.nodeValue;
		//alert (oficios);
	
	// Colocar los elementos HTML donde corresponde
		var item = document.getElementById("botonVotar");
		item.innerHTML = botonVotar;
    
	
}




