	function cargarDatosCandidato(siguiente,duplicado)
	{
		if(siguiente!=''){
			document.getElementById('formulario').style.display = 'none';
			document.getElementById('mens').style.display = 'block';
		} else {
			if(duplicado!='') {
				setError('errorLogin','on',errUSUARIO);
				document.getElementById('login').focus();
			}
			document.getElementById('formulario').style.display = 'block';
			document.getElementById('mens').style.display = 'none';
			document.getElementById('botonCambioPass').style.display = "none";
			if(document.getElementById('acc').value == 'modificar'){				document.getElementById('botonCambioPass').style.display = "block";
				document.getElementById('personales').style.display = 'block';
				document.getElementById('otro').style.display = 'block';
				document.getElementById('cuenta').style.display = 'none'
			}
		}
	}

	function cargarDetalleOferta(inscrito)
	{
		if(inscrito != '') {
			document.getElementById('boton').style.display = 'none';
			document.getElementById('vuelta').style.display = 'block';
			setError('errores','on',errOFERTA);
			setError('errores2','on',errOFERTA);
		}
	}

	function cargarInscribirse(inscrito,nombrePuesto)
	{		if(inscrito == 'DUPLICADO') { //inscrito indica si ya esta inscrito en la oferta
			document.getElementById('mens').innerHTML = 'Ya estaba inscrito en la oferta '+nombrePuesto+'.';
			document.getElementById('contMens').style.display = 'block';
		} else 	if(inscrito == 'OK') { //si viene en blanco es que se ha inscrito ahora (ok)
			document.getElementById('mens').innerHTML = 'Se ha inscrito en la oferta '+nombrePuesto+' de forma correcta.';
			document.getElementById('contMens').style.display = 'block';
		}	}

	function cargarLogin(validar,origen,mensaje,nuevoPasswordOk,login, pass)
	{
		if(validar == 'cambioPass'){
			switch (mensaje){
				case "":	//al inicio
					setError('errores','off','');
					document.getElementById('mens').style.display='none';
					break;
				case "CAMBIO":	//cambio 0.K.
					setError('errores','off','');
					document.getElementById('textoMens').innerHTML = "Se ha cambiado la contraseña de forma correcta.";
					document.getElementById('contenedorCambio').style.display='none';
					document.getElementById('mens').style.display='block';
					break;
				case "NOCAMBIO":	//cambio K.0.
					setError('errores','off','');
					document.getElementById('textoMens').innerHTML = "No se ha podido cambiado la contraseña.<br />Inténtelo de nuevo o contacte con el administrador.";
					document.getElementById('mens').style.display='block';
					break;
				case "LOGIN":	//login K.0.
					setError('errores','off','');
					document.getElementById('textoMens').innerHTML = "Debe logarse para poder cambiar su contraseña.";
					document.getElementById('mens').style.display='block';
					colocarOpciones('login','','');
     				var t=setTimeout("document.forms['frm_opciones'].submit()",4000); //4 segundos antes de volver.
					break;
			}
		}
		else{
			/*	if(origen != '') {
				var textoError;
				switch(origen){
					case 'ins':
						textoError ='debe logarse para poder inscribirse a las ofertas... ';
						break;
					case 'mod':
						textoError ='debe logarse para poder modificar sus datos... ';
						break;
				}
				document.getElementById('textoMens').innerHTML=textoError;
				document.getElementById('mens').style.display='block';
			}*/
			//LOGIN
			//Comprobamos si ha habido errores en el login
			if(mensaje != '') {
				setError('errores','on',errLOGIN);
				document.getElementById('login').value = login;
				document.getElementById('pass').value = pass;
				document.getElementById('mens').style.display='none';
			}
			//RESTABLECER
			if(nuevoPasswordOk != '') {
				if(nuevoPasswordOk != 'true') { //se restablece ok
					document.getElementById('textoMens').innerHTML="Se ha enviado a su correo electrónico la nueva contraseña";
					document.getElementById('mens').style.display='block';
				} else {                                     //se restablece mal
					document.getElementById('textoMens').innerHTML="Ha habido problemas al reestablecer su contraseña, por favor, intentelo de nuevo.";
					document.getElementById('mens').style.display='block';
				}
			}
		}
     }

    /*functon colocarOpciones(cont,acc,ofr)
	:: cont : el contenido que se quiere cargar
	:: acc : la acción que se lleva a cabo
	:: ofr : si se trata de una oferta para mostrar*/
	function colocarOpciones(cont,acc,ofr)
	{
		document.getElementById('accion').value = acc;
		document.getElementById('oferta').value = ofr;
		if(cont!=''){
			document.getElementById('contenido').value = cont;
			document.forms['frm_opciones'].submit();
		}
	}

	function formateaCadena(cadena){		cadena = cadena.replace(/(^\s+)|(\s+$)/g,""); 	//quitamos espacios delante y detrás
		cadena = cadena.replace(/[\x22]+/g,"´");	//cambiamos todos los " por ´
		cadena = cadena.replace(/[\x27]+/g,"´");	//cambiamos todos los ' por ´
		cadena = cadena.replace(/[\x5C]+/g,"");		//quitamos los \
		cadena = cadena.replace(/[\x20|\x0|´]Select[\x20|\x0|´]/gi,"");	//cambiamos sentencias SQL/MySQL/SOQL		return cadena;	}

	function llenarMail()
	{
		document.getElementById('mail').value = document.getElementById('login').value;
	}

	function mostrar()
	{
		if(document.getElementById('login').value !='' && document.getElementById('pass').value !='' && document.getElementById('pass2').value !='') {
				document.getElementById('personales').style.display = 'block';
				document.getElementById('otro').style.display = 'block';
		} else {
				document.getElementById('personales').style.display = 'none';
				document.getElementById('otro').style.display = 'none';
		}
	}

	function muestra_error(msg_general)
	{
		alert(msg_general);
	}


	//Hacemos visible la parte para restablecer la contraseña
	function olvido()
	{		if(document.getElementById('capaRestablecer').style.display == 'none'){
			document.getElementById('capaRestablecer').style.display = "block";
			document.getElementById('restablecer').focus();
		} else {			document.getElementById('capaRestablecer').style.display = "none";		}

	}

	function validar(tipovalidar)
	{
		if(tipovalidar == 'cambioPass'){
			if(document.getElementById('pass_old').value =='') {
				document.getElementById('pass_old').focus();
				setError('errores','on',errOBLIGATORIO);
				ponerVelo("capaVelo","off");
				return false;
			}
			if(document.getElementById('pass').value =='') {
				document.getElementById('pass').focus();
				setError('errores','on',errOBLIGATORIO);
				ponerVelo("capaVelo","off");
				return false;
			}
			if(document.getElementById('pass_rep').value =='') {
				document.getElementById('pass_rep').focus();
				setError('errores','on',errOBLIGATORIO);
				ponerVelo("capaVelo","off");
				return false;
			}
			document.forms['frm_login'].submit();
		}
		else if(tipovalidar == 'datosCandidato'){			//Si es alta debo validar los datos de login, si es modificación
			if(document.getElementById('accion').value =='alta' && !validarCuenta()){				ponerVelo("capaVelo","off");
				return false;
			} else {				setError('errorLogin','off');
			}
			if(!validarPersonales()){
				ponerVelo("capaVelo","off");
				return false;
			}else{				setError('errorPersonales','off');
			}
			if(!validarOtros()){				ponerVelo("capaVelo","off");				return false;
			}else{				setError('errorOtros','off');
			}
			document.forms['frm_registro'].submit();		}
	    else {
			//Datos obligatorios
			if(document.getElementById('login').value == '') {
				document.getElementById('login').focus();
				setError('errores','on',errOBLIGATORIO);
				ponerVelo("capaVelo","off");
				return false;
			}
			if(document.getElementById('pass').value =='') {
				document.getElementById('pass').focus();
				setError('errores','on',errOBLIGATORIO);
				ponerVelo("capaVelo","off");
				return false;
			}
			//Email Ok
			if(!validarMail(document.getElementById('login').value)){
				document.getElementById('login').focus();
				setError('errores','on',errMAIL);
				ponerVelo("capaVelo","off");
				return false;
			}
			document.forms['frm_login'].submit();
		}
	}

	function validarCuenta()
	{
		//Datos obligatorios
		if(document.getElementById('login').value == '') {
			document.getElementById('login').focus();
			setError('errorLogin','on',errOBLIGATORIO);
			ponerVelo("capaVelo","off");
			return false;
		} else {			//document.getElementById('login').value = formateaCadena(document.getElementById('login').value);		}
		if(document.getElementById('pass').value =='') {
			document.getElementById('pass').focus();
			setError('errorLogin','on',errOBLIGATORIO);
			ponerVelo("capaVelo","off");
			return false;
		} else {			document.getElementById('pass').value = formateaCadena(document.getElementById('pass').value);		}
		if(document.getElementById('pass2').value =='') {
			document.getElementById('pass2').focus();
			setError('errorLogin','on',errOBLIGATORIO);
			ponerVelo("capaVelo","off");
			return false;
		} else {			document.getElementById('pass2').value = formateaCadena(document.getElementById('pass2').value);
		}
		//Email Ok
		if(!validarMail(document.getElementById('login').value)){
			document.getElementById('login').focus();
			setError('errorLogin','on',errMAIL);
			ponerVelo("capaVelo","off");
			return false;
		}
		//password Ok
		if(document.getElementById('pass').value != document.getElementById('pass2').value){
			document.getElementById('pass').focus();
			setError('errorLogin','on',errPASS);
			ponerVelo("capaVelo","off");
			return false;
		}
		return true;
	}

	function validarOtros()
	{
		//Datos obligatorios
		if(document.getElementById('curriculum').value =='') {
			document.getElementById('curriculum').focus();
			setError('errorOtros','on',errOBLIGATORIO);
			ponerVelo("capaVelo","off");
			return false;
		} else {
			document.getElementById('curriculum').value = formateaCadena(document.getElementById('curriculum').value);		}
		if(document.getElementById('salMinimo').value =='') {
			document.getElementById('salMinimo').focus();
			setError('errorOtros','on',errOBLIGATORIO);
			ponerVelo("capaVelo","off");
			return false;
		} else {			document.getElementById('salMinimo').value = formateaCadena(document.getElementById('salMinimo').value);
		}
		return true;
	}

	function validarPersonales()
	{
		//Datos obligatorios
		if(document.getElementById('nombre').value =='') {
			document.getElementById('nombre').focus();
			setError('errorPersonales','on',errOBLIGATORIO);
			ponerVelo("capaVelo","off");
			return false;
		}else{			document.getElementById('nombre').value = formateaCadena(document.getElementById('nombre').value);
		}
		if(document.getElementById('apellidos').value =='') {
			document.getElementById('apellidos').focus();
			setError('errorPersonales','on',errOBLIGATORIO);
			ponerVelo("capaVelo","off");
			return false;
		} else {			document.getElementById('apellidos').value = formateaCadena(document.getElementById('apellidos').value);		}
		if(document.getElementById('movil').value =='') {
			document.getElementById('movil').focus();
			setError('errorPersonales','on',errOBLIGATORIO);
			ponerVelo("capaVelo","off");
			return false;
		} else {			document.getElementById('movil').value = formateaCadena(document.getElementById('movil').value);		}
		if(document.getElementById('prefijoMovil').value =='') {
			document.getElementById('prefijoMovil').focus();
			setError('errorPersonales','on',errOBLIGATORIO);
			ponerVelo("capaVelo","off");
			return false;
		} else {			document.getElementById('prefijoMovil').value = formateaCadena(document.getElementById('prefijoMovil').value);		}
        if(document.getElementById('mail').value ==''){			document.getElementById('mail').focus();
			setError('errorPersonales','on',errOBLIGATORIO);
			ponerVelo("capaVelo","off");
			return false;        } else {			document.getElementById('mail').value = formateaCadena(document.getElementById('mail').value);        }
		if(document.getElementById('provincia').value =='') {
			document.getElementById('provincia').focus();
			setError('errorPersonales','on',errOBLIGATORIO);
			ponerVelo("capaVelo","off");
			return false;
		} else {			document.getElementById('provincia').value = formateaCadena(document.getElementById('provincia').value);		}
		//Email Ok
		if(document.getElementById('mail').value != '' && !validarMail(document.getElementById('mail').value)){
			document.getElementById('mail').focus();
			setError('errorPersonales','on',errMAIL);
			ponerVelo("capaVelo","off");
			return false;
		}
		//Telfonos Ok
		if(!validarTlf(document.getElementById('movil').value)) {
			document.getElementById('movil').focus();
			setError('errorPersonales','on',errTLF);
			ponerVelo("capaVelo","off");
			return false;
		}
		if(validarTlf(document.getElementById('movil').value) && document.getElementById('movil').value.substring(0,1)!='6'){
			document.getElementById('movil').focus();
			setError('errorPersonales','on',errTLF);
			ponerVelo("capaVelo","off");
			return false;
		}
		if(document.getElementById('fijo').value != '' && !validarTlf(document.getElementById('fijo').value)){
			document.getElementById('fijo').focus();
			setError('errorPersonales','on',errTLF);
			ponerVelo("capaVelo","off");
			return false;
		}
		if(document.getElementById('fijo').value != '' && document.getElementById('prefijoFijo').value == ''){
			document.getElementById('prefijoFijo').focus();
			setError('errorPersonales','on',errPREFIJO);
			ponerVelo("capaVelo","off");
			return false;
		}
		return true;
	}

	function validarRest()
	{
		//Datos obligatorios
		if(document.getElementById('login2').value == '') {
			document.getElementById('login2').focus();
			setError('errores2','on',errOBLIGATORIO);
			ponerVelo("capaVelo","off");
			return false;
		}
		//Email Ok
		if(!validarMail(document.getElementById('login2').value)){
			document.getElementById('login2').focus();
			setError('errores2','on',errMAIL);
			ponerVelo("capaVelo","off");
			return false;
		}
		document.forms['frm_login'].accion.value='reestablecer';
		document.forms['frm_login'].submit();
	}

/** function colocaOpacidad(id, opacidad)
    coloca opacidad al elemento id, de esta manera nos aseguramos de que no se pierda la referencia y que no se vea la id
    :: opacidad: numero entre 0-1, i.e. 0.1, 1, 0, 0.5 **/
    function colocaOpacidad(id, opacidad)
    {
        var opacidadIE = "alpha(opacity="+(opacidad*100)+")";
        document.getElementById(id).style.opacity=opacidad;     //Mozilla
        document.getElementById(id).style.filter=opacidadIE;    //IE
        if(opacidad==0)
            document.getElementById(id).style.display="none";
        if(opacidad==1)
            document.getElementById(id).style.display="block";
    }

/** function setDimension(capa)
	coloca las dimensiones a la capa "capa", usada para poner el velo a frame completo.
	:: capa : id de la capa sobre la que se aplica la redimension. Se requiere poner un body con id = bodyFrame y estar dentro de
	un div contenedor que permita la redimension. **/
    function setDimension(capa)
    {		var element = document.getElementById(capa);
  		var width = (document.getElementById('bodyFrame')!=null)?document.getElementById('bodyFrame').offsetWidth+"px":"600px";
  		var height = (parseInt(document.getElementById('bodyFrame').offsetHeight)+25)+"px";
		element.style.width = width;
		element.style.height = height;
    }

/** function ponerVelo(capa,accion)
	pone el velo o lo quita, segun la accion.
	:: capa : la id de la capa a poner en block o none.
	:: accion : la acción sea on u off.**/
    function ponerVelo(capa,accion)
    {
		switch(accion){
			case 'on':
				colocaCombos("disabled");
				document.getElementById(capa).style.display = "block";
				break;
			case 'off':
				colocaCombos("enabled");
				document.getElementById(capa).style.display = "none";
				break;
			default:
				document.getElementById(capa).style.display = "block";
		}
		setDimension(capa);	//por si cambia las dimensiones
	}

/** function colocaCombos(accion)
	recoge todo los combos de un formulario para que no queden mal en IE
	:: accion : si es "disabled" los coloca disabled, "enabled" los coloca enabled**/
	function colocaCombos(accion){
		var formularios = document.forms;
		var elemento;
		for(var j=0; j<formularios.length;j++){  //recorro los formularios
			for(var i=0;i<formularios[j].elements.length;i++){	//recorro loe elementos de los formularios
				elemento = formularios[j].elements[i];
				if(elemento.tagName == "SELECT")
					switch(accion){						case "disabled":
							elemento.disabled = true;
							break;
						case "enabled":
							elemento.disabled = false;
							break					}
			}
		}
	}