
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());}}}