/******  Funcions generals dels cercadors   ******/

function doPaginarResultats(nomForm, pos, pathResultats, numMarcador, ofertaSel){
	var myForm = document.getElementById(nomForm);
	myForm.posInicial.value = pos;
	myForm.action=pathResultats;
	if(ofertaSel!=null){
		myForm.numMarcador.value = numMarcador;
		myForm.ofSel1.value=ofertaSel[0];
		myForm.ofSel2.value=ofertaSel[1];
		myForm.ofSel3.value=ofertaSel[2];
		myForm.ofSel4.value=ofertaSel[3]; 
	}
	myForm.submit();
}

function cercarPerParaula(paraula, nomForm, pathResultats) {
	var myForm = document.getElementById(nomForm);
	myForm.palabra.value = paraula;
	myForm.action=pathResultats;
	myForm.submit();
}


/****** Utilitzat en ACCIONS FORMATIVES ******/
function cercarAccionsFormatives(cteTipusCerca)
{
	document.getElementById("tipusCerca").value = cteTipusCerca;
	return true;
}

/****** Utilitzat en CURSOS UOC ******/
function cercarCursosUOC(cteTipusCerca)
{
	document.getElementById("tipusCerca").value = cteTipusCerca;
	return true;
}


/******  Utilitzat en OFERTES OCUPACIO   ******/
function controlCercaOfertesOcup(cteTipusCerca){
	var myForm = document.getElementById("formOfertesOcup");
	document.getElementById("tipusCerca").value = cteTipusCerca;
	//myForm.submit();
	return true;
}

/******  Utilitzat en FORMACIO OCUPACIONAL  ******/

function controlCercaFormacioOcup(cteTipusCerca){
	var myForm = document.getElementById("formFormacioOcup");
	document.getElementById("tipusCerca").value = cteTipusCerca;
       	//myForm.submit();
	return true;
}


/******  Utilitzat en FITXES OCUPACIONALS   ******/

formValidator.prototype.extendedValidate = function() {
	if (this.localitat){
		var formu=document.getElementById(this.formid);
		var camp_localitat;
		for (var i=0;i<formu.elements.length;i++){
			if (formu.elements[i].id.indexOf("localitat")!=-1){
				camp_localitat=formu.elements[i];
				break;
				}
			}
		if (camp_localitat.value!=""){
			if ((camp_localitat.value.indexOf("Municipi")==-1)&&(camp_localitat.value.indexOf("Comarca")==-1)&&(camp_localitat.value.indexOf("Provincia")==-1)){
				var index=0;
				index=buscarCodi(myP,camp_localitat.value,true);
				if (myP.length!=index){
					if (typeof obj != "undefined"){
						if (obj.getURL()!=""){
							formu.cod_muni.value=myP[index].id;
						}
					}
					else {
						formu.cod_muni.value=myP[index].id;
						formu.cod_prov.value=myP[index].pro;
						formu.cod_com.value=myP[index].com;
					}
				}
				else{
					index=buscarCodi(myC,camp_localitat.value,true);
					if (myC.length!=index){
						formu.cod_prov.value=myC[index].pro;
						formu.cod_com.value=myC[index].id;
						formu.cod_muni.value="";
					}
					else{
						index=buscarCodi(myV,camp_localitat.value,true);
						if (myV.length!=index){
							formu.cod_prov.value=myV[index].id;
							formu.cod_muni.value="";
							formu.cod_com.value="";						
						}
						else{
							var numRuleLocalitat=this.buscarRulesValidator(camp_localitat.id);
							this.posarInvalidCamp(numRuleLocalitat);
							valor=false;
						}
					}
				}

			}
			else{
				var valor='';
				if (camp_localitat.value.indexOf("Municipi")!=-1){
					if(camp_localitat.value.indexOf("Municipio")!=-1){
						valor=camp_localitat.value.replace(" (Municipio)","")

					}
					else{
						valor=camp_localitat.value.replace(" (Municipi)","");
					}
					var index=0;
					index=buscarCodi(myP,valor,true);
					if (myP.length!=index){
						formu.cod_muni.value=myP[index].id;
						formu.cod_prov.value=myP[index].pro;
						formu.cod_com.value=myP[index].com;
					}
				}
				else if (camp_localitat.value.indexOf("Comarca")!=-1){
					valor=camp_localitat.value.replace(" (Comarca)","")
					var index=0;
					index=buscarCodi(myC,valor,true);
					if (myC.length!=index){
						formu.cod_prov.value=myC[index].pro;
						formu.cod_com.value=myC[index].id;
						formu.cod_muni.value="";
					}
				}
				else if (camp_localitat.value.indexOf("Provincia")!=-1){
					valor=camp_localitat.value.replace(" (Provincia)","")
					var index=0;
					index=buscarCodi(myV,valor,true);
					if (myV.length!=index){
						formu.cod_prov.value=myV[index].id;
						formu.cod_muni.value="";
						formu.cod_com.value="";						
					}
				}
			}
		}
		if (camp_localitat.value==""){
			formu.cod_prov.value="";
		 	formu.cod_com.value="";
		 	formu.cod_muni.value="";
		}
	}

	if (document.getElementById("formEditarPerfilOfertesOcup")){
		if ( (readCookie("meuPerfilOfertesOcup") != null) && (readCookie("meuPerfilOfertesOcup") == "S") ){
			if (readCookie("meuPerfilLocalitat")!=null && readCookie("meuPerfilLocalitat")!="" ){
				createCookie("meuPerfilProvincia", formu.cod_prov.value);
				createCookie("meuPerfilComarca", formu.cod_com.value);
				createCookie("meuPerfilMunicipi", formu.cod_muni.value);
		 	}
		}
	}

	if (document.getElementById("formFitxes")){
		var myForm = document.getElementById("formFitxes");
		if (document.getElementById("palabra").value!="" && document.getElementById("codiSectorAct").value!="" ){
			document.getElementById("error").className="error";
			if (document.getElementById("resultados")) document.getElementById("resultados").className="amagat";
				return false;
		}
		else if (document.getElementById("palabra").value=="" && document.getElementById("codiSectorAct").value=="" ){
			if (document.getElementById("resultados")) document.getElementById("resultados").className="amagat";
				return false;
		}
		else{
			valor = document.getElementById("palabra").value;
			if (valor==""){
				document.getElementById("tipusCercaFitxes").value = "sectorActivitat";
			}
			else{
				document.getElementById("tipusCercaFitxes").value = "paraulaClau";
			}
			return true;
		}
	}


	if (document.getElementById("formFitxesSubhome")){
		if (document.getElementById("palabra").value!=""){
			valor = document.getElementById("palabra").value;
			document.getElementById("tipusCercaFitxes").value = "paraulaClau";
			return true;
		}
/*		else{
			document.getElementById("palabra").className="warn";
			return false;
		}*/
	}

	if (document.getElementById("formOTG")){
		if (document.getElementById("cpostal").value!="" && document.getElementById("localitat").value!="" ){
			/* document.getElementById("error_massa_opcions").className="error"; */
			if (document.getElementById("resultados")) document.getElementById("resultados").className="amagat";
				return false;
		}
		else if (document.getElementById("cpostal").value=="" && document.getElementById("localitat").value=="" ){
			/* document.getElementById("error_cap_opcio").className="error"; */
			if (document.getElementById("resultados")) document.getElementById("resultados").className="amagat";
				return false;
		}
		else{
			return true;
		}
	}
	return true;
}


	/******  Utilitzat en cercador CENTRES FORMACIO  ******/
	function controlCercaCentresFormacio(cteTipusCerca){
	var myForm = document.getElementById("formCentresFormacio");
	if (document.getElementById("cpostal").value!="" && document.getElementById("localitat").value!="" ){
		/* document.getElementById("error_massa_opcions").className="error"; */
		if (document.getElementById("resultados")) document.getElementById("resultados").className="amagat";
			return false;
	}
	else if (document.getElementById("cpostal").value=="" && document.getElementById("localitat").value=="" ){
		/* document.getElementById("error_cap_opcio").className="error"; */
		if (document.getElementById("resultados")) document.getElementById("resultados").className="amagat";
			return false;
	}
	else{
		document.getElementById("tipusCerca").value = cteTipusCerca;
		return true;
	}
}

/*********  Utilitzat en FORMACIO CONTINUA *********/

function controlCercaFormacioCont(cteTipusCerca) {

	var myForm = document.getElementById("formFormacioCont");

	if (document.getElementById("palabra").value!="" || document.getElementById("sector").value!="" || document.getElementById("ambit").value!="" || document.getElementById("entitat").value!=""){
                document.getElementById("tipusCerca").value = cteTipusCerca;
		myForm.submit();
	}
	else {
		document.getElementById("palabra").className="warn";
		document.getElementById("sector").className="warn";
		document.getElementById("ambit").className="warn";
		document.getElementById("entitat").className="warn";	
		document.getElementsByTagName("label").className="warn";
		for (i=0;i<myForm.getElementsByTagName("LABEL").length;i++){
			myForm.getElementsByTagName("LABEL")[i].className="warn";
		}	
		return false;
	}

}

/******  Utilitzat en CERCADOR D'OFERTES DE FEINA(CERCADOR AVAN?AT)   ******/
function conservaMarcador(){	//si es refresca el navegador posa el marcador en funcio dels checkbox marcats
			var cuenta=0;
		   	var c=document.getElementById("output");
		   	var cuantos=c.getElementsByTagName("input");
				for(i=0; i<cuantos.length; i++){
		   			if(cuantos[i].checked==true){					
						cuenta++;
						}								
					}
					numMarcador+=parseInt(cuenta);
			if(numMarcador>0)
			for(i=0; i<numMarcador; i++){
				document.getElementById("marcadorOferta"+(i+1)).className="oferta_seleccionada si";
				}
		   }
		   
function marcadorOfertes(check,idioma){	//control del marcador d'ofertes seleccionades
	var cad='';
	var missatge=new Array();
	missatge["ca"]="El m\u00E0xim d'ofertes seleccionables per la comparativa \u00E9s de 4.";
	missatge["en"]="The maximum work bids selectable is 4.";
	missatge["es"]="El m\u00E1ximo de ofertes seleccionables para la comparativa es de 4.";
	if(check.checked==true){
		if(numMarcador<4){
			numMarcador++;
			document.getElementById("marcadorOferta"+numMarcador).className="oferta_seleccionada si";
			for(i=0; i<4; i++){
				if(ofertaSel[i]==""){
                                        j=i+1;
					ofertaSel[i]=check.value;
					break;
				}
			}
                      
		}else{
			check.checked=false;
			alert(missatge[idioma]);
		}
	}else if(numMarcador>0){
			document.getElementById("marcadorOferta"+numMarcador).className="oferta_seleccionada no";				
			numMarcador--;
			for(i=0; i<4; i++){
				if(ofertaSel[i]==check.value){
					ofertaSel[i]="";
				}
			}
	}  

}

function comparar(idioma,urlComparaOfertesOcup){  // Controla el numero d'ofertes i si es correcte crida a la pantalla de comparacio
	var missatge=new Array();
	missatge["ca"]="El m\u00E0nim d'ofertes seleccionables per la comparativa \u00E9s de 2.";
	missatge["en"]="The minimum work bids selectable is 2.";
	missatge["es"]="El m\u00E1nimo de ofertas seleccionables para la comparativa es de 2.";
	if(numMarcador>=2){
           url= urlComparaOfertesOcup + "?numMarcador=" + numMarcador;
	   var i=0;
	   var j=0;
	   for(i=0;i<4;i++){
		if(ofertaSel[i]!=""){
			url= url + "&ofertaSel" + j + "=" + ofertaSel[i];
			j++;
		}
	   }
           popUpComparaOfertes(url);
	}
	else{
	   alert(missatge[idioma]);
	}
	
}

function potInteressar(pathResultats,sino){ //Mostra les ofertes relacionades amb les de la solicitut de consulta
   //controla si anem a la cerca de ofertes d'ocupacions relacionades o tornem de la mateixa
   var cadena='';
   var myForm = document.getElementById("formOfertesOcup");
   if( sino =='S'){
	 cadena=cadena + 'etPotInteressar=' + sino;
   }

   //Guardem totes les ofertes seleccionades per passar-les a la pagina
   if (numMarcador>0){
        if(cadena!='') 
		cadena=cadena + '&';
       	cadena=cadena + "numMarcador=" + numMarcador + "&ofertaSel=";
   	var i=0;
   	var j=0;
   	for(i=0;i<4;i++){
		if(ofertaSel[i]!=""){
			cadena=cadena +  ofertaSel[i];
			if(i<numMarcador-1)cadena=cadena + "-";
			j++;
		}
   	}
   }
   myForm.action=pathResultats + '?' + cadena;
   myForm.submit();
}

	
/******  Utilitzat en CERCADOR OFERTES OCUPACIO RAPID  ******/
function controlCercaOfertesOcupRapid(cteTipusCerca){
	
	var myForm = document.getElementById("formOfertesOcupRapid");
	var desc_ocupacio = '';
	document.getElementById("tipusCerca").value = cteTipusCerca;
	if(document.getElementById("cod_ocupacio").value!=''){
		for(i=0; i<myO.length; i++){
			if(myO[i].id==document.getElementById("cod_ocupacio").value){
				desc_ocupacio = myO[i].nom;
				break;
			}
		}
	}
	myForm.palabra.value=desc_ocupacio;
	return true;
}
	
/***********  funcions de control de les llistes **********/
function rapidSector(){
	var caixa = document.getElementById("cod_sector");

	//vaciamos la caja
	borraCaja(caixa);
	//creamos el primer option de la lista, vacio
	opt=document.createElement("option");
	opt.value='';
	caixa.appendChild(opt);
	
	//para cada elemento del array myS
	for(i=0; i<myS.length; i++){
		//si tiene ofertas
		if(myS[i].ofer>0){
			//creamos un option
			opt=document.createElement("option");
			//le ponemos color
			opt.style.color="#009ee0";
			//le ponemos el texto correspondiente del array
			text=document.createTextNode(myS[i].nom+"("+myS[i].ofer+")");
			opt.appendChild(text);
			//y le asignamos su valor
			opt.value=myS[i].id;
			//lo metemos en el select
			caixa.appendChild(opt);
		//sino
		}else if(myS[i].ofer==0){
			//creamos un optGroup
			opt=document.createElement("optgroup");
			//le ponemos color
			opt.style.color="#999999";
			//le ponemos el texto correspondiente del array
			opt.label=myS[i].nom+"("+myS[i].ofer+")";
			//y le asignamos su valor
			opt.value=myS[i].id;
			//lo metemos en el select
			caixa.appendChild(opt);
		}
	}
	addEvent(caixa, "change",rapidOcupacio);
}

function rapidOcupacio(){
	var caixa = document.getElementById("cod_ocupacio");
	var sector = document.getElementById("cod_sector").value;
	
	//habilitamos la caja
	if(caixa.disabled==true){
		caixa.disabled=false;
	}
	//borramos los optgroup
	var grupos=caixa.getElementsByTagName("optgroup");
	if(grupos.length>0){
		var cantidad=grupos.length;
		for(i=0; i<cantidad; i++){
			caixa.removeChild(caixa.getElementsByTagName("optgroup")[0]);
			}
		}

	//vaciamos la caja
	borraCaja(caixa);
	
	//creamos el primer option de la lista, vacio
	opt=document.createElement("option");
	opt.value='';
	caixa.appendChild(opt);
	
	//lista para elementos de que se corresponden con el sector
	var listaRelacion=new Array();
	//lista para ordenar los nombres
	var listaNoms=new Array();
	//contador
	var j=0;
	//recorremos la tabla de relacion
	for(i=0; i<myR.length; i++){
		//si coinciden
		if(myR[i].idS==sector){
		//lo metemos en la lista
		listaRelacion[j]=myR[i].idO;
		j++;
		}
	}
	//recorremos la lista para ordenar los nombres
	for(i=0; i<listaRelacion.length; i++){
		for(j=0; j<myO.length; j++){
			if(myO[j].id==listaRelacion[i]){
			//creamos una lista con los nombres
				listaNoms[i]=myO[j].nom;
			}
		}
	}
	//y la ordenamos alfabeticamente
	listaNoms.sort();
	
	//recorremos la lista de nombres
	for(i=0; i<listaNoms.length; i++){
		for(j=0; j<myO.length; j++){
			if(myO[j].nom==listaNoms[i]){
				if(myO[j].ofer>0){
					//creamos un option
					opt=document.createElement("option");
					//le ponemos color
					opt.style.color="#009ee0";
					//le ponemos el texto correspondiente del array
					text=document.createTextNode(myO[j].nom+"("+myO[j].ofer+")");
					opt.appendChild(text);
					//y le asignamos su valor
					opt.value=myO[j].id;
					//lo metemos en el select
					caixa.appendChild(opt);
				}else if(myO[j].ofer==0){
					//creamos un optGroup
					opt=document.createElement("optgroup");
					//le ponemos color
					opt.style.color="#999999";
					//le ponemos el texto correspondiente del array
					opt.label=myO[j].nom+"("+myO[j].ofer+")";
					//y le asignamos su valor
					opt.value=myO[j].id;
					//lo metemos en el select
					caixa.appendChild(opt);
				}
			}
		}
	}
}
/********************************************************************************************************************************************************/
/********************************************************************************************************************************************************/
/********************************************************************************************************************************************************/
function perfilSector(codi){
	var caixa = document.getElementById("cod_sector");
	

	//vaciamos la caja
	borraCaja(caixa);
	//creamos el primer option de la lista, vacio
	opt=document.createElement("option");
	opt.value='';
	caixa.appendChild(opt);
	
	//para cada elemento del array myS
	for(i=0; i<myS.length; i++){
		//creamos un option
		opt=document.createElement("option");
		//le ponemos color
		opt.style.color="#009ee0";
		//le ponemos el texto correspondiente del array
		text=document.createTextNode(myS[i].nom);
		opt.appendChild(text);
		//y le asignamos su valor
		opt.value=myS[i].id;
		if(myS[i].id==codi && codi!='' && codi!=null){
		  opt.selected=true;	
		}
		//lo metemos en el select
		caixa.appendChild(opt);
	}
	addEvent(caixa, "change",perfilOcupacio);
}

function perfilOcupacio(codi){
	var caixa = document.getElementById("cod_ocupacio");
	var sector = document.getElementById("cod_sector").value;
	
	//habilitamos la caja
	if(caixa.disabled==true){
		caixa.disabled=false;
	}

	//vaciamos la caja
	borraCaja(caixa);

	//creamos el primer option de la lista, vacio
	opt=document.createElement("option");
	opt.value='';
	caixa.appendChild(opt);
	
	//lista para elementos de que se corresponden con el sector
	var listaRelacion=new Array();
	//lista para ordenar los nombres
	var listaNoms=new Array();
	//contador
	var j=0;
	//recorremos la tabla de relacion
	for(i=0; i<myR.length; i++){
		//si coinciden
		if(myR[i].idS==sector){
		//lo metemos en la lista
		listaRelacion[j]=myR[i].idO;
		j++;
		}
	}
	//recorremos la lista para ordenar los nombres
	for(i=0; i<listaRelacion.length; i++){
		for(j=0; j<myO.length; j++){
			if(myO[j].id==listaRelacion[i]){
			//creamos una lista con los nombres
				listaNoms[i]=myO[j].nom;
			}
		}
	}
	//y la ordenamos alfabeticamente
	listaNoms.sort();
	
	//recorremos la lista de nombres
	for(i=0; i<listaNoms.length; i++){
		for(j=0; j<myO.length; j++){
			if(myO[j].nom==listaNoms[i]){
				//creamos un option
				opt=document.createElement("option");
				//le ponemos color
				opt.style.color="#009ee0";
				//le ponemos el texto correspondiente del array
				text=document.createTextNode(myO[j].nom);
				opt.appendChild(text);
				//y le asignamos su valor
				opt.value=myO[j].id;
				if(myO[j].id==codi && codi!='' && codi!=null){
				  opt.selected=true;	
				}

				//y su funcion
				//lo metemos en el select
				caixa.appendChild(opt);
			}
		}
	}
}

function borraCaja(caixa){
	cleanWhitespace(caixa);
	if(caixa.length>0){
		for(i=caixa.length; i>0; i--){
			caixa.removeChild(caixa.childNodes[i-1]);
		}
	}
}
/********************************************************************************************************************************************************/
/********************************************************************************************************************************************************/
/********************************************************************************************************************************************************/
/*********** Paginacio de les llistes d'ofertes al cercador avan?at ***********/
var mesBuscat=false;
var mesFeina=false;
function paginacio(quin){
	if(quin=='mes_buscat'){
		if(mesBuscat){
			p=5;
			mesBuscat=false;
		}else{
			p=0;
			mesBuscat=true;
			}
		for(i=0; i<5; i++){
			document.getElementById(quin+"_"+i).firstChild.nodeValue=myMesBuscada[p].nom;
			var direc=document.getElementById(quin+"_"+i).href;
			var substitucio=direc.substring(direc.indexOf("palabra="),direc.indexOf("&tipus"));
                        var paraula = escape(myMesBuscada[p].nom);
			document.getElementById(quin+"_"+i).href=direc.replace(substitucio,"palabra="+ paraula);
			p++;
		}
	}else if(quin=='mes_feina'){
		if(mesFeina){
			p=5;
			mesFeina=false;
		}else{
			p=0;
			mesFeina=true;
			}	
		for(i=0; i<5; i++){
			document.getElementById(quin+"_"+i).firstChild.nodeValue='('+myMesFeina[p].ofer+') '+myMesFeina[p].nom;
			var direc=document.getElementById(quin+"_"+i).href;
			var substitucio=direc.substring(direc.indexOf("palabra="),direc.indexOf("&tipus"));
                        var paraula = escape(myMesFeina[p].nom);
			document.getElementById(quin+"_"+i).href=direc.replace(substitucio,"palabra="+ paraula);
			p++;
		}
	}
	if(ddequalcolumns.initMides==true){
		ddequalcolumns.resetHeights();
	}
}

/******  Utilitzat en Formulari EDITAR PERFIL PER CERCAR OFERTES OCUPACIONALS  ******/

function controlEditarPerfilOfertesOcup(cteTipusCerca){
	var myForm = document.getElementById("formEditarPerfilOfertesOcup");

	if (document.getElementById("localitat").value!="" || document.getElementById("cod_sector").value!="" || document.getElementById("cod_ocupacio").value!="" || document.getElementById("cod_jornada").value!=""){
		document.getElementById("tipusCerca").value = cteTipusCerca;
		if(document.getElementById("cod_ocupacio").value!=''){
			for(i=0; i<myO.length; i++){
				if(myO[i].id==document.getElementById("cod_ocupacio").value){
					var desc_ocupacio = myO[i].nom;
					break;
				}
			}
		}else if(document.getElementById("cod_ocupacio").value==''){
			var desc_ocupacio = '';
		}
		myForm.palabra.value=desc_ocupacio;

                createCookie("meuPerfilOfertesOcup", "S",365);
                createCookie("meuPerfilLocalitat", myForm.localitat.value,365);
                createCookie("meuPerfilProvincia", myForm.cod_prov.value,365);
                createCookie("meuPerfilComarca", myForm.cod_com.value,365);
                createCookie("meuPerfilMunicipi", myForm.cod_muni.value,365);
                createCookie("meuPerfilCodSector", myForm.cod_sector.value,365);
                createCookie("meuPerfilCodOcupacio", myForm.cod_ocupacio.value,365);
                createCookie("meuPerfilPalabra", myForm.palabra.value,365);
                createCookie("meuPerfilCodJornada", myForm.cod_jornada.value,365);
		return true;

	}
	else {
                createCookie("meuPerfilOfertesOcup", "N");
                createCookie("meuPerfilLocalitat", "");
                createCookie("meuPerfilProvincia", "");
                createCookie("meuPerfilComarca", "");
                createCookie("meuPerfilMunicipi", "");
                createCookie("meuPerfilCodSector", "");
                createCookie("meuPerfilCodOcupacio", "");
                createCookie("meuPerfilPalabra", "");
                createCookie("meuPerfilCodJornada", "");
		return true;
	}

}
