function crearEvento(elem, event, func) {
	if (elem.addEventListener)			// W3C DOM
		return elem.addEventListener(event,func,true);
	else if (elem.attachEvent)			// IE DOM
		return elem.attachEvent("on"+event, func);
	else {
		throw "No es posible añadir evento";
		return false;
	}
}

function busquedaX(objSelect)
{
	var form = document.forms["fBuscar"];
	form.tipocurso.value = form.selTipocurso.options[form.selTipocurso.selectedIndex].value;
	form.cod_tipoestancia.value = form.selTipoestancia.options[form.selTipoestancia.selectedIndex].value;
	form.pais.value = form.selPais.options[form.selPais.selectedIndex].value;
	form.cod_ciudad.value = form.selCiudad.options[form.selCiudad.selectedIndex].value;

	if (objSelect.selectedIndex == 0)
 	{
		if(objSelect.name=="selTipocurso")
		{
			form.tipocurso.value = "";
		}
		else if(objSelect.name=="selPais")
		{
			form.pais.value = "";
			form.cod_ciudad.value = "";
		}
	}

  params = {tipocurso: $('tipocurso').value,
  					cod_tipoestancia: $('cod_tipoestancia').value,
  					pais: $('pais').value,
  					cod_ciudad: $('cod_ciudad').value
  					};
  request = new Ajax.Request('/ajaxBusqueda.php',
															{
	  														method: 'get',
	  														parameters:params,
	  														onSuccess: handleHttpResponse_Actualizar_Campos
	  													}
										  			);
	return true;
}

function handleHttpResponse_Actualizar_Campos(transport){
	respuesta=transport.responseJSON;

	if(respuesta.Paises != ""){
		Paises = eval('(' + respuesta.Paises + ')');
		remove_all_select_element('selPais');
		for(i=0; i<Paises.length; i++){
			Pais = eval('(' + Paises[i] + ')');
			if(!add_select_element('selPais', Pais.NOM_URL, Pais.NOMBRE, Pais.Selected))
				alert("Ha ocurrido un error");
		}
	}
	
	
	if(respuesta.Cuidades != ""){
		Ciudades = eval('('+respuesta.Cuidades+')');
		remove_all_select_element('selCiudad');
		for(i=0; i<Ciudades.length; i++){
			Ciudad = eval('(' + Ciudades[i] + ')');
			if(!add_select_element('selCiudad', Ciudad.NOM_URL, Ciudad.NOMBRE, Ciudad.Selected))
				alert("Ha ocurrido un error");
		}
	}
}

function remove_all_select_element(element){
	el = $(element);
	if (el.length > 0)
  {
    while(el.length>0)
    	el.remove(el.length - 1);
  }
  
}

function add_select_element(element, value, text, selected){
	if(element!=null && value!=null && text!=null){		
		try{
			elSel = $(element);
			last = elSel.options.length;
			
			elOption = new Option(text, value, null, selected);
			elSel.options[last]=elOption;
		}catch(ex){
			return false;
		}
		return true;
	}
	return false;
}

function irABuscar()
{
	var form = document.forms["fBuscar"];

	form.tipocurso.value = form.selTipocurso.options[form.selTipocurso.selectedIndex].value;
	form.cod_tipoestancia.value = form.selTipoestancia.options[form.selTipoestancia.selectedIndex].value;
	form.pais.value = form.selPais.options[form.selPais.selectedIndex].value;
	form.cod_ciudad.value = form.selCiudad.options[form.selCiudad.selectedIndex].value;

	if (form.tipocurso.value == "")
	{
		alert("Seleccione un Curso");
		form.selTipocurso.focus();
		err = false;
	}else{
		sUrl=""+form.tipocurso.value+"/"+form.pais.value;
		if (form.cod_tipoestancia.value != "")
		{
			sUrl= sUrl+ "/"+form.cod_tipoestancia.value;
		}
		if (form.cod_ciudad.value != "")
		{
			sUrl= sUrl+ "/"+form.cod_ciudad.value;
		}
	
		form.method ="post";
		form.target="_top";
		form.action = "/cursos/"+sUrl+".html";
		form.submit();
		err = true;
	}
	return err;
}

function irABuscarAvanzado()
{

	var form = document.forms["fBuscar"];
	form.method ="post";
	form.target="_top";
	form.action = "/buscadorAvanzado.php";
	form.submit();
}

function inicio()
{
	parent.document.getElementById('iframesecizquierda').height = document.getElementById('seccion_izquierda').offsetHeight+document.getElementById('seccion_izquierda').offsetTop;
}

function initAjaxBuscador(){
	var form = document.forms["fBuscar"];
	document.getElementById('refescar').style.visibility = "hidden";
	// Ocultamos el botón de actualizar ciudades y añadimos el evento al selector de pais
	crearEvento(form.selTipocurso, 'change', busquedaX);
	// Ocultamos el botón de actualizar ciudades y añadimos el evento al selector de pais
	crearEvento(form.selPais, 'change', busquedaX);
}

crearEvento(window, 'load', initAjaxBuscador);