var xmlhttp = false;

var dynidcontenido;
var dynidcargando="mensajeCargando";
var dynidnumero="numeroResultados";

// Enviar un formulario
function sendForm(objform, idcontenido){
	dynidcontenido = idcontenido;
	var poststr = "";
	switch(objform.id){
		case "formDirectorioArtesanos":
			url = './ajax/buscaArtesanos.php';
			poststr += "grupo=" + encodeURI(objform.grupo.value );
			poststr += "&oficio=" + encodeURI(objform.oficio.value );
			poststr += "&provincia=" + encodeURI(objform.provincia.value );
			poststr += "&poblacion=" + encodeURI(objform.poblacion.value );
		break;
						
		case "formDirectorioOficios":
			url = './ajax/buscaOficios.php';
			poststr += "grupo=" + encodeURI(objform.grupo.value );
			poststr += "&textoOficio=" + encodeURI(objform.textoOficio.value );
		break;	
		
		case "formDirectorioAsociaciones":
			url = './ajax/buscaAsociaciones.php';
			poststr += "textoAsociacion=" + encodeURI(objform.textoAsociacion.value );
			poststr += "&provincia=" + encodeURI(objform.provincia.value );
		break;	
		
		case "formBuscadorArtesanos":
			url = './ajax/buscaBuscadorArtesanos.php';
			poststr += "grupo=" + encodeURI(objform.grupo.value );
			poststr += "&oficio=" + encodeURI(objform.oficio.value );
			poststr += "&provincia=" + encodeURI(objform.provincia.value );
			poststr += "&poblacion=" + encodeURI(objform.poblacion.value );
			poststr += "&textoArtesano=" + encodeURI(objform.textoArtesano.value );
		break;
		
		case "formRutasArtesanas":
			url = './ajax/buscaRutasArtesanas.php';
			poststr += "ruta=" + encodeURI(objform.ruta.value );
			poststr += "&oficio=" + encodeURI(objform.oficio.value );
			poststr += "&provincia=" + encodeURI(objform.provincia.value );
			poststr += "&poblacion=" + encodeURI(objform.poblacion.value );
		break;
	}	
	cargando(true);
	makeSimpleRequest(url, poststr);	
	
	return false;
}

function makeSimpleRequest(url, parameters){
	try{
		if(window.XMLHttpRequest){
			// code for Mozilla, etc.
			xmlhttp = new XMLHttpRequest();
			xmlhttp.onreadystatechange = viewResults;
			xmlhttp.open("POST", url, true);
			xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
			xmlhttp.setRequestHeader("Content-length", parameters.length);	
			xmlhttp.setRequestHeader("Accept-Charset","iso-8859-1");
			xmlhttp.setRequestHeader("Connection", "close");
			xmlhttp.send(parameters);
		}
		else{
			 if(window.ActiveXObject){
				// code for IE
				xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
				if(xmlhttp){
					xmlhttp.onreadystatechange = viewResults;
					xmlhttp.open("POST", url, true);
					xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
					xmlhttp.setRequestHeader("Content-length", parameters.length);	
					xmlhttp.setRequestHeader("Accept-Charset","UTF-8");
					xmlhttp.setRequestHeader("Connection", "close");
					// aquí a veces da error
					xmlhttp.send(parameters);
				}
			}
		}		
	}
	catch(e){
		alert(e);
	}
}

// Para acceder a paginas url (puede tener parametros)
function getRecurso(url, parameters, idcontenido){
	try{
		dynidcontenido = idcontenido;
		cargando(true);
		makeSimpleRequest(url, parameters);
	}
	catch(e){
		alert(e);
	}
}

function viewResults(){
	// if xmlhttp shows "loaded"
	if (xmlhttp.readyState == 4){
		// if "OK"
		if(xmlhttp.status == 200){
			document.getElementById(dynidcontenido).innerHTML = "<!-- OK -->" + xmlhttp.responseText
			cargando(false);
		}
		else{			
			document.getElementById(dynidcontenido).innerHTML = "<h1>Error en la recepción de los datos</h1>" + xmlhttp.responseText
			cargando(false);
		}
	}
}

function cargando(value){
	if(value){
		gId(dynidcargando).style.visibility = "visible";
	}
	else{
		gId(dynidcargando).style.visibility = "hidden";
	}
}



function emptyElement(node) {
	while (node.hasChildNodes()) {
		node.removeChild(node.firstChild);
	}	
}

function getXHR() {
	try {
	req = new XMLHttpRequest();
	} catch(err1) {
	    try {
	    req = new ActiveXObject("Msxml2.XMLHTTP");
	    } catch (err2) {
	        try {
	        req = new ActiveXObject("Microsoft.XMLHTTP");
	        } catch (err3) {
	            req = false;
	        }
	    }
	}
	return req;
} 
