function emailCheck (emailStr) 
{
	var emailPat=/^(.+)@(.+)$/
	var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
	var validChars="\[^\\s" + specialChars + "\]"
	var quotedUser="(\"[^\"]*\")"
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
	var atom=validChars + '+'
	var word="(" + atom + "|" + quotedUser + ")"
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")
	var matchArray=emailStr.match(emailPat)
	if (matchArray==null) {
		alert("Email incorrect")
		return false
	}
	var user=matchArray[1]
	var domain=matchArray[2]
	if (user.match(userPat)==null) {
		alert("Email incorrect")
		return false
	}
	var IPArray=domain.match(ipDomainPat)
	if (IPArray!=null) {
		  for (var i=1;i<=4;i++) {
			if (IPArray[i]>255) {
				alert("Email incorrect")
			return false
			}
		}
		return true
	}

	var domainArray=domain.match(domainPat)
	if (domainArray==null) {
		alert("Email incorrect")
		return false;
	}
	var atomPat=new RegExp(atom,"g")
	var domArr=domain.match(atomPat)
	var len=domArr.length
	if (domArr[domArr.length-1].length<2 || 
		domArr[domArr.length-1].length>4) {
		 alert("Email incorrect")
	   return false
	}

	if (len<2) {
	   var errStr="Email incorrect"
	   alert(errStr)
	   return false
	}
}

function formRegistroCliente(){

	var nombre=document.getElementById('nombre');
	var apellidos=document.getElementById('apellidos');
	var dni_cif=document.getElementById('dni_cif');
	var tel_movil=document.getElementById('tel_movil');
	var tel_fijo=document.getElementById('tel_fijo');
	var direccion=document.getElementById('direccion');
	var cp=document.getElementById('cp');
	var poblacion=document.getElementById('poblacion');
	var provincia=document.getElementById('provincia');
	var pais=document.getElementById('pais');
	var correo_e=document.getElementById('correo_e');
	var como_conocio=document.getElementById('como_conocio');
	var otros_datos_envio1=document.getElementById('otros_datos_envio1');
	var nombre_env=document.getElementById('nombre_env');
	var apellidos_env=document.getElementById('apellidos_env');
	var dni_cif_env=document.getElementById('dni_cif_env');
	var tel_movil_env=document.getElementById('tel_movil_env');
	var tel_fijo_env=document.getElementById('tel_fijo_env');
	var direccion_env=document.getElementById('direccion_env');
	var cp_env=document.getElementById('cp_env');
	var poblacion_env=document.getElementById('poblacion_env');
	var provincia_env=document.getElementById('provincia_env');
	var pais_env=document.getElementById('pais_env');
	var correo_e_env=document.getElementById('correo_e_env');
	var es_regalo=document.getElementById('es_regalo');
	var tarjeta_regalo=document.getElementById('tarjeta_regalo');
	

	
	if(!vacio(nombre) || !vacio(apellidos) || !vacio(dni_cif) || !vacio(tel_movil) || !vacio(direccion) || !vacio(cp) || !vacio(poblacion) || !vacio(provincia) || !vacio(pais) || !vacio(correo_e) || !vacio(como_conocio)){
		alert("Fields marked with an asterisk must be filled.");
		if(!vacio(nombre)){
			nombre.focus();
			return false;
		}
		if(!vacio(apellidos)){
			apellidos.focus();
			return false;
		}
		if(!vacio(dni_cif)){
			dni_cif.focus();
			return false;
		}
		if(!vacio(tel_movil)){
			tel_movil.focus();
			return false;
		}
		if(!vacio(direccion)){
			direccion.focus();
			return false;
		}
		if(!vacio(cp)){
			cp.focus();
			return false;
		}
		if(!vacio(poblacion)){
			poblacion.focus();
			return false;
		}
		if(!vacio(provincia)){
			provincia.focus();
			return false;
		}
		if(!vacio(pais)){
			pais.focus();
			return false;
		}
		if(!vacio(correo_e)){
			correo_e.focus();
			return false;
		}
		if(!vacio(como_conocio)){
			como_conocio.focus();
			return false;
		}
	
	}


	if(!letras(nombre) || !letras(apellidos) || !letras(poblacion) || !letras(provincia)){
		alert("Please check your entry. They can contain numbers: \ n-Name \ n-Last Name \ n-Town \ n-Province");
		if(!vacio(nombre)){
			nombre.focus();
			return false;
		}
		if(!vacio(apellidos)){
			apellidos.focus();
			return false;
		}
		if(!vacio(poblacion)){
			poblacion.focus();
			return false;
		}
		if(!vacio(provincia)){
			provincia.focus();
			return false;
		}
		return false;
	}
	if(!numerico(tel_movil) ){
		alert("Please check your entry. It cannot contain numbers: \ n-Mobile Phone");
		tel_movil.focus();
		return false;
	}
	if(!nDigitos(tel_movil,8,25)){
		alert("Please check your entry. The mobile phone must contain between 9 and 25 numbers");
		tel_movil.focus();
		return false;
	}
	if(vacio(tel_fijo)){
		if(!numerico(tel_fijo)){
			alert("Please check your entry. It cannot contain numbers: \ n - Telephone");
			tel_fijo.focus();
			return false;
		}
		if(!nDigitos(tel_fijo,9,25)){
			alert("Please check your entry. The Telephone must contain between 9 and 25 numbers");
			tel_fijo.focus();
			return false;
		}
	}
	

	if(correo_e.value.length<1){
		alert("Please enter your email");
		correo_e.focus();
		return false;
	}else{
		var resu=emailCheck (correo_e.value);
		if(resu ==false){
			 correo_e.focus();
			 return resu;
		}
	
	}

	if(otros_datos_envio1.checked==false){
	
		if(!vacio(nombre_env) || !vacio(apellidos_env) || !vacio(tel_movil_env) || !vacio(direccion_env) || !vacio(cp_env) || !vacio(poblacion_env) || !vacio(provincia_env) || !vacio(pais_env) || !vacio(correo_e_env) ){
			alert("Fields marked with an asterisk must be filled.");
			if(!vacio(nombre_env)){
				nombre_env.focus();
				return false;
			}
			if(!vacio(apellidos_env)){
				apellidos_env.focus();
				return false;
			}
			if(!vacio(tel_movil_env)){
				tel_movil_env.focus();
				return false;
			}
			if(!vacio(direccion_env)){
				direccion_env.focus();
				return false;
			}
			if(!vacio(cp_env)){
				cp_env.focus();
				return false;
			}
			if(!vacio(poblacion_env)){
				poblacion_env.focus();
				return false;
			}
			if(!vacio(provincia_env)){
				provincia_env.focus();
				return false;
			}
			if(!vacio(pais_env)){
				pais_env.focus();
				return false;
			}
			if(!vacio(correo_e_env)){
				correo_e_env.focus();
				return false;
			}
			return false;
		}
	
	
		if(!letras(nombre_env) || !letras(apellidos_env) || !letras(poblacion_env) || !letras(provincia_env)){
			alert("Please check your entry. They can contain numbers: \ n-Name \ n-Last Name \ n-Town \ n-Province");
			if(!vacio(nombre_env)){
				nombre_env.focus();
			}
			if(!vacio(apellidos_env)){
				apellidos_env.focus();
			}
			if(!vacio(poblacion_env)){
				poblacion_env.focus();
			}
			if(!vacio(provincia_env)){
				provincia_env.focus();
			}
			return false;
		}
		if(!numerico(tel_movil_env) ){
			alert("Please check your entry. It cannot contain numbers: \ n-Mobile Phone");
			tel_movil_env.focus();
			return false;
		}
		if(!nDigitos(tel_movil_env,8,25)){
			alert("Please check your entry. The mobile phone must contain between 9 and 25 numbers");
			tel_movil_env.focus();
			return false;
		}
		if(vacio(tel_fijo_env)){
			if(!numerico(tel_fijo_env)){
				alert("Please check your entry. It cannot contain numbers: \ n - Telephone");
				tel_fijo_env.focus();
				return false;
			}
			if(!nDigitos(tel_fijo_env,9,25)){
				alert("Please check your entry. The Telephone must contain between 9 and 25 numbers");
				tel_fijo_env.focus();
				return false;
			}
		}
		

		if(correo_e_env.value.length<1){
			alert("Please enter your email");
			correo_e_env.focus();
			return false;
		}else{
			var resu=emailCheck (correo_e_env.value);
			if(resu ==false){
				 correo_e_env.focus();
				 return resu;
			}
		
		}
	
	}
	if(es_regalo){
	if(es_regalo.checked==true){
		if(!vacio(tarjeta_regalo)){
			alert("Enter the text for the gift card");
			tarjeta_regalo.focus();
			return false;
		}
	}
	}

	return true;
	
}

//función que valida los campos vacios de los formularios
function vacio(variable){
	if(variable.value==""){
		return false;
	}else{
		return true;
	}
}

// función que valida los campos numéricos de los formularios
function numerico(variable){
	if(isNaN(variable.value)){
		return false;
	}else{
		if(variable.value.indexOf(".",0)!=-1){
			return false;
		}
	}
	return true;
}

// función que valida los campos alfabéticos de los formularios
function letras(variable){
var num="0123456789";
	for (i = 0; i < num.length; i++) {	
		if(variable.value.indexOf(num.charAt(i))!=-1){
			return false;
			break;
		}
	}
	return true;
}

//function que validad el número de caracteres mínimos
function nDigitos(variable,limit1,limit2){
	//permite que haya espacios
	variableN="";
	cortaVariable= variable.value.split(" ");
	for(i=0; i<cortaVariable.length; i++){
		variableN= variableN + cortaVariable[i];
	}		
	if (variableN.length<limit1 || variableN.length>limit2){
		return false;
	}
	return true;
	
}

function copia(origen,destino){
	document.getElementById(destino).value=document.getElementById(origen).value;

}

function valida_contacto(){
	if(document.getElementById("nombre").value.length<3){
		alert("Enter your name");
		document.getElementById("nombre").focus();
		return false;
	}

	if(document.getElementById("e_mail").value.length<1){
		alert("Enter your e-mail");
		document.getElementById("e_mail").focus();
		return false;
	}else{
		var resu=emailCheck (document.getElementById("e_mail").value);
		if(resu ==false){
			 document.getElementById("e_mail").focus();
			 return resu;
		}
	
	}

	if(document.getElementById("asunto").value.length<3){
		alert("Enter the subject");
		document.getElementById("asunto").focus();
		return false;
	}


	if((document.getElementById("mensaje").value.length<3)||(document.getElementById("mensaje").value=="Enter the message")){
		alert("Enter the message");
		document.getElementById("mensaje").focus();
		return false;
	}

	return true;

}

function valida_recomendar(){
	if(document.getElementById("tu_nombre").value.length<3){
		alert("Enter your name");
		document.getElementById("tu_nombre").focus();
		return false;
	}
	
	if(document.getElementById("nombre_amigo").value.length<3){
		alert("Enter the name of your friend");
		document.getElementById("nombre_amigo").focus();
		return false;
	}	

	if(document.getElementById("e_mail_amigo").value.length<1){
		alert("Enter the e-mail of your friend");
		document.getElementById("e_mail_amigo").focus();
		return false;
	}else{
		var resu=emailCheck (document.getElementById("e_mail_amigo").value);
		if(resu ==false){
			 document.getElementById("e_mail_amigo").focus();
			 return resu;
		}
	
	}


	if((document.getElementById("mensaje").value.length<3)||(document.getElementById("mensaje").value=="Enter the message")){
		alert("Enter the message");
		document.getElementById("mensaje").focus();
		return false;
	}

	return true;

}
