public void showModalView(String code,boolean cleanMode,float opacity,String background)
{
ItsNatComponentManager compMgr = itsNatDoc.getItsNatComponentManager();
final ItsNatModalLayer modalLayer = compMgr.createItsNatModalLayer(null,cleanMode,opacity,background,null);
EventListener unexpEvtListener = new EventListenerSerial()
{
// Por si acaso aunque en general el z-order funciona bien en los casos
// de soporte SVG decente.
public void handleEvent(Event evt)
{
StringBuilder code = new StringBuilder();
code.append("if (true == confirm('Received an unexpected event by a hidden element. Reload?')) "); // (true == ...) es para Batik porque confirm devuelve un objeto Boolean no un primitivo
code.append(" window.location.href = window.location.href; "); // El window.location.reload(true) no funciona en ASV y el Batik esta sentencia funciona como un reload (simulado en el applet para ItsNat)
itsNatDoc.addCodeToSend(code.toString());
}
};
modalLayer.addUnexpectedEventListener(unexpEvtListener);
final Document doc = itsNatDoc.getDocument();
DocumentFragment frag = itsNatDoc.toDOM(code);
final Element elem = (Element)frag.getFirstChild();
doc.getDocumentElement().appendChild(elem);
NodeList links = elem.getElementsByTagName("a");
final Element linkExit = (Element)links.item(0);
final Element linkCheckServ = (Element)links.item(1);
// Link simplemente para actualizar el cliente con cambios en el servidor
final EventListener listenerNothing = new EventListenerSerial()
{
public void handleEvent(Event evt)
{
}
};
((EventTarget)linkCheckServ).addEventListener("click",listenerNothing,false);
EventListener listenerExit = new EventListenerSerial()
{
public void handleEvent(Event evt)
{
((EventTarget)linkCheckServ).removeEventListener("click",listenerNothing,false);
//((EventTarget)elem).removeEventListener("click",this,false);