function ft(xUrl,xform,campo1,campo2) {
var xform=xform
var c1=campo1
var c2=campo2
if (document.getElementById(xform).ft.value=="no" && document.getElementById(c2).value!="")  {
					  var xmlhttp = false;
					  try {
						xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
					   } catch (e) {
						  try {
							xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
						  } catch (E) {
							xmlhttp = false;
						  }
					   }
					  if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
						xmlhttp = new XMLHttpRequest();
					  }
				xUrl=xUrl + '?n=1'
				   for (i = 0; i < document.getElementById(xform).elements.length; i++){
						xUrl=xUrl + '&' + document.getElementById(xform).elements[i].name + '=' + document.getElementById(xform).elements[i].value
					}
					  xmlhttp.open("GET", xUrl,true);
					  xmlhttp.send(null)
}
}

function okupc()
{
	var campo;
	var error;
	var mailErroni
	var telErroni
	var fechaErroni
	var paisErroni
	var paisErroni1
	var data;
	error=false;
	mailErroni=false;
	telErroni=false;
	fechaErroni=false;
	paisErroni=false;
	paisErroni1=false;
	errorCP=false;

	campo = new String("Le falta rellenar los siguientes campos: \n\n");

	if (document.formu.nombre.value == "")
	{
		campo+="nombre";
		campo+="\n";
		error=true;
	}
	if (document.formu.apellidos.value == "")
	{
		campo+="apellidos";
		campo+="\n";
		error=true;
	}
	if (document.formu.cp.value == "")
	{
		campo+="cp";
		campo+="\n";
		error=true;
	}			
	if (document.formu.provincia.value == "")
	{
		campo+="provincia";
		campo+="\n";
		error=true;
	}	
	if (document.formu.pais.value == "")
	{
		campo+="pais";
		campo+="\n";
		error=true;
	}	
	if (document.formu.tel.value == "" )
	{
		campo+="teléfono";
		campo+="\n";
		error=true;
	}
	if (document.formu.email.value == "")
	{
		campo+="E-mail";
		campo+="\n";
		error=true;
	}
	if (document.formu.email.value != ""){
		if (!emailCheck(document.formu.email.value))
		{
			mailErroni=true;
		}

	}
	if (document.formu.tel.value != "")
	{
		if (!esTelefono("tel"))
		{
			telErroni=true;
		}
	}
	if (document.formu.pais.value=="66"){
		if (document.formu.provincia.value=="0"){
			paisErroni=true;	
		}
	}
	if (document.formu.pais.value!="66"){
		if (document.formu.provincia.value!="0"){
			paisErroni1=true;	
		}
	}
	
	if (error)
	{
		alert (campo.toUpperCase());
	}
	else
	{
		msn="";
		if(mailErroni)
		{
			msn+="La dirección de e-mail no es correcta.\n";
		}
		
		if(telErroni)
		{
			msn+="El teléfono no es correcto.\n";
		}
		if(paisErroni)
		{
			msn+="Si has seleccionado España en el campo país, debes seleccionar una provincia Española en el campo provincia";
		}
		if(paisErroni1)
		{
			msn+="Si has seleccionado un pais diferente de España en el campo país, debes seleccionar OTROS - FUERA DE ESPAÑA en el campo provincia";
		}				
		if(msn.length>0){
			alert(msn);
		}
		else{
			document.formu.ft.value="si";
			document.formu.submit();
		}
	}
}
function esTelefono(campo)
{
	estelf = true;
	msg = "";
	char0 = "0".charCodeAt();
	char9 = "9".charCodeAt();
	eval("telf = document.formu."+campo+".value")
	if (telf == "") estelf = false
    telefono = "";
	for(i=0 ; i< telf.length; i++){
  	  caracter = telf.charCodeAt(i);
	  if ( caracter >= char0 && caracter <= char9 ) telefono += telf.charAt(i);
	  }
	if (telefono.length != 9) estelf = false
	if (estelf == true) eval("document.formu."+campo+".value = telefono");
	return estelf;
}

function emailCheck (emailStr) {
/* Verificar si el email tiene el formato user@dominio. */
var emailPat=/^(.+)@(.+)$/ ;
/* Verificar la existencia de caracteres. ( ) < > @ , ; : \ " . [ ] */
var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]" ;

/* Verifica los caracteres que son válidos en una dirección de email */
var validChars="\[^\\s" + specialChars + "\]" ;
var quotedUser="(\"[^\"]*\")" ;

/* Verifica si la dirección de email está representada con una dirección IP Válida */
var ipDoformuPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;


/* Verificar caracteres inválidos */

var atom=validChars + '+';
var word="(" + atom + "|" + quotedUser + ")";
var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
/* doformu, as opposed to ipDoformuPat, shown above. */
var doformuPat=new RegExp("^" + atom + "(\\." + atom +")*$");


var matchArray=emailStr.match(emailPat);
if (matchArray==null) {
//alert("Email address seems incorrect (check @ and .'s)");
return false
}
var user=matchArray[1];
	var doformu=matchArray[2];

	// Si el user "user" es valido
	if (user.match(userPat)==null) {
		// Si no
		//alert("El nombre de usuario no es válido.");
		return false
	}
/* Si la dirección IP es válida */
	var IPArray=doformu.match(ipDoformuPat);
	if (IPArray!=null) {
		for (var i=1;i<=4;i++) {
		if (IPArray[i]>255) {
		//alert("IP de destino inválida");
			return false;
			}
		}
			return true;
		}

	var doformuArray=doformu.match(doformuPat);
	if (doformuArray==null) {
		//alert("El dominio parece no ser válido.");
		return false;
	}

	var atomPat=new RegExp(atom,"g");
	var domArr=doformu.match(atomPat);
	var len=domArr.length;
	if (domArr[domArr.length-1].length<2 ||
	domArr[domArr.length-1].length>3) {

	//alert("La dicrección debe tener 3 letras si es .'com' o 2 si en de algún pais.");
	return false;
	}
	if (len<2) {
		//var errStr="La dirección es erronea";
		//alert(errStr);
		return false;
	}

	// La dirección de email ingresada es Válida
	return true;
}

function Left(s, n){
// Devuelve los n primeros caracteres de la cadena
	if(n>s.length)
		n=s.length;					
		return s.substring(0, n);
}					
function UCase(s){
// Devuelve la cadena convertida a mayúsculas
	return s.toUpperCase();
}				
function InStr(n, s1, s2){
	// Devuelve la posición de la primera ocurrencia de s2 en s1
	// Si se especifica n, se empezará a comprobar desde esa posición
	// Sino se especifica, los dos parámetros serán las cadenas
	var numargs=InStr.arguments.length;					
	if(numargs<3)
		return n.indexOf(s1)+1;
	else
		return s1.indexOf(s2, n)+1;
}						
function getCookieVal (offset) {
	var endstr = document.cookie.indexOf (";", offset);
	if (endstr == -1)
		endstr = document.cookie.length;
		return unescape(document.cookie.substring(offset, endstr));
}
function GetCookie (name) {
	var arg = name + "=";
	var alen = arg.length;
	var clen = document.cookie.length;
	var i = 0;
	while (i < clen) {
		var j = i + alen;
		if (document.cookie.substring(i, j) == arg)
			return getCookieVal (j);
			i = document.cookie.indexOf(" ", i) + 1;
			if (i == 0) 
			break; 
		}
	return null;
}
function cargadatos(){
		if (GetCookie("nombre")!=null) {
			var re =new RegExp("\\+","g");
			if (GetCookie("nombre")!=null) {
					document.formu.nombre.value=GetCookie("nombre").replace(re," ");
					document.getElementById("nombre").style.backgroundColor = "#FFFFCC";
			}
			if (GetCookie("apellidos")!=null) {
				document.formu.apellidos.value=GetCookie("apellidos").replace(re," ");
				document.getElementById("apellidos").style.backgroundColor = "#FFFFCC";
				if (InStr(UCase(GetCookie("nombre")), UCase(GetCookie("apellidos")))!=0) {
					document.formu.nombre.value=Left(GetCookie("nombre").replace(re," "),InStr(UCase(GetCookie("nombre")), UCase(GetCookie("apellidos")))-1)
				}									
			}
			if (GetCookie("telefono")!=null) {
				document.formu.tel.value=GetCookie("telefono").replace(re," ");
				document.getElementById("tel").style.backgroundColor = "#FFFFCC";
			}
			if (GetCookie("amail")!=null) {
				document.formu.email.value=GetCookie("amail");
				document.getElementById("email").style.backgroundColor = "#FFFFCC";	
			}
			if (GetCookie("cp")!=null) {
				document.formu.cp.value=GetCookie("cp");
				document.getElementById("cp").style.backgroundColor = "#FFFFCC";	
			}			
		}
}

