var X=document;
function gE(a){
	return X.getElementById(a);
}
function cN(a,b){
	return a.className=b;
}
var midaF=1;
var minFS=1;
var maxFS=5;
function lFS(){ <!-- recupera de la cookie la darrera configuració de mida -->
	var a=X.cookie.split(";");
	for(var i=0,b,c;b=a[i];i++){
		if(b.indexOf('midaF')>-1){
			c=b.split("=");
			midaF=parseInt(c[1]);
			aFS(midaF);
		}
	}
}
function aFS(a){ <!-- estableix la mida del text -->
	var b=gE("mida");
	if(!b)return false;
	cN(b,"midaF"+a);
	return true;
}

function sFS(a){ <!-- guarda la mida a la cookie i li dona caducitat de 6 mesos -->
	var b=new Date();
	b.setTime(b.getTime()+(15552000000));
	b=b.toGMTString();
	X.cookie="midaF="+a+";path=/;expires="+b;
}
function pFS(){ <!-- amplia el text -->
	if(midaF<maxFS){
		var tmp=midaF;
		midaF++;
		if(aFS(midaF)){
			sFS(midaF);
		}
		else{
			midaF=tmp;
		}
	}
}
function mFS(){ <!-- redueix el text -->
	if(midaF>minFS){
		var tmp=midaF;
		midaF--;
		if(aFS(midaF)){
			sFS(midaF);
		}
		else{
			tmp=midaF;
		}
	}
}


function agregar(){
   if ((navigator.appName=="Microsoft Internet Explorer") &&
         (parseInt(navigator.appVersion)>=4)) {
      var url="http://www.ciudadanos-cs.org/"
      var titulo="Ciudadanos - Partido de la Ciudadanía"
      window.external.AddFavorite(url,titulo);
   } else {
      if(navigator.appName == "Netscape")
         alert("Presione Crtl+D para agregar este sitio en sus Bookmarks");
   }
}

function goLite(FRM,BTN)
{
   window.document.forms[FRM].elements[BTN].style.color = "#333333";
   window.document.forms[FRM].elements[BTN].style.backgroundColor = "#FFFFFF";
   window.document.forms[FRM].elements[BTN].style.filter = "progid:DXImageTransform.Microsoft.Gradient(GradientType=1,StartColorStr='#ffCCCCCC',EndColorStr='#ffFFFFFF')";
}

function goDim(FRM,BTN)
{
   window.document.forms[FRM].elements[BTN].style.color = "#666666";
   window.document.forms[FRM].elements[BTN].style.backgroundColor = "#FFFFFF";
   window.document.forms[FRM].elements[BTN].style.filter = "";
}

function limpiaBuscador(obj)
{
  obj.className='buscador_sin_fondo';
}

function restauraBuscador(obj)
{
  if ((obj.value=='') || (obj.value==' '))
  {
	obj.className='buscador_con_fondo';
  } 
  else
  {
	obj.className='buscador_sin_fondo';
  }
}


function showDate_es() {
	var dows = new Array("Domingo","Lunes","Martes","Miércoles","Jueves","Viernes","Sábado");
	var months = new Array("enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre");
	var now = new Date();
	var dow = now.getDay();
	var d = now.getDate();
	var m = now.getMonth();
	var h = now.getTime();
	var y = now.getYear();
	document.write(now.toLocaleString());
}
function showDate_ca() {
	var dows = new Array("Diumenge","Dilluns","Dimarts","Dimecres","Dijous","Divendres","Dissabte" );
	var months = new Array("Gener","Febrer","Març","Abril","Maig","Juny","Juliol","Agost","Setembre","Octubre","Novembre","Desembre");
	var now = new Date();
	var dow = now.getDay();
	var d = now.getDate();
	var m = now.getMonth();
	var h = now.getTime();
	var y = now.getYear();
	document.write(now.toLocaleString());
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function subscripccionBoletin()	{	
	var filter=/^[A-Za-z][A-Za-z0-9_.]*@[A-Za-z0-9_]+\.[A-Za-z0-9_.]+[A-za-z]$/;		
	if (document.boletinForm.email.value != null && document.boletinForm.email.value !="") {		
		if (filter.test(document.boletinForm.email.value)) {
			document.boletinForm.submit(); 
		} else {
			alert("Escribe una dirección de correo válida");
			document.boletinForm.email.focus();				
		}
	} else {
		document.boletinForm.email.focus();				
	}
}






/**
 * DHTML date validation script for dd/mm/yyyy. Courtesy of SmartWebby.com (http://www.smartwebby.com/dhtml/)
 */
// Declaring valid date character, minimum year and maximum year
var dtCh= "/";
var minYear=1900;
var maxYear=2100;

function isInteger(s){
	var i;
    for (i = 0; i < s.length; i++){   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}

function stripCharsInBag(s, bag){
	var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++){   
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function daysInFebruary (year){
	// February has 29 days in any year evenly divisible by four,
    // EXCEPT for centurial years which are not also divisible by 400.
    return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
}
function DaysArray(n) {
	for (var i = 1; i <= n; i++) {
		this[i] = 31
		if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
		if (i==2) {this[i] = 29}
   } 
   return this
}

function isDate(dtStr, locale){
	var daysInMonth = DaysArray(12);
	var pos1=dtStr.indexOf(dtCh);
	var pos2=dtStr.indexOf(dtCh,pos1+1);
	var strDay=dtStr.substring(0,pos1);
	var strMonth=dtStr.substring(pos1+1,pos2);
	var strYear=dtStr.substring(pos2+1);
	strYr=strYear;
	if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1);
	if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1);
	for (var i = 1; i <= 3; i++) {
		if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1);
	}
	month=parseInt(strMonth);
	day=parseInt(strDay);
	year=parseInt(strYr);
	if (pos1==-1 || pos2==-1){
		if (locale != null && (locale == "ca_ES"))	
			alert("El format de la data ha de ser : dd/mm/yyyy");			
		else 
			alert("El formato de la fecha debe ser : dd/mm/yyyy");
		return (false);
	}
	if (strMonth.length<1 || month<1 || month>12){
		if (locale != null && (locale == "ca_ES"))
			alert("Introdueix un mes vàlid (1-12)");
		else
			alert("Introduce un mes válido (1-12)");
		return (false);
	}
	if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
		if (locale != null && (locale == "ca_ES"))
			alert("Introdueix un dia vàlid (1-31)");
		else
			alert("Introduce un día válido (1-31)");
		return (false);
	}
	if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){
		if (locale != null && (locale == "ca_ES"))
			alert("Introdueix un dígit vàlid de 4 xifres entre "+minYear+" y "+maxYear);
		else
			alert("Introduce un dígito válido de 4 cifras entre "+minYear+" y "+maxYear);
		return (false);
	}
	if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){
		if (locale != null && (locale == "ca_ES"))
			alert("Introdueix una data vàlida");
		else
			alert("Introduce una fecha válida");
		return (false);
	}
}

function isEmailAddress(theElement, nombre_del_elemento, locale ) {
	
	var str = theElement.value;

	var at="@"
	var dot="."
	var lat=str.indexOf(at)
	var lstr=str.length
	var ldot=str.indexOf(dot)
	if (str.indexOf(at)==-1){
		alert("Escriba una dirección de correo válida en el campo " + nombre_del_elemento);
		theElement.focus();
	  return false
	}

	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		if (locale != null && (locale == "ca_ES"))
			alert("Escriu una adreça de correu vàlida en el camp " + nombre_del_elemento);
		else
			alert("Escribe una dirección de correo válida en el campo " + nombre_del_elemento);		
		theElement.focus();
	  return false
	}

	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		if (locale != null && (locale == "ca_ES"))
			alert("Escriu una adreça de correu vàlida en el camp " + nombre_del_elemento);
		else
			alert("Escribe una dirección de correo válida en el campo " + nombre_del_elemento);		
		theElement.focus();
	  return false
	}

	 if (str.indexOf(at,(lat+1))!=-1){
		if (locale != null && (locale == "ca_ES"))
			alert("Escriu una adreça de correu vàlida en el camp " + nombre_del_elemento);
		else
			alert("Escribe una dirección de correo válida en el campo " + nombre_del_elemento);		
		theElement.focus();
	  return false
	 }

	 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		if (locale != null && (locale == "ca_ES"))
			alert("Escriu una adreça de correu vàlida en el camp " + nombre_del_elemento);
		else
			alert("Escribe una dirección de correo válida en el campo " + nombre_del_elemento);		
		theElement.focus();
	  return false
	 }

	 if (str.indexOf(dot,(lat+2))==-1){
		if (locale != null && (locale == "ca_ES"))
			alert("Escriu una adreça de correu vàlida en el camp " + nombre_del_elemento);
		else
			alert("Escribe una dirección de correo válida en el campo " + nombre_del_elemento);		
		theElement.focus();
	  return false
	 }
	
	 if (str.indexOf(" ")!=-1){
		if (locale != null && (locale == "ca_ES"))
			alert("Escriu una adreça de correu vàlida en el camp " + nombre_del_elemento);
		else
			alert("Escribe una dirección de correo válida en el campo " + nombre_del_elemento);		
		theElement.focus();
	  return false
	 }

     return true					
}

function esNumerico(s, label_campo, locale){
	var i;
    for (i = 0; i < s.length; i++){   
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) {
        	if (locale != null && (locale == "ca_ES"))
	        	alert("El camp "+ label_campo +" ha de ser numèric.")
	        else
	        	alert("El campo "+ label_campo +" debe ser numérico.")
        	return false;
        }
    }
    // All characters are numbers.
    return true;
}

function isNumber(cadena) {
    for(i = 0;i < cadena.length;i++){
    	if (!isDigit(cadena.charAt(i))){
        	return false;
        }
    }
	return true;
}
function isDigit(caracter) {
	if (caracter < '0' || caracter > '9') { 
        return false;
    } else {
        return true;
    }
}

function isletter(caracter) {
	if ((caracter < 'A' || caracter > 'z') || (caracter > 'Z' && caracter < 'a')) { 
    	return false;
    } else {
        return true;
    }
}

function validaFormularioAltaSimpatizante(formulario, locale) {

	if (formulario.nombre.value == null || formulario.nombre.value == "") {
		if (locale != null && (locale == "ca_ES"))
			alert("El camp nom és obligatori");
		else 
			alert("El campo nombre es obligatorio");
		formulario.nombre.focus();
		return (false);
	}
	if (formulario.apellido1.value == null || formulario.apellido1.value == "") {
		if (locale != null && (locale == "ca_ES"))
			alert("El camp primer cognom és obligatori");
		else
			alert("El campo primer apellido es obligatorio");
		formulario.apellido1.focus();
		return (false);
	}	

	
	if ((formulario.dni.value != null && formulario.dni.value != "") &&
		(formulario.nie.value != null && formulario.nie.value != "")) {
		if (locale != null && (locale == "ca_ES"))
			alert("Has d'introduir un DNI o un NIE");
		else 
			alert("Debes introducir un DNI o un NIE");
		formulario.dni.value="";
		formulario.letra.value="";
		formulario.nie.value="";
		formulario.dni.focus();
		return (false);
	}
	
	if (formulario.dni.value != null && formulario.dni.value != "") {
		
		if (formulario.letra.value == null && formulario.letra.value == "") {
			if (locale != null && (locale == "ca_ES"))
				alert("Introdueix la lletra del DNI");
			else 
				alert("Introduce la letra del DNI");
			formulario.letra.focus();
			return (false);		
		} else {
			dni = formulario.dni.value;
			if (!/^\d{8}$/.test(dni)) {
				if (locale != null && (locale == "ca_ES"))
			   		alert ("El numero introduït no és vàlid, vegi el format");
			   	else
			   		alert ("El numero introducido no es válido, vea el formato");
		   		formulario.dni.focus();
		   		return (false);
	  		} else {
			  	var letras = 'TRWAGMYFPDXBNJZSQVHLCKE';
			  	var numero = dni%23;
			  	if (letras.substring(numero,numero+1) != formulario.letra.value) {
			  		if (locale != null && (locale == "ca_ES"))
				   		alert ("La lletra del DNI no és vàlida");
				   	else
				   		alert ("La letra del DNI no es válida");
			   		formulario.letra.focus();
			   		return (false);		  	
			  	}		  	
			}
		}
	}	
	
	
	if (formulario.nie.value != null && formulario.nie.value != "") {	
		
		var cadena = formulario.nie.value;		
		var letra = cadena.substring((cadena.length)-1,cadena.length);

		if (cadena.length == 9) {
			constant = cadena.substring(0,1);	
			num_tarjeta = cadena.substring(1,8);	
			
			if ((constant == 'X') || (constant == 'M')) {
			
				if ((num_tarjeta.length == '7') && (isNumber(num_tarjeta)) && ((isletter(letra)) || (isDigit(letra)))) {
				   	
				} else {
					if (locale != null && (locale == "ca_ES"))
						alert("El NIE introduït no és correcte, format X1234567X");
					else 
						alert("El NIE introducido no es correcto, formato X1234567X");
					formulario.nie.focus();
					return false;
				}
			} else {
				if (locale != null && (locale == "ca_ES"))
					alert("El NIE introduït no és correcte, format X1234567X");
				else 
					alert("El NIE introducido no es correcto, formato X1234567X");
				formulario.nie.focus();
				return false;			
			}	
		} else {
			if (locale != null && (locale == "ca_ES"))
				alert("El NIE ha d'estar format per una lletra, set nombres i una lletra, format X1234567X");
			else
				alert("El NIE debe estar formado por una letra, siete números y una letra, formato X1234567X");
			formulario.nie.focus();
			return false;		
		}
	}
	
	
	if (formulario.fecha_nacimiento.value != null && formulario.fecha_nacimiento.value != "") {
		var is_ok = isDate(formulario.fecha_nacimiento.value, locale);	
		if (is_ok == false){	
			formulario.fecha_nacimiento.focus();		
	    	return false;
	    }		
	}	

	if (formulario.provincia.value == null || formulario.provincia.value == "" || formulario.provincia.value == "0") {
		if (locale != null && (locale == "ca_ES"))
			alert("El camp província és obligatori");
		else
			alert("El campo provincia es obligatorio");
		formulario.provincia.focus();
		return (false);
	}	

	if (formulario.codigoPostal.value == null || formulario.codigoPostal.value == "") {
		if (locale != null && (locale == "ca_ES"))
			alert("El camp codi postal és obligatori");
		else
			alert("El campo código postal es obligatorio");
		formulario.codigoPostal.focus();
		return (false);
	} else {
		var is_ok_num = esNumerico(formulario.codigoPostal.value, "código postal", locale);	
		if (is_ok_num == false){	
			formulario.codigoPostal.focus();		
	    	return false;
	    }
		
	}
	
	if (formulario.movil.value != null && formulario.movil.value != "") {
		var is_ok_num1 = esNumerico(formulario.movil.value, "móvil", locale);
		if (is_ok_num1 == false){	
			formulario.movil.focus();		
	    	return false;	
	    }
	}

	if (formulario.telefono.value != null && formulario.telefono.value != "") {
		var is_ok_num3 = esNumerico(formulario.telefono.value, "teléfono", locale);
		if (is_ok_num3 == false){	
			formulario.telefono.focus();		
	    	return false;	
	    }	
	}	
	if (formulario.email_personal.value == null || formulario.email_personal.value == "") {
		if (locale != null && (locale == "ca_ES"))
			alert("El camp e-mail personal és obligatori");
		else
			alert("El campo e-mail personal es obligatorio");
		formulario.email_personal.focus();
		return (false);
	} else {
		var is_ok_mail = isEmailAddress(formulario.email_personal,"e-mail personal", locale);
		if (is_ok_mail == false){	
			formulario.email_personal.focus();		
	    	return false;	
	    }		
	}	

	if (formulario.email_alternativo.value != null && formulario.email_alternativo.value != "") {
		var is_ok_mail1 = isEmailAddress(formulario.email_alternativo,"e-mail alternativo", locale);
		if (is_ok_mail1 == false){	
			formulario.email_alternativo.focus();		
	    	return false;	
	    }
	}	
	
	var aceptado = document.getElementById("aceptar");
	if (aceptado.checked == false) {
		if (locale != null && (locale == "ca_ES")) {
			alert("Has d'acceptar les condicions de conformitat sobre el compliment de la llei que regula el tractament de dades personals");
			return false;
		} else {
			alert("Debes aceptar las condiciones de conformidad sobre el cumplimiento de la ley que regula el trato de datos personales");
			return false;
		}
	}
	
	return (true);
			
}


function validaFormularioAltaDiada(formulario, locale) {

	if (formulario.nombre.value == null || formulario.nombre.value == "") {
		if (locale != null && (locale == "ca_ES"))
			alert("El camp nom és obligatori");
		else 
			alert("El campo nombre es obligatorio");
		formulario.nombre.focus();
		return (false);
	}
	if (formulario.apellido1.value == null || formulario.apellido1.value == "") {
		if (locale != null && (locale == "ca_ES"))
			alert("El camp primer cognom és obligatori");
		else
			alert("El campo primer apellido es obligatorio");
		formulario.apellido1.focus();
		return (false);
	}	

	if ((formulario.dni.value == null || formulario.dni.value == "") &&
		(formulario.nie.value == null || formulario.nie.value == "")) {
		if (locale != null && (locale == "ca_ES"))
			alert("Introdueix un document identificatiu, DNI o NIE en cas d'estrangers ");
		else
			alert("Introduce un documento identificativo, DNI o NIE en caso de extranjeros");
		formulario.dni.focus();
		return (false);
	}
	
	if ((formulario.dni.value != null && formulario.dni.value != "") &&
		(formulario.nie.value != null && formulario.nie.value != "")) {
		if (locale != null && (locale == "ca_ES"))
			alert("Has d'introduir un DNI o un NIE");
		else 
			alert("Debes introducir un DNI o un NIE");
		formulario.dni.value="";
		formulario.letra.value="";
		formulario.nie.value="";
		formulario.dni.focus();
		return (false);
	}
	
	if (formulario.dni.value != null && formulario.dni.value != "") {
		
		if (formulario.letra.value == null && formulario.letra.value == "") {
			if (locale != null && (locale == "ca_ES"))
				alert("Introdueix la lletra del DNI");
			else 
				alert("Introduce la letra del DNI");
			formulario.letra.focus();
			return (false);		
		} else {
			dni = formulario.dni.value;
			if (!/^\d{8}$/.test(dni)) {
				if (locale != null && (locale == "ca_ES"))
			   		alert ("El numero introduït no és vàlid, vegi el format");
			   	else
			   		alert ("El numero introducido no es válido, vea el formato");
		   		formulario.dni.focus();
		   		return (false);
	  		} else {
			  	var letras = 'TRWAGMYFPDXBNJZSQVHLCKE';
			  	var numero = dni%23;
			  	if (letras.substring(numero,numero+1) != formulario.letra.value) {
			  		if (locale != null && (locale == "ca_ES"))
				   		alert ("La lletra del DNI no és vàlida");
				   	else
				   		alert ("La letra del DNI no es válida");
			   		formulario.letra.focus();
			   		return (false);		  	
			  	}		  	
			}
		}
	}	
	
	
	if (formulario.nie.value != null && formulario.nie.value != "") {	
		
		var cadena = formulario.nie.value;		
		var letra = cadena.substring((cadena.length)-1,cadena.length);

		if (cadena.length == 9) {
			constant = cadena.substring(0,1);	
			num_tarjeta = cadena.substring(1,8);	
			
			if ((constant == 'X') || (constant == 'M')) {
			
				if ((num_tarjeta.length == '7') && (isNumber(num_tarjeta)) && ((isletter(letra)) || (isDigit(letra)))) {
				   	
				} else {
					if (locale != null && (locale == "ca_ES"))
						alert("El NIE introduït no és correcte, format X1234567X");
					else 
						alert("El NIE introducido no es correcto, formato X1234567X");
					formulario.nie.focus();
					return false;
				}
			} else {
				if (locale != null && (locale == "ca_ES"))
					alert("El NIE introduït no és correcte, format X1234567X");
				else 
					alert("El NIE introducido no es correcto, formato X1234567X");
				formulario.nie.focus();
				return false;			
			}	
		} else {
			if (locale != null && (locale == "ca_ES"))
				alert("El NIE ha d'estar format per una lletra, set nombres i una lletra, format X1234567X");
			else
				alert("El NIE debe estar formado por una letra, siete números y una letra, formato X1234567X");
			formulario.nie.focus();
			return false;		
		}
	}
	
	
	if (formulario.fecha_nacimiento.value != null && formulario.fecha_nacimiento.value != "") {
		var is_ok = isDate(formulario.fecha_nacimiento.value, locale);	
		if (is_ok == false){	
			formulario.fecha_nacimiento.focus();		
	    	return false;
	    }		
	}	

	if (formulario.provincia.value == null || formulario.provincia.value == "" || formulario.provincia.value == "0") {
		if (locale != null && (locale == "ca_ES"))
			alert("El camp província és obligatori");
		else
			alert("El campo provincia es obligatorio");
		formulario.provincia.focus();
		return (false);
	}	

	if (formulario.codigoPostal.value == null || formulario.codigoPostal.value == "") {
		if (locale != null && (locale == "ca_ES"))
			alert("El camp codi postal és obligatori");
		else
			alert("El campo código postal es obligatorio");
		formulario.codigoPostal.focus();
		return (false);
	} else {
		var is_ok_num = esNumerico(formulario.codigoPostal.value, "código postal", locale);	
		if (is_ok_num == false){	
			formulario.codigoPostal.focus();		
	    	return false;
	    }
		
	}
	
	if (formulario.movil.value != null && formulario.movil.value != "") {
		var is_ok_num1 = esNumerico(formulario.movil.value, "móvil", locale);
		if (is_ok_num1 == false){	
			formulario.movil.focus();		
	    	return false;	
	    }
	}

	if (formulario.telefono.value != null && formulario.telefono.value != "") {
		var is_ok_num3 = esNumerico(formulario.telefono.value, "teléfono", locale);
		if (is_ok_num3 == false){	
			formulario.telefono.focus();		
	    	return false;	
	    }	
	}	
	if (formulario.email_personal.value == null || formulario.email_personal.value == "") {
		if (locale != null && (locale == "ca_ES"))
			alert("El camp e-mail és obligatori");
		else
			alert("El campo e-mail es obligatorio");
		formulario.email_personal.focus();
		return (false);
	} else {
		var is_ok_mail = isEmailAddress(formulario.email_personal,"e-mail personal", locale);
		if (is_ok_mail == false){	
			formulario.email_personal.focus();		
	    	return false;	
	    }		
	}	

	var aceptado = document.getElementById("aceptar");
	if (aceptado.checked == false) {
		if (locale != null && (locale == "ca_ES")) {
			alert("Has d'acceptar les condicions de conformitat sobre el compliment de la llei que regula el tractament de dades personals");
			return false;
		} else {
			alert("Debes aceptar las condiciones de conformidad sobre el cumplimiento de la ley que regula el trato de datos personales");
			return false;
		}
	}
	
	return (true);
			
}

function validaFormularioManifiestoLenguaComun(formulario, locale) {

	if (formulario.nombre.value == null || formulario.nombre.value == "") {
		if (locale != null && (locale == "ca_ES"))
			alert("El camp nom és obligatori");
		else 
			alert("El campo nombre es obligatorio");
		formulario.nombre.focus();
		return (false);
	}
	if (formulario.apellido1.value == null || formulario.apellido1.value == "") {
		if (locale != null && (locale == "ca_ES"))
			alert("El camp primer cognom és obligatori");
		else
			alert("El campo primer apellido es obligatorio");
		formulario.apellido1.focus();
		return (false);
	}	

	if ((formulario.dni.value == null || formulario.dni.value == "") &&
		(formulario.nie.value == null || formulario.nie.value == "")) {
		if (locale != null && (locale == "ca_ES"))
			alert("Introdueix un document identificatiu, DNI o NIE en cas d'estrangers ");
		else
			alert("Introduce un documento identificativo, DNI o NIE en caso de extranjeros");
		formulario.dni.focus();
		return (false);
	}
	
	if ((formulario.dni.value != null && formulario.dni.value != "") &&
		(formulario.nie.value != null && formulario.nie.value != "")) {
		if (locale != null && (locale == "ca_ES"))
			alert("Has d'introduir un DNI o un NIE");
		else 
			alert("Debes introducir un DNI o un NIE");
		formulario.dni.value="";
		formulario.letra.value="";
		formulario.nie.value="";
		formulario.dni.focus();
		return (false);
	}
	
	if (formulario.dni.value != null && formulario.dni.value != "") {
		
		if (formulario.letra.value == null && formulario.letra.value == "") {
			if (locale != null && (locale == "ca_ES"))
				alert("Introdueix la lletra del DNI");
			else 
				alert("Introduce la letra del DNI");
			formulario.letra.focus();
			return (false);		
		} else {
			dni = formulario.dni.value;
			if (!/^\d{8}$/.test(dni)) {
				if (locale != null && (locale == "ca_ES"))
			   		alert ("El numero introduït no és vàlid, vegi el format");
			   	else
			   		alert ("El numero introducido no es válido, vea el formato");
		   		formulario.dni.focus();
		   		return (false);
	  		} else {
			  	var letras = 'TRWAGMYFPDXBNJZSQVHLCKE';
			  	var numero = dni%23;
			  	if (letras.substring(numero,numero+1) != formulario.letra.value) {
			  		if (locale != null && (locale == "ca_ES"))
				   		alert ("La lletra del DNI no és vàlida");
				   	else
				   		alert ("La letra del DNI no es válida");
			   		formulario.letra.focus();
			   		return (false);		  	
			  	}		  	
			}
		}
	}	
	
	
	if (formulario.nie.value != null && formulario.nie.value != "") {	
		
		var cadena = formulario.nie.value;		
		var letra = cadena.substring((cadena.length)-1,cadena.length);

		if (cadena.length == 9) {
			constant = cadena.substring(0,1);	
			num_tarjeta = cadena.substring(1,8);	
			
			if ((constant == 'X') || (constant == 'M')) {
			
				if ((num_tarjeta.length == '7') && (isNumber(num_tarjeta)) && ((isletter(letra)) || (isDigit(letra)))) {
				   	
				} else {
					if (locale != null && (locale == "ca_ES"))
						alert("El NIE introduït no és correcte, format X1234567X");
					else 
						alert("El NIE introducido no es correcto, formato X1234567X");
					formulario.nie.focus();
					return false;
				}
			} else {
				if (locale != null && (locale == "ca_ES"))
					alert("El NIE introduït no és correcte, format X1234567X");
				else 
					alert("El NIE introducido no es correcto, formato X1234567X");
				formulario.nie.focus();
				return false;			
			}	
		} else {
			if (locale != null && (locale == "ca_ES"))
				alert("El NIE ha d'estar format per una lletra, set nombres i una lletra, format X1234567X");
			else
				alert("El NIE debe estar formado por una letra, siete números y una letra, formato X1234567X");
			formulario.nie.focus();
			return false;		
		}
	}
	
	
	if (formulario.email_personal.value == null || formulario.email_personal.value == "") {
		if (locale != null && (locale == "ca_ES"))
			alert("El camp e-mail és obligatori");
		else
			alert("El campo e-mail es obligatorio");
		formulario.email_personal.focus();
		return (false);
	} else {
		var is_ok_mail = isEmailAddress(formulario.email_personal,"e-mail personal", locale);
		if (is_ok_mail == false){	
			formulario.email_personal.focus();		
	    	return false;	
	    }		
	}	

	var aceptado = document.getElementById("aceptar");
	if (aceptado.checked == false) {
		if (locale != null && (locale == "ca_ES")) {
			alert("Has d'acceptar les condicions de conformitat sobre el compliment de la llei que regula el tractament de dades personals");
			return false;
		} else {
			alert("Debes aceptar las condiciones de conformidad sobre el cumplimiento de la ley que regula el trato de datos personales");
			return false;
		}
	}
	
	return (true);
			
}


