/********************************************************************************************************
                                    VALIDAR CAMPOS
*********************************************************************************************************/

//  Se comprueba que el contenido de los campos OBLIGATORIOS (*) sean correctos, de lo contrario se devuelve falso
function ValidarCampos(form)
	{
		if(!CampoNombre(form.Nombre,"NOMBRE")) return(false);
		if(!CampoNombre(form.Empresa,"EMPRESA")) return(false);
		if(!CampoNombre(form.Direccion,"DIRECCION")) return(false);
		if(!CampoCP(form.CodPostal)) return(false);
		if(!CampoTelefono(form.Telefono)) return(false);
		if(!CampoEMail(form.E_Mail)) return(false);
		alert ("Entrada de datos correctas.");
		
		document.location="Formulario_env.html?Nombre=" + form.Nombre.value;
		//window.open("Formulario_env.html?Nombre=" + form.Nombre.value,"_self");

		return(true);
	}
	
	
function CampoNombre(cNombre,cNomCampo)
	{
		var valor = cNombre.value;
		valor=js_Trim(valor);
		if(valor.length==0 || (valor.length==1 && valor==" "))
		{
			alert("Los datos introducidos en el campo " + cNomCampo + " no son correctos. Vuelva a introducirlo");
			cNombre.focus();
			return(false);
		}else
			return(true);
	}
	
function CampoCP(cCP)
	{
		var patron = /^\d{5}$/;
		var valor = cCP.value;
		
		if(!patron.test(valor))
		{
			alert("El codigo postal es incorrecto. Vuelva a introducirlo");
			cCP.focus();
			return(false);
		}else
			return(true);
		
	}
	
function CampoTelefono(cTel)
	{
		var patron = /^\d{9}$/;
		var valor = cTel.value;
		
		if(!patron.test(valor))
		{
			alert("El número de teléfono es incorrecto. Vuelva a introducirlo");
			cTel.focus();
			return(false);
		}else
			return(true);
		
	}
	
	
function CampoEMail(cEMail)
	{
		cValor=cEMail.value;

		if(!js_InStr(cValor, "@"))
		{
			alert("El E-Mail es incorrecto. Vuelva a introducirlo");
			cEMail.focus();
			return(false);
		}else
			return(true);
			
			
	}
	


/* 
								FUNCIONES PARA TRABAJAR CON CADENAS
								-----------------------------------
								
		js_Trim(cCadena)		: Devuelve una cadena sin espacios
		js_Right_Trim(cCadena)	: Devuelve una cadena sin espacios a la derecha
		js_Left_Trim(cCadena)	: Devuelve una cadena sin espacios a la izquierda
		js_InStr(nPos, cCadena1, cCadena2) : Devuelve la posición de la primera ocurrencia de
											 cCadena2 en cCadena1
*/


function js_Trim(cCadena)
	{
		// Elimina los espacios de la izquierda y la derecha de la cadena
		return js_Left_Trim(js_Right_Trim(cCadena));
	}

function js_Right_Trim(cCadena)
	{
		// Quita los espacios de la derecha de una cadena
		var j=0;
		
		// Recorre la cadena en busca del primer caracter diferente de un espacio
		for(var i=cCadena.length-1; i>-1; i--)
			if(cCadena.substring(i,i+1) != " "){
				j=i;
				break;
			}
		return cCadena.substring(0, j+1);
	}

function js_Left_Trim(cCadena)
	{
		// Quita los espacios de la izquierda de una cadena
		var i=0;
		var j=0;
		
		// Recorre la cadena en busca del primer caracter diferente de un espacio
		for(i=0; i<=cCadena.length-1; i++)
			if(cCadena.substring(i,i+1) != " "){
				j=i;
				break;
			}
		return cCadena.substring(j, cCadena.length);
	}


function js_InStr(nPos, cCadena1, cCadena2)
	{
		// Si se especifica nPos, se empezará a comprobar desde esa posición
		var numargs=js_InStr.arguments.length;
		
		if(numargs<3)
			return nPos.indexOf(cCadena1)+1;
		else
			return cCadena1.indexOf(cCadena2, nPos)+1;
	}
