/* validarForm  :   Utiliza AJAX y DOM para validar los campos del formulario... si está vacío o repetido. Necesita prototype.js 1.6.0  
Ejemplo del uso de los submit:

<input type="button" name="Guardar" value="Guardar" onclick="validarForm(campos,'<?echo $par[4]?>/auxiliar/validacion.php');" />
<div style="display:none;"><input type="submit" name="Crear" value="Submit" /></div>
				
 EJEMPLO DEL Parámetro 'campos':
campos = new Array();
		campos [0] = {nombre: 'for_nom_formacion', validacion: 'vacio'};
		campos [1] = {nombre: 'cur_idn_curso2', validacion: 'vacio'};
		campos [2] = {nombre: 'subm_idn_submarca2', validacion: 'vacio'};
		campos [3] = {nombre: 'for_nom_formacion',
							validacion: 'repetido',
							tabla:'Formacion',
							campo:'for_nom_formacion',
							numerico:'false'
		};
*/
function validarForm(campos,url){
	var valido = true;
	var validar = {
		error : function(campo, mensaje){
			//Cambiamos el estilo y ponemos el mensaje en el campo:
			$(campo).setStyle({color:'#FF0000', fontStyle:'italic'});
			$(campo).value=mensaje;
			//Cuando el usuario pase el cursor por encima, el campo se normalizará
			$(campo).onmouseover=function(){
				$(campo).setStyle({color:'#000000', fontStyle:'normal'});
				$(campo).value="";
				$(campo).onmouseover=null; //quitamos esta función
			}					
		},
		//Mira si el campo está vacío o no a través de DOM
		vacio : function(campo){
			if ($(campo).value==''){
				this.error(campo,"No puede dejar este campo vacío");
				valido = false; //si está vacío devuelve false
			}
			else valido = valido && true; //sino devuelve valido and true
		},
		//Mira si la información está repetida en la BDD a través de AJAX
		repetido : function(campo,tabla,campotabla,esnumerico,url){
			new Ajax.Request(url,{
					method : 'post',//encodeURIComponent
					parameters: "funcion=campo_repetido&tabla="+tabla+"&campo="+campotabla+"&valor="+$(campo).value+"&numerico="+esnumerico,
					onSuccess: function(transport){
						var resp = transport.responseText;
						if (resp == null) valido = false;
						//alert(resp);
						switch (resp){
							case '0': valido = valido && true; break;
							case '1' : {
								validar.error(campo,"Este campo no puede estar repetido");
								valido = false;
							} break;
							case '2' : {
								validar.error(campo,"Error en la consulta");
								valido = false;
							} break;
							case '3' : {
								validar.error(campo,"Error: faltan parámetros");
								valido = false;
							} break;
							default : {
								validar.error(campo,"Error inesperado");
								valido = false;
							} break;
						}
					}
				}
			);
		}
	};

	for (var i=0; i< campos.length; i++){
		if (campos[i].validacion == 'vacio'){
			validar.vacio(campos[i].nombre);
		}else if (campos[i].validacion == 'repetido'){
			validar.repetido(campos[i].nombre, campos[i].tabla, campos[i].campo, campos[i].numerico, url);
		}
	}
	if (valido===true){
		document.f_tarea.Crear.click();//fer el submit
	};
}
 function validarEntero(valor){
	 patron=/^[0-9.]*$/;
      if (isNaN(parseInt(valor))) {
            return "error"
      }else{
		if (patron.test(valor)==0)
		{
			return "error";
		}else{
            return valor
		}
      }
}

 function validarString(valor){
     patron=/^[aAbBcCdDeEfFgGhHiIjJkKlLmMnNñÑoOpPqQrRsStTuUvVwWxXyYzZ áéíóúàèòïüÁÉÍÓÚÀÈÒÏÜ]*$/;
		if (patron.test(valor)==0)
		{
			return "error";
      }else{
            return valor
      }
}

 function validarEmail(valor){
     patron=/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
     if (patron.test(valor)==0)
		{
	return "error";
      }else{
            return valor
      }
}

function validarFormularioInteger(nom){
      //extraemos el valor del campo
	  var textoCampo;
	if (nom=="cp")
	{
		textoCampo = window.document.f_tarea.cp.value
		textoCampo = validarEntero(textoCampo)
		if (textoCampo=="error")
		{
				window.alert("Los datos insertados no son correctos en el campo CP, solo puede insertar números")
		}
	}else if (nom=="telefono"){
		textoCampo = window.document.f_tarea.telefono.value
		textoCampo = validarEntero(textoCampo)
		if (textoCampo=="error")
		{
				window.alert("Los datos insertados no son correctos en el campo Teléfono, solo puede insertar números")
		}
	}else if (nom=="movil"){
		textoCampo = window.document.f_tarea.movil.value
		textoCampo = validarEntero(textoCampo)
		if (textoCampo=="error")
		{
				window.alert("Los datos insertados no son correctos en el campo Movil, solo puede insertar números")
		}
	}

}
function validarFormularioCharacter(nomp){
      //extraemos el valor del campo
	  var textoCampo;
	if (nomp=="nom_pers")
	{
		textoCampo = window.document.f_tarea.nom_pers.value
		textoCampo = validarString(textoCampo)
		if (textoCampo=="error")
		{
				window.alert("Los datos insertados no son correctos en el campo nombre, solo se pueden insertar carácteres")
		}
	}else if (nomp=="apellido1")

	{
		textoCampo = window.document.f_tarea.apellido1.value
		textoCampo = validarString(textoCampo)
		if (textoCampo=="error")
		{
				window.alert("Los datos insertados no son correctos en el campo apellido1, solo se pueden insertar carácteres")
		}
	}else if (nomp=="apellido2")
	{
		textoCampo = window.document.f_tarea.apellido2.value
		textoCampo = validarString(textoCampo)
		if (textoCampo=="error")
		{
				window.alert("Los datos insertados no son correctos en el campo apellido2, solo se pueden insertar carácteres")
		}
	}else if (nomp=="municipi")
	{
		textoCampo = window.document.f_tarea.municipi.value
		textoCampo = validarString(textoCampo)
		if (textoCampo=="error")
		{
				window.alert("Los datos insertados no son correctos en el campo municipio, solo se pueden insertar carácteres")
		}
	}else if (nomp=="isla")
	{
		textoCampo = window.document.f_tarea.isla.value
		textoCampo = validarString(textoCampo)
		if (textoCampo=="error")
		{
				window.alert("Los datos insertados no son correctos en el campo isla, solo se pueden insertar carácteres")
		}
	}
}

function validarFormularioEmail(nomp){
      //extraemos el valor del campo
	  var textoCampo;
	if (nomp=="email")
	{
		textoCampo = window.document.f_tarea.email.value
		textoCampo = validarEmail(textoCampo)
		if (textoCampo=="error")
		{
				window.alert("Les dades inserides no són correctes al camp email, revisi el nom de la seva direcció")
		}
	}


}
function showtip(tip){
	document.tool.info.value=tip
}

function act_inm()
{
	if (document.f_tarea.inmigrante.checked==1)
	{
		document.f_tarea.pp.disabled=false;
		document.f_tarea.nacionalidad.disabled=false;
	}else{
		document.f_tarea.pp.disabled=true;
		document.f_tarea.nacionalidad.disabled=true;
	}
}

function act_laboral()
{
	if (document.f_tarea.sl.value=='a')
	{
		document.f_tarea.ne.disabled=false;
		document.f_tarea.me.disabled=false;
		document.f_tarea.ce.disabled=false;
	}else{
		document.f_tarea.ne.disabled=true;
		document.f_tarea.me.disabled=true;
		document.f_tarea.ce.disabled=true;
	}
}

function act_especialidad()
{
	if ((document.f_tarea.estudios.value=='ee')||(document.f_tarea.estudios.value=='fppg')||(document.f_tarea.estudios.value=='fpsg')||(document.f_tarea.estudios.value=='tgm')||(document.f_tarea.estudios.value=='tgs')||(document.f_tarea.estudios.value=='bcbt')||(document.f_tarea.estudios.value=='ce'))
	{
		document.f_tarea.especialidad.disabled=false;
	}else{
		document.f_tarea.especialidad.disabled=true;
	}
}

function act_obt_titulo()
{
	if ((document.f_tarea.estudios.value=='ee')||(document.f_tarea.estudios.value=='fppg')||(document.f_tarea.estudios.value=='fpsg')||(document.f_tarea.estudios.value=='tgm')||(document.f_tarea.estudios.value=='tgs')||(document.f_tarea.estudios.value=='bcbt')||(document.f_tarea.estudios.value=='ce'))
	{
		document.f_tarea.aot.disabled=false;
	}else{
		document.f_tarea.aot.disabled=true;
	}
}

function act_prest_economica()
{
	if ((document.f_tarea.pe.value=='s'))
	{
		document.f_tarea.tp.disabled=false;
	}else{
		document.f_tarea.tp.disabled=true;
	}
}

function situacion_laboral()
{
	if ((document.f_tarea.sl.value=='n'))
	{
		document.f_tarea.atp.disabled=true;
		document.f_tarea.ooi.disabled=true;
		document.f_tarea.fech_ant.disabled=true;
		document.f_tarea.pe.disabled=true;
		document.f_tarea.tp.disabled=true;
		document.f_tarea.ne.disabled=true;
		document.f_tarea.me.disabled=true;
		document.f_tarea.ce.disabled=true;
	}else{
		if ((document.f_tarea.sl.value=='p'))
		{
			act_laboral();
			document.f_tarea.ooi.disabled=false;
			document.f_tarea.fech_ant.disabled=false;
			document.f_tarea.pe.disabled=false;
			document.f_tarea.tp.disabled=false;
			document.f_tarea.atp.disabled=false;
		}else{
			document.f_tarea.atp.disabled=false;
			document.f_tarea.ooi.disabled=false;
			document.f_tarea.fech_ant.disabled=false;
			document.f_tarea.pe.disabled=false;
			document.f_tarea.tp.disabled=false;
			document.f_tarea.ne.disabled=false;
			document.f_tarea.me.disabled=false;
			document.f_tarea.ce.disabled=false;
		}
	}
}