// JavaScript Document
function comprobarTelefono(numero)
{	
	//alert('telefono:'+numero+' numero:'+numero.length+' numero:'+numero.substr(0,1));
	return ((numero.length==15) && numero.substr(0,1) == '+');
}
function mascara(campo, separador, pat, nums, e)
{
	var tecla;
	var val;
	var val2;
	var val3;
	var largo;
	var q;
	var r;
	var s;
	var z;
	var letra;
	
	
	if(window.event) // IE
	{
		tecla = e.keyCode;
	}
	else if(e.which) // Netscape/Firefox/Opera
	{
		tecla = e.which;
	}

	// alert("TIPO: "+e.type+" - TECLA: "+tecla);
	if (tecla != 1 && tecla != 2 && tecla!=37 && tecla!=38 && tecla!=39 && tecla!=40 && tecla!=13)
	{
		if (campo.valant != campo.value)
		{
			val = campo.value;
			
			val = val.replace('+','');
			
			largo = val.length;
			val = val.split(separador);
			val2 = '';
			
			for(r=0;r<val.length;r++)
			{
				val2 += val[r];
			}
			
			if(nums)
			{
				for(z=0;z<val2.length;z++)
				{
					if(isNaN(val2.charAt(z)))
					{
						letra = new RegExp(val2.charAt(z),"g");
						val2 = val2.replace(letra,"");
					}
				}
			}
			
			val = '';
			val3 = new Array();
			for(s=0; s<pat.length; s++)
			{
				val3[s] = val2.substring(0,pat[s]);
				val2 = val2.substr(pat[s]);
			}
			
			for(q=0;q<val3.length; q++)
			{
				if(q ==0)
				{
					val = val3[q];
				}
				else
				{
					if(val3[q] != "")
					{
						val += separador + val3[q];
					}
				}
			}
			
			campo.value = '+'+val;
			campo.valant = val
		}
	}
}

function comprobarEmail(textomail)
{
	//var filter=/^[A-Za-z][A-Za-z0-9_]*@[A-Za-z0-9_]+\.[A-Za-z0-9_.]+[A-za-z]$/;
	var filter=/^(.+\@.+\..+)$/
	
	//alert('TEXTOMAIL: '+textomail);
	
	if (textomail.length == 0 ) return false;
	if (filter.test(textomail))
	{
		return true;
	}
	else
	{
		return false;
	}
}
function validarContacto(formulario)
{
		function limpiarCamposError()
		{
			document.getElementById('caparesultadonombre').style.display = 'none';
			formulario.nombre.style.backgroundColor = '#ffffff';
			document.getElementById('caparesultadoapellidos').style.display = 'none';
			formulario.apellidos.style.backgroundColor = '#ffffff';
			document.getElementById('caparesultadoemail').style.display = 'none';
			formulario.email.style.backgroundColor = '#ffffff';
			document.getElementById('caparesultadotlf').style.display = 'none';
			formulario.tlf.style.backgroundColor = '#ffffff';
			document.getElementById('caparesultadomensaje').style.display = 'none';
			formulario.mensaje.style.backgroundColor = '#ffffff';
		
		}
		function marcarError(campo,nombre,mensaje)
		{
			var caparesultado = document.getElementById('caparesultado'+nombre);
			var resultado = document.getElementById('resultado'+nombre);
			//campo.style.backgroundColor = '#eee';
			resultado.innerHTML = mensaje;
			caparesultado.style.display = 'block';
			//alert('campo:'+nombre+'  '+mensaje);
			if (!existenErroresPrevios)
			{
				existenErroresPrevios = true;
				campo.focus();
			}
		}
		
		nombre_valido = formulario.nombre.value!='';
		apellidos_valido = formulario.apellidos.value!='';
		
		email_rellenado = formulario.email.value!='';
		//alert('COMPROBAR EMAIL'+comprobarEmail(formulario.email.value));
		email_valido = comprobarEmail(formulario.email.value);
		
		//tlf_rellenado = formulario.tlf.value !='';
		//tlf_valido = comprobarTelefono(formulario.tlf.value);
		
		if (formulario.tlf.value != '')
		{
			var tlf_valido = comprobarTelefono(formulario.tlf.value);
		}
		else
		{
			var tlf_valido = true;
		}
		
		mensaje_valido = formulario.mensaje.value !='';
				
		var numErrores = 0;
		var existenErroresPrevios = false;
	
		limpiarCamposError();
		
		if (!nombre_valido)
		{
			//alert("El campo nombre no puede ser vacío");
			numErrores++;
			marcarError(formulario.nombre,'nombre', error_nombre);
		}
		if (!apellidos_valido)
		{
			//alert("El campo nombre no puede ser vacío");
			numErrores++;
			marcarError(formulario.apellidos,'apellidos', error_apellidos);
		}
		
		if (!email_rellenado)
		{
			//alert("El campo nombre no puede ser vacío");
			numErrores++;
			marcarError(formulario.email,'email', error_mail_vacio);
		}
		else
		{
			if (!email_valido)
			{
				//alert("El campo nombre no puede ser vacío");
				numErrores++;
				marcarError(formulario.email,'email', error_mail_mal);
			}
		}
		
		if (!tlf_valido)
		{
			//alert("El campo telefono no puede ser vacío");
			numErrores++;
			marcarError(formulario.tlf,'tlf', error_tlf_mal);
		}
		
		if (!mensaje_valido)
		{
			//alert("El campo mensaje no puede ser vacío");
			numErrores++;
			marcarError(formulario.mensaje,'mensaje', error_mensaje);
		}

		if (numErrores == 0)
		{
			formulario.inputJavascript.value = 'si';
			formulario.submit();
			return true;
		}
		else
		{
			return false;
		}
}