var _HaciendoBusqueda 	= false;
var _TipoBusqueda		= 'ofertas';

function SetTipoBusqueda(tipo)
{
	_TipoBusqueda = tipo;
}

function DarUrlBusqueda()
{
	if (_TipoBusqueda == 'ofertas')
	{
		return '/busqueda.php';
	}
	else if (_TipoBusqueda == 'cursos')
	{
		return '/busquedaformacion.php';
	}
	else if (_TipoBusqueda == 'cursoscentro')
	{
		return '/cursoscentro.php';
	}
}

function ReHacerBusqueda(paginaActual, ajax, quitarUbicacion)
{
	var textoInput = document.getElementById('busquedaTextoHid');
	
	var params = DarParametrosBusqueda();
	
	if (textoInput != null)
	{
		params.palabra 	= encodeURIComponent(textoInput.value);
	}
	else
	{
		params.palabra = '';
	}
	
	if ((typeof(paginaActual) != 'undefined') && (paginaActual))
	{
		params.pagina = paginaActual;
	}
	
	if (typeof(ajax) == 'undefined')
	{
		ajax = true;
	}
	
	if (typeof(quitarUbicacion) == 'undefined')
	{
		quitarUbicacion = false;
	}
	
	if (_HaciendoBusqueda == true)
	{
		AbortActualAjaxRequest();
	}
	
	_HaciendoBusqueda = true;
	
	DeshabilitarSlidersBusqueda();
	
	if (quitarUbicacion)
	{
		var parametros 	= '?';
			
		for (key in params)
		{
			eval('var valor = params.' + key);
			
			if (valor)
			{
				parametros += key + '=' + encodeURIComponent(valor) + '&';
			}
		}
		
		var url = 'http://' + DarSubDominioParaBusqueda() + '.' + DarDominioParaBusqueda() + DarUrlBusqueda() + parametros;
		
		location.href = url + parametros;
	}
	else
	{
		if (ajax)
		{
			loadAjaxPage(DarUrlBusqueda(), 'ajaxBodyContainer', {navigation: true, ajaxParams: params, onCompleteFn: 'FinReHacerBusqueda'});
		}
		else
		{
			var url 		= DarUrlBusqueda();
			var parametros 	= '?';
			
			for (key in params)
			{
				eval('var valor = params.' + key);

				if (valor)
				{
					parametros += key + '=' + encodeURIComponent(valor) + '&';
				}
			}
			
			location.href = url + parametros;
		}
	}
}

function FinReHacerBusqueda()
{
	_HaciendoBusqueda = false;
	HabilitarSlidersBusqueda();
}

function ActualizarBusquedaPorFiltros(campo, valor, mantenerPagina, ajax)
{
	var inputHidden = document.getElementById('filtrobusqueda' + campo);
	
	if (mantenerPagina)
	{
		var paginaActual = document.getElementById('paginaActual').value;
	}
	else
	{
		var paginaActual = 1;
	}
	
	if (inputHidden != undefined)
	{
		inputHidden.value = valor;
	}
	
	if (typeof(ajax) == 'undefined')
	{
		ajax = true;
	}
	
	ReHacerBusqueda(paginaActual, ajax);
}

function BorrarParametroBusqueda(param)
{
	var filtroBorrar = document.getElementById('filtrobusqueda' + param);
	
	filtroBorrar.value = '';
	
	var quitarUbicacion = false;
	
	if (param == 'idlocalidad' || param == 'idprovincia')
	{
		quitarUbicacion = true;
	}
	
	ReHacerBusqueda(false, true, quitarUbicacion);
}

function DarParametrosBusqueda()
{
	if (_TipoBusqueda == 'ofertas')
	{
		return DarParametrosBusquedaOferta();
	}
	else if (_TipoBusqueda == 'cursos')
	{
		return DarParametrosBusquedaCurso();
	}
	else if (_TipoBusqueda == 'cursoscentro')
	{
		return DarParametrosBusquedaCursosCentro();
	}
}

function DarParametrosBusquedaCursosCentro()
{
	var params = {};
	
	params.idCentro			= document.getElementById('idCentro').value;
	params.ordenarPor		= document.getElementById('ordenarPor').value;
	params.ordenarSentido	= document.getElementById('ordenarSentido').value;
	params.ordenPorUsuario	= document.getElementById('ordenPorUsuario').value;
	params.cantidadPorPagina= document.getElementById('cantidadPorPagina').value;
	
	return params;
}

function DarParametrosBusquedaOferta()
{
	var params = {};
	
	var filtroEmpresa 				= document.getElementById('filtrobusquedaidempresa');
	var filtroCanal 				= document.getElementById('filtrobusquedaidcanal');
	var filtroProvincia 			= document.getElementById('filtrobusquedaidprovincia');
	var filtroLocalidad 			= document.getElementById('filtrobusquedaidlocalidad');
	var filtroSector 				= document.getElementById('filtrobusquedaidsector');
	var filtroCategoria 			= document.getElementById('filtrobusquedaidcategoria');
	var filtroNivelEstudio 			= document.getElementById('filtrobusquedaidnivelestudio');
	var filtroJornadaLaboral 		= document.getElementById('filtrobusquedaidjornadalaboral');
	var filtroTipoContrato 			= document.getElementById('filtrobusquedaidtipocontrato');
	var filtroDiasPublicacion		= document.getElementById('filtrobusquedapublicacion');
	var filtroMinSueldo				= document.getElementById('minsueldo');
	var filtroMaxSueldo				= document.getElementById('maxsueldo');
	var filtroMinExperiencia		= document.getElementById('minexperiencia');
	var filtroMaxExperiencia		= document.getElementById('maxexperiencia');
	var filtroSueldoNoDefinido		= document.getElementById('filtrobusquedasueldoNoDefinido');
	var filtroExperienciaNoDefinido	= document.getElementById('filtrobusquedaexperienciaNoDefinido');
	var filtroTipoListado			= document.getElementById('filtrobusquedatipoListado');
	var filtroMaxDistancia			= document.getElementById('maxdistancia');
	var filtroCodigoPostal			= document.getElementById('busquedaaccp');
	
	params.ordenarPor				= document.getElementById('ordenarPor').value;
	params.ordenarSentido			= document.getElementById('ordenarSentido').value;
	params.ordenPorUsuario			= document.getElementById('ordenPorUsuario').value;
	params.cantidadPorPagina		= document.getElementById('cantidadPorPagina').value;
	
	if ((filtroEmpresa != undefined) && (filtroEmpresa.value != ''))
	{
		params.empresa = filtroEmpresa.value;
	}
	
	if ((filtroCanal != undefined) && (filtroCanal.value != ''))
	{
		params.canal = filtroCanal.value;
	}
	
	if ((filtroProvincia != undefined) && (filtroProvincia.value != ''))
	{
		params.idprovincia = filtroProvincia.value;
	}
	
	if ((filtroLocalidad != undefined) && (filtroLocalidad.value != ''))
	{
		params.idlocalidad = filtroLocalidad.value;
	}
	
	if ((filtroSector != undefined) && (filtroSector.value != ''))
	{
		params.idsector = filtroSector.value;
	}
	
	if ((filtroCategoria != undefined) && (filtroCategoria.value != ''))
	{
		params.idcategoria = filtroCategoria.value;
	}
	
	if ((filtroNivelEstudio != undefined) && (filtroNivelEstudio.value != ''))
	{
		params.idnivelestudio = filtroNivelEstudio.value;
	}
	
	if ((filtroJornadaLaboral != undefined) && (filtroJornadaLaboral.value != ''))
	{
		params.idjornadalaboral = filtroJornadaLaboral.value;
	}
	
	if ((filtroTipoContrato != undefined) && (filtroTipoContrato.value != ''))
	{
		params.idtipocontrato = filtroTipoContrato.value;
	}
	
	if ((filtroDiasPublicacion != undefined) && (filtroDiasPublicacion.value != ''))
	{
		params.publicacion = filtroDiasPublicacion.value;
	}
	
	if ((filtroMinSueldo != undefined) && (filtroMinSueldo.value != ''))
	{
		params.minsueldo = filtroMinSueldo.value;
	}
	
	if ((filtroMaxSueldo != undefined) && (filtroMaxSueldo.value != ''))
	{
		params.maxsueldo = filtroMaxSueldo.value;
	}
	
	if ((filtroMinExperiencia != undefined) && (filtroMinExperiencia.value != ''))
	{
		params.minexperiencia = filtroMinExperiencia.value;
	}
	
	if ((filtroMaxExperiencia != undefined) && (filtroMaxExperiencia.value != ''))
	{
		params.maxexperiencia = filtroMaxExperiencia.value;
	}
	
	if ((filtroSueldoNoDefinido != undefined) && (filtroSueldoNoDefinido.value != ''))
	{
		params.sueldoNoDefinido = filtroSueldoNoDefinido.value;
	}
	
	if ((filtroExperienciaNoDefinido != undefined) && (filtroExperienciaNoDefinido.value != ''))
	{
		params.experienciaNoDefinido = filtroExperienciaNoDefinido.value;
	}
	
	if ((filtroTipoListado != undefined) && (filtroTipoListado.value != ''))
	{
		params.tipoListado = filtroTipoListado.value;
	}
	
	if ((filtroMaxDistancia != undefined) && (filtroMaxDistancia.value != ''))
	{
		params.maxdistancia = filtroMaxDistancia.value;
	}
	
	if ((filtroCodigoPostal != undefined) && (filtroCodigoPostal.value != ''))
	{
		params.codigopostal = filtroCodigoPostal.value;
	}
	
	return params;
}

function DarParametrosBusquedaCurso()
{
	var params = {};
	
	var filtroProvincia 		= document.getElementById('filtrobusquedaidprovincia');
	var filtroLocalidad 		= document.getElementById('filtrobusquedaidlocalidad');
	var filtroCategoria 		= document.getElementById('filtrobusquedaidcategoria');
	var filtroTipoCurso 		= document.getElementById('filtrobusquedaidtipocurso');
	var filtroMes 				= document.getElementById('filtrobusquedames');
	var filtroMinPrecio			= document.getElementById('minprecio');
	var filtroMaxPrecio			= document.getElementById('maxprecio');
	var filtroModalidadCurso	= document.getElementById('filtrobusquedaidmodalidadcurso');
	var filtroOrdenarPor		= document.getElementById('ordenarPor');
	var filtroOrdenarSentido	= document.getElementById('ordenarSentido');
	var filtroOrdenPorUsuario	= document.getElementById('ordenPorUsuario');
	var filtroCantidadPorPagina	= document.getElementById('cantidadPorPagina');
	
	if ((filtroProvincia != undefined) && (filtroProvincia.value != ''))
	{
		params.idprovincia = filtroProvincia.value;
	}
	
	if ((filtroLocalidad != undefined) && (filtroLocalidad.value != ''))
	{
		params.idlocalidad = filtroLocalidad.value;
	}
	
	if ((filtroCategoria != undefined) && (filtroCategoria.value != ''))
	{
		params.idcategoria = filtroCategoria.value;
	}
	
	if ((filtroTipoCurso != undefined) && (filtroTipoCurso.value != ''))
	{
		params.idtipocurso = filtroTipoCurso.value;
	}
	
	if ((filtroModalidadCurso != undefined) && (filtroModalidadCurso.value != ''))
	{
		params.idmodalidadcurso = filtroModalidadCurso.value;
	}
	
	if ((filtroMes != undefined) && (filtroMes.value != ''))
	{
		params.mes = filtroMes.value;
	}
		
	if ((filtroMinPrecio != undefined) && (filtroMinPrecio.value != ''))
	{
		params.minprecio = filtroMinPrecio.value;
	}
	
	if ((filtroMaxPrecio != undefined) && (filtroMaxPrecio.value != ''))
	{
		params.maxprecio = filtroMaxPrecio.value;
	}
	
	if ((filtroOrdenarPor != null) && (filtroOrdenarPor.value != ''))
	{
		params.ordenarPor = filtroOrdenarPor.value;
	}
	
	if ((filtroOrdenarSentido != null) && (filtroOrdenarSentido.value != ''))
	{
		params.ordenarSentido = filtroOrdenarSentido.value;
	}
	
	if ((filtroOrdenPorUsuario != null) && (filtroOrdenPorUsuario.value != ''))
	{
		params.ordenPorUsuario = filtroOrdenPorUsuario.value;
	}
	
	if ((filtroCantidadPorPagina != null) && (filtroCantidadPorPagina.value != ''))
	{
		params.cantidadPorPagina = filtroCantidadPorPagina.value;
	}
	
	return params;
}

function BuscadorActualizarValoresDeSlider(valor1, valor2, idSlider, slider, primeraVez, tipoSlider)
{
	var minVal 		= slider.minValue;
	var maxVal 		= slider.maxValue;
	var divRango 	= document.getElementById(idSlider + '_rango');
	var html		= '';
	
	if (tipoSlider == 'rangosueldo' || tipoSlider == 'rangoPrecio')
	{
		var cantidadDe = '&#8364;';
	}
	else if (tipoSlider == 'rangoexperiencia')
	{
		var cantidadDe = 'a&ntilde;os';
	}
	
	if (valor1 == minVal && valor2 == maxVal)
	{
		html = 'Todos';
	}
	else if (valor1 > minVal && valor2 == maxVal)
	{
		html = 'Desde <span>' + valor1 + '</span> ' + cantidadDe;
	}
	else if (valor1 == minVal && valor2 < maxVal)
	{
		html = 'Hasta <span>' + valor2 + '</span> ' + cantidadDe;
	}
	else
	{
		html = '<span>' + valor1 + '</span> a <span>' + valor2 + '</span> ' + cantidadDe;
	}
	
	divRango.innerHTML = html;
}

function BuscadorActualizarBusquedaPorSlider(valor1, valor2, idSlider, slider, tipoSlider)
{
	if (tipoSlider == 'rangosueldo')
	{
		var campoMin = document.getElementById('minsueldo');
		var campoMax = document.getElementById('maxsueldo');
	}
	else if (tipoSlider == 'rangoexperiencia')
	{
		var campoMin = document.getElementById('minexperiencia');
		var campoMax = document.getElementById('maxexperiencia');
	}
	else if (tipoSlider == 'rangoPrecio')
	{
		var campoMin = document.getElementById('minprecio');
		var campoMax = document.getElementById('maxprecio');
	}
	
	campoMin.value = valor1;
	campoMax.value = valor2;
	
	ReHacerBusqueda();
}

function Paginar(pagina, totalReg)
{
	var textoInput = document.getElementById('busquedaTextoHid');
	
	var params 		= DarParametrosBusqueda();
	params.palabra 	= textoInput.value;
	params.pagina	= pagina;
	
	if (typeof(totalReg) != 'undefined')
	{
		params.t_r = totalReg;
	}
	
	loadAjaxPage(DarUrlBusqueda(), 'ajaxBodyContainer', {navigation: true, ajaxParams: params})
}

function CambiarLinkPaginadoAjax(id, pagina, totalReg)
{
	var ele = Ext.get('buscadorPaginadoLink_' + id);
	
	if (ele != null)
	{
		ele.dom.href = 'javascript: Paginar(' + pagina + ', ' + totalReg + ')';
	}
}

function ModalGuardarBusqueda()
{
	loadAjaxPageModal('/modalguardarbusqueda.php', {title: 'Crear alerta a partir de la b&uacute;squeda'});
}

function GuardarBusqueda()
{
	GuardarBusquedaOcultarDivError();
	
	if (location.hash == '')
	{
		var url = location.href;
	}
	else
	{
		var url = location.hash;
	}
	
	var tituloBusquedaInput = document.getElementById('tituloBusqueda');
	var tituloBusqueda 		= tituloBusquedaInput.value;
	var periodoSelect 		= document.getElementById('tiempoRecibir');
	var periodoBusqueda 	= periodoSelect.value;
	var fBusquedaInput	 	= document.getElementById('busqueda_sF');
	var fBusquedat	 		= fBusquedaInput.value;

	ajax('/pedidosajax/candidatoguardarbusqueda.php', RecibirGuardarBusqueda, {ajaxParams: {url: url, accion: 'GuardarBusqueda', acceder: 1, tituloBusqueda: tituloBusqueda, periodoBusqueda: periodoBusqueda, fBusquedat: fBusquedat}, method: 'post'});
}

function GuardarBusquedaOcultarDivError(error)
{
	var mensajeBusquedaError = Ext.get('mensajeGuardarBusquedaError');
	
	mensajeBusquedaError.addClass('oculto');
}

function GuardarBusquedaMostrarDivError(error)
{
	var mensajeBusquedaError = Ext.get('mensajeGuardarBusquedaError');
	
	mensajeBusquedaError.dom.innerHTML = error;
	
	mensajeBusquedaError.removeClass('oculto');
}

function RecibirGuardarBusqueda(o)
{
	var respuesta = eval('(' + o + ')');
	
	if (respuesta.estado != 'OK')
	{
		var error = respuesta.errores[0][0];
		
		GuardarBusquedaMostrarDivError(error);
	}
	else
	{
		KillModalDiv(true);
		
		MostrarMensajeGlobal('La búsqueda fue guardada con éxito');
		
		//Actualizo el buscador del header con las lista de busquedas guardadas
		loadAjaxPage('/busquedasalmacenadas.php', 'contBuscadorDere');
	}
}

function DeshabilitarSlidersBusqueda()
{
	DeshabilitarSlider('sliderSueldoBuscador_tapaCampo');
	DeshabilitarSlider('sliderExperienciaBuscador_tapaCampo');
	DeshabilitarSlider('sliderPrecioBuscador_tapaCampo');
}

function HabilitarSlidersBusqueda()
{
	HabilitarSlider('sliderSueldoBuscador_tapaCampo');
	HabilitarSlider('sliderExperienciaBuscador_tapaCampo');
	HabilitarSlider('sliderPrecioBuscador_tapaCampo');
}

function ChangeDistanciaBuscador(value, idSlider, slider, primeraVez)
{
	var minVal 		= slider.minValue;
	var maxVal 		= slider.maxValue;
	var divRango 	= document.getElementById(idSlider + '_rango');
	var html		= '';
	var cp			= document.getElementById('cpCand');
	
	if (value == 1)
	{
		var cantidadDe 	= 'Km';
	}
	else
	{
		var cantidadDe 	= 'Kms';
	}
	
	if (value == maxVal)
	{
		html = 'A';
	}
	else
	{
		html = 'A menos de <span>' + value + '</span> ' + cantidadDe;
		
		if (typeof(cp) != undefined && cp.value != '')
		{
			html += ' de ' + cp.value;
		}
	}
	
	divRango.innerHTML = html;
}

function EndDistanciaBuscador(value, idSlider, slider)
{
	var campo = document.getElementById('maxdistancia');
	
	campo.value = value;
	
	ReHacerBusqueda();
}

function CambiarResultadosPagina()
{
	var textoInput = document.getElementById('busquedaTextoHid');
	
	var params 		= DarParametrosBusqueda();
	params.palabra 				= textoInput.value;
	params.pagina				= 1;
	params.cantidadPorPagina	= SelectHelper.GetValorSeleccionado('ddlCantidadPorPagina');
	
	loadAjaxPage(DarUrlBusqueda(), 'ajaxBodyContainer', {navigation: true, ajaxParams: params})
}

function BuscadorAutoCompleteCodigoPostalResetId(accion, data, idInputCodigoPostal)
{
	var ACPIdCodigoPostal = document.getElementById(idInputCodigoPostal);
	
	ACPIdCodigoPostal.value = '-';
	
	ReHacerBusqueda();
}
