// JavaScript Document
var ruta = "http://www.infofeina.com/";
var global_pagina = "";
var global_pagina_carregar = "";
var global_paraula_clau = "";
var global_cadena_directori = "";
var global_ordre = "";
var global_pagina_a_prop = "";
var global_localitat = "";
var global_provincia = "";
var global_fins_km = "";
var global_carrego_mapa = 0; /* variable que indica si s'ha de carregar google maps o no */
var global_carrega_en = ""; /* variable que indica si s'ha on s'ha de carregar el contingut que retorna una funció */
var global_camp_filtre = "";
var global_cadena_filtre = "";
var global_mostrar_filtre = "";
var global_recerca_avancada = "";

/*Funció que llista els resultats  */
var con_list_ofertes = new XHConn();
var fin_list_ofertes = function (oXML) { document.getElementById('llistat').innerHTML = oXML.responseText; if (global_carrego_mapa == 1) carrega_mapa(global_paraula_clau,0,0,global_recerca_avancada); carrega_ofertes_colindants(); incrementa_contador_historic(); historic_guarda_estat();  };
function func_list_ofertes()
{
	if ( global_paraula_clau == "" )
		global_paraula_clau = "";
	document.getElementById('llistat').innerHTML = "<div id=\"carregant_llistat\"><img src=\"img/carregant.gif\" /><p>Cercant ofertes...</p></div>";
	con_list_ofertes.connect('mostrar_ofertes.php', 'POST', 'pagina=' + global_pagina + '&paraula_clau=' + global_paraula_clau + '&ordre=' + global_ordre + '&es_ajax=1' + '&cadena_filtre='+global_cadena_filtre+ '&camp_filtre='+global_camp_filtre + '&mostrar_filtre='+global_mostrar_filtre + '&xml_parametres='+	global_recerca_avancada, fin_list_ofertes);
}

function finestra_lloc_treball()
{
	ddrivetip('<div id=\'finestra\'></div>');
}

/*Funció que llista els resultats  */
var con_mostra_list_directori = new XHConn();
var fin_mostra_list_directori = function (oXML) { document.getElementById('llistat').innerHTML = oXML.responseText; if (global_carrego_mapa == 1) carrega_mapa(global_paraula_clau,0,0,global_recerca_avancada); carrega_ofertes_colindants(); };
function mostra_list_directori()
{
	document.getElementById('llistat').innerHTML = "<div id=\"carregant_llistat\"><img src=\"img/carregant.gif\" /><p>Cercant ofertes...</p></div>";
	con_mostra_list_directori.connect('mostrar_ofertes.php', 'POST', 'pagina=' + global_pagina + '&ordre=' + global_ordre + '&es_ajax=1' + global_cadena_directori, fin_mostra_list_directori);
}

var con_mostra_filtre = new XHConn();
var fin_mostra_filtre = function (oXML) { document.getElementById('filtra_resultats').innerHTML = oXML.responseText; };
function mostra_filtre(pagina)
{
	global_pagina_carregar = pagina;
	document.getElementById("enllac_filtre").innerHTML = "OCULTAR FILTRE";
	document.getElementById("enllac_filtre").className = "filtrar_ocultar";	
	document.getElementById("enllac_filtre").href = "javascript: oculta_filtre();";
	document.getElementById('filtra_resultats').className = "mostra_filtre";
	global_mostrar_filtre = 1;
	con_mostra_filtre.connect('filtre_resultats.php', 'POST', '', fin_mostra_filtre);
}

function oculta_filtre()
{
	document.getElementById("enllac_filtre").innerHTML = "FILTRAR RESULTATS";
	document.getElementById("enllac_filtre").className = "filtrar";		
	document.getElementById("enllac_filtre").href = "javascript: mostra_filtre('"+global_pagina_carregar+"');";
	document.getElementById('filtra_resultats').innerHTML = "";
	document.getElementById('filtra_resultats').className = "oculta_filtre";	
}

var con_filtre_resultats_per = new XHConn();
var fin_filtre_resultats_per = function (oXML) { document.getElementById('filtra_resultats').innerHTML = oXML.responseText; };
function filtre_resultats_per(camp_filtre,cadena_filtre,pagina,idselec)
{
	if ( idselec == 1 )
		camp_filtre = document.getElementById("filtreA").value;
	if ( pagina != "" )
		global_pagina_carregar = pagina;
	if ( cadena_filtre == "" )
		document.getElementById("opcio_filtre").innerHTML = "<div id=\"carregant_select_filtre\"><img src=\""+ruta+"img/carregant_select.gif\" /></div>";
	else
		if ( camp_filtre == "formacio" )
			document.getElementById("altres_valors").innerHTML = "<div id=\"carregant_select_filtre\"><img src=\""+ruta+"img/carregant_select.gif\" /></div>";
	con_filtre_resultats_per.connect('filtre_resultats.php', 'POST', 'camp_filtre='+camp_filtre+'&cadena_filtre='+cadena_filtre, fin_filtre_resultats_per);
}

function filtrar_resultats(form_filtre,pagina)
{
	global_pagina = 0;
	var num_elements = form_filtre.length;
	var i = 0;
	var cadena_filtre = "";
	for ( i=0; i<num_elements; i++)
	{
		if (form_filtre.elements[i].name == "filtreA" )
		{
			camp_filtre = form_filtre.elements[i].value
		}
		if (form_filtre.elements[i].name == "filtreB" )
		{
			cadena_filtre = form_filtre.elements[i].value;
		}
		if (form_filtre.elements[i].name == "filtreC" )
		{
			cadena_filtre = form_filtre.elements[i].value;
			camp_filtre = "titulacio"
		}
	}
	
	if ( cadena_filtre != "-" )
	{
		global_carrego_mapa = 1;
		global_camp_filtre = camp_filtre;
		global_pagina_a_prop = 0;
		global_cadena_filtre = cadena_filtre;
		global_carrega_en = "llistat";
		if ( pagina != "" )
			global_pagina_carregar = pagina;
		if ( global_pagina_carregar == "mostrar_ofertes_a_prop.php" )
		{
			ofertes_a_prop();
		}
		else
		{
			func_list_ofertes();
		}
	}
}

/* Funció que mostra la finestra emergent de cada oferta que hi ha al llistat */
var con_mostra_finestra = new XHConn();
var fin_mostra_finestra = function (oXML) { document.getElementById('finestra').innerHTML = oXML.responseText; };
function mostra_finestra(idoferta)
{	
	if( idoferta != "" )
	{
		var carregant = "<div id=\"breu_descripcio\"><img src=\"img/sup_toltip_llistat.gif\"  />";
		carregant += "<p id=\"descripcio_titol\">&nbsp;</p><p id=\"text\"><img src=\"img/carregant_select.gif\" /></p><img src=\"img/inf_toltip_llistat.gif\"  /></div>";
		document.getElementById('finestra').innerHTML = carregant;
		con_mostra_finestra.connect('finestra_llistat.php', 'POST', 'idoferta=' + idoferta , fin_mostra_finestra);
	}
}

/* Funció que mostra la finestra emergent de cada oferta que hi ha al llistat de les ofertes a prop de casa */
var con_mostra_finestra = new XHConn();
var fin_mostra_finestra = function (oXML) { document.getElementById('finestra').innerHTML = oXML.responseText; };
function mostra_finestra_a_prop(idoferta)
{
	if( idoferta != "" )
	{
		var carregant = "<div id=\"breu_descripcio\"><img src=\"img/sup_toltip_llistat.gif\"  />";
		carregant += "<p id=\"descripcio_titol\">&nbsp;</p><p id=\"text\"><img src=\"img/carregant_select.gif\" /></p><img src=\"img/inf_toltip_llistat.gif\"  /></div>";
		document.getElementById('finestra').innerHTML = carregant;
		con_mostra_finestra.connect('finestra_a_prop.php', 'POST', 'idoferta=' + idoferta , fin_mostra_finestra);
	}
}

/*Funció que es crida quan fem una nova recerca */
function cercar_ofertes()
{
	global_paraula_clau = document.getElementById('paraula_clau').value;
	global_ordre = "";
	global_pagina = "";
	global_camp_filtre = "";
	global_cadena_filtre = "";
	global_carrego_mapa = 1; /*Al fer una nova recerca possem la variable a 1 per indicar que s'ha de carregar google maps*/
	global_recerca_avancada = "";

	func_list_ofertes();
}

// Cercar totes les ofertes ordenades per data (link de home)
function cerca_ultimes_ofertes()
{
	document.getElementById('paraula_clau').value = '';
	if ( document.getElementById('cercador_index') )
	{
		document.getElementById('cercador_index').submit();
	}
	
	if ( document.getElementById('cercador_llistat') )
	{
		document.getElementById('cercador_llistat').submit();
	}
}

/*Funció que es crida quan volem ordenar el llistat per un camp */
function ordena_ofertes(ordre)
{
	global_ordre = ordre;
	global_carrego_mapa = 0; /*possem la variable a 0 per indicar que no s'ha de carregar google maps*/
	if ( global_cadena_directori != "" )
	{
		mostra_list_directori();
	}
	else
	{
		func_list_ofertes();
	}
}
/*Funció que es crida quan fem la paginació */
function anar_a_pagina(pagina)
{
	global_pagina = pagina;
	global_carrego_mapa = 0;

	if ( global_cadena_directori != "" )
	{
		mostra_list_directori();
	}
	else
	{
		func_list_ofertes();
	}
	//Problema al historic virtual de firefox
	//document.location.href = "#mostrant_llistat";
}
/*Funció que es crida per carregar les zones colindats que tenen ofertes al llistat al costat de google maps */
function set_paraula_clau( paraula_clau )
{
	
	global_paraula_clau = paraula_clau;
	
}

function set_recerca_avancada( recerca_avancada )
{
	global_recerca_avancada = recerca_avancada;
	carrega_mapa( global_paraula_clau, 0, 0, recerca_avancada );
	carrega_ofertes_colindants();
	incrementa_contador_historic(); 	
	historic_guarda_estat();
}

function set_variables( tipus , idvalor )
{
	if ( idvalor != "" )
	{
		global_cadena_directori = "&"+tipus+"="+idvalor;
	}
}

function cerca_paraula_clau_colindant( paraula_clau, recerca_avancada)
{
	document.getElementById('paraula_clau').value = paraula_clau;
	global_paraula_clau = paraula_clau;
	global_recerca_avancada = recerca_avancada;
	global_ordre = "";
	global_pagina = "";
	global_camp_filtre = "";
	global_cadena_filtre = "";
	global_carrego_mapa = 1; /*Al fer una nova recerca possem la variable a 1 per indicar que s'ha de carregar google maps*/
	
	func_list_ofertes();
}

function cerca_paraula_clau_a_prop( localitat )
{
	document.getElementById('poblacio').value = localitat;
	cerca_ofertes_a_prop();
}

/* Funció que mostra les zones colindats que tenen ofertes amb el número de ofertes */
var con_list_ofertes_colindants = new XHConn();
var fin_list_ofertes_colindants = function (oXML) { document.getElementById('zones_colindants').innerHTML = oXML.responseText; historic_guarda_estat();};
function carrega_ofertes_colindants()
{
//	document.getElementById('zones_colindants').innerHTML = "<div id=\"carregant_llistat\"><img src=\"img/carregant.gif\" width=\"48\" height=\"48\" /></div>";
	con_list_ofertes_colindants.connect('ofertes_zones_colindants.php', 'POST', 'paraula_clau=' + global_paraula_clau + '&xml_parametres=' + global_recerca_avancada, fin_list_ofertes_colindants);
}
/* funció que es crida quan fem una recerca a prop de casa */
function cerca_ofertes_a_prop()
{
	global_paraula_clau = document.getElementById('paraula_clau').value;
	global_localitat = document.getElementById('poblacio').value;
	global_fins_km = document.getElementById('fins_km').value;
	global_recerca_avancada = "";
	global_carrego_mapa = 1;  /* Indica que s'ha de carregar el mapa */
	global_carrega_en = "llistat"; /* Indica on s'ha de carregar els resultats */
	global_pagina_a_prop = 0; /* Inicialitzem la paginació */
	global_camp_filtre = "";
	global_cadena_filtre = "";
	global_pagina = 0;
	ofertes_a_prop();
}
/*Mostra els resultats de la recerca a prop de casa */
var con_ofertes_a_prop = new XHConn();

//Si no hi ha resultats de la recerca donaria un error ja que no carreguem mapa
//ULL el text que tenim no s'han trobat resultats ha de estar en la condició perquè no generi error
var fin_ofertes_a_prop = function (oXML) { document.getElementById(global_carrega_en).innerHTML = oXML.responseText; if (global_carrego_mapa == 1) { if ( document.getElementById("llistat").innerHTML.search("TROBAT OFERTES") < 0 ) { carrega_mapa(global_paraula_clau,global_localitat,global_fins_km,global_recerca_avancada,'si'); } } incrementa_contador_historic(); historic_guarda_estat(); };
function ofertes_a_prop()
{
		if(global_carrego_mapa == 0)
		{
			document.getElementById(global_carrega_en).innerHTML = "<div id=\"carregant_llistat_a_prop\"><img src=\"img/carregant.gif\" /><p>Cercant ofertes...</p></div>";
		}
		else
		{
			document.getElementById(global_carrega_en).innerHTML = "<div id=\"carregant_llistat\"><img src=\"img/carregant.gif\" /><p>Cercant ofertes...</p></div>";
		}
		con_ofertes_a_prop.connect('mostrar_ofertes_a_prop.php', 'POST', 'paraula_clau=' + global_paraula_clau + '&localitat=' + global_localitat + '&fins_km=' + global_fins_km + '&pagina=' + global_pagina_a_prop + '&carrego_mapa='+global_carrego_mapa + '&cadena_filtre='+global_cadena_filtre+ '&camp_filtre='+global_camp_filtre, fin_ofertes_a_prop);
}
/* Fa la paginació dels resultats de aprop de casa */
function anar_a_pagina_ofertes_a_prop(pagina)
{
	global_pagina_a_prop = pagina;
	global_carrego_mapa = 0; /* indica que no s'ha de carregar el mapa */
	global_carrega_en = "llistat_a_prop"; /* Indica on s'ha de carregar el llistat*/
	ofertes_a_prop();
}

