WindowStore = {doSetCookie: false,
cookieName: "__window_store__",
expired: null,
init: function(cookieName, expired) {if (!cookieName)
WindowStore.cookieName = cookieName;if (! expired) {var today = new Date();today.setYear(today.getYear()+1903);WindowStore.expired = today;}
else
WindowStore.expired = expired;var myObserver = {onShow: 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(Windows.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(Windows.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());}
}
}


