// JavaScript Document
function vText(v, lg, txt1, txt2){
	if(v.value != ""){ return 1; }else{ 
	switch(lg){
	case "en":
		txt2 = typeof(txt2) != 'undefined' ? txt2 : "Required field.";
		break;
	case "fr":
		txt2 = typeof(txt2) != 'undefined' ? txt2 : "Champ obligatoire";
		break;
	case "de":
		txt2 = typeof(txt2) != 'undefined' ? txt2 : "Pflichtfeld";
		break;
	case "pt":
		txt2 = typeof(txt2) != 'undefined' ? txt2 : "Campo obrigatório";
		break;
	default:
		txt2 = typeof(txt2) != 'undefined' ? txt2 : "Campo obligatorio";
		break;
	}
	txt1 = typeof(txt1) != 'undefined' ? txt1 : v.name;
	alert(txt1+": "+txt2);
	v.style.backgroundColor="#FBD008";
	
	v.focus();
	return 0; }
}

function vCaracteresMin(v,n, lg, txt1, txt2){
	if(v.value.length >= n){ return 1; }else{ 
	switch(lg){
	case "en":
		alert("Número de caracteres insuficiente.\nEl campo debe contener al menos "+n+" caracteres.");
		break;
	case "fr":
		alert("Número de caracteres insuficiente.\nEl campo debe contener al menos "+n+" caracteres.");
		break;
	default:
		txt1 = typeof(txt1) != 'undefined' ? txt1 : v.name;
		txt2 = typeof(txt2) != 'undefined' ? txt2 : txt1;
		alert(txt1+": Número de caracteres insuficiente. El campo debe contener al menos "+n+" caracteres.\n"+txt2+": Insufficient number of characters. The field must contain at least "+n+" characters.");
		break;
	}
	
	v.style.backgroundColor="#FBD008";
	v.focus();
	return 0; }
}

function vEmail(v, lg){
	if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(v.value)){ return 1; } else { 
	switch(lg){
	case "en":
		alert("E-mail is not correct");
		break;
	case "fr":
		alert("El e-mail no es correcto");
		break;
	case "de":
		alert("Die E-Mail ist nicht korrekt");
		break;
	case "pt":
		alert("O e-mail não é correto");
		break;
	default:
		alert("El e-mail no es correcto");
		break;
	}
	v.style.backgroundColor="#FBD008";
	v.focus();
	return 0; }
}

function vEquidad(v1,v2, lg){
	if (v1.value==v2.value){ return 1; } else { 
	switch(lg){
	case "en":
		alert("El valor de los dos campos no coincide");
		break;
	case "fr":
		alert("El valor de los dos campos no coincide");
		break;
	default:
		alert("El valor de los dos campos no coincide\nThe field values is not equal");
		break;
	}
	v2.style.backgroundColor="#FBD008";
	v2.focus();
	return 0; }
}

/*function quitarTodosEspacios(cadena) {
	for(i=0; i<cadena.length; i++) {
		if(cadena.charAt(i)==" ") {
			cadena=cadena.substring(i+1, cadena.length);
		}
	}

	for(i=cadena.length-1; i>=0; i--)	{
		if(cadena.charAt(i)==" ") {
			cadena=cadena.substring(0,i);
		}
		
	}
	
	return cadena;
}*/
function vNum(v, lg) {
	// Return immediately if an invalid value was passed in
	if (v.value+"" == "undefined" || v.value+"" == "null" || v.value+"" == "") {
		switch(lg){
		case "en":
			alert(v.name+"\nRequired field.");
			break;
		case "fr":
			alert(v.name+"\nCampo obligatorio fr.");
			break;
		default:
			alert(v.name+"\nCampo obligatorio.");
			break;
		}
		v.style.backgroundColor="#FBD008";
		v.focus();
		return 0;
	}
	var isValid = 1;
	
	// convert to a string for performing string comparisons.
	v.value += ""; 
	// Loop through length of string and test for any alpha numeric 
	// characters
	for (i = 0; i < v.value.length; i++) {
		// Alphanumeric must be between "0"-"9", "A"-"Z", or "a"-"z"
		if (!((v.value.charAt(i) >= "0") && (v.value.charAt(i) <= "9")))
		{
			isValid = 0;
			switch(lg){
			case "en":
				alert(v.name+"\nDebe introducir un valor numérico para este campo");
				break;
			case "fr":
				alert(v.name+"\nDebe introducir un valor numérico para este campo");
				break;
			default:
				alert(v.name+"\nDebe introducir un valor numeérico para este campo");
				break;
			}
			v.style.backgroundColor="#FBD008";
			v.focus();
			break;
		} 
	} // END for 
	return isValid;
} // end vNum

function vChekbox(v, tipo, lg) {
	if(v.checked){ return 1; }else{ 
		switch(lg){
		case "en":
			switch(tipo){
			case "legal" :
				alert("You may apcept the legal conditions.");
				break;
			case "edad" :
				alert("Yoy may have legal age");
				break;
			default :
				alert(v.name+"\nYou must check this box.");
			}//switch
			break;
		case "fr":
			switch(tipo){
			case "legal" :
				alert("Vous devez accepter les conditions légales.");
				break;
			case "edad" :
				alert("Être en âge.");
				break;
			default :
				alert(v.name+"\nVous devez cocher cette case.");
			}//switch
			break;
		case "de":
			switch(tipo){
			case "legal" :
				alert("Sie müssen akzeptieren, die rechtlichen Bedingungen.");
				break;
			case "edad" :
				alert("Muss Alter");
				break;
			default :
				alert(v.name+"\nSie müssen dieses Kontrollkästchen aktivieren.");
			}//switch
			break;
		case "pt":
			switch(tipo){
			case "legal" :
				alert("Deve aceitar as condições legais.");
				break;
			case "edad" :
				alert("Deve ser a idade.");
				break;
			default :
				alert(v.name+"\nVocê deve verificar esta caixa.");
			}//switch
			break;
		default:
			switch(tipo){
			case "legal" :
				alert("Debe aceptar las condiciones legales.");
				break;
			case "edad" :
				alert("Debe ser mayor de edad.");
				break;
			default :
				alert(v.name+"\nDebe marcar esta casilla.");
			}//switch
		}//switch
	}//if
}//function

function vAlfaNum(v, lg, txt1, txt2) {
	// Return immediately if an invalid value was passed in
	if (v.value+"" == "undefined" || v.value+"" == "null" || v.value+"" == "") {
		switch(lg){
		case "en":
			alert(v.name+"\nRequired field.");
			break;
		case "fr":
			alert(v.name+"\nCampo obligatorio fr.");
			break;
		default:
			alert(v.name+"\nCampo obligatorio.");
			break;
		}
		v.style.backgroundColor="#FBD008";
		v.focus();
		return 0;
	}
	var isValid = 1;
	
	// convert to a string for performing string comparisons.
	v.value += ""; 
	// Loop through length of string and test for any alpha numeric 
	// characters
	for (i = 0; i < v.value.length; i++) {
		// Alphanumeric must be between "0"-"9", "A"-"Z", or "a"-"z"
		if (!(((v.value.charAt(i) >= "0") && (v.value.charAt(i) <= "9")) || 
		((v.value.charAt(i) >= "a") && (v.value.charAt(i) <= "z")) ||
		((v.value.charAt(i) >= "A") && (v.value.charAt(i) <= "Z"))))
		{
			isValid = 0;
		} 
	} // END for 
	
	if(isValid==0){
		switch(lg){
			case "en":
				alert(v.name+"\nEl campo solo puede contener caracteres alfanumericos anglosajones\ny no debe contener espacios.");
				break;
			case "fr":
				alert(v.name+"\nEl campo solo puede contener caracteres alfanumericos anglosajones\ny no debe contener espacios.");
				break;
			default:
				txt1 = typeof(txt1) != 'undefined' ? txt1 : v.name;
				txt2 = typeof(txt2) != 'undefined' ? txt2 : txt1;
				alert(txt1+": Introduzca únicamente caracteres válidos\n"+txt2+": Only input valid characters\nA-Z, a-z, 0-9, '_', '-'");
				break;
		}
		v.style.backgroundColor="#FBD008";
		v.focus();
	}
	
	return isValid;
} // end vAlfaNum

function vDNI(v, lg) {
	//var RegExPattern = /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?!.*\s).*$/;   
	var RegExPattern = /^\d{8}[A-Za-z]$|^[A-Za-z]\d{8}$|^\d{9}$|^[A-Za-z]\d{7}[A-Za-z]$/;
	var errorMessage = 'Formato de NIF/CIF/Pasaporte/Tarj-Residencia INCORRECTO.\nPuede utilizar las siguientes combinaciones:\n\nDNI o Pasaporte Español: 1 letra y 8 números\nPasaportes Extranjeros: 9 números sin letras \nTarjetas de residencia: 1 letra + 7 números + 1 letra \n\nEn todos los casos no se admitirán espacios ni guiones.';   
	if ((v.value.match(RegExPattern)) && (v.value!='')) 
	{   
		 return 1;
	} else {  
			switch(lg){
			case "en":
				alert('Formato de NIF/CIF/Pasaporte/Tarj-Residencia INCORRECTO.\nPuede utilizar las siguientes combinaciones:\n\nDNI o Pasaporte Español: 1 letra y 8 números\nPasaportes Extranjeros: 9 números sin letras \nTarjetas de residencia: 1 letra + 7 números + 1 letra \n\nEn todos los casos no se admitirán espacios ni guiones.');
				break;
			case "fr":
				alert('Formato de NIF/CIF/Pasaporte/Tarj-Residencia INCORRECTO.\nPuede utilizar las siguientes combinaciones:\n\nDNI o Pasaporte Español: 1 letra y 8 números\nPasaportes Extranjeros: 9 números sin letras \nTarjetas de residencia: 1 letra + 7 números + 1 letra \n\nEn todos los casos no se admitirán espacios ni guiones.');
				break;
			default:
				alert('Formato de NIF/CIF/Pasaporte/Tarj-Residencia INCORRECTO.\nPuede utilizar las siguientes combinaciones:\n\nDNI o Pasaporte Español: 1 letra y 8 números\nPasaportes Extranjeros: 9 números sin letras \nTarjetas de residencia: 1 letra + 7 números + 1 letra \n\nEn todos los casos no se admitirán espacios ni guiones.');
				break;
			}
			v.style.backgroundColor="#FBD008";
			v.focus();
			return 0;
	} 
}

function vFecha(v, lg){ //fecha formato dd/mm/aaaa
	var Fecha= new String(v.value);	// Crea un string
	var RealFecha= new Date();	// Para sacar la fecha de hoy
	// Cadena Año
	var Ano= new String(Fecha.substring(Fecha.lastIndexOf("/")+1,Fecha.length));
	// Cadena Mes
	var Mes= new String(Fecha.substring(Fecha.indexOf("/")+1,Fecha.lastIndexOf("/")));
	// Cadena Día
	var Dia= new String(Fecha.substring(0,Fecha.indexOf("/")));
	
	salida = 1;

	// Valido el año
	if (isNaN(Ano) || Ano.length<4 || parseFloat(Ano)<1900){
        alert('Año inválido');
		salida = 0;
	}
	// Valido el Mes
	if (isNaN(Mes) || parseFloat(Mes)<1 || parseFloat(Mes)>12){
		alert('Mes inválido');
		salida = 0;
	}
	// Valido el Dia
	if (isNaN(Dia) || parseInt(Dia, 10)<1 || parseInt(Dia, 10)>31){
		alert('Día inválido');
		salida = 0;
	}
	if (Mes==4 || Mes==6 || Mes==9 || Mes==11 || Mes==2) {
		if (Mes==2 && Dia > 28 || Dia>30) {
			alert('Día inválido');
			salida = 0;
		}
	}
	
  if(salida==0){
	  v.style.backgroundColor="#FBD008";
	  v.focus();
  }
  return salida;	
}

function leerCookie(nombre) {
	if(document.cookie.search(nombre)!=-1){
	   a = document.cookie.substring(document.cookie.indexOf(nombre + '=') + nombre.length + 1,document.cookie.length);
	   if(a.indexOf(';') != -1)a = a.substring(0,a.indexOf(';'))
	}else
		a = "";
		
   return a; 
}

// INSCRIPCIÓN AL NEWSLETTER

function mostrarCookieNewsletter() {
	c = leerCookie('mensajeInputNewsletter');
	i = 0;
	while (i<10) {
		c = c.replace('+',' ');
		i++;
	}
	if(c!=""){
		c = decodeURIComponent(c);
		document.fnewsletter.email.value = c;
		document.fnewsletter.email.style.color = "#f00";
	}
}

function MM_changeProp(objId,x,theProp,theValue) { //v9.0
  var obj = null; with (document){ if (getElementById)
  obj = getElementById(objId); }
  if (obj){
	if (theValue == true || theValue == false)
	  eval("obj.style."+theProp+"="+theValue);
	else eval("obj.style."+theProp+"='"+theValue+"'");
  }
}
