miércoles, 26 de mayo de 2010

programacion en jsp



 los estándares de programación para clases Java y páginas
JSP, porque generalmente se parte programando sin ninguna estructura, y
esto desencadena en que en una Empresa se tienen distintos “estilos” de
programación, lo cual hace más difícil entender el programa realizado
por otra persona.



Los estándares están definidos por Sun en los
siguientes lugares:



http://java.sun.com/docs/codeconv/


http://java.sun.com/developer/technicalArticles/javaserverpages/code_convention/



Nosotros vamos a presentar un resumen de estos
estándares mediante una plantilla base de los 2 módulos básicos de
programación, un clase Java, y un página JSP, estas plantillas pueden
servir a un departamento de Control de Calidad para verificar que los
programas se ciñen al estándar Java, pero la mejor forma de seguir estos
estándares es utilizar un IDE (ambiente de desarrollo) como Eclipse, o
usar verificadores de código automático.



Otra cosa que muestran estas plantillas es la forma
de comentar los fuentes, para que se pueda obtener el JavaDoc
correspondiente (documentación automática de Java).



Plantilla de Codificación Java.



Esta plantilla Java se puede extender a otras
clases como Servlets.



Una clase Java tiene el siguiente orden:


  1. Comentarios de Inicio
  2. Definición Package
  3. Declaraciones de Import
  4. Declaraciones de la Clase

4.1. Comentario
Documentación de la Clase


4.2. Estamento class


4.3. Atributos o
Variables Estaticas


4.3.1.
public


4.3.2.
protected


4.3.3.
private


4.4.
Atributos


4.4.1.
public


4.4.2.
protected


4.4.3.
private


4.5.
Constructores


4.6.
Metodos



La siguiente plantilla resume los principales
estándares de codificación propuestos por Sun.



/*


*
@(#)Plantilla.java version 1.01 2007/01/01


* Copyright (c) 2007 SOA agenda.


*/


package com.soaagenda.ejemplos;


import com.soaagenda.librerias.*;
//import de librerias y clases a utilizar



/**


* Descripción de la Clase,
ejemplo: Plantilla que muestra


* principales estándares
de codificación.


*


* @version 1.01 01 Ene 2007


* @author
SOA Team


*/


public class Plantilla extends ClasePadre {


/* Comentario de
implementacion, ejemplo: Esta clase no tiene funcionalidades . */



/** atributo1
comentario documentacion atributo


* puede
ser de mas de una linea


*/


public static int
atributo1; //comentario linea: primero las variables estaticas,


//en orden 1.-public,
2.-protected, 3.-private



/** atributo2
comentario documentacion */


public Integer
atributo2; //luego var de instancia, mismo orden 1.-public,
2.-protected, 3.-private



/** atributo3
comentario documentacion */


protected Integer
atributo3;



/**


* Descripción para el
constructor.


*/


public Plantilla() {


// …implementacion …


}





/**


* Descripción de un
metodo.


* @param par1
descripcion primer parametro


* @param par2
descripcion segundo parametro


* @return descripcion
de salida (return) del metodo, en caso que no es void


*/


public
String hacerAlgo(Integer par1, String par2) {


int entero = 0; //una declaración de variable
por linea y al inicio del {bloque}



/* A continuacion
mostraremos ejemplos de la identación y formato de las distintas
sentencias Java*/


if (entero == 0) {


int entero2 =
1; //una declaración de variable por linea y al inicio del {bloque}


} else if (entero == 1) {


entero++; // solo un
estamento por linea


} else {


entero–;


}



for
(int i=0; i < 5; i++){


entero=i;


}



while (entero >
0){


entero–;


}



do {


entero++;


}
while (entero < 10);



switch
(entero) {


case
0:


entero++;


break;


case
2:


entero–;


break;


default:


entero=1;


break;


}



try {


entero=2/entero;


} catch (Exception
e) {


System.out.println(”error
división”);


}
finally {


entero=1;


}



return (”Ok”);


}



}



Buenas Practicas Básicas de Programación Java.



  • Acceso a Instancia y Variables de
    Clase
    : Evitar el uso de variable publicas.


  • Asignación Variables: Evitar
    asignar mas de una variable en un misma sentencia.
    • a = b = c +1; //evitar esto!!
    • if (c++ == d++) { //evitar
      esto!!



  • Uso de Constantes: Usar
    siempre cantantes para valores fijos.
    • if (c == 1) { //evitar esto!!
    • if ( c == ESTADO_ACTIVO ) {
      //asi si!!



  • Uso Paréntesis: Usar explícitamente para definir precedencia, para
    mejor entendimiento del programador.

    • if ( a = = b && c = =
      d || e == f ) { //evitar esto!!
    • if ( ( (a = = b)
      &&
      (c = = d) ) || (e = = f) ) {
      //así si!, no hay forma de entender precedencia.



  • Valores de Retorno: Evitar “return” de condiciones simples.
    • if (booleanExpression) {
      //evitar esto!!


return
true;




        
}else{


                         

return false;



          }




  • return booleanExpression;
    //esto si!!
  • if (condition) { //evitar
    esto!!

return x;


} else {


return Y;


}



  • return ( (condicion)
    ? x : y); //esto si!!


  • Expresiones
    condicionales ‘?’:
    La condición
    debería ir siempre entre paréntesis.

    • x >=0 ? x : -x; //evitar
      esto!!
    • ( x >=0 ) ? x : -x; //así
      si!!



  • Clases como parámetros
    de entrada:
    de forma de
    reducir la cantidad de parámetros de entrada de un método, de ser
    orientado a objetos, y hacer mas estable el método, por ejemplo para un
    método “actualizarCliente()” puede que ahora solo necesitemos
    actualizar 2 variables “nombre” y “email”, y solo esas pasamos como
    parametros, pero si mañana necesitamos una tercera, debemos
    cambiar todas las llamadas al método del sistema, por otro lado si
    pasamos una clase Cliente, solo se cambia la clase internamente.

    • public void actualizaCliente(
      String rut, String nombre, String email) //evitar esto!!
    • public void actualizaCliente(
      ClaseCliente cliente) // esto si!! es Orientado Objetos



Plantilla de Codificación JSP.



El orden dentro de una pagina JSP es:


  1. Comentarios de Inicio
  2. Directivas JSP
  3. Directivas Librerías de Tags
  4. Declaraciones JSP
  5. HTML y tags JSP


La siguiente plantilla muestra los principales
estándares JSP, esta plantilla se centra en los estándares JSP, y no
incluye estándares HTML.





<%–


- Author:
SOA Team


- Date: 28
Marzo 2007


-


- Derechos Reservados Soa
Agenda.


- @(#)


- Description: Estos son
los “Comentarios de Inicio” de la Plantilla Ejemplo Estandares JSP.


–%>



<%– 2.-Directivas JSP
–%>


<%@ page session=”true”


import=”java.util.*”


errorPage=”../principal/paginaError.jsp”


%>



<%– 3.-Directivas Librerias Tags
–%>


<%@ taglib
uri=”/WEB-INF/jsp/libreriatags.tld” prefix=”tags” %> <%– Aqui van
las librerias de tags –%>



<%– 4.-Declaraciones JSP: instancias
variables, y metodos de la JSP
–%>


<%


private
int entero;



public int transformaEntero(float
Numero) {



//implementaciòn


}


%>



<%– 5.-HTML y tags JSP –%>


<html>


<head>


<title>Titulo
de la Pagina que aparece en el Browser</title>


</head>


<body>


<jsp:useBean
id=”cliente” class=”com.SOAagenda.segurosvida.Cliente” /> <%–
declaracion de un javabeans –%>


<h1>


Rut:


<tagsSAgenda:formateaRut
value=”${cliente.getRut()}” /> <%– un tag que usa al beans –%>


</h1>


<hr
/>






<table
border=”1″ cellpadding=”5″>


<%– Un if en JSP y ejemplo identación
–%>



<% if (entero
== 0) { %>




<tr>




<td>Nombre:</td>




<td><%=
cliente.getNombre()%></td> <%– expresion explicita
%>



</tr>



<%
} %>



<tr>



<td>Apellidos:</td>


<%– expresion Javabeasn muestra –%>



<td><jsp:getProperty
name=”cliente” property=”apellidos”/></td>



</tr>


</table>


<%– incluir otra pagina –%>


<%@ include
file=”../principales/piePagina.jsp” %>


</body>


</html>




Buenas Practicas de Programación JSP.



  • Solo Lógica de Presentación:
    Una pagina JSP debe evitar tener lógica de negocio, y lo que
    “nunca” debería tener es lógica de acceso a base de datos, se debe
    tener ojalá solo lógica de presentación, esto es, solo instrucciones de
    creacion de JavaBeans, instrucciones para mostrar sus atributos
    (getters) y uso de funciones de presentación (como
    transformaciones), también puede incluir cualquier estamento
    condicional (if, else, while, do while, switch).


· Una pagina jsp debe evitar tener definición de
métodos:



public
int procesarPago() { //esto NO!!



//implementación



}




· Debe evitarse tener llamadas a
método de negocio:


cliente.calculaSaldo();//esto
NO!!




Si puede
tener llamadas a getters de un bean:



cliente.getSaldo();
//esto SI!!.



· Debe evitarse tener grandes porciones de código
Java, que no tengan que ver con lógica de presentación , por ejemplo si
dentro de los tags jsp”<% %>” hay sobre 10 líneas, este código ya
es “sospechoso” de incluir lógica de negocio, lo mas probable es que
dicha lógica deba ir dentro de un Servlet, o clase Java:


<%


//…mas
de 10 líneas entre estos tags JSP , es Sospechoso!!



         %>








viernes, 21 de mayo de 2010

3 herramientas para diseñar webs



Clean CSS
Un optimizador
de css que ademas te formatea el codigo adecuadamente

CSS Grid
Calculator

Esta aplicacion te permitira hacer
rapidamente layouts calculando tamaños y posiciones de los bloques
(divs)

TypeTester
Con
ella podras hacer un preview para decidir que tipo de fuente queda mejor
en tu diseño
Probando
varios tipos de fuentes al tiempo con Typetester




domingo, 16 de mayo de 2010

donde Crear Tu blog

Toda  esta  informacion  fue  extraida  de aqui

 30 sitios para poder crear tu propio blog totalmente gratis. Junto a la web se dará una pequeña descripción basándome en las características y demás que ponen en la “home” de sus respectivas webs, ya que ir creándose un blog en cada uno de los servicioshttp://www.proyectosalonhogar.com/Crear_Blog/03.gif me tomaría mucho tiempo y sería demasiado pesado. La mayoría de las siguientes páginas web están disponibles en español.

Wordpress: Uno de los sitios para crear blogs más conocidos, actualmente aloja más de 1,322,953 blogs. Considero que no hace falta descripción.

Blogger: Al igual que Wordpress otro muy conocido es Blogger, un servicio ofrecido por Google. Al igual que el anterior sitio, considero que Blogger tampoco necesita descripción.

Scoom: Este sitio es muy parecido a Wordpress, dispones de 5 Gb para tu Blog, dispones de una dirección del tipo http://nombre.scoom.com donde en lugar de nombre podrás poner lo que desees, puedes personalizar tu blog fácilmente gracias a que incluye una galería de más de 100 plantillas de diseño que podrás aplicar a tu blog. Visitar Scoom.

Lynksee: Este sitio nos ofrece, una vez registrado, el poder crearnos un blog con Wordpress, una galería de imágenes con Gallery, una wiki con MediaWiki y un foro con phpBB entre otros. Todas las aplicaciones son Software Libre. Y todo esto por una simple barra que te colocan arriba como la de Blogger.

La Comunidad de El Pais: Espacio ofrecido por El Pais, periódico español, para poder crearte tu blog sin dificultades en unos minutos.

Weblog: En ingles, nos ofrece 12 plantillas y las opciones son las básicas, quizá poco pero para aquellos que comienzan con los blogs les llegará esas características.


Dada.net
: Este sitio nos ofrece la posibilidad, además de crear un blog totalmente gratis, de ganar dinero con uno de sus programas.

HazBlogAparte de poder crearte un blog gratis también tienes la posibilidad de crearte un multiblog, también gratis. Un multiblog es un blog en el cual varios blogs pueden ser creados.

Blog.com.uy: Sitio uruguayo que nos ofrece la posibilidad de tener un blog con el CMS Wordpress en pocos pasos.


iESPAÑA
: Aparte del blog también tenemos la posibilidad de tener un espacio gratuito y una dirección de correo electrónico. Quizá el inconveniente es que coloca bastante publicidad.

Hoy.es: Sitio ofrecido por un periódico extremeño por el cual puedes crearte un blog en pocos minutos para que la gente sepa que opinas.

CrearBlog: Página web que ofrece la posibilidad de crear un blog en menos de 1 minuto con
Wordpress.

ForosyBlogsComo su propio nombre indica permite crear blogs y foros. Aunque quizá el inconveniente es la excesiva publicidad que inserta.

Soy.es: Altas rápidas y y la publicidad que inserta es de Adsense y no es excesiva, un banner arriba y otro en la barra lateral.

Blogs ijijiji: Página web que ofrece más de 50 estilos distintos y según dicen se pueden añadir nuevos estilos sin ningún problema. ijijiji también ofrece otros servicios como libros de visitas, foros, etc.

Blogia: Sus principales características es que ofrece la posibilidad de poder quitar la publicidad que insertan, realizan backups y está integrado con Flickr entre otras cosas.

Bitacoras.com: Gran cantidad de plantillas exclusivas y personalizables, soporte para fotologs, acceso a FTP desde Panel de control, posibilidad de postear desde teléfono móvil y e-mail.

Blogs Ya.com: El inconveniente de este sitio es que inserta un banner en la parte superior del blog.

Aziroet: Sin publicidad, casi 100 themes para elegir, posibilidad de migrar tu antiguo blog a Aziroet tratando personalmente contigo.

Blogalia: Posibilidad de tener varias bitácoras por usuario, Aplicaciones vía Blogger API.

My Opera: Ofrecido por el navegador web Opera, esta página web tiene entre sus ventajas el soporte para HTML y BBCode, y se pueden visualizar los blogs desde el móvil perfectamente.

enunblog: Ofrece alojamiento gratuito y subida de archivos y plantillas editables y personalizables, listas para usar entre otras características.

Bitacora.com.ve: Web venezolana con la posibilidad de crear blogs totalmente gratuitos. El CMS usado para los blogs es bastante sencillo.

TuBlog.es: El CMS usado para prestar el servicio de creación de blogs es LifeType. Ofrece plantillas bastantes variadas.

OboLog: Posibilidad de tener hasta 6 blogs en una misma cuenta de usuario, 100 MB de espacio para tus fotos, integración de servicios como Youtube o Fickr. Coloca una barra superior como la de Blogger y dos bloques de anuncios de Adsense en la barra lateral.

GratisBlog: Posibilidad de convertir el blog en un Fotoblog. Coloca una barra superior y publicidad en la barra lateral.

Bublegum: La publicidad la colocan mediante un banner en la parte superior del blog.

DiarioGratis: Interfaz de administración sencillo y con bastantes funciones, personalizable y con plugins.

Blogs Miarroba: Sistema avanzado de plantillas, baneo de usuarios por IP, posibilidad de personalizar la publicidad que insertan.

Blog.comAncho de banda ilimitado, colocan un bloque de publicidad de Adsense en la barra lateral.

BlogDiario: Espacio de MB ilimitado, asistente para principiantes, accesorios para tu blog.

sábado, 15 de mayo de 2010

DiarioTi: Diario Tecnolog�as de la Informaci�n

DiarioTi: Diario Tecnolog�as de la Informaci�n: "Revelan numerosas vulnerabilidades en PHP
[ 14/05/2010 - 08:26 CET ]

La iniciativa Month of PHP Security revela durante mayo diversas vulnerabilidades de PHP con el fin de mejorar la seguridad del 'ecosistema PHP'."

jueves, 13 de mayo de 2010

La Lenovo U1 está por llegar “muy pronto”


tableta de intel

Intel está decidido a mostrar su propia tableta en el Computex



El mercado de las tabletas es muy tentador, la mayoría de los fabricantes ya tiene su propia tableta y si aún no la tiene ya se encuentran trabajando en ella. Otro que se sube al carrito de los comprimidos y tiene la intención de entrar al mercado esIntel.

Intel es una de los fabricantes de hardware más reconocido a nivel mundial y, si ha decidido crear su propia tabletapodemos estar seguros que se avecina algo muy bueno. Durante el Intel Investor Meeting el vice-presidente Mooly Edenconfirmó que se encuentran trabajando en una tableta y una netbook ultradelgada, ambas con procesadores dual-core y serán presentadas en el computex 2010.

“La gente me pregunta, ¿hablas en serio acerca de tratar de participar en el mercado de las tabletas? La respuesta es sí, vamos a tener comprimidos… estad atentos para el Computex. Vamos a tener un diseño de silicio para esta categoría y vamos a participar activamente en él”. Mooly Eden, vicepresidente *PC Client Group* de Intel.

No se hizo referencia a características especificas de estos nuevos productos en los que está trabajando Intel. Sin embargo, se habla de que el usuario, más que todo en cuanto a tabletas se refiere, pide que el producto sea multitarea por lo que Edenrecalcó que es debido a eso que ofrecen procesadores de doble núcleo y realizar cómodamente varias procesos.

Ahora ya sabemos por qué Intel mostró hace poco sus nuevos micro-procesadores para móviles y netbooks. Además, durante el evento también se pudo confirmar que están tentados a trabajar con sistemas operativos como Meego, Chrome OS, Android, diferentes distribuciones de Linux y Windows.

lunes, 10 de mayo de 2010

SlickSpeed selectores de prueba

SlickSpeed selectores de prueba: "velocidad de selectores de validez de la prueba de los frameworks de java script:dojo,mootools,prototype, etc.
Cada marco se ejecuta en su propia iFrame, por lo que no puede suceder conflictos. Las pruebas se ejecutan de selecci�n por selecci�n, con un intervalo para evitar que el navegador freeezing.
Las pruebas se ejecutan en un ambiente neutral, ninguna biblioteca o marco se incluye en la prueba principal de Javascript, para evitar el favoritismo.
Las pruebas se ejecutan en contra de una copia local de este documento."

domingo, 9 de mayo de 2010

Conozca HTML5, el lenguaje que va a cambiar a internet - Terra Tecnolog�a

Conozca HTML5, el lenguaje que va a cambiar a internet - Terra Tecnolog�a: "Conozca HTML5, el lenguaje que va a cambiar a internet"

Detrás de la reciente discusión entre Steve Jobs, de Apple, y Adobe, una sigla surgió en el centro del debate.

Hasta el lanzamiento del iPad, en enero, el HTML5 había sido asunto de programadores y unos pocos especialistas en internet. Al decidir no incluir plug-ins de Adobe en el aparato, sin embargo, Apple acabó llamando la atención en el lenguaje.

Se trata de una versión actualizada del HTML (Hypertext Markup Language en inglés), el código cuyas informaciones son la base de la web. Está siendo desarrollada hace cinco años - es prevista una versión final para 2012 - para permitir que videos y otros recursos sean usados sin que necesiten de plug-ins, programas que necesitan ser instalados en los navegadores para que puedan ser utilizados recursos multimedia que no están presentes en el HTML.

Actualmente la versión en uso en internet - 4.01 - exige estos plug-ins.

Hasta el lanzamiento del iPad, en enero, el HTML5 había sido asunto de programadores y unos pocos especialistas en internet.

Un ejemplo: videos. Para visualizarlos en YouTube, el más popular servicio de vídeos del mundo, es necesario bajar un plug-in de Flash Player, programa producido por Adobe y el más utilizado en el mundo. De la manera como funciona, el plug-in es activado, sirviendo como un intermediario entre el archivo y el navegador, que no consigue leer el código solo. El HTML5 en tesis elimina esta necesidad, haciendo que haya sido anunciado como "matador del Flash".

La semana pasada, Steve Jobs publicó un artículo en la web de Apple en que defendió una internet sin el uso de Flash, responsabilizando al programa por fallos, alto consumo de energía y lentitud.

"Flash fue creado en la era del PC, para @PC y mouses", escribió. "Flash es un negocio de éxito para Adobe,y entendemos por qué quieren usarlo fuera del PC. Pero la era móvil es en dispositivos de bajo consumo de energía, interfaces táctiles y patrones abiertos para la web, todas las áreas donde Flash falló".

Adobe, por su parte, rebatió, en una entrevista de Santanu Narayen, su jefe ejecutivo, culpando al sistema operacional de Apple por los problemas. La empresa niega que Flash vaya a acabar después del HTML5. De todos modos, en YouTube está en al aire desde enero una versión experimental en el nuevo lenguaje. Según la web, el uso del HTML5 está en la lista de los recursos más pedidos por los usuarios. De momento hay limitaciones: no es posible mostrar anuncios, leyendas o apuntes en los vídeos.

Google (Chrome), Microsoft (Internet Explorer) y Mozilla (Firefox) adaptaron las versiones más nuevas de sus navegadores al HTML5. En el fondo, afirma Matthew Papakipos, está en discusión el futuro de los propios ordenadores.

¿Eso quiere decir que personas comunes tendrán que saber HMTL5? No. Como en el caso del HTML en todas sus versiones, se trata sólo de un lenguaje, que no se ve en el resultado final. Pero su existencia será perceptible: Una internet más rápida y compleja.

viernes, 7 de mayo de 2010

Cacoo - Crear diagramas de colaboraci�n en l�nea en tiempo real

Cacoo - Crear diagramas de colaboraci�n en l�nea en tiempo real: "Crear diagramas de
colaboraci�n en tiempo real en l�nea

Cacoo es una amistosa herramienta de dibujo "on line" que le permite crear una variedad de esquemas tales como los mapas de sitio, marcos de alambre, UML y diagramas de red.
Cacoo se puede utilizar de forma gratuita." http://cacoo.com/

Mootools Drag and Drop | Birijan Maharjan

Mootools Drag and Drop | Birijan Maharjan: "Mootools Drag and Drop"

Este es un codigo de ejemplo para crear el efecto de drag & drop con mootols

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Mootools Drag and Drop</title>
<script type="text/javascript" src="../examples/2/mootools.js"></script>
<style>
body {
font-family:Arial, Helvetica, sans-serif;
font-size:11px;
}
#log-write {
color:red;
font-weight:bold;
}
div.draggable {
width: auto;
height: auto;
padding: 5px;
border: solid 1px green;
cursor: move;
background-color: #EEE;
position:relative;
float:left;
font-size:8px;
}
div.dropzone {
width: 169px; /* 80 + 5*2 + 1*2 */
/* height: 65px; */ /* 53 + 5*2 + 1*2 */
height: 100px; /* 53 + 5*2 + 1*2 */
margin: 20px;
border:1px solid #CCC;
position:relative;
}
div.dragenter {
background-color: #00FF00;
*z-index: -1;
}
</style>
</head>
<body>
<table width="400" align="center">
<tr>
<td colspan="2" align="center"><div id="log-write"></div></td>
</tr>
<tr>
<td align="center"><strong>Box 1</strong></td>
<td align="center"><strong>Box 2</strong></td>
</tr>
<tr>
<td ><div id="Box1" class="dropzone">
<div id="1" class="draggable">Draggable 1</div>
<div id="2" class="draggable">Draggable 2</div>
<div id="3" class="draggable">Draggable 3</div>
<div id="3" class="draggable">Draggable 3</div>
</div></td>
<td ><div id="Box2" class="dropzone">
<div id="10" class="draggable">Draggable 10</div>
<div id="11" class="draggable">Draggable 11</div>
<div id="12" class="draggable">Draggable 12</div>
</div></td>
</tr>
<tr>
<td align="center"><strong>Box 3</strong></td>
<td align="center"><strong>Box 4</strong></td>
</tr>
<tr>
<td><div id="Box3" class="dropzone">
<div id="4" class="draggable">Draggable 4</div>
<div id="5" class="draggable">Draggable 5</div>
<div id="6" class="draggable">Draggable 6</div>
</div></td>
<td><div id="Box4" class="dropzone">
<div id="7" class="draggable">Draggable 7</div>
<div id="8" class="draggable">Draggable 8</div>
<div id="9" class="draggable">Draggable 9</div>
</div></td>
</tr>
</table>
<script>
var posfix = function(draggable) {
draggable.setStyles({ left:0+"px", top:0+"px" });
}
var optDropzone = {
over: function() {
this.addClass("dragenter");
},
leave: function() {
this.removeClass("dragenter");
},
drop: function(draggable) {
this.removeClass("dragenter");
draggable.injectInside(this);
posfix(draggable);
var dragId = draggable.id;
var droppedIn = draggable.getParent().id;
$('log-write').setText('Draggable '+dragId+' dropped in '+droppedIn);
//alert('Draggable '+dragId +' dropped in '+droppedIn);
}
}
var optDraggable = {
onStart: function(draggable) {
draggable.setOpacity(0.5).setStyle("z-index", 1);
},
onComplete: function(draggable) {
draggable.setOpacity(1.0).setStyle("z-index", 0);
posfix(draggable);
}
}
window.onload = function() {
optDraggable.droppables = $$(".dropzone").addEvents(optDropzone);
$$(".draggable").makeDraggable(optDraggable);
$$(".draggable").each(function(elm){ posfix(elm) });
}
</script>
</body>
</html>