Buongiorno a tutti, espongo il mio problema e spero che qualcuno possa aiutarmi, premetto che mi sto avvicinando adesso alle prototype e forse (probabilmente) il problema è dovuto alla mia ignoranza in materia.

Ho bisogno di creare una "popup"/"window" e mi sono creato la seguente funzione:

codice:
function apriWindow() {
    var win = new Window("win2", {className: "alphacube", top:150, left:220, width:200, 
         height:100, title:"Posizioni Occupate",showEffect:Effect.BlindDown, hideEffect: Effect.SwitchOff,
         draggable:true, wiredDrag: true,maximizable: false, minimizable: false});
    win.getContent().innerHTML="<div style='padding:10px'><%=variabile%></div>"
    win.setDestroyOnClose();
    win.show();
  }
e questo codice mi permette di creare una finestrella con all'interno il contenuto della variabile. La finestra grazie a showEffect:Effect.BlindDown appare in modo carino scorrendo dall'alto.
E ora arriva il problema: grazie a hideEffect: Effect.SwitchOff la finestra si dovrebbe chiudere in maniera altrettanto carina, ma (credo) a causa di win.setDestroyOnClose(); viene terminata in maniera un po' brusca.

Correggetemi se sbaglio: se rimuovo win.setDestroyOnClose(); l'effetto viene applicato correttamente quando apro la prima finestra. Nel momento in cui chiudo la prima e ne apro un'altra l'effetto di chiusura viene applicato sulla prima(che non è stata distrutta, quindi credo che venga ancora puntata) e quindi io vedo, nel punto in cui avevo precedentemente chiuso la prima finestra, l'effetto di chiusura.

Credo che dovrei associare o aggiungere la funzione destroy() all' hideEffect, ma questa è una mia supposizione... :master:
Non sono molto pratico nell'utilizzo degli array associativi/Prototype, quindi ogni link a documentazione esterna/HTML.it che sia utilizzabile è il benvenuto

Grazie a tutti