WindowStore={doSetCookie:false,cookieName:"__window_store__",expired:null,init:function(cookieName,expired){WindowStore.cookieName=cookieName||WindowStore.cookieName;
if(!expired){var today=new Date();
today.setYear(today.getYear()+1903);
WindowStore.expired=today
}else{WindowStore.expired=expired
}Windows.windows.each(function(win){win.setCookie(win.getId(),WindowStore.expired)
});
var myObserver={onShow:function(eventName,win){WindowStore._saveCookie()
},onClose:function(eventName,win){WindowStore._saveCookie()
},onHide:function(eventName,win){WindowStore._saveCookie()
}};
Windows.addObserver(myObserver);
WindowStore._restoreWindows();
WindowStore._saveCookie()
},show:function(win){eval("var cookie = "+WindowUtilities.getCookie(WindowStore.cookieName));
if(cookie!=null){if(cookie[win.getId()]){win.show()
}}else{win.show()
}},_saveCookie:function(){if(!doSetCookie){return 
}var cookieValue="{";
Windows.windows.each(function(win){if(cookieValue!="{"){cookieValue+=","
}cookieValue+=win.getId()+": "+win.isVisible()
});
cookieValue+="}";
WindowUtilities.setCookie(cookieValue,[WindowStore.cookieName,WindowStore.expired])
},_restoreWindows:function(){eval("var cookie = "+WindowUtilities.getCookie(WindowStore.cookieName));
if(cookie!=null){doSetCookie=false;
Windows.windows.each(function(win){if(cookie[win.getId()]){win.show()
}})
}doSetCookie=true
}};
WindowCloseKey={keyCode:Event.KEY_ESC,init:function(keyCode){if(keyCode){WindowCloseKey.keyCode=keyCode
}Event.observe(document,"keydown",this._closeCurrentWindow.bindAsEventListener(this))
},_closeCurrentWindow:function(event){var e=event||window.event;
var characterCode=e.which||e.keyCode;
var win=Windows.focusedWindow;
if(characterCode==WindowCloseKey.keyCode&&win){if(win.cancelCallback){Dialog.cancelCallback()
}else{if(win.okCallback){Dialog.okCallback()
}else{Windows.close(Windows.focusedWindow.getId())
}}}}}
