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=top.Windows.focusedWindow;if(characterCode==WindowCloseKey.keyCode&&win){if(win.cancelCallback)top.Dialog.cancelCallback();else if(win.okCallback)top.Dialog.okCallback();else top.Windows.close(top.Windows.focusedWindow.getId())}}}
