Object.extend(sjcl.widget,{ShowState:{Idle:0,WaitingShow:1,Showing:2,Visible:3,WaitingHide:4,Hiding:5},StartPosition:{Manual:0,CenterScreen:1,CenterParent:2},WindowState:{Normal:0,Minimized:1,Maximized:2},WindowStatus:{NotCreated:0,Created:1,Loading:2,Ready:4},DialogButtons:{None:0,YesNo:1,OkCancel:2,Ok:3,Wizard:4,Close:5},CursorPos:{Default:0,SizeTop:1,SizeTopLeft:2,SizeTopRight:3,SizeBottom:4,SizeBottomLeft:5,SizeBottomRight:6,SizeLeft:7,SizeRight:8},Window:function(name,title,content,width,height){this.name=name||sjcl.guid("Win");this.title=title||"";this.left=0;this.top=0;this.width=width||400;this.height=height||300;this.minWidth=200;this.minHeight=75;this.autoSize=true;this.allowMove=true;this.allowResize=true;this.controlBox=true;this.minimizeBox=true;this.showMenu=true;this.startPosition=sjcl.widget.StartPosition.CenterScreen;this.windowState=sjcl.widget.WindowState.Normal;this.dialogButtons=sjcl.widget.DialogButtons.None;this.alignment="right";this.webRequests=new sjcl.net.WebRequestCollection();this.guid=sjcl.guid("Win");this._uname=this.guid+"_"+name;this._overlappedControls=[];this._disabledButtons=[];if(typeof content=="string"){this.contentUrl=content;this.runningMode=sjcl.widget.RunningMode.Callback;this.content=null;}else{this.contentUrl="";this.runningMode=sjcl.widget.RunningMode.Client;this.content=content||null;}},Dialog:function(){},AttachDialog:function(){},Wizard:function(){this._pages=[];},WindowCollection:function(parent){this.parent=parent;this._items=[];},WindowManager:function(){this.cssClass="WinFrame WinActive";this.windows=new sjcl.widget.WindowCollection(this);},InputDialog:function(prompt,text,type,vRules,onReturn,caption,owner){this.prompt=prompt||"";this.text=text||"";this.type=type||sjcl.widget.ContentType.String;this.vRules=vRules||"";this.onReturn=onReturn||null;this.caption=caption||getString("EDIT");this.dlg=g_WinManager.createWindow("InputDlg",this.caption);this.dlg.dialogButtons=sjcl.widget.DialogButtons.OkCancel;this.dlg.destroyOnHide=true;this.dlg.allowResize=this.type!=sjcl.widget.ContentType.String&&this.type!=sjcl.widget.ContentType.Password;this.dlg.minimizeBox=this.type!=sjcl.widget.ContentType.String&&this.type!=sjcl.widget.ContentType.Password;this.dlg.clientWidth=400;this.dlg.clientHeight=(this.type==sjcl.widget.ContentType.String||this.type==sjcl.widget.ContentType.Password?41:200)-WIN_SPACING*2;this.dlg.minWidth=250;this.dlg.minHeight=150;this.dlg.wndOwner=owner;this.dlg.onShow=this._onShow.bind(this);this.dlg.onResize=this._onResize.bind(this);this.dlg.onValidate=this._onValidate.bind(this);this.dlg.onOk=this._onOk.bind(this);},InputList:function(owner,onReturn,caption){this.caption=caption||"Add List";this.onReturn=onReturn;this.items=[];this.dlg=g_WinManager.createWindow("InputList",this.caption);this.dlg.wndOwner=owner;this.dlg.destroyOnHide=true;this.dlg.dialogButtons=sjcl.widget.DialogButtons.OkCancel;this.dlg.minWidth=300;this.dlg.minHeight=150;this.dlg.onShow=this._onShow.bind(this);this.dlg.onResize=this._onResize.bind(this);this.dlg.onOk=this._onOk.bind(this);},inputBox:function(prompt,text,type,vRules,onReturn,caption,owner){var dlg=new sjcl.widget.InputDialog(prompt,text,type,vRules,onReturn,caption,owner);dlg.show();},infoBox:function(caption,icon,text,modal){function createContent(icon,text){var tbl=document.createElement("TABLE");var bdy=tbl.appendChild(document.createElement("TBODY"));var tr=bdy.appendChild(document.createElement("TR"));var td,img;if(icon){td=tr.appendChild(document.createElement("TD"));td.style.width="32px";img=td.appendChild(document.createElement("IMG"));img.src=icon;}td=tr.appendChild(document.createElement("TD"));td.style.padding="0 2px";td.innerHTML=text;tbl.cellSpacing="8px";tbl.style.height="100%";tbl.style.width="100%";return tbl;}function calcTextWidth(text){var div=document.createElement("DIV");var width=0;div.style.position="absolute";div.style.visibility="hidden";div.innerHTML=text;document.body.appendChild(div);width=div.offsetWidth;document.body.removeChild(div);return width;}var width=calcTextWidth(text)+55;var dlg=g_WinManager.createWindow("IB",caption,createContent(icon,text),null);dlg.clientWidth=width;dlg.clientHeight=48;dlg.minimizeBox=false;dlg.controlBox=false;dlg.allowResize=false;dlg.show(modal);return dlg;},messageBox:function(text,caption,icon){function createContent(icon,text){var tbl=document.createElement("TABLE");var bdy=tbl.appendChild(document.createElement("TBODY"));var tr=bdy.appendChild(document.createElement("TR"));var td,img;if(icon){td=tr.appendChild(document.createElement("TD"));td.style.width="32px";td.vAlign="top";img=td.appendChild(document.createElement("IMG"));img.src=icon;}td=tr.appendChild(document.createElement("TD"));td.style.padding="0 2px";td.innerHTML=text;tbl.cellSpacing="8px";tbl.style.width="100%";return tbl;}function calcTextWidth(text){var div=document.createElement("DIV");var width,height;div.style.position="absolute";div.style.visibility="hidden";div.innerHTML=text;document.body.appendChild(div);width=div.offsetWidth;if(width>500){div.style.width="500px";width=500;}height=div.offsetHeight>50?div.offsetHeight:50;document.body.removeChild(div);return{width:width,height:height};}var sz=calcTextWidth(text);var dlg=g_WinManager.createWindow("MB",caption,createContent(icon,text),null);dlg.dialogButtons=sjcl.widget.DialogButtons.Ok;dlg.alignment="center";dlg.clientWidth=sz.width+55;dlg.clientHeight=sz.height;dlg.minimizeBox=false;dlg.allowResize=false;dlg.destroyOnHide=true;dlg.show(true);return dlg;},showListDialog:function(caption,icon,text,list,modal){function createContent(icon,text,list,dlg){var tbl=document.createElement("TABLE");var bdy=tbl.appendChild(document.createElement("TBODY"));var tr=bdy.appendChild(document.createElement("TR"));var td,img,e,lb;if(icon){td=tr.appendChild(document.createElement("TD"));td.style.width="32px";td.style.verticalAlign="top";img=td.appendChild(document.createElement("IMG"));img.src=icon;}td=tr.appendChild(document.createElement("TD"));td.style.padding="5px 2px 0px";td.style.verticalAlign="top";td.innerHTML=text;tr=bdy.appendChild(document.createElement("TR"));td=tr.appendChild(document.createElement("TD"));td.style.verticalAlign="top";td.colSpan=icon?"2":"1";e=td.appendChild(document.createElement("SELECT"));e.size="12";e.style.width="100%";lb=new sjcl.form.ListBox(e);lb.fill(list);tr=bdy.appendChild(document.createElement("TR"));td=tr.appendChild(document.createElement("TD"));td.colSpan=icon?"2":"1";td.style.textAlign="center";e=document.createElement("INPUT");e.type="button";e.value="Ok";e.style.width="75px";e.style.padding="2px";sjcl.event.add(e,"click",function(){dlg.discard();});td.appendChild(e);tbl.cellSpacing="8px";tbl.style.height="100%";tbl.style.width="100%";return tbl;}function calcTextWidth(text){var div=document.createElement("DIV");var width=0;div.style.position="absolute";div.style.visibility="hidden";div.innerHTML=text;document.body.appendChild(div);width=div.offsetWidth;document.body.removeChild(div);return width;}var width=calcTextWidth(text)+70;var dlg=g_WinManager.createWindow(sjcl.guid("LBD"),caption,null,width,278);dlg.content=createContent(icon,text,list,dlg);dlg.minimizeBox=false;dlg.destroyOnHide=true;dlg.allowResize=false;dlg.show(modal);return dlg;},showResultDialog:function(caption,icon,text,content,modal){function createContent(icon,text,content,dlg){var tbl=document.createElement("TABLE");var bdy=tbl.appendChild(document.createElement("TBODY"));var tr=bdy.appendChild(document.createElement("TR"));var td,img,e,div;if(icon){td=tr.appendChild(document.createElement("TD"));td.style.width="16px";td.style.textAlign="center";td.style.verticalAlign="top";td.style.paddingTop="5px";img=td.appendChild(document.createElement("IMG"));img.src=icon;}td=tr.appendChild(document.createElement("TD"));td.style.padding="5px 2px 0px";td.style.verticalAlign="top";td.innerHTML=text;tr=bdy.appendChild(document.createElement("TR"));td=tr.appendChild(document.createElement("TD"));td.style.verticalAlign="top";td.colSpan=icon?"2":"1";div=td.appendChild(document.createElement("DIV"));div.className="ScrollFrame";div.style.height="250px";div.appendChild(content);tr=bdy.appendChild(document.createElement("TR"));td=tr.appendChild(document.createElement("TD"));td.colSpan=icon?"2":"1";td.style.textAlign="center";e=document.createElement("INPUT");e.type="button";e.value="Ok";e.style.width="75px";e.style.padding="2px";sjcl.event.add(e,"click",function(){dlg.discard();});td.appendChild(e);tbl.cellSpacing="5px";tbl.style.height="100%";tbl.style.width="100%";return tbl;}function calcTextWidth(text){var div=document.createElement("DIV");var width=0;div.style.position="absolute";div.style.visibility="hidden";div.innerHTML=text;document.body.appendChild(div);width=div.offsetWidth;document.body.removeChild(div);return width;}var width=calcTextWidth(text)+50;var dlg=g_WinManager.createWindow(sjcl.guid("LBD"),caption);dlg.content=createContent(icon,text,content,dlg);dlg.clientWidth=width;dlg.clientHeight=340;dlg.minimizeBox=false;dlg.destroyOnHide=true;dlg.allowResize=false;dlg.show(modal);return dlg;}});sjcl.widget.WindowCollection.inherits(sjcl.CollectionBase);sjcl.widget.WindowManager.extend({createWindow:function(name,title,content,wndOwner,width,height){var window=new sjcl.widget.Window(name,title,content,width,height);if(wndOwner)window.wndOwner=wndOwner;window.zIndex=sjcl.zIndex("Window");this._topWindow=window;return this.windows.add(window);},getWindow:function(name){return this.windows.item(name);},bringWindowToTop:function(window){if((this._topWindow==window)||window.disabled())return;window.zIndex=sjcl.zIndex("Window");window.frame.style.zIndex=window.zIndex;if(window._desktop)window._desktop.style.zIndex=window.zIndex-1;if(window._disFrame)window._disFrame.style.zIndex=window.zIndex+1;if(!sjcl.browser.windowlessSelect){window._showHiddenControls("SELECT");window._hideElements("SELECT");}window._showHiddenControls("EMBED",true);window._hideElements("EMBED",true);this.windows.each(function(win){if((win.name!=window.name)&&win.frame)win.frame.className="WinFrame WinInactive";});window.frame.className="WinFrame WinActive";if((window.frame.style.display!="none")&&(window.frame.style.visibility!="hidden"))window.frame.focus();this._topWindow=window;},_isControlOverlapped:function(e){for(var i=0;i<this.windows.length();i++){var win=this.windows.item(i);if(win._overlappedControls.contains(e))return true;}return false;},_removeOverlappedControl:function(e){for(var i=0;i<this.windows.length();i++){var win=this.windows.item(i);win._overlappedControls.remove(e);}}});sjcl.widget.Window.extend({show:function(modal){var firstShow=!this.frame;if(!this.frame){this._adjustDimensions();this._createWindowFrame();this._adjustClientArea();if(this.controlBox)this._initMenuBar();if(this.runningMode==sjcl.widget.RunningMode.Client){this._setWindowContent(this.content);this.ready=true;}if(this.startPosition!=sjcl.widget.StartPosition.Manual)this.adjustWindowPos();this.setWindowPos();this._fadeIn();}this.owner.bringWindowToTop(this);if(modal)this._showDesktop();if(!firstShow){this._fadeIn();this._showClient(true);}if(!sjcl.browser.windowlessSelect)this._hideElements("SELECT");this._hideElements("EMBED",true);if(this.wndOwner){this.wndOwner.disable();if(this.wndOwner.frame)this.wndOwner.frame.className="WinFrame WinInactive";}if((this.content==null)&&(this.runningMode==sjcl.widget.RunningMode.Callback))this.refresh();else if(this.onShow){if(firstShow&&this.onResize)this.onResize(this.width,this.height);this.onShow();}},hide:function(){window.setTimeout(this._doHide.bind(this),200);},close:function(){window.setTimeout(this._doClose.bind(this),200);},discard:function(){this.destroyOnHide?this.close():this.hide();},activate:function(){this.owner.bringWindowToTop(this);if(this.onActivate)this.onActivate();},minimize:function(){this.windowState=sjcl.widget.WindowState.Minimized;this.client.parentNode.style.display="none";this.frame.style.height=WIN_TITLE_HEIGHT+WIN_BORDER_WIDTH+"px";if(this.webRequests.item(this.name))this.setWindowText(this.title+" - "+getString("LOADING"));},restore:function(){this.windowState=sjcl.widget.WindowState.Normal;this.client.parentNode.style.display="";this.frame.style.height=this.height+"px";if(this.webRequests.item(this.name))this.setWindowText(this.title);},adjustWindowPos:function(){if(this.startPosition==sjcl.widget.StartPosition.CenterScreen){var xShift=!sjcl.browser.fixedPositioning?sjcl.browser.scrollLeft():0;var yShift=!sjcl.browser.fixedPositioning?sjcl.browser.scrollTop():0;this.left=xShift+(sjcl.browser.clientWidth()-this.width)/2;this.top=yShift+(sjcl.browser.clientHeight()-this.height)/2;}},setWindowPos:function(left,top,width,height){if(left)this.left=left;if(top)this.top=top;if(width)this.width=width;if(height)this.height=height;this.frame.style.left=this.left+"px";this.frame.style.top=this.top+"px";this.frame.style.width=this.width+"px";this.frame.style.height=this.height?this.height+"px":"auto";this._adjustClientArea();},refresh:function(){if(this.webRequests.item(this.name))return;var e=this.getContentCell();var pdata=this.postData?this.postData:"";sjcl.dom.removeElement(e.firstChild);this.enableButton("Ok",false);if(this.runningMode==sjcl.widget.RunningMode.Callback){this._showLoadingEffect(true);this.webRequests.add(this.name,new sjcl.net.WebRequest(this.contentUrl,this._onFetchData.bind(this),null,"POST",pdata));}},getContentCell:function(){return this.contentCell;},calcWindowRect:function(width,height){width+=WIN_BORDER_WIDTH*2+WIN_CLIENT_BORDER*2;height+=WIN_TITLE_HEIGHT+WIN_BORDER_WIDTH+WIN_CLIENT_BORDER*2;if(this.dialogButtons!=sjcl.widget.DialogButtons.None)height+=WIN_BUTTONS_HEIGHT+WIN_CLIENT_BORDER;return{width:width,height:height};},getClientRect:function(){var width,height;if(!this.isFullScreen){width=this.width-WIN_BORDER_WIDTH*2-WIN_CLIENT_BORDER*2-WIN_SPACING*2;height=this.height-WIN_TITLE_HEIGHT-WIN_BORDER_WIDTH-WIN_CLIENT_BORDER*2-WIN_SPACING*2;if(this.dialogButtons!=sjcl.widget.DialogButtons.None)height-=WIN_BUTTONS_HEIGHT+WIN_CLIENT_BORDER;}else{var cx=sjcl.browser.clientWidth();var cy=sjcl.browser.clientHeight();width=cx-WIN_CLIENT_BORDER*2-WIN_SPACING*2;height=cy-WIN_CLIENT_BORDER*2-WIN_SPACING*2;}return{width:width,height:height};},setWindowText:function(text){if((text==undefined)||(text.length==0))text=" ";this._titleCell.firstChild.innerHTML=text;},setBackgroundColor:function(color){this.client.style.backgroundColor=color;},addButton:function(name,caption,handler,opposite,visible){if(!this._customButtons)this._customButtons=[];this._customButtons.push({name:name,caption:caption,handler:handler,opposite:opposite,visible:visible});},showButton:function(name,state){var btn=$(this._makeId(name));if(btn)btn.style.display=state?"":"none";},enableButton:function(name,state){var id=this._makeId(name);var btn=$(id);var img=sjcl.dom.getChildByTagName(btn,"IMG");if(state){this._disabledButtons.remove(id);if(btn)btn.className=btn.className.replace("Disabled","Normal");if(img)img.src=img.src.replace("_dis.",".");}else{this._disabledButtons.add(id,true);if(btn&&btn.className.indexOf("Normal")!=-1)btn.className=btn.className.replace("Normal","Disabled");else if(btn&&btn.className.indexOf("Hover")!=-1)btn.className=btn.className.replace("Hover","Disabled");if(img)img.src=img.src.remove("_dis").replace(".png","_dis.png");}},buttonEnabled:function(name){return this._disabledButtons.indexOf(this._makeId(name))==-1;},setButtonText:function(name,text){var btn=$(this._makeId(name));btn.innerHTML=text;},disable:function(){if(!this._disFrame){var div=document.createElement("DIV");div.className="WinDesktop";div.style.left=this.frame.offsetLeft+"px";div.style.top=this.frame.offsetTop+"px";div.style.width=this.frame.offsetWidth+"px";div.style.height=this.frame.offsetHeight+"px";div.style.zIndex=this.zIndex+1;document.body.appendChild(div);this._disFrame=div;}},enable:function(){if(this._disFrame){sjcl.dom.removeElement(this._disFrame);delete this._disFrame;}},visible:function(){return(this.frame!=undefined)&&(this.frame.style.display!="none");},disabled:function(){return this._disFrame!=null;},addChild:function(name,dlg){if(!this.children)this.children=[];this.children[name]=dlg;},removeChild:function(name){this.children.remove(this.children[name]);},getChild:function(name){return this.children!=null?this.children[name]:null;},hasChild:function(name){return(this.children!=null)&&(this.children[name]!=null);},toggleFullScreen:function(){var bdy=this.frame.firstChild;var trBody=bdy.firstChild.nextSibling;var shadow=sjcl.dom.getFilter(this.frame,"Shadow");var maximize=!this.isFullScreen;this.isFullScreen=!this.isFullScreen;if(maximize){var cx=sjcl.browser.clientWidth();var cy=sjcl.browser.clientHeight();if(shadow)shadow.enabled=false;bdy.firstChild.style.display="none";bdy.lastChild.style.display="none";trBody.firstChild.style.display="none";trBody.lastChild.style.display="none";if(this.contentCell.nextSibling)this.contentCell.nextSibling.style.display="none";this.frame.style.left="0px";this.frame.style.top="0px";this.frame.style.width=cx+"px";this.frame.style.height=cy+"px";this.contentCell.style.width=cx-WIN_CLIENT_BORDER*2+"px";this.contentCell.style.height=cy-WIN_CLIENT_BORDER*2+"px";if(this.onResize)this.onResize();}else{if(shadow)shadow.enabled=true;bdy.firstChild.style.display="";bdy.lastChild.style.display="";trBody.firstChild.style.display="";trBody.lastChild.style.display="";if(this.contentCell.nextSibling)this.contentCell.nextSibling.style.display="";this._adjustClientArea();this.setWindowPos();if(this.onResize)this.onResize();}},fireButtonClick:function(name){var handler="_onBtn"+name+"Click";if(this[handler])this[handler]();},onValidate:function(){return sjcl.form.validate(this.contentCell);},_checkSecurity:function(){var e=this._element("AccessDenied");if(e){var sz=this.getClientRect();if(this.dialogButtons==sjcl.widget.DialogButtons.None)e.className="DlgMargin";e.style.height=sz.height-2+"px";if(this._customButtons){for(var i=0;i<this._customButtons.length;i++)this.enableButton(this._customButtons[i].name,false);}this.enableButton("Ok",false);this.enableButton("Next",false);this.enableButton("Back",false);this.setWindowText(getString("SECURITY"));this.accessDenied=true;return false;}return true;},_makeId:function(name){return this.guid+"_"+name;},_nameById:function(id){return id.substring(this.guid.length+1);},_element:function(name){return $(this._makeId(name));},_replaceIds:function(){sjcl.dom.replaceIds(this.getContentCell(),this.guid);},_replaceLabelsFor:function(){sjcl.dom.replaceLabelsFor(this.getContentCell(),this.guid);},_attachHoverHandlers:function(frame){var frame=this.getContentCell();var col=frame.getElementsByTagName("*");for(var i=0,n=col.length;i<n;i++){var e=col.item(i);if(e.getAttribute("Button")){sjcl.event.addMouseHoverEvents(e,this._onButtonOver.bind(this,e),this._onButtonOut.bind(this,e));sjcl.event.add(e,"mousedown",this._onButtonDown.bind(this,e));sjcl.event.add(e,"mouseup",this._onButtonUp.bind(this,e));}}},_closeChildren:function(){if(this.children){for(var p in this.children){if(this.children.hasOwnProperty(p))this.children[p].close();}}},_cleanup:function(){this._showOverlappedControls();this.webRequests.clear();this._hideDesktop();if(this.wndOwner){this.wndOwner.enable();this.wndOwner.activate();}},_doHide:function(){this._cleanup();this.frame.style.display="none";},_doClose:function(){this._closeChildren();this._cleanup();this.owner.windows.remove(this);sjcl.dom.removeElement(this.frame);},_showDesktop:function(){if(!this._desktop){var div=document.createElement("DIV");div.className="WinDesktop";div.style.left="0px";div.style.top="0px";div.style.width=document.body.clientWidth+"px";div.style.height=document.body.clientHeight+"px";div.style.zIndex=this.zIndex-1;document.body.appendChild(div);this._desktop=div;}},_hideDesktop:function(){if(this._desktop){sjcl.dom.removeElement(this._desktop);this._desktop=null;}},_getMenuItemId:function(id){return"win_mnu_"+id+"_"+this._uname;},_getMenuImage:function(img){return this.owner.menuImagesUrl+"/"+img;},_createMenu:function(){var menuBar=new sjcl.widget.MenuBar();var menu=new sjcl.widget.Menu("win_menu_"+this._uname);if(this.minimizeBox){menu.append({caption:getString("MINIMIZE"),id:this._getMenuItemId("Minimize"),image:this._getMenuImage("win_menu_minimize.png")});menu.append({caption:getString("RESTORE"),id:this._getMenuItemId("Restore"),image:this._getMenuImage("win_menu_restore.png")});}menu.append({caption:getString("REFRESH"),id:this._getMenuItemId("Refresh"),image:this._getMenuImage("refresh16.png")});menu.append({type:sjcl.widget.MenuItemType.Separator});menu.append({caption:getString("CLOSE"),id:this._getMenuItemId("Close"),image:this._getMenuImage("win_menu_close.png")});menuBar.append(menu);menuBar.onInitPopupMenu=this._onInitPopupMenu.bind(this);menuBar.onItemClick=this._onMenuItemClick.bind(this);this.menu=menuBar;},_initMenuBar:function(){if(!this.showMenu)return;this.menu.attach({target:$("win_i_"+this._uname),topItemCssClass:"TopMenuItem",expandOnClick:true,alignToBar:true,showBorderEraser:false});},_createTitleBar:function(){var tbl=document.createElement("TABLE");var bdy=tbl.appendChild(document.createElement("TBODY"));var tr=bdy.appendChild(document.createElement("TR"));var td,img,div;if(this.iconUrl){td=tr.appendChild(document.createElement("TD"));td.className="Icon";td.id="win_i_"+this._uname;img=td.appendChild(document.createElement("IMG"));img.className="TopMenuItem";img.src=this.iconUrl;img.setAttribute("menu","win_menu_"+this._uname);}td=tr.appendChild(document.createElement("TD"));td.className="Caption";div=td.appendChild(document.createElement("DIV"));this._titleCell=td;div.appendChild(document.createTextNode(this.title));sjcl.event.add(td,"mousedown",this._onTitleBarMouseDown.bindAsEvent(this));sjcl.event.add(td,"dblclick",this._onTitleBarDoubleClick.bindAsEvent(this));td=tr.appendChild(document.createElement("TD"));td.className="Buttons";td.vAlign="top";sjcl.event.add(td,"mousedown",this._onTitleBarMouseDown.bindAsEvent(this));sjcl.event.add(td,"dblclick",this._onTitleBarDoubleClick.bindAsEvent(this));if(this.controlBox){img=td.appendChild(document.createElement("IMG"));img.id="win_close_"+this._uname;img.src=this.owner.closeImageUrl;img.className="Close";sjcl.event.addMouseHoverEvents(img,this._onCloseMouseOver.bind(this),this._onCloseMouseOut.bind(this));sjcl.event.add(img,"mousedown",this._onCloseMouseDown.bind(this));sjcl.event.add(img,"mouseup",this._onCloseMouseUp.bind(this));}if(this.maximizeBox){img=td.appendChild(document.createElement("IMG"));img.id="win_max_"+this._uname;img.src=this.owner.minimizeImageUrl;img.className="Maximize";sjcl.event.addMouseHoverEvents(img,this._onMinimizeMouseOver.bind(this),this._onMinimizeMouseOut.bind(this));sjcl.event.add(img,"mousedown",this._onMinimizeMouseDown.bind(this));sjcl.event.add(img,"mouseup",this._onMinimizeMouseUp.bind(this));}if(this.minimizeBox){img=td.appendChild(document.createElement("IMG"));img.src=this.owner.minimizeImageUrl;img.className="Minimize";sjcl.event.addMouseHoverEvents(img,this._onMinimizeMouseOver.bind(this),this._onMinimizeMouseOut.bind(this));sjcl.event.add(img,"mousedown",this._onMinimizeMouseDown.bind(this));sjcl.event.add(img,"mouseup",this._onMinimizeMouseUp.bind(this));this._minButton=img;}tbl.cellSpacing="0px";tbl.cellPadding="0px";return tbl;},_getOppositeButtons:function(){var list=[];if(this._customButtons){for(var i=0;i<this._customButtons.length;i++){var btn=this._customButtons[i];if(btn.opposite)list.push(btn);}}for(var i=0;i<list.length-1;i++)list[i].space=WIN_BUTTON_SPACING;return list;},_getCustomButtons:function(){var list=[];if(this._customButtons){for(var i=0;i<this._customButtons.length;i++){var btn=this._customButtons[i];if(!btn.opposite){btn.space=WIN_BUTTON_SPACING;list.push(btn);}}}return list;},_getButtons:function(){var custom=this._getCustomButtons();var opposite=this._getOppositeButtons();var normal=[];switch(this.dialogButtons){case sjcl.widget.DialogButtons.YesNo:normal.push({name:"Ye",caption:getString("YES"),handler:this._onBtnOkClick.bindAsEvent(this),opposite:false,space:WIN_BUTTON_SPACING});normal.push({name:"No",caption:getString("NO"),handler:this._onBtnCancelClick.bindAsEvent(this),opposite:false,space:0});break;case sjcl.widget.DialogButtons.OkCancel:normal.push({name:"Ok",caption:getString("OK"),handler:this._onBtnOkClick.bindAsEvent(this),opposite:false,space:WIN_BUTTON_SPACING});normal.push({name:"Cancel",caption:getString("CANCEL"),handler:this._onBtnCancelClick.bindAsEvent(this),opposite:false,space:0});break;case sjcl.widget.DialogButtons.Ok:normal.push({name:"Ok",caption:this.button1?this.button1:getString("OK"),handler:this._onBtnOkClick.bindAsEvent(this),opposite:false,space:WIN_BUTTON_SPACING});break;case sjcl.widget.DialogButtons.Wizard:normal.push({name:"Back",caption:"< "+getString("BACK"),handler:this._onBtnBackClick.bindAsEvent(this),opposite:false,space:0,disabled:true});normal.push({name:"Next",caption:getString("NEXT")+" >",handler:this._onBtnNextClick.bindAsEvent(this),opposite:false,space:WIN_BUTTON_SPACING,disabled:true});normal.push({name:"Cancel",caption:getString("CANCEL"),handler:this._onBtnCancelClick.bindAsEvent(this),opposite:false,space:0});break;case sjcl.widget.DialogButtons.Close:normal.push({name:"Close",caption:getString('CLOSE'),handler:this._onBtnCloseClick.bindAsEvent(this),opposite:false,space:WIN_BUTTON_SPACING});break;}var buttons=opposite.concat(custom,normal);if(opposite.length>0){var space=this.width-WIN_BORDER_WIDTH*2-WIN_CLIENT_BORDER*2-WIN_SPACING*2-buttons.length*WIN_BUTTON_WIDTH;for(var i=0;i<buttons.length;i++){if(buttons[i].space>0)space-=buttons[i].space;}opposite[opposite.length-1].space=space;}return buttons;},_createButtons:function(){var buttons=this._getButtons();var tbl=document.createElement("TABLE");var bdy=tbl.appendChild(document.createElement("TBODY"));var tr=bdy.appendChild(document.createElement("TR"));for(var i=0;i<buttons.length;i++){var btn=buttons[i];var td=tr.appendChild(document.createElement("TD"));var cap=document.createElement('A');cap.href="javascript:;";cap.appendChild(document.createTextNode(btn.caption));if(btn.disabled)this.enableButton(btn.name,false);td.id=this._makeId(btn.name);td.className="SmallButton "+(this.buttonEnabled(btn.name)?"SBNormal":"SBDisabled");td.appendChild(cap);sjcl.event.addMouseHoverEvents(td,this._onButtonOver.bind(this,td),this._onButtonOut.bind(this,td));sjcl.event.add(td,"mousedown",this._onButtonDown.bind(this,td));sjcl.event.add(td,"mouseup",this._onButtonUp.bind(this,td));if(btn.visible==false)td.style.display="none";if(btn.handler)sjcl.event.add(td,"click",btn.handler);if(btn.space){td=tr.appendChild(document.createElement("TD"));td.style.width=btn.space+"px";}}if(this.alignment=="center")sjcl.dom.setStyle(tbl,"float","none");tbl.cellSpacing="0px";tbl.cellPadding="0px";return tbl;},_createClientArea:function(){var df=document.createDocumentFragment();var div=df.appendChild(document.createElement("DIV"));if(this.dialogButtons!=sjcl.widget.DialogButtons.None){div=df.appendChild(document.createElement("DIV"));div.className="HDialogButtons";div.style.height=WIN_BUTTONS_HEIGHT+"px";div.appendChild(this._createButtons());if(this.alignment=="center")div.style.textAlign="center";if(this.solidBackground)div.style.borderTopColor=g_clrWinBackColor;}return df;},_createWindowFrame:function(){var tbl=document.createElement("TABLE");var bdy=tbl.appendChild(document.createElement("TBODY"));var tr,td;tr=bdy.appendChild(document.createElement("TR"));td=tr.appendChild(document.createElement("TD"));td.className="WinTopLeft";td.style.height=WIN_TITLE_HEIGHT+"px";td=tr.appendChild(document.createElement("TD"));td.className="WinTopBorder";td.appendChild(this._createTitleBar());td=tr.appendChild(document.createElement("TD"));td.className="WinTopRight";tr=bdy.appendChild(document.createElement("TR"));td=tr.appendChild(document.createElement("TD"));td.className="WinLeftBorder";td=tr.appendChild(document.createElement("TD"));td.className="WinClient";td.appendChild(this._createClientArea());this.client=td;this.contentCell=td.firstChild;if(this.solidBackground)this.client.style.backgroundColor=g_clrWinBackColor;td=tr.appendChild(document.createElement("TD"));td.className="WinRightBorder";tr=bdy.appendChild(document.createElement("TR"));td=tr.appendChild(document.createElement("TD"));td.className="WinBottomLeft";td=tr.appendChild(document.createElement("TD"));td.className="WinBottomBorder";td=tr.appendChild(document.createElement("TD"));td.className="WinBottomRight";tbl.cellPadding="0px";tbl.cellSpacing="0px";tbl.className=this.owner.cssClass;tbl.style.visibility="hidden";tbl.style.width=this.width+"px";tbl.style.height=this.height+"px";tbl.style.zIndex=this.zIndex;if(sjcl.browser.fixedPositioning)tbl.style.position="fixed";if(this.allowResize)tbl.style.backgroundImage="url("+sjcl.path.mapThemeLocaleImage("win_grip.png")+")";if(this.controlBox&&this.showMenu)this._createMenu();sjcl.event.add(tbl,"mousedown",this._onWindowMouseDown.bind(this));sjcl.event.add(tbl,"mousemove",this._onWindowMouseMove.bind(this));document.body.appendChild(tbl);this.frame=tbl;},_adjustDimensions:function(){var sz=this.calcWindowRect(this.clientWidth+WIN_SPACING*2,this.clientHeight+WIN_SPACING*2);if(this.clientWidth)this.width=sz.width;if(this.clientHeight)this.height=sz.height;},_adjustClientArea:function(){var div=this.contentCell;if(this.dialogButtons==sjcl.widget.DialogButtons.None){div.style.width=this.width-WIN_BORDER_WIDTH*2-WIN_CLIENT_BORDER*2+"px";div.style.height=this.height-WIN_TITLE_HEIGHT-WIN_BORDER_WIDTH-WIN_CLIENT_BORDER*2+"px";}else{div.style.width=this.width-WIN_BORDER_WIDTH*2-WIN_CLIENT_BORDER*2+"px";div.style.height=this.height-WIN_TITLE_HEIGHT-WIN_BUTTONS_HEIGHT-WIN_BORDER_WIDTH-WIN_CLIENT_BORDER*3+"px";}},_setWindowContent:function(content){if(!content)return;var e=this.getContentCell();if(typeof content=="string"){e.innerHTML=content;this.content=sjcl.dom.firstChild(e);}else if(typeof content=="object"){content.style.display="block";content.style.visibility="visible";e.appendChild(content);}},_showClient:function(state){var e=this.getContentCell();if(e){var col=e.getElementsByTagName("SELECT");if(e&&col.length>0)e.style.visibility=state?"visible":"hidden";}},_fadeIn:function(){var filter=sjcl.dom.getFilter(this.frame,"Fade");filter&&filter.apply();this.frame.style.display="block";this.frame.style.visibility="visible";filter&&filter.play();},_fadeOut:function(){var filter=sjcl.dom.getFilter(this.frame,"Fade");this._showClient(false);filter&&filter.apply();this.frame.style.visibility="hidden";filter&&filter.play();},_createLoadingEffect:function(){var tbl=document.createElement("TABLE");var bdy=tbl.appendChild(document.createElement("TBODY"));var tr=bdy.appendChild(document.createElement("TR"));var td=tr.appendChild(document.createElement("TD"));var img=td.appendChild(document.createElement("IMG"));var rc=this.getClientRect();tbl.id="wl_"+this._uname;tbl.className="WinLoading";tbl.cellSpacing="0px";tbl.cellPadding="0px";tbl.style.width="100%";tbl.style.height="100%";img.src=this.owner.spinnerImageUrl;td.appendChild(document.createTextNode(getString("LOADING")));return tbl;},_showLoadingEffect:function(visibility){if(visibility){var e=this.getContentCell();e.appendChild(this._createLoadingEffect());}else{var e=$("wl_"+this._uname);sjcl.dom.removeElement(e);}},_hideElements:function(tagName,force){if(!sjcl.browser.windowlessSelect||force)this._setElementsVisibility(tagName,-1,force);},_showElements:function(tagName){if(!sjcl.browser.windowlessSelect||force)this._setElementsVisibility(tagName,1,force);},_setOverlapVisibility:function(e,change){if(e.visLevel)e.visLevel+=change;else e.visLevel=change;if(e.visLevel==-1&&change==-1){e.visibilitySave=e.style.visibility;e.style.visibility="hidden";}else if(e.visLevel==0&&change==+1){e.style.visibility=e.visibilitySave;}},_setElementsVisibility:function(tagName,change,force){if(!force&&sjcl.browser.windowlessSelect)return;var col=document.getElementsByTagName(tagName);var rect=sjcl.dom.elementRect(this.frame);for(var i=0,n=col.length;i<n;i++){var e=col.item(i);if(sjcl.dom.containsElement(this.frame,e))continue;if(this._windowOverlap(e,rect)&&!this.owner._isControlOverlapped(e)){this._overlappedControls.add(e,true);this._setOverlapVisibility(e,change);}}},_toggleElementsVisibility:function(tagName,force){if(!force&&sjcl.browser.windowlessSelect)return;var col=document.getElementsByTagName(tagName);var rect=sjcl.dom.elementRect(this.frame);for(var i=0,n=col.length;i<n;i++){var e=col.item(i);if(sjcl.dom.containsElement(this.frame,e))continue;if(this._windowOverlap(e,rect)){if(!this.owner._isControlOverlapped(e)){this._overlappedControls.add(e,true);this._setOverlapVisibility(e,-1);}}else if(this._overlappedControls.contains(e)){this._overlappedControls.remove(e);this._setOverlapVisibility(e,1);}}},_showOverlappedControls:function(){var fn=this._setOverlapVisibility;this._overlappedControls.each(function(e){fn(e,1);});this._overlappedControls.clear();},_showHiddenControls:function(tagName,force){if(!force&&sjcl.browser.windowlessSelect)return;var col=this.frame.getElementsByTagName(tagName);for(var i=0,n=col.length;i<n;i++){var e=col.item(i);if(this.owner._isControlOverlapped(e)){this._setOverlapVisibility(e,1);this.owner._removeOverlappedControl(e);}}},_windowOverlap:function(e,rect){var rc=sjcl.dom.elementRect(e);rc.left-=sjcl.browser.scrollLeft();rc.top-=sjcl.browser.scrollTop();return(rc.left<rect.left+rect.width)&&(rc.left+rc.width>rect.left)&&(rc.top<rect.top+rect.height)&&(rc.top+rc.height>rect.top);},_onFetchData:function(){var webRequest=this.webRequests.item(this.name);if(webRequest&&!webRequest.canceled){this._showLoadingEffect(false);this._setWindowContent(webRequest.getText());this.setWindowText(this.title);this.webRequests.remove(this.name);this.enableButton("Ok",true);this.ready=true;this._replaceIds();this._replaceLabelsFor();if(!this.disableHover)this._attachHoverHandlers();if(!this._checkSecurity())return;if(this.onLoad)this.onLoad();if(this.onShow)this.onShow();if(this.onResize)this.onResize();}},_onInitPopupMenu:function(id){var menu=this.menu.getMenu(id);var item;if(item=menu.item(this._getMenuItemId("Minimize")))item.setEnabled(this.windowState==sjcl.widget.WindowState.Normal);if(item=menu.item(this._getMenuItemId("Restore")))item.setEnabled(this.windowState==sjcl.widget.WindowState.Minimized);if(item=menu.item(this._getMenuItemId("Refresh")));item.setEnabled(!this._webRequest);},_onMenuItemClick:function(e){switch(e.itemId){case this._getMenuItemId("Minimize"):this.minimize();break;case this._getMenuItemId("Restore"):this.restore();break;case this._getMenuItemId("Refresh"):this.refresh();break;case this._getMenuItemId("Close"):this.hide();break;}},_onWindowMouseDown:function(evt){if(this.frozen)return;this.owner.bringWindowToTop(this);if(this.allowResize&&!this.accessDenied){var event=new sjcl.Event(evt);var rc=sjcl.dom.elementRect(this.frame);var pos;if((pos=sjcl.effect.getCursorPos(rc,event.clientX,event.clientY))!=sjcl.widget.CursorPos.Default)sjcl.effect.resize(this.frame,evt,pos,null,this._onResizeEnd.bind(this),null,this.minWidth,this.minHeight);}},_onWindowMouseMove:function(evt){if(this.allowResize&&!this.accessDenied){var event=new sjcl.Event(evt);var rc=sjcl.dom.elementRect(this.frame);sjcl.effect.setCursor(this.frame,sjcl.effect.getCursorPos(rc,event.clientX,event.clientY));}},_onTitleBarMouseDown:function(evt){if(this.frozen)return;var event=new sjcl.Event(evt);if(event.target.nodeName=="IMG")return;if(this.allowMove&&(this.owner._topWindow==this))sjcl.effect.drag(this.frame,evt,this._onDragStart.bind(this),this._onDragEnd.bind(this),this._onDrag.bind(this));},_onTitleBarDoubleClick:function(evt){if(this.minimizeBox&&!this.frozen){var event=new sjcl.Event(evt);if(this.windowState==sjcl.widget.WindowState.Normal)this.minimize();else this.restore();}},_onDragStart:function(){var filter=sjcl.dom.getFilter(this.frame,"Alpha");if(filter)filter.enabled=true;if(this.onDragStart)this.onDragStart();},_onDrag:function(){if(!sjcl.browser.windowlessSelect)this._toggleElementsVisibility("SELECT");this._toggleElementsVisibility("EMBED",true);},_onDragEnd:function(){var filter=sjcl.dom.getFilter(this.frame,"Alpha");if(filter)filter.enabled=false;this.left=this.frame.offsetLeft;this.top=this.frame.offsetTop;if(this.onDragEnd)this.onDragEnd();},_onResizeEnd:function(left,top,width,height){if(this.ready&&this.onResizing)this.onResizing();this.setWindowPos(left,top,width,height);this._adjustClientArea();if(this.ready&&this.onResize)this.onResize();},_onMinimizeMouseOver:function(evt){var event=new sjcl.Event(evt);event.target.src=this.owner.minimizeHoverImageUrl;},_onMinimizeMouseOut:function(evt){var event=new sjcl.Event(evt);event.target.src=this.owner.minimizeImageUrl;},_onMinimizeMouseDown:function(evt){var event=new sjcl.Event(evt);event.target.src=this.owner.minimizeActiveImageUrl;},_onMinimizeMouseUp:function(evt){var event=new sjcl.Event(evt);if(this.windowState==sjcl.widget.WindowState.Normal){this.minimize();}else{this.restore();}},_onCloseMouseOver:function(evt){var event=new sjcl.Event(evt);event.target.src=this.owner.closeHoverImageUrl;},_onCloseMouseOut:function(evt){var event=new sjcl.Event(evt);event.target.src=this.owner.closeImageUrl;},_onCloseMouseDown:function(evt){var event=new sjcl.Event(evt);event.target.src=this.owner.closeActiveImageUrl;},_onCloseMouseUp:function(evt){var e=new sjcl.widget.CancelEventArgs(null);if(this.onCancel)this.onCancel(e);if(!e.cancel)this.discard();},_onButtonOver:function(btn){if(this.buttonEnabled(this._nameById(btn.id))){var filter=sjcl.dom.getFilter(btn,"Fade");filter&&filter.apply();btn.className=btn.className.replace("Normal","Hover");filter&&filter.play();}},_onButtonOut:function(btn){var css=this.buttonEnabled(this._nameById(btn.id))?"Normal":"Disabled";var filter=sjcl.dom.getFilter(btn,"Fade");filter&&filter.apply();if(btn.className.indexOf("Hover")!=-1)btn.className=btn.className.replace("Hover",css);else btn.className=btn.className.replace("Active",css);filter&&filter.play();},_onButtonDown:function(btn){if(this.buttonEnabled(this._nameById(btn.id)))btn.className=btn.className.replace("Hover","Active");},_onButtonUp:function(btn){if(this.buttonEnabled(this._nameById(btn.id)))btn.className=btn.className.replace("Active","Hover");},_onBtnCancelClick:function(evt){if(!this.buttonEnabled("Cancel"))return;if(this.onCancel)this.onCancel();this.discard();},_onBtnCloseClick:function(evt){if(!this.buttonEnabled("Close"))return;this.hide();if(this.onClose)this.onClose();if(this.destroyOnHide)this.close();},_onBtnOkClick:function(evt){if(!this.buttonEnabled("Ok"))return;if(this.onValidate&&!this.onValidate())return;this.hide();if(this.onOk)this.onOk();if(this.destroyOnHide)this.close();},_onBtnBackClick:function(){if(this.buttonEnabled("Back")&&this.onBack)this.onBack();},_onBtnNextClick:function(){if(this.buttonEnabled("Next")&&this.onNext)this.onNext();}});sjcl.widget.Dialog.extend({show:function(modal){if(this.dlg)this.dlg.show(modal);},close:function(){if(this.dlg)this.dlg.close();},getValue:function(name){return sjcl.unescape(this.data[name]);},getPostData:function(){var sb=new sjcl.StringBuilder("&");for(var p in this.data)sb.write(p+"="+this.data[p]);return sb.toString();},_makeId:function(name){return this.dlg._makeId(name);},_nameById:function(id){return this.dlg._nameById(id);},_element:function(name){return this.dlg._element(name);},_addButton:function(name,caption,handler,opposite,visible){this.dlg.addButton(name,caption,handler,opposite,visible);},_showButton:function(name,state){this.dlg.showButton(name,state);},_enableButton:function(name,state){this.dlg.enableButton(name,state);},_buttonEnabled:function(name){return this.dlg.buttonEnabled(name);},_setButtonText:function(name,text){this.dlg.setButtonText(name,text);},_attachHandlers:function(){sjcl.dom.attachHandlers(this,this.dlg.getContentCell());},_attach:function(){this.dlg._replaceIds();this.dlg._replaceLabelsFor();this._attachHandlers();},_saveText:function(name){var e=this._element(name);this.data[name]=sjcl.escape(e.value.trim());},_saveCombo:function(name){var e=this._element(name);if(e.selectedIndex>=0)this.data[name]=e.options[e.selectedIndex].value;},_saveCheck:function(name){var e=this._element(name);this.data[name]=e.checked;},_saveRadio:function(name){for(var i=1;i<arguments.length;i++){var e=this._element(arguments[i]);if(e&&e.checked)this.data[name]=e.getAttribute("value");}},_saveItem:function(name){var e=this._element(name);if(!e)return;if(e.type=="radio")this._saveRadio(name);else if(e.type=="checkbox")this._saveCheck(name);else if(e.type=="text"||e.type=="textarea"||e.type=="hidden")this._saveText(name);else if(e.type=="select-one"||e.type=="select-multiple")this._saveCombo(name);},_saveForm:function(){function save(col){for(var i=0;i<col.length;i++)this._saveItem(this._nameById(col[i].id));}var frame=this.dlg.getContentCell();save.call(this,frame.getElementsByTagName("INPUT"));save.call(this,frame.getElementsByTagName("TEXTAREA"));save.call(this,frame.getElementsByTagName("SELECT"));},_clearForm:function(){var frame=this.dlg.getContentCell();var col=$$(frame.getElementsByTagName("INPUT"));col=col.concat($$(frame.getElementsByTagName("TEXTAREA")));for(var i=0,n=col.length;i<n;i++){var e=col[i];e.value="";}col=frame.getElementsByTagName("SELECT");for(var i=0,n=col.length;i<n;i++){var e=col[i];var attr;if(attr=e.getAttribute("EmptyKey")){var cbo=new sjcl.form.ListBox(e);cbo.selectById(parseInt(attr));}else e.selectedIndex=-1;}}});sjcl.widget.AttachDialog.inherits(sjcl.widget.Dialog);sjcl.widget.AttachDialog.extend({_addAttachmentFrame:function(id){var td=this._element("AttachmentFrames");var oldFrame=td.lastChild;var newFrame=oldFrame.cloneNode(true);oldFrame.id="FRAME_"+id;oldFrame.style.display="none";td.appendChild(newFrame);return oldFrame;},_enableAttachmentSelector:function(state){var td=this._element("AttachmentFrames");var frame=td.lastChild;var doc=frame.contentWindow.document;var form=doc.getElementsByTagName("FORM")[0];if(form&&form.elements[1])form.elements[1].disabled=!state;},_updateAttachmentItem:function(id,success,size){var tr=$("TR_"+id);var img=tr.firstChild.firstChild;var td=tr.lastChild;var a;sjcl.dom.clear(td);a=td.appendChild(document.createElement("A"));a.href="javascript: void(0);";a.appendChild(document.createTextNode(getString("REMOVE")));sjcl.event.add(a,"click",this._removeAttachment.bind(this,id));if(success){img.src=sjcl.path.mapThemeNeutralImage("tick16.png");td.previousSibling.innerText=size;}else{img.src=sjcl.path.mapThemeNeutralImage("rinfo16.png");td.previousSibling.innerHTML='<span class="Critical">more than 200KB</span>';}},_addAttachmentItem:function(id,file){var div=this._element("AttachmentsList");var tbl=sjcl.dom.getChildByTagName(div,"TABLE");var bdy=sjcl.dom.getChildByTagName(div,"TBODY");var tr=document.createElement("TR");var td=tr.appendChild(document.createElement("TD"));var img=td.appendChild(document.createElement("IMG"));var a;tr.id="TR_"+id;td.style.width="16px";td.style.borderBottom="solid 1px "+g_clrLine;img.src=sjcl.path.mapNeutralImage("tarrow_spinner.gif");td=tr.appendChild(document.createElement("TD"));td.style.borderBottom="solid 1px "+g_clrLine;td.appendChild(document.createTextNode(file));td=tr.appendChild(document.createElement("TD"));td.style.width="100px";td.style.borderBottom="solid 1px "+g_clrLine;td.appendChild(document.createTextNode(" "));td=tr.appendChild(document.createElement("TD"));td.style.width="80px";td.style.borderBottom="solid 1px "+g_clrLine;td.style.textAlign="center";a=td.appendChild(document.createElement("A"));a.href="javascript: void(0);";a.appendChild(document.createTextNode(getString("CANCEL")));sjcl.event.add(a,"click",this._cancelAttachment.bind(this,id));if(bdy==null)bdy=tbl.appendChild(document.createElement("TBODY"));bdy.appendChild(tr);},_uploadAttachment:function(id,frame){var doc=frame.contentWindow.document;var form=doc.getElementsByTagName("FORM")[0];this._busyAttachments.add(id,true);frame.loadBinder=this._onAttachmentUploaded.bind(this,id);sjcl.event.add(frame,"load",frame.loadBinder);form.submit();},_cancelAttachment:function(id){var frame=$("FRAME_"+id);var tr=$("TR_"+id);sjcl.event.remove(frame,"load",frame.loadBinder);frame.contentWindow.location="about:blank";sjcl.dom.removeElement(frame);sjcl.dom.removeElement(tr);var info=this.attachments.findByProp("id",id);if(info)this.attachments.remove(info);this._busyAttachments.remove(id);this._errors.remove(id);this._enableAttachmentSelector(this.attachments.length<this.maxAttachments);this._enableButton("Ok",(this.attachments.length<=this.maxAttachments)&&(this._busyAttachments.length==0)&&(this._errors.length==0));},_removeAttachment:function(id){this._cancelAttachment(id);},_getAttachmentInfo:function(frame){var doc=frame.contentWindow.document;var xml=doc.getElementsByTagName("xml")[0];var root=sjcl.dom.firstChild(xml);if(root.nodeName=="Error")return null;var e=sjcl.dom.firstChild(root);var obj=new Object;obj.name=e.firstChild.data;e=sjcl.dom.nextSibling(e);obj.tempName=e.firstChild.data;e=sjcl.dom.nextSibling(e);obj.size=e.firstChild.data;e=sjcl.dom.nextSibling(e);obj.fsize=e.firstChild.data;return obj;},_onAttachmentSelectorChange:function(file){var id=sjcl.guid();var frame=this._addAttachmentFrame(id);this._addAttachmentItem(id,file);this._uploadAttachment(id,frame);this._enableButton("Ok",false);},_onAttachmentUploaded:function(id){var info=this._getAttachmentInfo($("FRAME_"+id));if(info){info.id=id;this._updateAttachmentItem(id,true,info.fsize);this.attachments.push(info);if(this.attachments.length>=this.maxAttachments)this._enableAttachmentSelector(false);}else{this._updateAttachmentItem(id,false,0);this._errors.push(id);}this._busyAttachments.remove(id);this._enableButton("Ok",(this.attachments.length<=this.maxAttachments)&&(this._busyAttachments.length==0)&&(this._errors.length==0));if(this._busyAttachments.length==0)this._element("TabSpinner").style.display="none";},_saveAttachments:function(){if(this.attachments.length>0){var list=[];for(var i=0;i<this.attachments.length;i++)list.push(sjcl.escape(this.attachments[i].name)+":"+this.attachments[i].tempName);this.data.Attachments=list.join("|");}}});sjcl.widget.Wizard.inherits(sjcl.widget.Dialog);sjcl.widget.Wizard.extend({addPage:function(name){this._pages.add(name,true);},removePage:function(name){this._pages.remove(name);},_showWizardHeader:function(visibility){this._element("WizardHeader").style.display=visibility?"":"none";},_gotoPage:function(name,noUpdate,triger){if(this._cp)this._showPage(this._cp,false);if(triger&&this._onBeforeNext&&!this._onBeforeNext(name))return;this._showPage(name,true);this._cp=name;if(!noUpdate)this._updatePager();if(triger&&this._onAfterNext)this._onAfterNext(name);},_setWizardCaption:function(caption){this._element("Caption").innerHTML=caption;},_setWizardDescription:function(description){this._element("Description").innerHTML=description;},_showPage:function(name,state){var div=this._element(name);var attr;div.style.display=state?"block":"none";if(attr=div.getAttribute("Caption"))this._setWizardCaption(attr);if(attr=div.getAttribute("Description"))this._setWizardDescription(attr);},_moveNext:function(){var index=this._pages.indexOf(this._cp);if(!this._buttonEnabled("Next"))return;if(index==this._pages.length-1)return;var name=this._pages[index+1];if(this._onBeforeNext&&!this._onBeforeNext(name))return;this._gotoPage(name);if(this._onAfterNext)this._onAfterNext(name);},_moveBack:function(){var index=this._pages.indexOf(this._cp);if(!this._buttonEnabled("Back"))return;if(index==0)return;var name=this._pages[index-1];if(this._onBeforeBack&&!this._onBeforeBack(name))return;this._gotoPage(name);if(this._onAfterBack)this._onAfterBack(name);},_updatePager:function(){if(this._cp){var index=this._pages.indexOf(this._cp);var btn=this._element("Next");var str=this.finishText?this.finishText:getString("FINISH");btn.innerHTML=(index==this._pages.length-1)?str:getString("NEXT")+" >";this.dlg.enableButton("Back",index!=0);this.dlg.enableButton("Next",true);}},_onBack:function(){if(this._buttonEnabled("Back"))this._moveBack();},_onNext:function(){if(this._buttonEnabled("Next")){if(this._pages.indexOf(this._cp)==this._pages.length-1){if(this._onFinishing&&!this._onFinishing())return;this.dlg.discard();if(this.dlg.onFinish)this.dlg.onFinish();}else this._moveNext();}}});sjcl.widget.InputDialog.inherits(sjcl.widget.Dialog);sjcl.widget.InputDialog.extend({show:function(){this.dlg.show(true);},_onShow:function(){this._build();this._onResize();this._input.focus();this._input.select();},_onResize:function(){if(this._input){var sz=this.dlg.getClientRect();if(this._input.type=="textarea"){this._input.style.width=sz.width-6+"px";this._input.style.height=sz.height-8+"px";}else if(this._input.type=="text"||this._input.type=="password")this._input.style.width=sz.width-90+"px";}},_build:function(){var div=document.createElement("DIV");var tbl=div.appendChild(document.createElement("TABLE"));var bdy=tbl.appendChild(document.createElement("TBODY"));var tr=bdy.appendChild(document.createElement("TR"));var td;if(this.vRules&&(this.vRules.toUpperCase().indexOf("REQUIRED")!=-1))this.prompt+=" (<span class='Required'>*</span>)";if(this.type==sjcl.widget.ContentType.String||this.type==sjcl.widget.ContentType.Password){td=tr.appendChild(document.createElement("TD"));td.style.width="10px";td=tr.appendChild(document.createElement("TD"));td.style.width="80px";td.innerHTML=this.prompt;div.style.padding="10px 0px";}td=tr.appendChild(document.createElement("TD"));td.appendChild(this._getInput());tbl.cellPadding="0px";tbl.cellSpacing="0px";div.className="DlgMarginB";this.dlg.getContentCell().appendChild(div);},_attachVRules:function(e,str){var list=str.split(";");for(var i=0;i<list.length;i++){var pair=list[i].split("=");var attr=pair[0].trim();var value=pair[1].replace(/"/g,"");e.setAttribute(attr,value);if(attr=="Change")e.oldValue=e.value;}},_getInput:function(){var e;switch(this.type){case sjcl.widget.ContentType.Text:case sjcl.widget.ContentType.Html:e=document.createElement("TEXTAREA");e.value=this.text;break;case sjcl.widget.ContentType.Password:e=document.createElement("INPUT");e.type="password";break;default:e=document.createElement("INPUT");e.type="text";e.value=this.text;break;}sjcl.event.add(e,"keypress",this._onKeyPress.bindAsEvent(this));if(this.vRules)this._attachVRules(e,this.vRules);this._input=e;return e;},_onKeyPress:function(evt){var event=new sjcl.Event(evt);if(this.type!=sjcl.widget.ContentType.Text&&event.keyCode==13)this.dlg.fireButtonClick("Ok");},_onValidate:function(){return sjcl.form.validate(this.dlg.getContentCell());},_onOk:function(){if(this.onReturn)this.onReturn(this._input.value);}});sjcl.widget.InputList.inherits(sjcl.widget.Dialog);sjcl.widget.InputList.extend({_createListBox:function(){var div=document.createElement("DIV");var tbl=div.appendChild(document.createElement("TABLE"));var bdy=tbl.appendChild(document.createElement("TBODY"));var tr=bdy.appendChild(document.createElement("TR"));var td;this._list=div;td=tr.appendChild(document.createElement("TD"));td.style.verticalAlign="top";this._list.first=td;td=tr.appendChild(document.createElement("TD"));td.style.verticalAlign="top";td.style.textAlign="center";td.style.width="68px";td.style.backgroundColor="#FAFAFA";this._list.second=td;tbl.style.width="100%";tbl.style.height="100%";div.id="XXX_ListBox";div.className="ControlBox";div.style.overflow="auto";div.style.marginTop="2px";return div;},_build:function(){var tbl=document.createElement("TABLE");var bdy=tbl.appendChild(document.createElement("TBODY"));var tr=bdy.appendChild(document.createElement("TR"));var td=tr.appendChild(document.createElement("TD"));var input=document.createElement("INPUT");var sp;input.type="text";input.id="XXX_Input";sjcl.event.add(input,"keypress",this._onKeyPress.bindAsEvent(this));td.appendChild(input);sp=td.appendChild(document.createElement("SPAN"));sp.innerHTML="&nbsp;";input=document.createElement("INPUT");input.type="button";input.value="Add";input.style.width="50px";sjcl.event.add(input,"click",this._onAddClick.bindAsEvent(this));td.appendChild(input);tr=bdy.appendChild(document.createElement("TR"));td=tr.appendChild(document.createElement("TD"));td.appendChild(this._createListBox());tbl.cellSpacing="0px";tbl.cellSpacing="0px";return tbl;},_addItem:function(str){var div1,div2,a;div1=document.createElement("DIV");div1.appendChild(document.createTextNode(str));div1.style.padding="2px";div1.style.borderBottom="solid 1px "+g_clrLine;this._list.first.appendChild(div1);div2=document.createElement("DIV");div2.couple=div1;div2.style.padding="2px";div2.style.height=div1.offsetHeight-5+"px";div2.style.borderBottom="solid 1px "+g_clrLine;div2.fileIndex=this._list.second.childNodes.length;a=div2.appendChild(document.createElement("A"));a.appendChild(document.createTextNode("Remove"));a.href="javascript: void(0);";sjcl.event.add(a,"click",this._onRemoveClick.bindAsEvent(this));this._list.second.appendChild(div2);this.items.push(str);this.dlg.enableButton("Ok",true);},_onShow:function(){var frame=this.dlg.getContentCell();frame.appendChild(this._build());this._replaceIds();this.dlg.enableButton("Ok",false);this._element("Input").focus();this._ready=true;this._onResize(this.dlg.width,this.dlg.height);},_onResize:function(width,height){if(!this._ready)return;var e1=this._element("Input");var e2=this._element("ListBox");e1.style.width=width-75+"px";e2.style.height=height-92+"px";},_onAddClick:function(){var e=this._element("Input");var value=e.value.trim();if(value!=""){this._addItem(e.value);e.value="";e.focus();}},_onRemoveClick:function(evt){var event=new sjcl.Event(evt);var div=event.target.parentNode;this.items.removeAt(div.fileIndex);sjcl.dom.removeElement(div.couple);sjcl.dom.removeElement(div);if(this._list.first.childNodes.length==0)this.dlg.enableButton("Ok",false);},_onKeyPress:function(evt){var event=new sjcl.Event(evt);if(event.keyCode==13)this._onAddClick();},_onOk:function(){if(this.onReturn)this.onReturn();}});
