martes, 26 de noviembre de 2013

Manejar la cámara de video con Adobe-AIR

Una tarea que podemos manejar con facilidad en Adobe-AIR y actionscript 3.0,  es abrir la cámara de video de la computadora (o la cámara conectada a la computador). Primero necesitamos importar las clases:

import flash.media.Microphone;
import flash.media.Camera;
import flash.media.Video;
import flash.display.Bitmap;
import flash.display.BitmapData;

Luego iniciar los objetos necesarios:

//Video
//
var mic:Microphone;
var cam:Camera;
var vid:Video;
var bmp:Bitmap;
//

Inicia los objetos:

mic = Microphone.getMicrophone();
cam = Camera.getCamera();
if(cam == null){
win.tomarFoto_btn.alpha = .5
win.tomarFoto_btn.enabled = false;
} else {
vid = new Video(150, 200);
vid.x = 0;
vid.y = 0;
vid.attachCamera(cam);
win.camara_mc.addChild(vid);
}

Y tendrás un recuadro con el video de tu cámara en el escenario.

lunes, 18 de noviembre de 2013

Validaciones de fechas con ActionScript 3.0

Como cualquier programador es sabido, las validaciones son de lo más engorroso pero es lo que nos permite dormir tranquilos más de 3 horas seguidas. Aqui dejo algunas funciones que nos servirán para validar fechas en ActionScript 3.0 y una rutina, sencilla pero muy util, para validar los correos electrónicos con expresiones regulares. Espero que sean de utilidad:

function validaFechaDD_MM_AAAA(fecha) {
      var datos = fecha.split("/");
      if(datos.length!=3) return false;
      return validaFecha(datos[0], datos[1], datos[2]);
  } 
  function validaCorreo(mail):Boolean{
      var reg:RegExp = /^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/
      return reg.test(mail);
  }

  function validaFecha(d, m, a){
      var hoy = new Date();
      var dd = Number(d);
      var mm = Number(m);
      var aa = Number(a);
      var diasMes = new Array();
      //No es numerico
      if(isNaN(dd)) return false;
      if(isNaN(mm)) return false;
      if(isNaN(aa)) return false;
      //
      if(a<1900) return false;
       if(a>hoy.getFullYear()) return false;
      //
     var febrero = (((aa % 4 == 0) && ( (!(aa % 100 == 0)) || (aa % 400 == 0))) ? 29 : 28 );
      //
      for (var i = 1; i <= 12; i++) {
          diasMes[i] = 31;
          if (i==4 || i==6 || i==9 || i==11) diasMes[i] = 30;
          if (i==2) diasMes[i] = febrero;
      }
      //
      if(dd>diasMes[mm]) return false;
      //
      return true;
 }
function calculaEdad() {
     dia = dia_txt.text;
      mes = mes_txt.text;
      anio = anio_txt.text;
      if(validaFecha(dia, mes, anio)){
          var nac = new Date(Number(anio), Number(mes), Number(dia));
          var hoy = new Date();
          var pasadoCumple = ((nac.getMonth() < hoy.getMonth()) || ((nac.getMonth() == hoy.getMonth()) && (nac.getDate ()  <= hoy.getDate () )))
          var edad = pasadoCumple?(hoy.getFullYear() - nac.getFullYear()):(hoy.getFullYear() - nac.getFullYear() - 1);
         edad_txt.text = String(edad);
     } else {
          edad_txt.text = "Error";
      }
  }

http://www.pacoarce.com

viernes, 17 de mayo de 2013

Comentarios en HTML


Una práctica muy importante en cualquier lenguaje de programación es el de comentar nuestro código, ya que al transcurrir el tiempo, ni nosotros mismos sabemos lo que hicimos (creame, pasa muy seguido).

Los comentarios no son tomados en cuenta con por los navegadores: unicamente sirven para los programadores. Sin embargo, los comentarios en HTML si los puede ver dentro del código. Para hacer comentarios necesitamos las llaves <!-- y -->

Las listas de definición


El uso de las listas de difinición están cayendo en desuso. El funcionamiento de las listas de definición es similar al de un diccionario, por un lado el término y por el otro la definición de ese término o palabra. La etiqueta <dl> crea la lista de definición y las etiquetas <dt> y <dd> definen respectivamente el término y la descripción de cada elemento de la lista.

<dl>
  <dt>Byte</dt>
  <dd>Conjunto de 8 bits con significado</dd>
</dl> 

La etiqueta p de párrafo



La etiqueta <p> se utiliza para representar un párrafo. La etiqueta p es soportada por todos los navegadores (gracias a Dios).


Los hipervínculos


Dentro de una página web, los hipervínculos son las palabras, párrafos o imágenes que al darles click, te llevarán a otro lugar, ya sea a otra página, o a una sección en específico dentro de la misma página; desempeñan una función muy útil, por ello saber cómo aprender a programar hipervínculos a la hora de crear un sitio web es muy importante. 

Otra de las características que tienen los hipervínculos es que al pasar el cursor sobre ellos, el ícono del cursor cambia y se convierte en una mano.

Las etiquetas de encabezado


La etiqueta de encabezado H1 y sus hermanas menores son una de las herramientas más potentes con las que contamos a nivel de SEO para decirle a los buscadores de qué va el contenido de nuestra página web. Sin embargo, y aunque su concepto es en origen sencillo, darles un uso adecuado no es algo conocido por todos.

Las etiquetas de encabezados han tenido una importancia vital en el posicionamiento en buscadores desde sus orígenes, y con pequeñas variaciones en el peso de su influencia se han ido manteniendo en el tiempo como algo que definitivamente hay que cuidar, desde la fase de maquetación del diseño web hasta la creación de contenidos para un portal en funcionamiento. Estas nociones básicas deben ser pues conocidas por diseñadores, programadores y personas encargadas de la redacción de texto para web.

 La etiqueta <strong>


Esta etiqueta se usa para reforzar el texto en html.

El caso es que prácticamente todos los navegadores la interpretan de la misma forma poniendo el texto que las engloba en negrita, ¿entonces cual uso?.
Hay muchos webmaster que se inclinan por la etiqueta <strong> porque afirman que es mejor para el posicionamiento ya que google las interpreta como palabras clave, otros nos comentan que además aportan semántica al contenido a través de CSS y por tanto mejor accesibilidad.

Anclas: navegar dentro del documento


Sirve para definir posiciones dentro de un documento y se puede usar como destino de hiperenlaces. Para crear un ancla (anchor) se procede de la siguiente manera:

<A NAME="nombre_etiqueta">Texto del elemento ancla</A>

Visualmente est elemento no tiene niun efecto, pero si lo tiene en forma interactiva con el usuario. Para hacer referencia al ancla o posición se hace el siguiente tipo de hiperenlace:

<A HREF="#nombre_etiqueta">Texto del hiperenlace</A>

De esta manera accederemos a la posición donde hayamos puesto el ancla Por ejemplo al final de este documento hemos puesto la siguiente ancla:

<a name="final">Este es el final del documento!!</a>

Y para acceder a esa posición usamos el siguiente hipernlace:

<A HREF="#final">Vamos al final del documento</A>

La etiqueta img


La etiqueta <IMG> te servirá para situar imágenes en una página. Es una etiqueta "verdadera", pues no tiene etiqueta de cierre:

La etiqueta <IMG> requiere un origen de datos obligatorio dado por el atributo SRC=. Indica la imagen en cuestión:

<IMG SRC="imagen.gif">

Tan sólo el código anterior es necesario para añadir una imagen a tu página, mostrando la imagen situada en el mismo directorio del documento HTML.

Tablas


Las tablas son un poderosa herramienta a la hora de mostrar y relacionar cierto tipo de información. Aún cuando muchos sitios son construidos (por su naturaleza) sin usar una simple tabla, existen algunas ocasiones en que el valor de las tablas se vuelve escencial.
En las próximas líneas intentaremos cubrir todas las características de las tablas para estar listos para utilizarlas cuando se necesite.
 

Otras etiquetas


Dentro de HTML tendremos otras etiquetas, por ejemplo:

<br> Para un salto de linea
<hr> Dibuja una línea
<adress> una dirección física

Etcétera

La etiqueta div


La etiqueta <div> se emplea para definir un bloque de contenido o sección de la página, para poder aplicarle diferentes estilos e incluso para realizar operaciones sobre ese bloque específico.
El uso de la etiqueta div es sencillo. Observemos este ejemplo:
<div>
<h1>Índice</h1>
Página principal<br />
Material multimedia<br />
Autores<br />
</div>
Hemos empleado la etiqueta para crear un bloque, que hará las veces de índice de contenidos. Visualmente la etiqueta no provoca ningún cambio, pero en la estructura interna del documento hemos aplicado una división muy importante. La figura muestra el texto del ejemplo; no hay ninguna diferencia visible.

Estilos en cascada


Las hojas de estilo en cascada (Cascading Style Sheets, o sus siglas CSS) hacen referencia a un lenguaje de hojas de estilos usado para describir la presentación semántica (el aspecto y formato) de un documento escrito en lenguaje de marcas. Su aplicación más común es dar estilo a páginas webs escritas en lenguaje HTML y XHTML, pero también puede ser aplicado a cualquier tipo de documentos XML, incluyendo SVG y XUL.

La información de estilo puede ser adjuntada como un documento separado o en el mismo documento HTML. En este último caso podrían definirse estilos generales en la cabecera del documento o en cada etiqueta particular mediante el atributo "<style>".

Colores en estilos en cascada


CSS funciona a base de reglas, es decir, declaraciones sobre el estilo de uno o más elementos. Las hojas de estilo están compuestas por una o más de esas reglas aplicadas a un documento HTML o XML. La regla tiene dos partes: un selector y la declaración. A su vez la declaración está compuesta por una propiedad y el valor que se le asigne.

h1 {color: red;}

h1 es el selector
{color: red;} es la declaración

El selector funciona como enlace entre el documento y el estilo, especificando los elementos que se van a ver afectados por esa declaración. La declaración es la parte de la regla que establece cuál será el efecto. En el ejemplo anterior, el selector h1 indica que todos los elementos h1 se verán afectados por la declaración donde se establece que la propiedad color va a tener el valor red (rojo) para todos los elementos h1 del documento o documentos que estén vinculados a esa hoja de estilos.

Manejo de fuentes con CSS


Los css nos da la flexibilidad de poder darle color, tamaño, grueso y otras propiedades que trataremos de explicarla las más importantes. Antes de la versión 5 de HTML, no se podía manejar más que las fuentes que el usuario tuviera instaladas en su computadora. Era por esto que utilizábamos al menos tres tipos de fuente por si una fallaba, el navegador buscaba la segunda, y asi, hasta encontrar una de las fuentes más básicas. Algunos de los conjuntos de fuente más comunes son:

Arial, Helvetica, sans-serif
“Times New Roman”, Times, serif
“Courier New”, Courier, monospace
Georgia, “Times New Roman”, Times, serif
Verdana, Arial, Helvetica, sans-serif
Geneva, Arial, Helvetica, sans-serif


Si el nombre de la fuente contenia espacios, es necesario utilizar las comillas, por ejemplo "Times New Roman"

Modificar los hipervínculos con estilos en cascada


Cambiar el formato de los hipervínculos o "links" por medio de los estilos en cascada es fundamental en el desarrollo y diseño de páginas we. Podemos modificar los colores, el background o cambiar el clásico color azul, sin embargo, siempre es necesario que el usuario sepa cuál frase, palabra o imagen contiene un hipervínculo.

 Lugar donde se pueden escribir los estilos en cascada


La ubicación de nuestras reglas de estilo es muy importante, porque depende del órden las reglas se irán ejecutando. Podemos localizar nuestro código en ohas externas, propiamente conocidas como stylesheets, podemos escribir el código dentro de la etiqueta <style>, dentro de la página html o incluso dentro de la etiqueta, como un atributo de la misma, aunque esta última ubicación no se recomienda, porque se pierde toda la versatilidad que nos ofrecen los estilos en cascada.

La prioridad dependerá de la cercania de la regla al elemento HTML. De ahí su nombre de estilos en cascada.

Selectores, unidades en CSS


El manejo de selectores es una de las habilidades más importantes cuando se intenta utilizar los estilos en cascada en forma profesional. hasta este punto hemos utilizado las reglas de cascada que inician con un selector. Este puede ser el nombre de una etiqueta, por ejemplo, h1, de una clase, por ejemplo .rojo o de una división #encabezado.

Cuando utilizamos por selector un nombre de etiqueta, todas las etiquetas de esa clase srán modificadas. En cambio, los identificadores sólo podemos tener uno en todo el documennto. Las clases pueden aplicarse varias veces, pero hay que aplicarlas en forma manual.

Podemos aplicar a varios selectores las mismas reglas de estilo por medio de las comas, por ejemplo:

h1, h2, h3, h4{ color:white; }

Selectores compuestos


Muchas veces los selectores simples, como la etiqueta, la clase y los identificadores no son suficientes para realizar el diseño de nuestra página web, por lo que nos será importante hacer "excepciones". En un buen diseño web, las excepciones no deberán de ser la regla. Para ello necesitamos escribir los selectores principales a la izquierda y los particulares a la derecha, por ejemplo:

#menu a { color:red; }

Por lo general leeremos estos selectores de derecha a izquierda, es decir: "todas las etiquetas 'a' que se encuentren dentro de la división 'menu' su texto será de color rojo.

Valores y unidades en CSS


El manejo de unidades es fundamental dentro del diseño y desarrollo de nuestra página web. En HTML en general y en CSS en particular, tendremos dos tipos de unidades: las flexibles y las fijas. Siempre será mejor utilizar las primeras, por ejemplo el pixel (px) la em (que es la medida de la letra 'm' de la fuente base).

La medida em no tiene nada que ver con la etiqueta de HTML <em> que modifica los textos a itálicas. Por lo general esta medida es la adecuada para manejar los tamaños de los textos y sus atributos como el padding y el margen.

Validar nuestros CSS


Una parte importante, antes de lanzar nuestra página web al mundo, es validrla, es decir, verificar que todas sus etiquetas y estilos en cascada sean compatibles con los navegadores en uso. Para ello contamos con magníficos validadores. El más popular es el de la W3C. No se preocupe si encuentra errores o mensajes de advertencia, pues es muy dificil que una página que no sea tribial pueda pasar esta validación sin algún mensaje.

El modelo de caja

Los márgenes


El modelo de caja es uno de los conceptos más importantes al momento de formatear nuestra página, y puede resultar un verdadero dolor de cabeza si no poseemos los conocimientos adecuados para ello. Asi que resulta fundamental conocer bien los términos de margen, padding, border y área de contenido, para no pasar noches en vela porque nuestro modelo se "mueve", y culpar de ellos al HTML y a los CSS.

Otro problema es que algunos navegadores no "hablan" muy bien CSS y hacen las cosas algo diferentes, y en el caso de Internet Explorer, puede hacer las cosas muy diferentes, si de CSS se trata.

Los bordes


Entre el margen y el padding se extiende el borde o border. Este amigo puede ser neutral, si es que su ancho es igual a cero, o puede cambiar dependiend de su ubucación, También para él utilizaremos el nemónico TRBL (top, right, bottom y left), que nos recuerda cómo se toman los valores dentro de la sentencia correspondiente. Como veremos, es posible definir un ancho, un color y un estilo al borde de nuestra caja, es decir, tendremos doce posibles comando tomando los cuatro bordes con tres características (ancho, color y estilo).

La propiedad margin:auto


La propiedad auto nos permitirá centrar divisiones dentro de sus contenedores. Desaformtunadamente no contamos con una instrucción que centre enforma automática o que flote una división al centro. Con auto en el margen a izquierda y derecha, podemos hacer que una división flote dentro de su contenedor, pero necesitamos definir un ancho (width) para ello, ya sea en pixeles o porcentaje.

El color de fondo: background


Una propiedad fundamental para modificar el color de nuestra página web, asi como su diseño, será la propiedad background, la cual la tendrá cualquier etiqueta que posea el modelo de caja. Podremos cambiar el color o colocar una imagen que se repita o se adapte a su contenido.

El color de fondo del área se extiende hasta debajo de la línea del borde. Asi, si la línea del borde muestra espacios, por ejemplo, dashed, dotted o double el color de fondo del elemento se muestra a través de ellos.

Una pieza importantísima para el desarrollo de una composición o maquetado de una página web es comprender cómo se acomodan las cajas, es decir, su flujo natural, y cómo podemos cambiar éste. En este video iniciaremos por comprender cómo es el flujo "natural" de las cajas para después poder modificarlos.

Para realizar layouts más interesantes, necesitaremos que las divisiones comiencen a flotar. Para ello utilizaremos la propiedad float con la mayoría de sus parámetros.

En CSS casi siempre hay varias maneras de resolver un mismo problema y esto se aplica al diseño de las páginas o maquetación. Todas las posibles soluciones tienen ventajas y desventajas. Asi que mientras no exista una varita mágica que solucione todos nuestros problemas, revisaremos las diferentes formas de hacer un buen layout de una página web.

lunes, 25 de febrero de 2013

El widget tabs() con jQuery UI

 El widget tabs() nos servirá para convertir los párrafos en una sencilla zona de tabuladores. Bastará con definir una lista no oredenada y las divisiones con el contenido.

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<link href="css/ui-lightness/jquery-ui-1.10.1.custom.min.css" rel="stylesheet"/>
<script src="js/jquery.js" type="text/javascript"></script>
<script src="js/jquery-ui-custom.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(inicio);
function inicio(){
    $("#generaciones").tabs();
}
</script>
<title>Tabuladores</title>
<style>
#generaciones{
    width:800px;
}
</style>
</head>

<body>
<div id="generaciones">
<ul>
<li><a href="#primera">Primera generación</a></li>
<li><a href="#segunda">Segunda generación</a></li>
<li><a href="#tercera">Tercera generación</a></li>
</ul>
    <div id="primera">
    <p>En la mitología clásica, Urano es el dios primordial del cielo. En la mitología griega era personificado como hijo y esposo de Gea, la Madre Tierra. Ambos fueron ancestros de la mayoría de los dioses griegos, pero ningún culto dirigido directamente a Urano sobrevivió hasta la época clásica,1 y el dios no aparece entre los temas comunes de la cerámica griega antigua. Sin embargo, la Tierra, el Cielo y Estigia podían unirse en una solemne invocación en la épica homérica.</p>
    <p>La mayoría de los griegos consideraban que Urano era un dios primordial (protogenos), y no le asignaban padres. Bajo la influencia de los filósofos, Cicerón afirma en De natura deorum que era descendiente de los antiguos dioses Éter y Hemera, el Aire y el Día. Según los himnos órficos, Urano era el hijo de la diosa de la noche, Nix.</p>
    </div>
    <div id="segunda">
    <p>En la mitología griega, los Titanes —masculino— y Titánides —femenino— eran una raza de poderosos dioses que gobernaron durante la legendaria edad de oro.</p>
    <p>Los Titanes fueron doce desde su primera aparición literaria, en la Teogonía de Hesíodo; aunque en su Biblioteca mitológica, Apolodoro añade un decimotercero, Dione, desdoblamiento de la titánide Tea. Estaban relacionados con diversos conceptos primordiales, algunos de los cuales simplemente se extrapolaban de sus nombres: el océano y la fructífera tierra, el Sol y la Luna, la memoria y la ley natural. Los doce Titanes de la primera generación fueron liderados por el más joven, Crono, quien derrocó a su padre Urano (‘Cielo’) a instancias de su madre, Gea (‘Tierra’).</p>
    </div>
   
    <div id="tercera">
    <p>En la mitología griega, los dioses olímpicos son los principales dioses del panteón griego, que moraban en la cima del monte Olimpo, el más alto de Grecia. Hubo, en diferentes épocas, catorce dioses diferentes reconocidos como olímpicos, aunque nunca más de doce a la vez. De ahí que a veces se haga referencia a ellos como los doce olímpicos, también conocidos como Dodekatheon.</p>
    <p>Los doce olímpicos ganaron su supremacía en el mundo de los dioses después de que Zeus llevara a sus hermanos a la victoria en la guerra contra los Titanes.</p>    </div>
    </div>
</body>
</html>
 



domingo, 24 de febrero de 2013

El widget menu



<!doctype html>
<html>
<head>
<meta charset="utf-8">
<link href="css/ui-lightness/jquery-ui-1.10.1.custom.min.css" rel="stylesheet"/>
<script src="js/jquery.js" type="text/javascript"></script>
<script src="js/jquery-ui-custom.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(inicio);
function inicio(){
    $("#menu").menu();
}
</script>
<title>Menu</title>
<style>
#menu{
    width:250px;   
}

</style>
</head>

<body>
<ul id="menu">
<li><a href="#">Primera generación</a>
    <ul>
    <li><a href="#">Gea</a></li>
    <li><a href="#">Eros</a></li>
    <li><a href="#">Tártaro</a></li>
    <li><a href="#">Urano</a></li>
    <li><a href="#">Titanes</a></li>
    <li><a href="#">Cíclopes</a></li>
    <li><a href="#">Hecatónquiros</a></li>
    </ul>
</li>
<li><a href="#">Segunda generación</a>
    <ul>
    <li><a href="#">Crono</a></li>
    <li><a href="#">Rea</a></li>
    <li><a href="#">Titanes</a></li>
    </ul>
</li>
<li><a href="#">Tercera generación</a>
    <ul>
    <li><a href="#">Zeus</a></li>
    <li><a href="#">Hera</a></li>
    <li><a href="#">Poseidón</a></li>
    <li><a href="#">Deméter</a></li> 
    <li><a href="#">Hestia</a></li> 
    <li><a href="#">Hades</a></li>
    <li><a href="#">Ares</a></li> 
    <li><a href="#">Hermes</a></li> 
    <li><a href="#">Hefesto</a></li> 
    <li><a href="#">Atenea</a></li> 
    <li><a href="#">Apolo</a></li> 
    <li><a href="#">Artemisa</a></li>
    </ul>
</li>
</ul>
</body>
</html>

El widget progressbar()

El widget  progress bar nos peritirá seguir un proceso de carga, aunque generalmente necesitamos relacionarlo con alguna función Ajax.


<!doctype html>
<html>
<head>
<meta charset="utf-8">
<link href="css/ui-lightness/jquery-ui-1.10.1.custom.min.css" rel="stylesheet"/>
<script src="js/jquery.js" type="text/javascript"></script>
<script src="js/jquery-ui-custom.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(inicio);
function inicio(){
    //$("#barra").progressbar({value:41});
    var b = $("#barra");
    var e = $("#etiqueta");
   
     b.progressbar({
        value: false,
        change: function() {
                e.text( b.progressbar( "value" ) + "%" );
                },
        complete: function() {
                e.text( "Completo!" );
                }
        });
       
     function progreso() {
        var val = b.progressbar( "value" ) || 0;
        b.progressbar( "value", val + 1 );
        if ( val < 99 ) {
            setTimeout( progreso, 100 );
        }
    }
   
    setTimeout( progreso, 3000 );
}
</script>
<title>Progress</title>
 <style>
#etiqueta {
float: left;
margin-left: 50%;
margin-top: 5px;
font-weight: bold;
text-shadow: 1px 1px 0 #fff;
}
</style>
</head>

<body>
<div id="barra"><div id="etiqueta">Cargando...</div></div>
</body>
</html>

sábado, 23 de febrero de 2013

El widget Dialog de jQuery UI

El widget dialog() es bastante sencillo, pero poderooosooooo. Nos permitirá hacer ventanas de mensaje, sin que sean consideradas ventanas de diálogo o pop-ups. Con sus diferentes parámetros podemos dar opciones de confirmación y cancelación, asi como mostrar diferentes íconos. También podemos darle efectos de entrada y de salida.

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<link href="css/ui-lightness/jquery-ui-1.10.1.custom.min.css" rel="stylesheet"/>
<script src="js/jquery.js" type="text/javascript"></script>
<script src="js/jquery-ui-custom.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(inicio);
function inicio(){
    //$("#mensaje").dialog( {show: {effect: "blind",duration: 1000},hide: {effect: "explode",duration: 1000}});
    /*$("#mensaje").dialog( {modal: true,
    height:280,
    width:500,
    buttons:{Continue: function() {
                       $( this ).dialog( "close" );
                       },
             Cancel: function() {
                       $( this ).dialog( "close" );
                       }
    }
    }); */
    $("#mensaje").dialog( {modal: true,
    height:280,
    width:500,
    buttons:{Ok: function() {
                       $( this ).dialog( "close" );
                       }
    }
    });
}
</script>
<title>Base de UI</title>
<style>
.centra{
    font-weight:bold;
    text-align:center;
}
</style>
</head>

<body>
<div id="mensaje" title="Advertencia">
<p><span class="ui-icon ui-icon-alert" style="float: left; margin: 0 7px 50px 0;"></span>La siguiente página contiene material real y explicito,
que podría afectar la sensibilidad
del espectador.</p><p class="centra">Se recomienda discreción.</p>
</div>

</body>
</html>