function getElement(aID){ return (document.getElementById) ? document.getElementById(aID) : document.all[aID]; } // Cadenas de texto necesitas_rellenar_campos = 'Necesitas rellenar todos los campos obligatorios.'; email_incorrecto = 'El e-mail introducido es incorrecto. Por favor, compruébalo.'; telfijo_incorrecto = 'El teléfono fijo introducido es incorrecto. Por favor, compruébalo.'; telmovil_incorrecto = 'El teléfono móvil introducido es incorrecto. Por favor, compruébalo.'; cp_incorrecto = 'El código postal es incorrecto. Por favor, compruébalo.'; // el formato del e-mail introducido function validar_email(email) { //Comprobar longitud if (email.length<5) return 0; //Buscar la @ y el . pos_arroba=email.indexOf("@"); pos_punto=email.lastIndexOf("."); if ((pos_arroba==-1) || (pos_punto==-1) || (pos_arroba>pos_punto)) return 0; //Tiene que haber un caracter antes de la @ if (pos_arroba==0) return 0; //Tiene que haber un caracter entre la @ y el . if (pos_punto-pos_arroba<=1) return 0; //Tiene que haber un caracter después del punto if (email.length-pos_punto<=1) return 0; //Email válido return 1; } // el campo es un número function validar_num(s) { var i; for (i = 0; i < s.length; i++){ var c = s.charAt(i); if (((c < "0") || (c > "9"))) return 0; } return 1; } // el campo está vacío function esta_vacio(campo) { if ((campo.value=="") || (campo.value==null)) return true; else return false; } //Función que valida un formulario function comprobar(formulario) { var todos_llenos=1; //Doy por supuesto que todos están llenos var indice=0; var mail_valido=1; var telfijo_valido=1; var telmovil_valido=1; var cp_valido=1; while ((todos_llenos==1) && (mail_valido==1) && (cp_valido==1) && (telfijo_valido==1) && (telmovil_valido==1) && (indice<(formulario.length-1))) { if (esta_vacio(formulario[indice]) && (formulario[indice].name!="telfijo" && formulario[indice].name!="telmovil")) todos_llenos=0; if (formulario[indice].name=="correo") mail_valido=validar_email(formulario[indice].value); if (formulario[indice].name=="email") mail_valido=validar_email(formulario[indice].value); if (formulario[indice].name=="usuario_email") mail_valido=validar_email(formulario[indice].value); if (formulario[indice].name=="telfijo" && formulario[indice].value.length>0) telfijo_valido=validar_num(formulario[indice].value); if (formulario[indice].name=="telmovil" && formulario[indice].value.length>0) telmovil_valido=validar_num(formulario[indice].value); if (formulario[indice].name=="cp") cp_valido=validar_num(formulario[indice].value); indice++; } if (todos_llenos==0) { alert(necesitas_rellenar_campos); return false; } if (mail_valido==0) { alert(email_incorrecto); formulario.correo.focus(); return false; } if (telfijo_valido==0 && formulario.telfijo.value.length>0) { alert(telfijo_incorrecto); formulario.telfijo.focus(); return false; } if (telmovil_valido==0 && formulario.telmovil.value.length>0) { alert(telmovil_incorrecto); formulario.telmovil.focus(); return false; } if (cp_valido==0) { alert(cp_incorrecto); formulario.cp.focus(); return false; } return true; } // muestra confirmacion function mostrar_confirmacion(){ contenedor=getElement('contents'); if (oxml.readyState==4){ datos = oxml.responseText; contenedor.innerHTML = datos; } else{ contenedor.innerHTML='Cargando...'; } } // envio de mensajes function enviarMensaje(formulario) { var orden; if (comprobar(formulario)) { orden="tipo=contacto&asunto="+escape(formulario.asunto.value)+"&mensaje="+escape(formulario.mensaje.value)+"&correo="+escape(formulario.correo.value)+"&captcha="+escape(formulario.captcha.value)+"&par="+escape(formulario.par.value); oxml=crear_objeto_ajax(); oxml.onreadystatechange=mostrar_confirmacion; oxml.open('POST','phpengine.php',true); oxml.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); oxml.send(orden); return false; } else return false; } // envio de registros function enviarRegistro(formulario) { var orden; if (comprobar(formulario)) { orden="tipo=registro&nombre="+escape(formulario.nombre.value)+"&apellidos="+escape(formulario.apellidos.value)+"&correo="+escape(formulario.correo.value)+"&captcha="+escape(formulario.captcha.value)+"&producto="+escape(formulario.producto.value)+"&nserie="+escape(formulario.nserie.value)+"&telfijo="+escape(formulario.telfijo.value)+"&telmovil="+escape(formulario.telmovil.value)+"&direccion="+escape(formulario.direccion.value)+"&poblacion="+escape(formulario.poblacion.value)+"&cp="+escape(formulario.cp.value)+"&provincia="+escape(formulario.provincia.value)+"&par="+escape(formulario.par.value); oxml=crear_objeto_ajax(); oxml.onreadystatechange=mostrar_confirmacion; oxml.open('POST','phpengine.php',true); oxml.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); oxml.send(orden); return false; } else return false; } // envio de mensajes del foro function enviarMensajeForo(formulario) { var orden; if (comprobar(formulario)) { orden="tipo=foro&foro="+escape(formulario.foro.value)+"&titulo="+escape(formulario.titulo.value)+"&usuario_nick="+escape(formulario.nick.value)+"&usuario_email="+escape(formulario.email.value)+"&texto="+escape(formulario.mensaje.value)+"&captcha="+escape(formulario.captcha.value)+"&par="+escape(formulario.par.value); oxml=crear_objeto_ajax(); oxml.onreadystatechange=mostrar_confirmacion; oxml.open('POST','phpengine.php',true); oxml.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); oxml.send(orden); return false; } else return false; } // envio de respuestas del foro function enviarRespuestaForo(formulario) { var orden; if (comprobar(formulario)) { orden="tipo=hilo&foro="+escape(formulario.foro.value)+"&hilo="+escape(formulario.hilo.value)+"&titulo="+escape(formulario.titulo.value)+"&usuario_nick="+escape(formulario.nick.value)+"&usuario_email="+escape(formulario.email.value)+"&texto="+escape(formulario.mensaje.value)+"&captcha="+escape(formulario.captcha.value)+"&par="+escape(formulario.par.value); oxml=crear_objeto_ajax(); oxml.onreadystatechange=mostrar_confirmacion; oxml.open('POST','phpengine.php',true); oxml.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); oxml.send(orden); return false; } else return false; } // Cambio de imagen function cambiarImagen(id){ getElement('imagengrande').src='imagen.php?id='+id+'&w=200&h=200'; }