function Mediator(){this.setWidgets=function(gridController,instrumentSelector,systemNameInput,gridsMenuController,gridsMenuButton,saveGridButton,deleteGridButton,deleteDialog,columnShowHideDialog){this.gridController=gridController;this.instrumentSelector=instrumentSelector;this.systemNameInput=systemNameInput;this.gridsMenuController=gridsMenuController;this.gridsMenuButton=gridsMenuButton;this.saveGridButton=saveGridButton;this.deleteGridButton=deleteGridButton;this.deleteDialog=deleteDialog;this.columnShowHideDialog=columnShowHideDialog;this.gridsMenuButton.on("selectedMenuItemChange",this.onSelectedMenuItemChange,this,true);},this.selectedMenuItemChange=function(button,menuItem){button.set("label",("<span class=\"yui-button-label\">"+menuItem.cfg.getProperty("text")+"</span>"));this.widgetChanged(globals.GRIDS_MENU_ITEM,menuItem);},this.onSelectedMenuItemChange=function(event,o){var menuItem=event.newValue;this.selectedMenuItemChange(this.gridsMenuButton,menuItem);},this.widgetChanged=function(id,widget){switch(id){case globals.SORT_GRID:case globals.SEARCH_BY_NAME:case globals.GRID_CONTROLLER:case globals.INSTRUMET_SELECTOR:this.changeMenuButtonLabel();break;case globals.GRIDS_MENU_ITEM:this.deleteButtonEnabled(widget);this.clearSearchByName();break;}},this.changeMenuButtonLabel=function(){var menu=this.gridsMenuButton.getMenu();var activeItem=menu.activeItem;if(activeItem){var label=activeItem.cfg.getProperty("text");this.gridsMenuButton.set("label","<span class=\"modifiedGrid\">"+label+"</span>");this.deleteButtonEnabled(activeItem);}},this.deleteButtonEnabled=function(menuItem){this.deleteGridButton.set('disabled',menuItem.value.isStandardGrid,true);if(menuItem.value.isStandardGrid){YAHOO.util.Event.removeListener(globals.DELETE_GRID_BUTTON,"click",this.deleteDialog.show);}else{YAHOO.util.Event.addListener(globals.DELETE_GRID_BUTTON,"click",this.deleteDialog.show,this.deleteDialog,true);}},this.clearSearchByName=function(){var searchByNameInputField=YAHOO.util.Dom.get(globals.SEARCH_BY_NAME);if(searchByNameInputField){searchByNameInputField.value='';}},this.fillSearchByName=function(value){var searchByNameInputField=YAHOO.util.Dom.get(globals.SEARCH_BY_NAME);if(searchByNameInputField){searchByNameInputField.value=value;}},this.setPageState=function(pageState){this.fillSearchByName(pageState.systemNameFiltervalue);this.gridsMenuController.setActiveGridItem(pageState.gridDescr.id);if(pageState.gridDescr.modified){this.changeMenuButtonLabel();}else{var menuItem=this.gridsMenuController.findGridItem(pageState.gridDescr.id);this.selectedMenuItemChange(this.gridsMenuButton,menuItem);}},this.backfire=function(backFire){if(backFire.filter.column.toLowerCase()=="systemname"){this.fillSearchByName(backFire.filter.value);}this.gridsMenuController.setActiveGridItem(backFire.gridId);this.changeMenuButtonLabel();},this.showWaitingForDataState=function(){YAHOO.util.Dom.addClass(YAHOO.util.Dom.get(globals.DATA_TABLE_CONTAINER),globals.WAIT_FOR_DATA_CLASS_NAME);this.gridController.dataTable.showTableMessage();},this.hideWaitingForDataState=function(){YAHOO.util.Dom.removeClass(YAHOO.util.Dom.get(globals.DATA_TABLE_CONTAINER),globals.WAIT_FOR_DATA_CLASS_NAME);if(this.gridController.dataTable){this.gridController.dataTable.hideTableMessage();}},this.setActiveGridMenuItem=function(gridId){this.gridsMenuController.setActiveGridItem(gridId);}}
