function validar_formulario(formulario){
var error=new Array();	
var i=0;
if(formulario.nombre.value==''){
error[i]='El campo nombre es obligatorio. <a href="#nogo" onclick="formulario.nombre.focus();">Modificar</a>'; i++;
formulario.nombre.style.borderColor='red';
}else{
formulario.nombre.style.borderColor='';
}

if(formulario.apellidos.value==''){
error[i]='El campo apellidos es obligatorio. <a href="#nogo" onclick="formulario.apellidos.focus();">Modificar</a>'; i++;
formulario.apellidos.style.borderColor='red';
}else{
formulario.apellidos.style.borderColor='';
}

if(formulario.calle.value==''){
error[i]='El campo direcci&oacute;n es obligatorio. <a href="#nogo" onclick="formulario.calle.focus();">Modificar</a>'; i++;
formulario.calle.style.borderColor='red';
}else{
formulario.calle.style.borderColor='';
}

if(formulario.cp.value==''){
error[i]='El c&oacute;digo postal es obligatorio. <a href="#nogo" onclick="formulario.cp.focus();">Modificar</a>'; i++;
formulario.cp.style.borderColor='red';
}else{
formulario.cp.style.borderColor='';
}

if(formulario.cp.value!='' && isNaN(formulario.cp.value)){
error[i]='El c&oacute;digo postal ha de ser num&eacute;rico. <a href="#nogo" onclick="formulario.cp.focus();">Modificar</a>'; i++;
formulario.cp.style.borderColor='red';
}else{
formulario.cp.style.borderColor='';
}

if(formulario.localidad.value==''){
error[i]='La localidad es obligatoria. <a href="#nogo" onclick="formulario.localidad.focus();">Modificar</a>'; i++;
formulario.localidad.style.borderColor='red';
}else{
formulario.localidad.style.borderColor='';
}

if(formulario.telefono.value=='' && formulario.movil.value==''){
error[i]='Por favor, indique un tel&eacute;fono de contacto. <a href="#nogo" onclick="formulario.telefono.focus();">Modificar</a>'; i++;
formulario.telefono.style.borderColor='red';
}else{
formulario.telefono.style.borderColor='';
}


if(formulario.email.value==''){
error[i]='El campo email es obligatorio. <a href="#nogo" onclick="formulario.email.focus();">Modificar</a>'; i++;
formulario.email.style.borderColor='red';
}else{
		if(!validarEmail(formulario.email.value)){
		error[i]='El email parece no ser v&aacute;lido. <a href="#nogo" onclick="formulario.email.focus();">Modificar</a>'; i++;
		formulario.email.style.borderColor='red';
		}else{
		formulario.email.style.borderColor='';
		}
}
//campos de la vivienda
if(formulario.superficie.value==''){
error[i]='Por favor, indique la superficie de la vivienda. <a href="#nogo" onclick="formulario.superficie.focus();">Modificar</a>'; i++;
formulario.localidad.style.borderColor='red';
}else{
formulario.localidad.style.borderColor='';
}

if(formulario.calefaccion_sistema.value!='0'){
	if(formulario.calefaccion_uso.value =='' || formulario.calefaccion_energia.value ==''){
	   error[i]='Por favor, indique energia y uso del sistema de calefacci&oacute;n. <a href="#nogo" onclick="formulario.calefaccion_uso.focus();">Modificar</a>'; i++;
		formulario.calefaccion_sistema.style.borderColor='red';	   
		}else{
		formulario.calefaccion_sistema.style.borderColor='';
		}
 	}

if(formulario.jardin.value=='1'){
	if(formulario.jardin_compartido.value ==''){
	   error[i]='Si tiene jard&iacute;n, indique si es individual o compartido. <a href="#nogo" onclick="formulario.jardin_compartido.focus();">Modificar</a>'; i++;
		formulario.jardin_compartido.style.borderColor='red';	   
		}else{
		formulario.jardin_compartido.style.borderColor='';
		}
 	}


if(formulario.tecnico.value!='0'){
	if(formulario.horario_tecnico.value ==''){
	   error[i]='Por favor, indique el horario preferido para la visita del t&eacute;cnico. <a href="#nogo" onclick="formulario.horario_tecnico.focus();">Modificar</a>'; i++;
		formulario.horario_tecnico.style.borderColor='red';	   
		}else{
		formulario.horario_tecnico.style.borderColor='';
		}
 	}


if(formulario.agree.checked==false){
error[i]='Por favor, acepte la pol&iacute;tica de privacidad. <a href="#nogo" onclick="formulario.agree.focus();">Modificar</a>'; i++;
formulario.agree.style.borderColor='red';
}else{
formulario.agree.style.borderColor='';
}

if(formulario.code.value===''){
error[i]='Por favor, introduzca el texto de seguridad de la imagen. <a href="#nogo" onclick="formulario.code.focus();">Modificar</a>'; i++;
formulario.code.style.borderColor='red';
}else{
formulario.code.style.borderColor='';
}

if(formulario.code.value!=''){
hash = hex_md5(formulario.code.value.toLowerCase());
	if(hash!=formulario.codemd5.value){
		error[i]='El texto de seguridad de la imagen no coincide. <a href="#nogo" onclick="formulario.code.focus();">Modificar</a>'; i++;
		formulario.code.style.borderColor='red';
	}else{
	formulario.code.style.borderColor='';
	}
}

 if(error.length!=0){
	 $("#error_fieldset_legend").html('<div style="background-color:red;text-align:center;color:white;display:inline;padding:3px 5px;">Errores en la validaci&oacute;n del formulario</div>');	
		var out='';
			for(i=0; i<error.length;i++){
			out=out+'<li style="color:red;">'+error[i]+'</li>';
			}
		$("#error").html(out);		
		$("#error_fieldset").show('slow');	
		
		return false;
	}else{
	$("#error_fieldset").hide();
	formulario.submit();
	//return true;
	}
return false;
}

function validarEmail(valor) {
  if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(valor)){
   
   return (true)
  } else {
   return (false);
  }
 }
