 function validate_() {
				
                var errFlag = new Array();
                _qfMsg = '';
                var frm = document.forms['f_dades'];
				//VALIDACION NOMBRE
                var value = frm.elements['foto_nombre'].value;
                var field = frm.elements['foto_nombre'];
                var regex = /(\s|\S)/;
                if (!regex.test(value) && !errFlag['foto_nombre']) {
                        errFlag['foto_nombre'] = true;
                        _qfMsg = _qfMsg + '\n - El nombre y apellido es  obligatorio.';
                }
				//VALIDACION DNI
                var value = frm.elements['foto_dni'].value;
				var longitud = frm.elements['foto_dni'].value.length;
                var field = frm.elements['foto_dni'];
                var regex = /(\s|\S)/;

				if (!regex.test(value) && !errFlag['foto_dni']) {
                        errFlag['foto_dni'] = true;
                        _qfMsg = _qfMsg + '\n - El DNI es obligatorio.';
                }
				else if(longitud != 9 && longitud != 10 && longitud != 11)
				{
					errFlag['foto_dni'] = true;
                    _qfMsg = _qfMsg + '\n - El DNI no es correcto.';
				}
				else
				{	
					//comprobamos que los 8 primeros caracteres del dni son numeros
					var checkOK = "0123456789";
  					var checkStr = frm.elements['foto_dni'].value;
  					var allValid = true;
					var allValid2 = true;
  					var decPoints = 0;
  					var allNum = "";
  					for (i = 0; i < checkStr.length-1; i++) {
    					ch = checkStr.charAt(i);	
    					for (j = 0; j < checkOK.length; j++)
	      					if (ch == checkOK.charAt(j))
        					break;
    					if (j == checkOK.length) {
	      					allValid = false;
      						break;
    					}
    				allNum += ch;
  					}
					//Comprobamos que el ultimo caracter es una letra
					ch = checkStr.charAt(8);
					var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" + "abcdefghijklmnopqrstuvwxyz-";
					for (j = 0; j < checkOK.length; j++)
      					if (ch == checkOK.charAt(j))
        				break;
    					if (j == checkOK.length) {
	      					allValid = false;
    	  					
						}
					if(!allValid)
					{
						ch = checkStr.charAt(0);
						var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" + "abcdefghijklmnopqrstuvwxyz ";
						for (j = 0; j < checkOK.length; j++)
      					if (ch == checkOK.charAt(j))
        				break;
    					if (j == checkOK.length) {
	      					allValid2 = false;
    	  					
						}
						else
						{	var checkOK = "0123456789";
							for (i = 1; i < checkStr.length-2; i++) {
								ch = checkStr.charAt(i);
								for (j = 0; j < checkOK.length; j++)
									if (ch == checkOK.charAt(j))
									break;
								if (j == checkOK.length) {
									allValid2 = false;
									break;
								}
								allNum += ch;
							}
						

							ch = checkStr.charAt(checkStr.length-2);
							ch="-";
							if (ch != "-") allValid2 = false;
							else
							{
								ch = checkStr.charAt(checkStr.length-1);
								var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" + "abcdefghijklmnopqrstuvwxyz ";
								for (j = 0; j < checkOK.length; j++)
								{
									if (ch == checkOK.charAt(j))
									break;
								}
								if (j == checkOK.length) allValid2 = false;
							}
						}
					}

  					if (!allValid && !allValid2) {
					errFlag['foto_dni'] = true;
                    _qfMsg = _qfMsg + '\n - El dni no es correcto.';
    				
    			
					}
				}


                var value = frm.elements['foto_provincia'].value;
                var field = frm.elements['foto_provincia'];
                var regex = /(\s|\S)/;
                if (!regex.test(value) && !errFlag['foto_provincia']) {
                        errFlag['foto_provincia'] = true;
                        _qfMsg = _qfMsg + '\n - La provincia es obligatoria.';
                }
				

				 var value = frm.elements['foto_direccion'].value;
                var field = frm.elements['foto_direccion'];
                var regex = /(\s|\S)/;
                if (!regex.test(value) && !errFlag['foto_direccion']) {
                        errFlag['foto_provincia'] = true;
                        _qfMsg = _qfMsg + '\n - La dirección es obligatoria.';
                }

				 var value = frm.elements['foto_poblacion'].value;
                var field = frm.elements['foto_poblacion'];
                var regex = /(\s|\S)/;
                if (!regex.test(value) && !errFlag['foto_poblacion']) {
                        errFlag['foto_provincia'] = true;
                        _qfMsg = _qfMsg + '\n - La población es obligatoria.';
                }

                var value = frm.elements['foto_CP'].value;
				var longitud = frm.elements['foto_CP'].value.length;
                var field = frm.elements['foto_CP'];
                var regex = /(\s|\S)/;
				if(longitud!=5)
				{
					    errFlag['foto_CP'] = true;
                        _qfMsg = _qfMsg + '\n - El codigo postal es incorrecto.';
				}
                else if (!regex.test(value) && !errFlag['foto_CP']) {
                        errFlag['foto_CP'] = true;
                        _qfMsg = _qfMsg + '\n - El codigo postal es obligatorio.';
                }
				else if (isNaN(value)==true){
					errFlag['foto_CP'] = true;
                    _qfMsg = _qfMsg + '\n - El CP no es correcto.';
				}
			

                var value = frm.elements['foto_tlf'].value;
                var field = frm.elements['foto_tlf'];
				var longitud = frm.elements['foto_tlf'].value.length;
                var regex = /(\s|\S)/;
                if (!regex.test(value) && !errFlag['foto_tlf']) {
                        errFlag['foto_tlf'] = true;
                        _qfMsg = _qfMsg + '\n - El teléfono es obligatorio.';
                }
				else if(longitud!=9)
				{
					    errFlag['foto_tlf'] = true;
                        _qfMsg = _qfMsg + '\n - El teléfono es incorrecto.';
				}
				else if (isNaN(value)==true){
					errFlag['foto_tlf'] = true;
                    _qfMsg = _qfMsg + '\n - El teléfono no es correcto.';
				}


				var value = frm.elements['foto_email'].value;
                var field = frm.elements['foto_email'];
                var regex = /^$|^[a-zA-Z0-9\._-]+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
                if (!regex.test(value) && !errFlag['foto_email'] || !value) {
                        errFlag['foto_email'] = true;
                        _qfMsg = _qfMsg + '\n - El e-mail no es correcto';
                }
			
                var value = frm.elements['foto_edad'].value;
				var longitud  = frm.elements['foto_edad'].value.length;
                var field = frm.elements['foto_edad'];
                var regex = /(\s|\S)/;
			
                if (!regex.test(value) && !errFlag['foto_edad']) {
                        errFlag['foto_edad'] = true;
                        _qfMsg = _qfMsg + '\n - La edad es obligatoria.';
                }
				else if(longitud > 2)
				{
					errFlag['foto_edad'] = true;
                    _qfMsg = _qfMsg + '\n - La edad no es correcta.';
				}
				else if (isNaN(value)==true){
					errFlag['foto_edad'] = true;
                    _qfMsg = _qfMsg + '\n - La edad no es correcta.';
    				
				}
                var value = frm.elements['foto_titulo'].value;
                var field = frm.elements['foto_titulo'];
                var regex = /(\s|\S)/;
                if (!regex.test(value) && !errFlag['foto_titulo']) {
                        errFlag['foto_titulo'] = true;
                        _qfMsg = _qfMsg + '\n - El título de la foto  es obligatorio.';
                }

                var value = frm.elements['foto_fecha'].value;
				dia=value.split("/")[0];
       			mes=value.split("/")[1];
       			anyo=value.split("/")[2];
				var field = frm.elements['foto_fecha'];
                var regex = /(\s|\S)/;

				
				if( (isNaN(dia)==true) || (isNaN(mes)==true) || (isNaN(anyo)==true) )
    			{
					errFlag['foto_fecha'] = true;
                    _qfMsg = _qfMsg + '\n - La fecha introducida no es correcta.';
		       	}

				else if ((mes<1) || (mes>12))
       			{
					errFlag['foto_fecha'] = true;
                    _qfMsg = _qfMsg + '\n - La fecha introducida no es correcta.';
		       	}

 				else if (((mes==1) || (mes==3) || (mes==5) || (mes==7) || (mes==8) || (mes==10) || (mes==12)) && ((dia<1) || (dia>31)))
       			{
					errFlag['foto_fecha'] = true;
                    _qfMsg = _qfMsg + '\n - La fecha introducida no es correcta.';
           
       			}

				else if (((mes==4) || (mes==6) || (mes==9) || (mes==11)) && ((dia<1) || (dia>30)))
       			{
					errFlag['foto_fecha'] = true;
                    _qfMsg = _qfMsg + '\n - La fecha introducida no es correcta.';
		       	}
				else if (anyo!=2006)
       			{
					errFlag['foto_fecha'] = true;
                    _qfMsg = _qfMsg + '\n - Las bases del concurso solamente aceptan fotografías realizadas en el año 2006.';
       			}

                else if (!regex.test(value) && !errFlag['foto_fecha']) {
						
                        errFlag['foto_fecha'] = true;
                        _qfMsg = _qfMsg + '\n - La fecha es obligataria.';
                }

 				var value = frm.elements['foto_lugar'].value;
                var field = frm.elements['foto_lugar'];
                var regex = /(\s|\S)/;
                if (!regex.test(value) && !errFlag['foto_lugar']) {
                        errFlag['foto_provincia'] = true;
                        _qfMsg = _qfMsg + '\n - El lugar de la fotografía es obligatoria.';
                }

				 var value = frm.elements['foto_texto'].value;
                var field = frm.elements['foto_texto'];
				var longitud = frm.elements['foto_texto'].value.length;
                var regex = /(\s|\S)/;
                if (!regex.test(value) && !errFlag['foto_texto']) {
                        errFlag['foto_provincia'] = true;
                        _qfMsg = _qfMsg + '\n - El campo texto explicativo es obligatorio.';
                }
				else if(longitud>1200)
				{
                        errFlag['foto_texto'] = true;
                        _qfMsg = _qfMsg + '\n - El campo texto explicativo es demasiado extenso.';
				}

// 				var value = frm.elements['foto_keywords'].value;
//                 var field = frm.elements['foto_keywords'];
//                 var regex = /(\s|\S)/;
//                 if (!regex.test(value) && !errFlag['foto_keywords']) {
//                         errFlag['foto_keywords'] = true;
//                         _qfMsg = _qfMsg + '\n - Las palabras clave son obligatorias.';
//                 }

				var value = frm.elements['foto'].value;
                var field = frm.elements['foto'];
				var regex = /(\s|\S)/;
				value = value.toLowerCase();
				extension=value.split(".")[1];
				
                if (!regex.test(value) && !errFlag['foto']) {
                        errFlag['foto'] = true;
                        _qfMsg = _qfMsg + '\n - La fotografía es obligatoria.';
                }

				else if(extension != "jpg" && extension != "gif" && extension != "png" && extension != "jpeg"){
						errFlag['foto'] = true;
                        _qfMsg = _qfMsg + '\n - El tipo de fotografía es incorrecto.';
				}
				if (_qfMsg != '') {
                        _qfMsg = '' + _qfMsg;
                        _qfMsg = _qfMsg + '\n';
                        alert(_qfMsg);
                        return false;
    	        }
                return true;
 }
