// Copyright (C) Acquiro Systems Inc. 2012 - All Rights Reserved

function CoreListItem(instance)
{this.CoreInstanceObject(instance);this.m_orderFieldId=null;this.m_foriegnCoreListItem=null;}
copyPrototype(CoreListItem,CoreInstanceObject);CoreListItem.prototype.getName=function()
{var strName=this.m_instance.getInstanceDisplayValue(" ");if(strName.length==0)
{return"Object";}
return strName;}
CoreListItem.prototype.getOrder=function()
{return parseInt(this.m_instance.getNumber_Value(this.m_orderFieldId));}
CoreListItem.prototype.setForeignCoreListItem=function(foriegnCoreListItem)
{this.m_foriegnCoreListItem=foriegnCoreListItem;}
CoreListItem.prototype.getForeignCoreListItem=function()
{return this.m_foriegnCoreListItem;}
function CoreListEditorSettings()
{this.m_newIcon=null;this.m_editIcon=null;this.m_copyIcon=null;this.m_moveDownIcon=null;this.m_moveUpIcon=null;this.m_deleteIcon=null;this.m_searchIcon=null;this.m_historyIcon=null;this.m_refreshIcon=null;this.m_action=null;this.m_childSettings=new Array();this.m_sorted=false;this.m_archived=false;this.m_cache=null;this.m_sortOrder=null;this.m_showGridCount=false;this.m_showListCount=false;this.m_gridPageSize=0;this.m_gridSortColumnIndex=null;this.m_gridSortColumnOrder=null;this.m_listItemName="List Item";this.m_listItemsName="List Items";this.m_listItemWindowType=++WINDOW_UNIQUE_TYPE;this.m_editItemWindowType=++WINDOW_UNIQUE_TYPE;this.m_historyItemWindowType=++WINDOW_UNIQUE_TYPE;this.m_searchItemWindowType=++WINDOW_UNIQUE_TYPE;this.m_splitPaneHeight=280;}
var CORE_LIST_EDITOR_SORT_ORDER_ASC="0";var CORE_LIST_EDITOR_SORT_ORDER_DESC="1";CoreListEditorSettings.prototype.getRequest=function()
{return new AjaxRequest(APP_URL+"/"+this.m_action);}
CoreListEditorSettings.prototype.getListCoreListItemsRequest=function(foreignInstanceId,includeArchived)
{var request=this.getRequest();request.addParam("action","listCoreListItems");if(foreignInstanceId!=undefined&&foreignInstanceId!=null)
{request.addParam("foreignInstanceId",foreignInstanceId);}
if(includeArchived!=undefined&&includeArchived)
{request.addParam("includeArchivedItems","1");}
else
{request.addParam("includeArchivedItems","0");}
return request;}
CoreListEditorSettings.prototype.getNewCoreListItemRequest=function(foreignInstanceId)
{var request=this.getRequest();request.addParam("action","newCoreListItem");if(foreignInstanceId!=undefined)
{request.addParam("foreignInstanceId",foreignInstanceId);}
return request;}
CoreListEditorSettings.prototype.getEditCoreListItemRequest=function(coreListItem)
{var request=this.getRequest();request.addParam("action","editCoreListItem");request.addParam("coreListItemInstanceId",coreListItem.getId());return request;}
CoreListEditorSettings.prototype.getCopyCoreListItemRequest=function(coreListItem)
{var request=this.getRequest();request.addParam("action","copyCoreListItem");request.addParam("coreListItemInstanceId",coreListItem.getId());return request;}
CoreListEditorSettings.prototype.getUpdateCoreListItemRequest=function(coreListItem)
{var request=this.getRequest();request.addParam("action","updateCoreListItem");request.addParam("coreListItemInstanceId",coreListItem.getInstanceId());coreListItem.populateRequest(request);return request;}
CoreListEditorSettings.prototype.getDeleteCoreListItemRequest=function(coreListItem)
{var request=this.getRequest();request.addParam("action","deleteCoreListItem");request.addParam("coreListItemInstanceId",coreListItem.getInstanceId());return request;}
CoreListEditorSettings.prototype.getHistoryCoreListItemRequest=function(coreListItem)
{var request=this.getRequest();request.addParam("action","historyCoreListItem");request.addParam("coreListItemInstanceId",coreListItem.getInstanceId());return request;}
CoreListEditorSettings.prototype.getGetSearchCoreListItemRequest=function(coreListItem,foreignInstanceId)
{var request=this.getRequest();request.addParam("action","getCoreListItemsSearch");if(foreignInstanceId!=undefined)
{request.addParam("foreignInstanceId",foreignInstanceId);}
return request;}
CoreListEditorSettings.prototype.getSearchCoreListItemRequest=function(coreListItemsSearch)
{var request=this.getRequest();request.addParam("action","searchCoreListItems");request.addParam("coreListItemSearchId",coreListItemsSearch.getId());coreListItemsSearch.populateRequest(request);return request;}
CoreListEditorSettings.prototype.getPrintCoreListItemRequest=function(coreListItem)
{var request=this.getRequest();request.addParam("action","printCoreListItem");request.addParam("coreListItemInstanceId",coreListItem.getInstanceId());return request;}
function CoreListEditor(settings,windowManager)
{this.TableLayout();this.m_debugName="CoreListEditor";this.m_windowManager=windowManager;this.m_settings=settings;this.m_defaultBtn=null;this.m_list=new CoreInstanceObjectList();}
copyPrototype(CoreListEditor,TableLayout);CoreListEditor.prototype.onCreate=function()
{this.createLayout();TableLayout.prototype.onCreate.apply(this,arguments);this.listCoreListItems();this.m_windowManager.addListener(this);}
CoreListEditor.prototype.destroy=function()
{TableLayout.prototype.destroy.apply(this,arguments);this.m_windowManager.removeListener(this);}
CoreListEditor.prototype.createLayout=function()
{this.createToolbar();this.addRow(TABLE_LAYOUT_AUTO);this.addCell(this.getRowCount()-1,this.m_toolbar,TABLE_LAYOUT_REMAINDER);this.m_list.setSorted(this.m_settings.m_sorted);this.m_list.addListener(this);this.addRow(TABLE_LAYOUT_REMAINDER);this.addCell(this.getRowCount()-1,this.m_list,TABLE_LAYOUT_REMAINDER);if(this.m_settings.m_showListCount)
{this.m_countLbl=new Label("");this.m_countLbl.setPadding(3,0,0,0);this.m_countLbl.setvAlign("middle");this.addRow("20");this.addCell(this.getRowCount()-1,this.m_countLbl,TABLE_LAYOUT_REMAINDER);}
if(this.m_settings.m_archived)
{this.m_includeArchivedCk=new Checkbox("0",getResource(CORE_LIST_EDITOR_SHOW_ARCHIVED));this.m_includeArchivedCk.addListener(this);this.addRow("20");this.addCell(this.getRowCount()-1,this.m_includeArchivedCk,TABLE_LAYOUT_REMAINDER);}}
CoreListEditor.prototype.createToolbar=function()
{this.m_toolbar=new Toolbar();this.m_toolbar.addListener(this);this.m_newBtn=null;this.m_editBtn=null;this.m_historyBtn=null;this.m_deleteBtn=null;this.m_searchBtn=null;this.m_historyBtn=null;if(this.m_settings.m_newIcon!=null)
{this.m_newBtn=this.m_toolbar.addIconTextButton(this.m_settings.m_newIcon,getResource(CORE_UI_NEW),getResource1(CORE_LIST_EDITOR_CREATE,this.m_settings.m_listItemName));}
if(this.m_settings.m_editIcon!=null)
{this.m_editBtn=this.m_toolbar.addIconTextButton(this.m_settings.m_editIcon,getResource(CORE_UI_EDIT),getResource1(CORE_LIST_EDITOR_EDIT,this.m_settings.m_listItemName));this.m_toolbar.disableButton(this.m_editBtn);if(this.m_defaultBtn==null)
{this.m_defaultBtn=this.m_editBtn;}}
if(this.m_settings.m_copyIcon!=null)
{this.m_copyBtn=this.m_toolbar.addIconTextButton(this.m_settings.m_copyIcon,getResource(CORE_UI_COPY),getResource1(CORE_LIST_EDITOR_COPY,this.m_settings.m_listItemName));this.m_toolbar.disableButton(this.m_copyBtn);}
if(this.m_settings.m_moveDownIcon!=null)
{this.m_moveDownBtn=this.m_toolbar.addIconButton(this.m_settings.m_moveDownIcon,getResource1(CORE_LIST_EDITOR_MOVE_DOWN,this.m_settings.m_listItemName));this.m_toolbar.disableButton(this.m_moveDownBtn);}
if(this.m_settings.m_moveUpIcon!=null)
{this.m_moveUpBtn=this.m_toolbar.addIconButton(this.m_settings.m_moveUpIcon,getResource1(CORE_LIST_EDITOR_MOVE_UP,this.m_settings.m_listItemName));this.m_toolbar.disableButton(this.m_moveUpBtn);}
if(this.m_settings.m_deleteIcon!=null)
{this.m_deleteBtn=this.m_toolbar.addIconTextButton(this.m_settings.m_deleteIcon,getResource(CORE_UI_DELETE),getResource1(CORE_LIST_EDITOR_DELETE,this.m_settings.m_listItemName));this.m_toolbar.disableButton(this.m_deleteBtn);}
if(this.m_settings.m_searchIcon!=null)
{this.m_searchBtn=this.m_toolbar.addIconTextButton(this.m_settings.m_searchIcon,getResource(CORE_UI_SEARCH),getResource1(CORE_LIST_EDITOR_SEARCH,this.m_settings.m_listItemsName));}
if(this.m_settings.m_historyIcon!=null)
{this.m_historyBtn=this.m_toolbar.addIconButton(this.m_settings.m_historyIcon,getResource1(CORE_LIST_EDITOR_HISTORY,this.m_settings.m_listItemName));this.m_toolbar.disableButton(this.m_historyBtn);}
if(this.m_settings.m_refreshIcon!=null)
{this.m_refreshBtn=this.m_toolbar.addIconTextButtonRight(this.m_settings.m_refreshIcon,getResource(CORE_UI_REFRESH),getResource1(CORE_LIST_EDITOR_REFRESH,this.m_settings.m_listItemsName));}}
CoreListEditor.prototype.onToolbarButtonClick=function(objBtn)
{if(objBtn==this.m_newBtn)
{this.onNewCoreListItem();}
else if(objBtn==this.m_editBtn)
{this.onEditCoreListItem();}
else if(objBtn==this.m_copyBtn)
{this.onCopyCoreListItem();}
else if(objBtn==this.m_moveDownBtn)
{this.onMoveDownCoreListItem();}
else if(objBtn==this.m_moveUpBtn)
{this.onMoveUpCoreListItem();}
else if(objBtn==this.m_deleteBtn)
{this.onDeleteCoreListItem();}
else if(objBtn==this.m_refreshBtn)
{this.onRefresh();}
else if(objBtn==this.m_historyBtn)
{this.onHistoryCoreListItem();}
else if(objBtn==this.m_searchBtn)
{this.onGetCoreListItemsSearch();}}
CoreListEditor.prototype.listCoreListItems=function()
{var includeArchive=false;;if(this.m_settings.m_archived&&this.m_includeArchivedCk.getValue()=="1")
{includeArchive=true;}
var request=this.m_settings.getListCoreListItemsRequest(null,includeArchive);request.postRequest(this.onListCoreListItems_Response.bind(this));}
CoreListEditor.prototype.onListCoreListItems_Response=function(response)
{eval(response.getJavaScript());this.m_list.clear();this.m_list.addItems(coreListItems);if(this.m_settings.m_showListCount)
{this.m_countLbl.setCaption(getResource2(CORE_LIST_EDITOR_COUNT,this.m_list.getItems().length,this.m_settings.m_listItemsName));}}
CoreListEditor.prototype.onListSelectionChange=function(objList)
{if(this.m_list.getSelectedItems().length>0)
{var coreListItem=this.m_list.getSelectedItems()[0];if(this.m_editBtn!=null)
{this.m_toolbar.enableButton(this.m_editBtn);}
if(this.m_copyBtn!=null)
{this.m_toolbar.enableButton(this.m_copyBtn);}
if(this.m_moveUpBtn!=null)
{var index=this.m_list.getCoreObjectIndex(coreListItem);if(index>0)
{this.m_toolbar.enableButton(this.m_moveUpBtn);}
else
{this.m_toolbar.disableButton(this.m_moveUpBtn);}}
if(this.m_moveDownBtn!=null)
{var index=this.m_list.getCoreObjectIndex(coreListItem);if(index<this.m_list.getItems().length-1)
{this.m_toolbar.enableButton(this.m_moveDownBtn);}
else
{this.m_toolbar.disableButton(this.m_moveDownBtn);}}
if(this.m_deleteBtn!=null)
{this.m_toolbar.enableButton(this.m_deleteBtn);}
if(this.m_historyBtn!=null)
{this.m_toolbar.enableButton(this.m_historyBtn);}}
else
{if(this.m_editBtn!=null)
{this.m_toolbar.disableButton(this.m_editBtn);}
if(this.m_copyBtn!=null)
{this.m_toolbar.disableButton(this.m_copyBtn);}
if(this.m_moveUpBtn!=null)
{this.m_toolbar.disableButton(this.m_moveUpBtn);}
if(this.m_moveDownBtn!=null)
{this.m_toolbar.disableButton(this.m_moveDownBtn);}
if(this.m_deleteBtn!=null)
{this.m_toolbar.disableButton(this.m_deleteBtn);}
if(this.m_historyBtn!=null)
{this.m_toolbar.disableButton(this.m_historyBtn);}}}
CoreListEditor.prototype.onListItemDblClick=function(args)
{if(this.m_defaultBtn!=null)
{this.onToolbarButtonClick(this.m_defaultBtn);}}
CoreListEditor.prototype.updateCoreListItem=function(coreListItem)
{if(this.m_list.getCoreObjectIndex(coreListItem)==-1)
{if(this.m_settings.m_sortOrder==CORE_LIST_EDITOR_SORT_ORDER_DESC)
{this.m_list.insertCoreObject(coreListItem,0);}
else
{this.m_list.addCoreObject(coreListItem);}
this.m_list.selectCoreObject(coreListItem);}
else
{this.m_list.updateCoreObject(coreListItem);}
if(this.m_settings.m_showListCount)
{this.m_countLbl.setCaption(getResource2(CORE_LIST_EDITOR_COUNT,this.m_list.getItems().length,this.m_settings.m_listItemsName));}}
CoreListEditor.prototype.getCoreListEditorWindow=function(coreListItem,copyItem)
{var objWin=new CoreListEditorWindow(this,this.m_settings,coreListItem,copyItem);objWin.setType(this.m_settings.m_editItemWindowType);return objWin;}
CoreListEditor.prototype.onNewCoreListItem=function()
{var objWin=this.getCoreListEditorWindow(null,false);this.m_windowManager.addWindow(objWin);}
CoreListEditor.prototype.onEditCoreListItem=function(coreListItem)
{if(coreListItem==undefined||coreListItem==null)
{coreListItem=this.m_list.getSelectedItems()[0];}
var objWin=this.m_windowManager.getCoreObjectWindow(this.m_settings.m_editItemWindowType,coreListItem.getId());if(objWin!=null)
{this.m_windowManager.setActiveWindow(objWin);return;}
var objWin=this.getCoreListEditorWindow(coreListItem,false);this.m_windowManager.addWindow(objWin);}
CoreListEditor.prototype.onCopyCoreListItem=function()
{var coreListItem=this.m_list.getSelectedItems()[0];var objWin=this.getCoreListEditorWindow(coreListItem,true);this.m_windowManager.addWindow(objWin);}
CoreListEditor.prototype.onDeleteCoreListItem=function()
{var deleteDialog=deleteDialogMsg(getResource1(CORE_LIST_EDITOR_DELETE_CONF,this.m_settings.m_listItemName),this.onDeleteCoreListItemDialog_Closed.bind(this));}
CoreListEditor.prototype.onDeleteCoreListItemDialog_Closed=function(cancelled)
{if(cancelled)
{return;}
var coreListItem=this.m_list.getSelectedItems()[0];var request=this.m_settings.getDeleteCoreListItemRequest(coreListItem);request.postRequest(this.onDeleteCoreListItem_Response.bind(this));}
CoreListEditor.prototype.onDeleteCoreListItem_Response=function(response)
{eval(response.getJavaScript());var coreListItem=this.m_list.getSelectedItems()[0];this.m_list.removeCoreObject(coreListItem);var winIndex=this.m_windowManager.getCoreObjectWindowIndex(this.m_settings.m_editItemWindowType,coreListItem.getId());if(winIndex>-1)
{this.m_windowManager.removeWindow(winIndex,false);}
var winIndex=this.m_windowManager.getCoreObjectWindowIndex(this.m_settings.m_historyItemWindowType,coreListItem.getId());if(winIndex>-1)
{this.m_windowManager.removeWindow(winIndex,false);}
if(this.m_settings.m_cache!=null)
{this.m_settings.m_cache.removeCoreInstanceObject(coreListItem.getInstanceId());}
if(this.m_settings.m_showListCount)
{this.m_countLbl.setCaption(this.m_list.getItems().length);}}
CoreListEditor.prototype.onRefresh=function()
{this.listCoreListItems();this.m_list.clearSelection();this.onWindowActivate();}
CoreListEditor.prototype.onWindowActivate=function()
{var objWin=this.m_windowManager.getActiveWindow();if(objWin==null||!objWin.getCoreObject||objWin.getCoreObject()==null)
{return;}
if(objWin.getType()!=this.m_settings.m_editItemWindowType&&objWin.getType()!=this.m_settings.m_historyItemWindowType)
{return;}
this.m_list.selectCoreObject(objWin.getCoreObject());}
CoreListEditor.prototype.onMoveDownCoreListItem=function()
{var coreListItem1=this.m_list.getSelectedItems()[0];var index=this.m_list.getCoreObjectIndex(coreListItem1);var coreListItem2=this.m_list.getItem(index+1);var request=new AjaxRequest(APP_URL+"/"+this.m_settings.m_action);request.addParam("action","moveCoreListItems");request.addParam("coreListItemInstance1Id",coreListItem1.getInstanceId());request.addParam("coreListItemInstance2Id",coreListItem2.getInstanceId());request.postRequest(this.onMoveItems_Response.bind(this));}
CoreListEditor.prototype.onMoveUpCoreListItem=function()
{var coreListItem1=this.m_list.getSelectedItems()[0];var index=this.m_list.getCoreObjectIndex(coreListItem1);var coreListItem2=this.m_list.getItem(index-1);var request=new AjaxRequest(APP_URL+"/"+this.m_settings.m_action);request.addParam("action","moveCoreListItems");request.addParam("coreListItemInstance1Id",coreListItem1.getInstanceId());request.addParam("coreListItemInstance2Id",coreListItem2.getInstanceId());request.postRequest(this.onMoveItems_Response.bind(this));}
CoreListEditor.prototype.onMoveItems_Response=function(response)
{eval(response.getJavaScript());var selectedCoreListItem=this.m_list.getSelectedItems()[0];this.m_list.removeCoreObject(coreListItems[0]);this.m_list.removeCoreObject(coreListItems[1]);var order1=coreListItems[0].getOrder()-1;var order2=coreListItems[1].getOrder()-1;if(this.m_settings.m_sortOrder==CORE_LIST_EDITOR_SORT_ORDER_DESC)
{var listLen=this.m_list.getSize()+1;order1=listLen-order1;order2=listLen-order2;}
if(order1<order2)
{this.m_list.insertItem(coreListItems[0],order1);this.m_list.insertItem(coreListItems[1],order2);}
else
{this.m_list.insertItem(coreListItems[1],order2);this.m_list.insertItem(coreListItems[0],order1);}
if(selectedCoreListItem.getInstanceId()==coreListItems[0].getInstanceId())
{this.m_list.selectCoreObject(coreListItems[0]);}
else
{this.m_list.selectCoreObject(coreListItems[1]);}}
CoreListEditor.prototype.onHistoryCoreListItem=function()
{var coreListItem=this.m_list.getSelectedItems()[0];var objWin=this.m_windowManager.getCoreObjectWindow(this.m_settings.m_historyItemWindowType,coreListItem.getId());if(objWin!=null)
{this.m_windowManager.setActiveWindow(objWin);return;}
var objWin=new CoreListEditorItemHistoryWindow(this.m_settings,coreListItem);this.m_windowManager.addWindow(objWin);}
CoreListEditor.prototype.onGetCoreListItemsSearch=function()
{var request=this.m_settings.getGetSearchCoreListItemRequest();request.postRequest(this.onGetCoreListItemsSearch_Response.bind(this));}
CoreListEditor.prototype.onGetCoreListItemsSearch_Response=function(response)
{eval(response.getJavaScript());this.m_searchDlg=new SearchDialog(this.m_settings.m_listItemsName+" - "+getResource(CORE_UI_SEARCH),listItemSearch);this.m_searchDlg.showDialog(this.onSearchCoreListItemsDialog_Close.bind(this));}
CoreListEditor.prototype.onSearchCoreListItemsDialog_Close=function(cancelled)
{if(cancelled)
{this.m_searchDlg.deletePanel();this.m_searchDlg=null;return;}
var objWin=new CoreListEditorItemsSearchWindow(this,this.m_settings,this.m_searchDlg.getSearch());this.m_windowManager.addWindow(objWin);this.m_searchDlg.deletePanel();this.m_searchDlg=null;}
CoreListEditor.prototype.onCheckboxClick=function(objCk)
{if(objCk==this.m_includeArchivedCk)
{this.listCoreListItems();}}
function CoreListItemEditor(settings)
{this.TableLayout();this.m_settings=settings;this.m_childEditors=null;}
copyPrototype(CoreListItemEditor,TableLayout);CoreListItemEditor.prototype.setCoreListItem=function(coreListItem)
{this.m_coreListItem=coreListItem;this.createLayout();}
CoreListItemEditor.prototype.updateCoreListItem=function()
{if(this.m_settings.m_childSettings.length>0)
{if(this.m_tabCtrl.getActiveTabIndex()==0)
{this.m_coreListItemInstCtrl.updateInstance();var request=this.m_settings.getUpdateCoreListItemRequest(this.m_coreListItem);request.postRequest(this.onUpdateCoreListItem_Response.bind(this));}
else
{this.m_childEditors[this.m_tabCtrl.getActiveTabIndex()-1].updateCoreListItem();}}
else
{this.m_coreListItemInstCtrl.updateInstance();var request=this.m_settings.getUpdateCoreListItemRequest(this.m_coreListItem);request.postRequest(this.onUpdateCoreListItem_Response.bind(this));}}
CoreListItemEditor.prototype.onUpdateCoreListItem_Response=function(response)
{eval(response.getJavaScript());this.m_coreListItem=coreListItem;this.m_coreListItemInstCtrl.setInstance(this.m_coreListItem.getInstance());if(this.m_settings.m_cache!=null)
{this.m_settings.m_cache.updateCoreInstanceObject(this.m_coreListItem);}
if(this.m_settings.m_childSettings.length>0)
{for(var i=0;i<this.m_childEditors.length;i++)
{this.m_childEditors[i].setForeignInstanceId(this.m_coreListItem.getInstanceId());this.m_tabCtrl.getTabInfoByIndex(i+1).m_tab.enable();}}
this.notifyListeners("onCoreListItemUpdated",this);}
CoreListItemEditor.prototype.postCreate=function()
{TableLayout.prototype.postCreate.apply(this,arguments);if(this.m_coreListItem!=null)
{focusFirstInputControl(this.m_coreListItemInstCtrl.getHTMLContainer());}}
CoreListItemEditor.prototype.createLayout=function()
{this.clear();if(this.m_coreListItem==null)
{this.addRow(TABLE_LAYOUT_REMAINDER);this.addCell(0,new Panel(),TABLE_LAYOUT_REMAINDER);this.refresh();return;}
this.m_coreListItemInstCtrl=new InstanceControl(this.m_coreListItem.getInstance());this.m_coreListItemInstCtrl.createLayout(MODE_INSTANCE);this.m_coreListItemInstCtrl.setPadding(2,2,2,2);if(this.m_settings.m_childSettings.length>0)
{this.m_childEditors=new Array();this.m_tabCtrl=new TabControl();this.m_tabCtrl.setUseSmallTabs(true);this.m_tabCtrl.addListener(this);var tab=new Tab(this.m_settings.m_listItemName,null,null);this.m_tabCtrl.addTab(tab,this.m_coreListItemInstCtrl);for(var i=0;i<this.m_settings.m_childSettings.length;i++)
{var editor=new CoreListEditorItemsEditor(this.m_settings.m_childSettings[i],this.m_coreListItem.getInstanceId());editor.addListener(this);tab=new Tab(this.m_settings.m_childSettings[i].m_listItemsName,null,null);this.m_tabCtrl.addTab(tab,editor);if(this.m_coreListItem.isNewInstance())
{tab.disable();}
this.m_childEditors.push(editor);}
this.addRow(TABLE_LAYOUT_REMAINDER);this.addCell(0,this.m_tabCtrl,TABLE_LAYOUT_REMAINDER);}
else
{this.addRow(TABLE_LAYOUT_REMAINDER);this.addCell(0,this.m_coreListItemInstCtrl,TABLE_LAYOUT_REMAINDER);}
this.refresh();if(this.isCreated())
{focusFirstInputControl(this.m_coreListItemInstCtrl.getHTMLContainer());}}
CoreListItemEditor.prototype.onCoreListItemUpdated=function(editor)
{var updatedCoreListItem=editor.getCoreListItem();if(updatedCoreListItem!=null&&updatedCoreListItem.getForeignCoreListItem()!=null)
{var updatedParentCoreListItem=updatedCoreListItem.getForeignCoreListItem();if(updatedParentCoreListItem.getInstanceId()==this.m_coreListItem.getInstanceId())
{this.m_coreListItem=updatedParentCoreListItem;this.m_coreListItemInstCtrl.setInstance(this.m_coreListItem.getInstance());}}
this.notifyListeners("onCoreListItemUpdated",editor);}
CoreListItemEditor.prototype.getCoreListItem=function()
{return this.m_coreListItem;}
CoreListItemEditor.prototype.onTabClicked=function()
{if(this.hasChanged())
{errorDialogMsg(getResource(CORE_LIST_EDITOR_CHANGE_TAB),null);return false;}
return true;}
var WINDOW_TYPE_CORE_LIST_EDITOR=++WINDOW_UNIQUE_TYPE;function CoreListEditorWindow(coreListEditor,settings,coreListItem,copyItem)
{this.m_coreListEditor=coreListEditor;this.m_coreListItem=coreListItem;this.m_settings=settings;if(copyItem==undefined)
{copyItem=false;}
this.m_copyItem=copyItem;this.m_childEditors=null;var windowCaption="";if(this.m_coreListItem!=null)
{windowCaption=this.m_coreListItem.getInstance().getInstanceDisplayValue(" ");}
this.CoreObjectWindow(windowCaption,null,WINDOW_TYPE_CORE_LIST_EDITOR);this.setCoreObject(this.m_coreListItem);}
copyPrototype(CoreListEditorWindow,CoreObjectWindow);CoreListEditorWindow.prototype.loadWindow=function()
{CoreObjectWindow.prototype.loadWindow.apply(this,arguments);var request;if(this.m_coreListItem==null)
{request=this.m_settings.getNewCoreListItemRequest();}
else
{if(this.m_copyItem)
{request=this.m_settings.getCopyCoreListItemRequest(this.m_coreListItem);}
else
{request=this.m_settings.getEditCoreListItemRequest(this.m_coreListItem);}}
request.postRequest(this.onLoadCoreListItem_Response.bind(this));}
CoreListEditorWindow.prototype.onLoadCoreListItem_Response=function(response)
{eval(response.getJavaScript());this.m_coreListItem=coreListItem;var settings=this.m_settings;this.m_coreListItemEditor=new CoreListItemEditor(settings);this.m_coreListItemEditor.setCoreListItem(this.m_coreListItem);this.m_coreListItemEditor.addListener(this);this.addRow(TABLE_LAYOUT_REMAINDER);this.addCell(this.getRowCount()-1,this.m_coreListItemEditor,TABLE_LAYOUT_REMAINDER);this.setCoreObject(this.m_coreListItem);this.onLoaded(false);this.m_caption=this.m_coreListItem.getInstance().getInstanceDisplayValue(" ");this.m_tooltip=this.m_caption
this.m_windowManager.updateWindowCaption(this);}
CoreListEditorWindow.prototype.getCoreListItem=function(htmlDiv)
{return this.m_coreListItem;}
CoreListEditorWindow.prototype.saveWindow=function()
{this.m_coreListItemEditor.updateCoreListItem();}
CoreListEditorWindow.prototype.printWindow=function()
{var request=this.m_settings.getPrintCoreListItemRequest(this.m_coreListItem);request.postRequest(this.onPrintCoreListItem_Response.bind(this));}
CoreListEditorWindow.prototype.onPrintCoreListItem_Response=function(response)
{eval(response.getJavaScript());var div=createDiv("",null);div.innerHTML=printOutput;var pDialog=new PrintDialog();pDialog.print(680,this.m_caption,div);}
CoreListEditorWindow.prototype.canRefresh=function()
{if(this.m_coreListItem==null||this.m_coreListItem.isNewInstance())
{return false;}
return true;}
CoreListEditorWindow.prototype.onCoreListItemUpdated=function(editor)
{if(editor==this.m_coreListItemEditor)
{this.m_coreListItem=editor.getCoreListItem();this.setCoreObject(this.m_coreListItem);this.m_caption=this.m_coreListItem.getInstance().getInstanceDisplayValue(" ");this.m_tooltip=this.m_caption
this.m_windowManager.updateWindowCaption(this);this.m_coreListEditor.updateCoreListItem(this.m_coreListItem);}
this.onSaved();}
function CoreListEditorItemsWindow(settings)
{this.m_settings=settings;this.m_loaded=false;this.m_create=false;this.m_edit=false;this.Window(this.m_settings.m_listItemsName+" - "+getResource(CORE_LIST_EDITOR_LIST),null,this.m_settings.m_listItemWindowType);}
copyPrototype(CoreListEditorItemsWindow,Window);CoreListEditorItemsWindow.prototype.getListCoreListItemsRequest=function()
{var request=new AjaxRequest(APP_URL+"/"+this.m_settings.m_action);request.addParam("action","listCoreListItems");return request;}
CoreListEditorItemsWindow.prototype.loadWindow=function()
{Window.prototype.loadWindow.apply(this,arguments);var request=this.getListCoreListItemsRequest();request.postRequest(this.onListCoreListItems_Response.bind(this));}
CoreListEditorItemsWindow.prototype.onListCoreListItems_Response=function(response)
{eval(response.getJavaScript());this.m_toolbar=new Toolbar();this.m_toolbar.addListener(this);this.m_addBtn=this.m_toolbar.addIconButton(this.m_settings.m_newIcon,getResource1(CORE_LIST_EDITOR_CREATE,this.m_settings.m_listItemName));this.m_delBtn=this.m_toolbar.addIconButton(this.m_settings.m_deleteIcon,getResource1(CORE_LIST_EDITOR_DELETE,this.m_settings.m_listItemName));this.m_delBtn.disable();this.m_coreListItems=coreListItems;this.m_coreListItemInstCtrl=null;this.m_gridLayout=new TableLayout();if(this.m_settings.m_showListCount)
{this.m_countLbl=new Label(getResource2(CORE_LIST_EDITOR_COUNT,this.m_coreListItems.length,this.m_settings.m_listItemsName));this.m_gridLayout.addRow("20");this.m_gridLayout.addCell(this.m_gridLayout.getRowCount()-1,this.m_countLbl,TABLE_LAYOUT_FLOW);}
if(this.m_coreListItems.length>0)
{var instances=getCoreObjectInstances(this.m_coreListItems);this.m_instancesGridData=new InstancesGridData(instances);this.m_instancesGrid=new Grid(GRID_MODE_PRELOAD);this.m_instancesGrid.setPageSize(10);this.m_instancesGrid.setGridData(this.m_instancesGridData);this.m_instancesGrid.addListener(this);}
else
{var lblCaption="";if(!this.m_settings.m_showListCount)
{lblCaption=getResource1(CORE_LIST_EDITOR_NONE,this.m_settings.m_listItemsName);}
this.m_instancesGrid=new Label(lblCaption);}
this.m_gridLayout.addRow(TABLE_LAYOUT_FLOW);this.m_gridLayout.addCell(this.m_gridLayout.getRowCount()-1,this.m_instancesGrid,TABLE_LAYOUT_REMAINDER);this.m_gridScrollPanel=new ScrollPanel(this.m_gridLayout);this.m_gridScrollPanel.setHeight(this.m_settings.m_splitPaneHeight);this.m_splitPanel=new SplitControl();this.m_splitPanel.setPanels(this.m_gridScrollPanel,new Panel());this.addRow(TABLE_LAYOUT_AUTO);this.addCell(0,this.m_toolbar,TABLE_LAYOUT_REMAINDER);this.addRow(TABLE_LAYOUT_REMAINDER);this.addCell(1,this.m_splitPanel,TABLE_LAYOUT_REMAINDER);this.onLoaded(true);}
CoreListEditorItemsWindow.prototype.getUpdateCoreListItemRequest=function()
{var request=new AjaxRequest(APP_URL+"/"+this.m_settings.m_action);request.addParam("action","updateCoreListItem");request.addParam("coreListItemInstanceId",this.m_coreListItem.getId());this.m_coreListItem.populateRequest(request);return request;}
CoreListEditorItemsWindow.prototype.saveWindow=function()
{this.m_coreListItemInstCtrl.updateInstance();var request=this.getUpdateCoreListItemRequest(this.m_coreListItem);request.postRequest(this.onSaveCoreListItem_Response.bind(this));}
CoreListEditorItemsWindow.prototype.onSaveCoreListItem_Response=function(response)
{eval(response.getJavaScript());if(getType(this.m_instancesGrid)!="Grid")
{this.m_coreListItem=coreListItem;this.m_coreListItems.push(coreListItem);this.m_coreListItemInstCtrl.setInstance(this.m_coreListItem.getInstance());var instances=getCoreObjectInstances(this.m_coreListItems);this.m_instancesGridData=new InstancesGridData(instances);this.m_instancesGrid=new Grid(GRID_MODE_PRELOAD);this.m_instancesGrid.setPageSize(10);this.m_instancesGrid.setGridData(this.m_instancesGridData);this.m_instancesGrid.addListener(this);this.m_gridLayout.replaceCell(this.m_gridLayout.getRowCount()-1,0,this.m_instancesGrid);}
else
{if(this.m_coreListItem.isNewInstance())
{this.m_coreListItem=coreListItem;this.m_coreListItems.push(coreListItem);this.m_instancesGridData.addInstance(this.m_coreListItem.getInstance());}
else
{this.m_coreListItem=coreListItem;updateCoreObject_Array(this.m_coreListItems,this.m_coreListItem);var instance=this.m_coreListItem.getInstance();this.m_instancesGridData.replaceInstance(instance.getId(),instance);}}
if(this.m_settings.m_showListCount)
{this.m_countLbl.setCaption(getResource2(CORE_LIST_EDITOR_COUNT,this.m_instancesGridData.getRowCount(),this.m_settings.m_listItemsName));}
this.m_coreListItemInstCtrl.setInstance(this.m_coreListItem.getInstance());this.m_instancesGrid.refresh();var rowIndex=this.m_instancesGridData.getInstanceIndex(this.m_coreListItem.getInstanceId());this.m_instancesGrid.setSelectedRow(rowIndex,false);this.onSaved();if(this.m_create)
{this.onNewListItem();}
else if(this.m_edit)
{this.onEditListItem();}}
CoreListEditorItemsWindow.prototype.onGridRowClick=function(args)
{this.onEditCoreListItem();}
CoreListEditorItemsWindow.prototype.onEditCoreListItem=function()
{if(this.hasChanged())
{var saveDialog=new ModalDialog();saveDialog.setShowCancel(true);saveDialog.showDialog(getResource(DLG_SAVE_CONFIRM),new Label(getResource(DLG_SAVE_CONFIRM_DESC)),400,120,this.onEditCoreListItem_Closed.bind(this));}
else
{this.onEditCoreListItem_Closed(true);}}
CoreListEditorItemsWindow.prototype.onEditCoreListItem_Closed=function(cancelled)
{if(!cancelled)
{this.m_edit=true;this.saveWindow();return;}
this.clearHasChanged();this.m_edit=false;var rowIndex=this.m_instancesGrid.getSelectedRow();var instance=this.m_instancesGridData.getInstance(rowIndex);this.m_coreListItem=getCoreObject_Array(this.m_coreListItems,instance.getId());if(this.m_coreListItemInstCtrl!=null)
{this.m_coreListItemInstCtrl.setInstance(this.m_coreListItem.getInstance());}
else
{this.m_coreListItemInstCtrl=new InstanceControl(this.m_coreListItem.getInstance());this.m_coreListItemInstCtrl.createLayout(MODE_INSTANCE);this.m_coreListItemInstCtrl.setPadding(2,2,2,2);this.m_splitPanel.setPanel2(this.m_coreListItemInstCtrl);}
this.m_delBtn.enable();}
CoreListEditorItemsWindow.prototype.onToolbarButtonClick=function(objBtn)
{if(objBtn==this.m_addBtn)
{this.onNewCoreListItem();}
else if(objBtn==this.m_delBtn)
{this.onDeleteCoreListItem();}}
CoreListEditorItemsWindow.prototype.onNewCoreListItem=function()
{if(this.hasChanged())
{var saveDialog=new ModalDialog();saveDialog.setShowCancel(true);saveDialog.showDialog(getResource(DLG_SAVE_CONFIRM),new Label(getResource(DLG_SAVE_CONFIRM_DESC)),400,120,this.onNewListItem_Closed.bind(this));}
else
{this.onNewListItem_Closed(true);}}
CoreListEditorItemsWindow.prototype.getNewCoreListItemRequest=function()
{var request=new AjaxRequest(APP_URL+"/"+this.m_settings.m_action);request.addParam("action","newCoreListItem");return request;}
CoreListEditorItemsWindow.prototype.onNewListItem_Closed=function(cancelled)
{if(!cancelled)
{this.m_create=true;this.saveWindow();return;}
this.clearHasChanged();this.m_create=false;var request=this.getNewCoreListItemRequest();request.postRequest(this.onNewCoreListItem_Response.bind(this));}
CoreListEditorItemsWindow.prototype.onNewCoreListItem_Response=function(response)
{eval(response.getJavaScript());this.m_coreListItem=coreListItem;if(getType(this.m_instancesGrid)=="Grid")
{this.m_instancesGrid.setSelectedRow(-1);}
if(this.m_coreListItemInstCtrl!=null)
{this.m_coreListItemInstCtrl.setInstance(this.m_coreListItem.getInstance());}
else
{this.m_coreListItemInstCtrl=new InstanceControl(this.m_coreListItem.getInstance());this.m_coreListItemInstCtrl.createLayout(MODE_INSTANCE);this.m_coreListItemInstCtrl.setPadding(2,2,2,2);this.m_splitPanel.setPanel2(this.m_coreListItemInstCtrl);}}
CoreListEditorItemsWindow.prototype.getDeleteCoreListItemRequest=function()
{var request=new AjaxRequest(APP_URL+"/"+this.m_settings.m_action);request.addParam("action","deleteCoreListItem");request.addParam("coreListItemInstanceId",this.m_coreListItem.getInstanceId());return request;}
CoreListEditorItemsWindow.prototype.onDeleteCoreListItem=function()
{var deleteDialog=deleteDialogMsg(getResource1(CORE_LIST_EDITOR_DELETE_CONF,this.m_settings.m_listItemName),this.onDeleteCoreListItem_Closed.bind(this));}
CoreListEditorItemsWindow.prototype.onDeleteCoreListItem_Closed=function(cancelled)
{if(cancelled)
{return;}
var request=this.getDeleteCoreListItemRequest();request.postRequest(this.onDeleteCoreListItem_Response.bind(this));}
CoreListEditorItemsWindow.prototype.onDeleteCoreListItem_Response=function()
{var rowIndex=this.m_instancesGridData.getInstanceIndex(this.m_coreListItem.getInstanceId());if(rowIndex>-1)
{this.m_instancesGridData.deleteInstance(this.m_coreListItem.getInstanceId());this.m_instancesGrid.refresh();}
this.m_splitPanel.setPanel2(new Panel());this.m_instance=null;this.m_coreListItemInstCtrl=null;this.m_delBtn.disable();if(this.m_settings.m_showListCount)
{this.m_countLbl.setCaption(getResource2(CORE_LIST_EDITOR_COUNT,this.m_instancesGridData.getRowCount,this.m_settings.m_listItemsName));}}
function CoreListEditorItemsSearchWindow(coreListEditor,settings,listItemsSearch)
{this.m_coreListEditor=coreListEditor;this.m_settings=settings;this.m_listItemsSearch=listItemsSearch;this.m_loaded=false;this.Window(this.m_settings.m_listItemsName+" - Search",null,this.m_settings.m_searchItemWindowType);}
copyPrototype(CoreListEditorItemsSearchWindow,Window);CoreListEditorItemsSearchWindow.prototype.loadWindow=function()
{Window.prototype.loadWindow.apply(this,arguments);var request=this.m_settings.getSearchCoreListItemRequest(this.m_listItemsSearch);request.postRequest(this.onListCoreListItems_Response.bind(this));}
CoreListEditorItemsSearchWindow.prototype.onListCoreListItems_Response=function(response)
{eval(response.getJavaScript());this.m_coreListItems=coreListItems;this.m_gridLayout=new TableLayout();if(this.m_settings.m_showListCount)
{this.m_countLbl=new Label(getResource2(CORE_LIST_EDITOR_COUNT,this.m_coreListItems.length,this.m_settings.m_listItemsName));this.m_gridLayout.addRow("20");this.m_gridLayout.addCell(this.m_gridLayout.getRowCount()-1,this.m_countLbl,TABLE_LAYOUT_FLOW);}
if(this.m_coreListItems.length>0)
{var instances=getCoreObjectInstances(this.m_coreListItems);this.m_instancesGridData=new InstancesGridData(instances);this.m_instancesGridData.addFieldsToDisplay_Option(OPTION_GRID_FIELD,"1");this.m_instancesGrid=new Grid(GRID_MODE_PRELOAD);this.m_instancesGrid.setGridData(this.m_instancesGridData);this.m_instancesGrid.addListener(this);this.m_instancesGrid.setPadding(2,2,2,2);if(this.m_settings.m_gridPageSize==0)
{this.m_instancesGrid.setPageSize(100000);}
else
{this.m_instancesGrid.setPageSize(this.m_settings.m_gridPageSize);}
if(this.m_settings.m_gridSortColumnIndex!=null)
{this.m_instancesGrid.setSortColumn(this.m_settings.m_gridSortColumnIndex,this.m_settings.m_gridSortColumnOrder);}}
else
{var lblCaption="";if(!this.m_settings.m_showListCount)
{lblCaption=getResource1(CORE_LIST_EDITOR_NONE,this.m_settings.m_listItemsName);}
this.m_instancesGrid=new Label(lblCaption);}
this.m_gridLayout.addRow(TABLE_LAYOUT_FLOW);this.m_gridLayout.addCell(this.m_gridLayout.getRowCount()-1,this.m_instancesGrid,TABLE_LAYOUT_REMAINDER);this.m_gridScrollPanel=new ScrollPanel(this.m_gridLayout);this.addRow(TABLE_LAYOUT_REMAINDER);this.addCell(this.getRowCount()-1,this.m_gridScrollPanel,TABLE_LAYOUT_REMAINDER);this.onLoaded(false);}
CoreListEditorItemsSearchWindow.prototype.onGridRowDblClick=function(args)
{var rowIndex=this.m_instancesGrid.getSelectedRow();var instance=this.m_instancesGridData.getInstance(rowIndex);var coreListItem=getCoreObject_Array(this.m_coreListItems,instance.getId());var objWin=this.m_windowManager.getCoreObjectWindow(this.m_settings.m_editItemWindowType,coreListItem.getId());if(objWin!=null)
{this.m_windowManager.setActiveWindow(objWin);return;}
objWin=new CoreListEditorWindow(this.m_coreListEditor,this.m_settings,coreListItem);this.m_windowManager.addWindow(objWin);}
CoreListEditorItemsSearchWindow.prototype.canSave=function()
{return false;}
CoreListEditorItemsSearchWindow.prototype.canRefresh=function()
{return true;}
CoreListEditorItemsSearchWindow.prototype.printWindow=function()
{var div=null
var pDialog=new PrintDialog();div=this.m_instancesGrid.m_htmlDiv.cloneNode(true);pDialog.print(800,this.m_caption,div);}
function CoreListEditorItemsEditor(settings,foreignInstanceId)
{this.m_settings=settings;this.m_foreignInstanceId=null;if(foreignInstanceId!=undefined)
{this.m_foreignInstanceId=foreignInstanceId;}
this.m_loaded=false;this.m_create=false;this.m_edit=false;this.m_addBtn=null;this.m_delBtn=null;this.TableLayout();}
copyPrototype(CoreListEditorItemsEditor,TableLayout);CoreListEditorItemsEditor.prototype.postCreate=function()
{TableLayout.prototype.postCreate.apply(this,arguments);var request=this.m_settings.getListCoreListItemsRequest(this.m_foreignInstanceId);request.postRequest(this.onListCoreListItems_Response.bind(this));}
CoreListEditorItemsEditor.prototype.onListCoreListItems_Response=function(response)
{eval(response.getJavaScript());this.m_toolbar=new Toolbar();this.m_toolbar.addListener(this);if(this.m_settings.m_newIcon!=null)
{this.m_addBtn=this.m_toolbar.addIconButton(this.m_settings.m_newIcon,getResource1(CORE_LIST_EDITOR_CREATE,this.m_settings.m_listItemName));}
if(this.m_settings.m_deleteIcon!=null)
{this.m_delBtn=this.m_toolbar.addIconButton(this.m_settings.m_deleteIcon,getResource1(CORE_LIST_EDITOR_DELETE,this.m_settings.m_listItemName));this.m_delBtn.disable();}
this.m_coreListItems=coreListItems;this.m_gridLayout=new TableLayout();if(this.m_settings.m_showListCount)
{this.m_countLbl=new Label(getResource2(CORE_LIST_EDITOR_COUNT,this.m_coreListItems.length,this.m_settings.m_listItemsName));this.m_gridLayout.addRow("20");this.m_gridLayout.addCell(this.m_gridLayout.getRowCount()-1,this.m_countLbl,TABLE_LAYOUT_FLOW);}
if(this.m_coreListItems.length>0)
{var instances=getCoreObjectInstances(this.m_coreListItems);this.m_instancesGridData=new InstancesGridData(instances);this.m_instancesGridData.addFieldsToDisplay_Option(OPTION_GRID_FIELD,"1");this.m_instancesGrid=new Grid(GRID_MODE_PRELOAD);this.m_instancesGrid.setGridData(this.m_instancesGridData);this.m_instancesGrid.addListener(this);this.m_instancesGrid.setPadding(2,2,2,2);if(this.m_settings.m_gridPageSize==0)
{this.m_instancesGrid.setPageSize(100000);}
else
{this.m_instancesGrid.setPageSize(this.m_settings.m_gridPageSize);}
if(this.m_settings.m_gridSortColumnIndex!=null)
{this.m_instancesGrid.setSortColumn(this.m_settings.m_gridSortColumnIndex,this.m_settings.m_gridSortColumnOrder);}}
else
{var lblCaption="";if(!this.m_settings.m_showListCount)
{lblCaption=getResource1(CORE_LIST_EDITOR_NONE,this.m_settings.m_listItemsName);}
this.m_instancesGrid=new Label(lblCaption);}
this.m_gridLayout.addRow(TABLE_LAYOUT_FLOW);this.m_gridLayout.addCell(this.m_gridLayout.getRowCount()-1,this.m_instancesGrid,TABLE_LAYOUT_REMAINDER);this.m_gridScrollPanel=new ScrollPanel(this.m_gridLayout);this.m_gridScrollPanel.setHeight(this.m_settings.m_splitPaneHeight);this.m_coreListItemEditor=new CoreListItemEditor(this.m_settings);this.m_coreListItemEditor.addListener(this);this.m_splitPanel=new SplitControl();this.m_splitPanel.setPanels(this.m_gridScrollPanel,this.m_coreListItemEditor);this.addRow(TABLE_LAYOUT_AUTO);this.addCell(0,this.m_toolbar,TABLE_LAYOUT_REMAINDER);this.addRow(TABLE_LAYOUT_REMAINDER);this.addCell(1,this.m_splitPanel,TABLE_LAYOUT_REMAINDER);this.refresh();}
CoreListEditorItemsEditor.prototype.updateCoreListItem=function()
{this.m_coreListItemEditor.updateCoreListItem();}
CoreListEditorItemsEditor.prototype.onCoreListItemUpdated=function(editor)
{if(editor==this.m_coreListItemEditor)
{var curCoreListItem=this.m_coreListItem;this.m_coreListItem=this.m_coreListItemEditor.getCoreListItem();if(getType(this.m_instancesGrid)!="Grid")
{this.m_coreListItems.push(this.m_coreListItem);var instances=getCoreObjectInstances(this.m_coreListItems);this.m_instancesGridData=new InstancesGridData(instances);this.m_instancesGridData.addFieldsToDisplay_Option(OPTION_GRID_FIELD,"1");this.m_instancesGrid=new Grid(GRID_MODE_PRELOAD);this.m_instancesGrid.setGridData(this.m_instancesGridData);this.m_instancesGrid.addListener(this);this.m_instancesGrid.setPadding(2,2,2,2);if(this.m_settings.m_gridPageSize==0)
{this.m_instancesGrid.setPageSize(100000);}
else
{this.m_instancesGrid.setPageSize(this.m_settings.m_gridPageSize);}
if(this.m_settings.m_gridSortColumnIndex!=null)
{this.m_instancesGrid.setSortColumn(this.m_settings.m_gridSortColumnIndex,this.m_settings.m_gridSortColumnOrder);}
this.m_gridLayout.replaceCell(this.m_gridLayout.getRowCount()-1,0,this.m_instancesGrid);}
else
{if(curCoreListItem.isNewInstance())
{this.m_coreListItems.push(this.m_coreListItem);this.m_instancesGridData.addInstance(this.m_coreListItem.getInstance());}
else
{updateCoreObject_Array(this.m_coreListItems,this.m_coreListItem);var instance=this.m_coreListItem.getInstance();this.m_instancesGridData.replaceInstance(instance.getId(),instance);}}
if(this.m_settings.m_showListCount)
{this.m_countLbl.setCaption(getResource2(CORE_LIST_EDITOR_COUNT,this.m_instancesGridData.getRowCount(),this.m_settings.m_listItemsName));}
this.m_instancesGrid.refresh();var rowIndex=this.m_instancesGridData.getInstanceIndex(this.m_coreListItem.getInstanceId());this.m_instancesGrid.setSelectedRow(rowIndex,false);if(this.m_create)
{this.onNewCoreListItem();}
else if(this.m_edit)
{this.onEditCoreListItem();}}
else
{var updatedCoreListItem=editor.getCoreListItem();if(updatedCoreListItem!=null&&updatedCoreListItem.getForeignCoreListItem()!=null)
{var updatedParentCoreListItem=updatedCoreListItem.getForeignCoreListItem();if(updatedParentCoreListItem.getInstanceId()==this.m_coreListItem.getInstanceId())
{this.m_coreListItem=updatedParentCoreListItem;updateCoreObject_Array(this.m_coreListItems,this.m_coreListItem);var instance=this.m_coreListItem.getInstance();this.m_instancesGridData.replaceInstance(instance.getId(),instance);this.m_instancesGrid.refresh();var rowIndex=this.m_instancesGridData.getInstanceIndex(this.m_coreListItem.getInstanceId());this.m_instancesGrid.setSelectedRow(rowIndex,false);}}}
this.notifyListeners("onCoreListItemUpdated",editor);}
CoreListEditorItemsEditor.prototype.onGridRowClick=function(args)
{this.onEditCoreListItem();}
CoreListEditorItemsEditor.prototype.onEditCoreListItem=function()
{if(this.hasChanged())
{var saveDialog=new ModalDialog();saveDialog.setShowCancel(true);saveDialog.showDialog(getResource(DLG_SAVE_CONFIRM),new Label(getResource(DLG_SAVE_CONFIRM_DESC)),400,120,this.onEditCoreListItem_Closed.bind(this));}
else
{this.onEditCoreListItem_Closed(true);}}
CoreListEditorItemsEditor.prototype.onEditCoreListItem_Closed=function(cancelled)
{if(!cancelled)
{this.m_edit=true;this.updateCoreListItem();return;}
this.clearHasChanged();this.m_edit=false;var rowIndex=this.m_instancesGrid.getSelectedRow();var instance=this.m_instancesGridData.getInstance(rowIndex);this.m_coreListItem=getCoreObject_Array(this.m_coreListItems,instance.getId());this.m_coreListItemEditor.setCoreListItem(this.m_coreListItem);if(this.m_delBtn!=null)
{this.m_delBtn.enable();}}
CoreListEditorItemsEditor.prototype.onToolbarButtonClick=function(objBtn)
{if(objBtn==this.m_addBtn)
{this.onNewCoreListItem();}
else if(objBtn==this.m_delBtn)
{this.onDeleteCoreListItem();}}
CoreListEditorItemsEditor.prototype.onNewCoreListItem=function()
{if(this.hasChanged())
{var saveDialog=new ModalDialog();saveDialog.setShowCancel(true);saveDialog.showDialog(getResource(DLG_SAVE_CONFIRM),new Label(getResource(DLG_SAVE_CONFIRM_DESC)),400,120,this.onNewCoreListItem_Closed.bind(this));}
else
{this.onNewCoreListItem_Closed(true);}}
CoreListEditorItemsEditor.prototype.onNewCoreListItem_Closed=function(cancelled)
{if(!cancelled)
{this.m_create=true;this.updateCoreListItem();return;}
this.clearHasChanged();this.m_create=false;var request=this.m_settings.getNewCoreListItemRequest(this.m_foreignInstanceId);request.postRequest(this.onNewCoreListItem_Response.bind(this));}
CoreListEditorItemsEditor.prototype.onNewCoreListItem_Response=function(response)
{eval(response.getJavaScript());this.m_coreListItem=coreListItem;if(getType(this.m_instancesGrid)=="Grid")
{this.m_instancesGrid.setSelectedRow(-1);}
this.m_coreListItemEditor.setCoreListItem(this.m_coreListItem);}
CoreListEditorItemsEditor.prototype.onDeleteCoreListItem=function()
{var deleteDialog=deleteDialogMsg(getResource1(CORE_LIST_EDITOR_DELETE_CONF,this.m_settings.m_listItemName),this.onDeleteCoreListItem_Closed.bind(this));}
CoreListEditorItemsEditor.prototype.onDeleteCoreListItem_Closed=function(cancelled)
{if(cancelled)
{return;}
var request=this.m_settings.getDeleteCoreListItemRequest(this.m_coreListItem);request.postRequest(this.onDeleteCoreListItem_Response.bind(this));}
CoreListEditorItemsEditor.prototype.onDeleteCoreListItem_Response=function()
{var rowIndex=this.m_instancesGridData.getInstanceIndex(this.m_coreListItem.getInstanceId());if(rowIndex>-1)
{this.m_instancesGridData.deleteInstance(this.m_coreListItem.getInstanceId());this.m_instancesGrid.refresh();}
this.m_coreListItemEditor.setCoreListItem(null);this.m_instance=null;this.m_delBtn.disable();if(this.m_settings.m_showListCount)
{this.m_countLbl.setCaption(getResource2(CORE_LIST_EDITOR_COUNT,this.m_instancesGridData.getRowCount(),this.m_settings.m_listItemsName));}}
CoreListEditorItemsEditor.prototype.setForeignInstanceId=function(foreignInstanceId)
{this.m_foreignInstanceId=foreignInstanceId;}
function CoreListItemEditorItemsDialog(settings,foreignInstanceId)
{this.m_settings=settings;this.m_foreignInstanceId=foreignInstanceId;this.ModalDialog();}
copyPrototype(CoreListItemEditorItemsDialog,ModalDialog);CoreListItemEditorItemsDialog.prototype.showDialog=function(callback)
{this.m_editor=new CoreListEditorItemsEditor(this.m_settings,this.m_foreignInstanceId);var layout=new TableLayout();layout.addRow(TABLE_LAYOUT_REMAINDER);layout.addCell(layout.getRowCount()-1,this.m_editor,TABLE_LAYOUT_REMAINDER);this.m_saveBtn=new Button(getResource(WINDOW_SAVE),getResource(WINDOW_SAVE_MSG),APP_URL+"/images/core/ui/toolbar/save.png");this.m_saveBtn.disable();this.m_saveBtn.addListener(this);layout.addRow("32");layout.addCell(layout.getRowCount()-1,new Panel(),"50%");layout.addCell(layout.getRowCount()-1,this.m_saveBtn,"80");layout.addCell(layout.getRowCount()-1,new Panel(),"50%");var dlgArgs=new Array();dlgArgs[0]=this.m_settings.m_listItemsName;dlgArgs[1]=layout;dlgArgs[2]=600;dlgArgs[3]=550;dlgArgs[4]=callback;ModalDialog.prototype.showDialog.apply(this,dlgArgs);}
CoreListItemEditorItemsDialog.prototype.onPanelChange=function(objPanel)
{this.m_saveBtn.enable();}
CoreListItemEditorItemsDialog.prototype.onButtonClick=function(objBtn)
{if(objBtn==this.m_saveBtn)
{this.m_editor.updateCoreListItem();this.clearHasChanged();this.m_saveBtn.disable();return;}
ModalDialog.prototype.onButtonClick.apply(this,arguments);}
CoreListItemEditorItemsDialog.prototype.onOkClick=function()
{if(this.m_editor.hasChanged())
{msgDialogMsg("Unsaved changes","You have not saved the changes made to the "+this.m_settings.m_listItemName+". Close the dialog?",this.onOkClick_Closed.bind(this),true);return false;}
else
{return true;}}
CoreListItemEditorItemsDialog.prototype.onOkClick_Closed=function(cancelled)
{if(cancelled)
{return;}
this.hideDialog(false);}
function CoreListEditorItemsCache(settings)
{this.CoreInstanceObjectCache();this.m_settings=settings;}
copyPrototype(CoreListEditorItemsCache,CoreInstanceObjectCache);CoreListEditorItemsCache.prototype.getAjaxRequest=function()
{return this.m_settings.getListCoreListItemsRequest();}
CoreListEditorItemsCache.prototype.onCreateCacheData=function(response)
{eval(response.getJavaScript());return coreListItems;}
function CoreListItemSelectionDialog(settings,coreListItems)
{this.ModalDialog();this.m_settings=settings;this.m_coreListItems=coreListItems;}
copyPrototype(CoreListItemSelectionDialog,ModalDialog);CoreListItemSelectionDialog.prototype.showDialog=function(callback)
{var dialogLayout=new TableLayout();dialogLayout.setBackgroundColor("#F8F8F8");var lbl=new Label(getResource1(CORE_LIST_EDITOR_SELECT_DIALOG_2,this.m_settings.m_listItemsName));lbl.setPadding(3,0,3,0);lbl.setBorder(0,0,0,1,"solid","#BDBDBD");dialogLayout.addRow("25");dialogLayout.addCell(0,lbl,TABLE_LAYOUT_REMAINDER);var options=new Array();for(var i=0;i<this.m_coreListItems.length;i++)
{options.push(this.m_coreListItems[i].getName());}
this.m_radioSet=new RadioButtonSet(options);dialogLayout.addRow(TABLE_LAYOUT_REMAINDER);dialogLayout.addCell(dialogLayout.getRowCount()-1,this.m_radioSet,TABLE_LAYOUT_REMAINDER);var dlgArgs=new Array();dlgArgs[0]=getResource1(CORE_LIST_EDITOR_SELECT_DIALOG_1,this.m_settings.m_listItemName);dlgArgs[1]=dialogLayout;dlgArgs[2]=500;dlgArgs[3]=400;dlgArgs[4]=callback;ModalDialog.prototype.showDialog.apply(this,dlgArgs);this.m_okBtn.disable();}
CoreListItemSelectionDialog.prototype.onPanelChange=function(objPanel)
{ModalDialog.prototype.onPanelChange.apply(this,arguments);this.m_okBtn.enable();}
CoreListItemSelectionDialog.prototype.getSelectedCoreListItemInstanceId=function()
{var index=this.m_radioSet.getSelected()
return this.m_coreListItems[index].getInstanceId();}
function CoreTreeItem(instance,parentFieldId,orderFieldId)
{this.CoreInstanceObject(instance);this.m_parentFieldId=parentFieldId;this.m_orderFieldId=orderFieldId;}
copyPrototype(CoreTreeItem,CoreInstanceObject);CoreTreeItem.prototype.getName=function()
{return this.m_instance.getInstanceDisplayValue(" ");}
CoreTreeItem.prototype.getParentCoreTreeItemInstanceId=function()
{return this.m_instance.getInt_Value(this.m_parentFieldId);}
CoreTreeItem.prototype.getOrder=function()
{return this.m_instance.getInt_Value(this.m_orderFieldId);}
CoreTreeItem.prototype.setOrder=function(order)
{return this.m_instance.setInt_Value(this.m_orderFieldId,order);}
function CoreTreeEditorSettings()
{this.m_newIcon=null;this.m_editIcon=null;this.m_deleteIcon=null;this.m_searchIcon=null;this.m_moveDownIcon=null;this.m_moveUpIcon=null;this.m_moveParentIcon=null;this.m_refreshIcon=null;this.m_itemIcon=null;this.m_action=null;this.m_maxDepth=null;this.m_listItemName="List Item";this.m_listItemsName="List Items";}
function CoreTreeEditor(settings,windowManager)
{this.TableLayout();this.m_debugName="CoreTreeEditor";this.m_windowManager=windowManager;this.m_settings=settings;this.m_defaultBtn=null;this.m_windowType=++WINDOW_UNIQUE_TYPE;}
copyPrototype(CoreTreeEditor,TableLayout);CoreTreeEditor.prototype.onCreate=function()
{this.createLayout();TableLayout.prototype.onCreate.apply(this,arguments);this.listCoreTreeItems();this.m_windowManager.addListener(this);}
CoreTreeEditor.prototype.destroy=function()
{TableLayout.prototype.destroy.apply(this,arguments);this.m_windowManager.removeListener(this);}
CoreTreeEditor.prototype.createLayout=function()
{this.createToolbar();this.addRow(TABLE_LAYOUT_AUTO);this.addCell(this.getRowCount()-1,this.m_toolbar,TABLE_LAYOUT_REMAINDER);this.m_treeData=new CoreInstanceObjectTreeData(new Array());this.m_treeData.m_expandIcon=this.m_settings.m_itemIcon;this.m_treeData.m_collapseIcon=this.m_settings.m_itemIcon;this.m_tree=new Tree(this.m_treeData);this.m_tree.addListener(this);this.addRow(TABLE_LAYOUT_REMAINDER);this.addCell(this.getRowCount()-1,this.m_tree,TABLE_LAYOUT_REMAINDER);}
CoreTreeEditor.prototype.createToolbar=function()
{this.m_toolbar=new Toolbar();this.m_toolbar.addListener(this);this.m_newBtn=null;this.m_editBtn=null;this.m_historyBtn=null;this.m_deleteBtn=null;this.m_searchBtn=null;if(this.m_settings.m_newIcon!=null)
{this.m_newBtn=this.m_toolbar.addIconButton(this.m_settings.m_newIcon,getResource1(CORE_TREE_EDITOR_CREATE,this.m_settings.m_listItemName));}
if(this.m_settings.m_editIcon!=null)
{this.m_editBtn=this.m_toolbar.addIconButton(this.m_settings.m_editIcon,getResource1(CORE_TREE_EDITOR_EDIT,this.m_settings.m_listItemName));this.m_toolbar.disableButton(this.m_editBtn);if(this.m_defaultBtn==null)
{this.m_defaultBtn=this.m_editBtn;}}
if(this.m_settings.m_moveParentIcon!=null)
{this.m_moveParentBtn=this.m_toolbar.addIconButton(this.m_settings.m_moveParentIcon,getResource1(CORE_TREE_EDITOR_MOVE_PARENT,this.m_settings.m_listItemName));this.m_toolbar.disableButton(this.m_moveParentBtn);}
if(this.m_settings.m_moveDownIcon!=null)
{this.m_moveDownBtn=this.m_toolbar.addIconButton(this.m_settings.m_moveDownIcon,getResource1(CORE_TREE_EDITOR_MOVE_DOWN,this.m_settings.m_listItemName));this.m_toolbar.disableButton(this.m_moveDownBtn);}
if(this.m_settings.m_moveUpIcon!=null)
{this.m_moveUpBtn=this.m_toolbar.addIconButton(this.m_settings.m_moveUpIcon,getResource1(CORE_TREE_EDITOR_MOVE_UP,this.m_settings.m_listItemName));this.m_toolbar.disableButton(this.m_moveUpBtn);}
if(this.m_settings.m_deleteIcon!=null)
{this.m_deleteBtn=this.m_toolbar.addIconButton(this.m_settings.m_deleteIcon,getResource1(CORE_TREE_EDITOR_DELETE,this.m_settings.m_listItemName));this.m_toolbar.disableButton(this.m_deleteBtn);}
if(this.m_settings.m_searchIcon!=null)
{this.m_searchBtn=this.m_toolbar.addIconButton(this.m_settings.m_searchIcon,getResource1(CORE_TREE_EDITOR_SEARCH,this.m_settings.m_listItemsName));}
if(this.m_settings.m_refreshIcon!=null)
{this.m_refreshBtn=this.m_toolbar.addIconButtonRight(this.m_settings.m_refreshIcon,getResource1(CORE_TREE_EDITOR_REFRESH,this.m_settings.m_listItemsName));}}
CoreTreeEditor.prototype.onToolbarButtonClick=function(objBtn)
{if(objBtn==this.m_newBtn)
{this.onNewCoreTreeItem();}
else if(objBtn==this.m_editBtn)
{this.onEditCoreTreeItem();}
else if(objBtn==this.m_deleteBtn)
{this.onDeleteCoreTreeItem();}
else if(objBtn==this.m_moveParentBtn)
{this.onMoveParentCoreTreeItem();}
else if(objBtn==this.m_moveDownBtn)
{this.onMoveDownCoreTreeItem();}
else if(objBtn==this.m_moveUpBtn)
{this.onMoveUpCoreTreeItem();}
else if(objBtn==this.m_refreshBtn)
{this.onRefresh();}}
CoreTreeEditor.prototype.getListCoreTreeItemsRequest=function()
{var request=this.getAjaxRequest();request.addParam("action","listCoreTreeItems");return request;}
CoreTreeEditor.prototype.listCoreTreeItems=function()
{var request=this.getListCoreTreeItemsRequest();request.postRequest(this.onListCoreTreeItems_Response.bind(this));}
CoreTreeEditor.prototype.onListCoreTreeItems_Response=function(response)
{eval(response.getJavaScript());this.m_treeData.setCoreTreeItems(coreTreeItems);this.m_tree.refresh();}
CoreTreeEditor.prototype.onTreeSelectionChange=function(objTree)
{var objNode=this.m_tree.getSelectedNode();if(objNode!=null)
{if(this.m_settings.m_maxDepth!=null&&this.m_newBtn!=null)
{var nodeDepth=this.m_treeData.getNodeDepth(objNode);if(nodeDepth<this.m_settings.m_maxDepth)
{this.m_toolbar.enableButton(this.m_newBtn);}
else
{this.m_toolbar.disableButton(this.m_newBtn);}}
if(this.m_editBtn!=null)
{this.m_toolbar.enableButton(this.m_editBtn);}
if(this.m_deleteBtn!=null)
{this.m_toolbar.enableButton(this.m_deleteBtn);}
if(this.m_moveDownBtn!=null)
{this.m_toolbar.enableButton(this.m_moveParentBtn);}
if(this.m_moveDownBtn!=null)
{if(objNode.getNextSibling()!=null)
{this.m_toolbar.enableButton(this.m_moveDownBtn);}
else
{this.m_toolbar.disableButton(this.m_moveDownBtn);}}
if(this.m_moveUpBtn!=null)
{if(objNode.getPreviousSibling()!=null)
{this.m_toolbar.enableButton(this.m_moveUpBtn);}
else
{this.m_toolbar.disableButton(this.m_moveUpBtn);}}}
else
{if(this.m_newBtn!=null)
{this.m_toolbar.enableButton(this.m_newBtn);}
if(this.m_editBtn!=null)
{this.m_toolbar.disableButton(this.m_editBtn);}
if(this.m_deleteBtn!=null)
{this.m_toolbar.disableButton(this.m_deleteBtn);}
if(this.m_moveDownBtn!=null)
{this.m_toolbar.disableButton(this.m_moveDownBtn);}
if(this.m_moveUpBtn!=null)
{this.m_toolbar.disableButton(this.m_moveUpBtn);}}}
CoreTreeEditor.prototype.onTreeNodeDoubleClick=function(objTree)
{if(this.m_defaultBtn!=null)
{this.onToolbarButtonClick(this.m_defaultBtn);}}
CoreTreeEditor.prototype.updateCoreTreeItem=function(coreTreeItem)
{if(this.m_treeData.getCoreTreeItemNode(coreTreeItem)==null)
{this.m_treeData.onCoreTreeItemInserted(coreTreeItem);}
else
{this.m_treeData.onCoreTreeItemUpdated(coreTreeItem);}}
CoreTreeEditor.prototype.getCoreTreeItemWindow=function(coreTreeItem,parentCoreTreeItemInstanceId)
{var objWin=new CoreTreeEditorWindow(this,coreTreeItem,parentCoreTreeItemInstanceId);objWin.setType(this.m_windowType);return objWin;}
CoreTreeEditor.prototype.onNewCoreTreeItem=function()
{var parentCoreTreeItemInstanceId=null;var objNode=this.m_tree.getSelectedNode();if(objNode!=null)
{parentCoreTreeItemInstanceId=objNode.CORE_TREE_ITEM.getInstanceId();}
var objWin=this.getCoreTreeItemWindow(null,parentCoreTreeItemInstanceId);this.m_windowManager.addWindow(objWin);}
CoreTreeEditor.prototype.onEditCoreTreeItem=function()
{var objNode=this.m_tree.getSelectedNode();var coreTreeItem=objNode.CORE_TREE_ITEM;var objWin=this.m_windowManager.getCoreObjectWindow(this.m_windowType,coreTreeItem.getId());if(objWin!=null)
{this.m_windowManager.setActiveWindow(objWin);return;}
var objWin=this.getCoreTreeItemWindow(coreTreeItem,null);this.m_windowManager.addWindow(objWin);}
CoreTreeEditor.prototype.onDeleteCoreTreeItem=function()
{var deleteDialog=deleteDialogMsg(getResource1(CORE_TREE_EDITOR_DELETE_CONF,this.m_settings.m_listItemName),this.onDeleteCoreTreeItemDialog_Closed.bind(this));}
CoreTreeEditor.prototype.onDeleteCoreTreeItemDialog_Closed=function(cancelled)
{if(cancelled)
{return;}
var objNode=this.m_tree.getSelectedNode();var coreTreeItem=objNode.CORE_TREE_ITEM;var request=this.getAjaxRequest();request.addParam("action","deleteCoreTreeItem");request.addParam("coreTreeItemInstanceId",coreTreeItem.getId());request.postRequest(this.onDeleteCoreTreeItem_Response.bind(this));}
CoreTreeEditor.prototype.onDeleteCoreTreeItem_Response=function(response)
{eval(response.getJavaScript());var objNode=this.m_tree.getSelectedNode();var coreTreeItem=objNode.CORE_TREE_ITEM;this.m_treeData.updateCoreTreeItems(coreTreeItems);this.m_treeData.onCoreTreeItemDeleted(coreTreeItem);var winIndex=this.m_windowManager.getCoreObjectWindowIndex(this.m_windowType,coreTreeItem.getId());if(winIndex>-1)
{this.m_windowManager.removeWindow(winIndex,false);}}
CoreTreeEditor.prototype.onMoveDownCoreTreeItem=function()
{this.m_objNode1=this.m_tree.getSelectedNode();var coreTreeItem1=this.m_objNode1.CORE_TREE_ITEM;this.m_objNode2=this.m_objNode1.getNextSibling();var coreTreeItem2=this.m_objNode2.CORE_TREE_ITEM;var request=this.getAjaxRequest();request.addParam("action","moveCoreTreeItems");request.addParam("coreTreeItemInstanceId",coreTreeItem1.getInstanceId());request.addParam("coreTreeItemInstanceId2",coreTreeItem2.getInstanceId());coreTreeItem1.getInstance().populateRequest(request);coreTreeItem2.getInstance().populateRequest(request);request.postRequest(this.onMoveNodes_Response.bind(this));}
CoreTreeEditor.prototype.onMoveUpCoreTreeItem=function()
{this.m_objNode1=this.m_tree.getSelectedNode();var coreTreeItem1=this.m_objNode1.CORE_TREE_ITEM;this.m_objNode2=this.m_objNode1.getPreviousSibling();var coreTreeItem2=this.m_objNode2.CORE_TREE_ITEM;var request=this.getAjaxRequest();request.addParam("action","moveCoreTreeItems");request.addParam("coreTreeItemInstanceId",coreTreeItem1.getInstanceId());request.addParam("coreTreeItemInstanceId2",coreTreeItem2.getInstanceId());coreTreeItem1.getInstance().populateRequest(request);coreTreeItem2.getInstance().populateRequest(request);request.postRequest(this.onMoveNodes_Response.bind(this));}
CoreTreeEditor.prototype.onMoveNodes_Response=function(response)
{eval(response.getJavaScript());this.m_treeData.updateCoreTreeItems(coreTreeItems);var index1=this.m_objNode1.getIndexInParent();var index2=this.m_objNode2.getIndexInParent();if(index1<index2)
{this.m_tree.removeNode(this.m_objNode2);this.m_tree.insertNode(this.m_objNode2.getParentNode(),this.m_objNode2,index1);}
else
{this.m_tree.removeNode(this.m_objNode1);this.m_tree.insertNode(this.m_objNode1.getParentNode(),this.m_objNode1,index2);}
if(this.m_objNode1.getSelected())
{this.m_tree.selectNode(this.m_objNode1);}
if(this.m_objNode2.getSelected())
{this.m_tree.selectNode(this.m_objNode2);}}
CoreTreeEditor.prototype.onMoveParentCoreTreeItem=function()
{var treeNode=this.m_tree.getSelectedNode();var coreTreeItem=treeNode.CORE_TREE_ITEM;this.m_moveParentDlg=new CoreTreeEditorMoveDialog(this.m_settings,this.m_treeData.m_coreTreeItems,coreTreeItem.getInstanceId());this.m_moveParentDlg.showDialog(this.onMoveParentCoreTreeItem_Closed.bind(this));}
CoreTreeEditor.prototype.onMoveParentCoreTreeItem_Closed=function(cancelled)
{if(cancelled)
{this.m_moveParentDlg.deletePanel();this.m_moveParentDlg=null;return;}
var treeNode=this.m_tree.getSelectedNode();var coreTreeItem=treeNode.CORE_TREE_ITEM;this.m_coreTreeItemParent=this.m_moveParentDlg.getSelectedCoreTreeItem();var request=this.getAjaxRequest();request.addParam("action","moveCoreTreeItemParent");request.addParam("coreTreeItemInstanceId",coreTreeItem.getInstanceId());if(this.m_coreTreeItemParent!=null)
{request.addParam("parentCoreTreeItemInstanceId",this.m_coreTreeItemParent.getInstanceId());}
else
{request.addParam("parentCoreTreeItemInstanceId","0");}
request.postRequest(this.onMoveParentCoreTreeItem_Response.bind(this));this.m_moveParentDlg.deletePanel();this.m_moveParentDlg=null;}
CoreTreeEditor.prototype.onMoveParentCoreTreeItem_Response=function(response)
{eval(response.getJavaScript());var treeNode=this.m_tree.getSelectedNode();var coreTreeItem=treeNode.CORE_TREE_ITEM;this.m_treeData.updateCoreTreeItems(coreTreeItems);this.m_tree.refresh();if(this.m_coreTreeItemParent!=null)
{var parentNode=this.m_tree.expandNode(this.m_treeData.getCoreTreeItemNodeById(this.m_coreTreeItemParent.getInstanceId()));this.m_coreTreeItemParent=null;}
this.m_tree.selectNode(this.m_treeData.getCoreTreeItemNodeById(coreTreeItem.getInstanceId()),true);}
CoreTreeEditor.prototype.onRefresh=function()
{this.listCoreTreeItems();this.m_tree.clearSelection();}
CoreTreeEditor.prototype.onWindowActivate=function()
{var objWin=this.m_windowManager.getActiveWindow();if(objWin==null||!objWin.getCoreObject||objWin.getCoreObject()==null)
{return;}
if(objWin.getType()!=this.m_windowType)
{return;}
var objNode=this.m_treeData.getCoreTreeItemNode(objWin.getCoreObject());this.m_tree.selectNode(objNode);}
CoreTreeEditor.prototype.getAjaxRequest=function()
{var request=new AjaxRequest(APP_URL+"/"+this.m_settings.m_action);return request;}
var WINDOW_TYPE_CORE_TREE_EDITOR=++WINDOW_UNIQUE_TYPE;function CoreTreeEditorWindow(coreTreeItemEditor,coreTreeItem,parentCoreTreeItemInstanceId)
{this.m_coreTreeItemEditor=coreTreeItemEditor;this.m_coreTreeItem=coreTreeItem;this.m_parentCoreTreeItemInstanceId=parentCoreTreeItemInstanceId;var windowCaption="";if(this.m_coreTreeItem!=null)
{windowCaption=this.m_coreTreeItem.getInstance().getInstanceDisplayValue(" ");}
this.CoreObjectWindow(windowCaption,null,WINDOW_TYPE_CORE_LIST_EDITOR);this.setCoreObject(this.m_coreTreeItem);}
copyPrototype(CoreTreeEditorWindow,CoreObjectWindow);CoreTreeEditorWindow.prototype.getNewCoreTreeItemRequest=function()
{var request=this.m_coreTreeItemEditor.getAjaxRequest();request.addParam("action","newCoreTreeItem");if(this.m_parentCoreTreeItemInstanceId!=null)
{request.addParam("parentCoreTreeItemInstanceId",this.m_parentCoreTreeItemInstanceId);}
return request;}
CoreTreeEditorWindow.prototype.loadWindow=function()
{CoreObjectWindow.prototype.loadWindow.apply(this,arguments);if(this.m_coreTreeItem==null)
{var request=this.getNewCoreTreeItemRequest();request.postRequest(this.onLoadCoreTreeItem_Response.bind(this));}
else
{var request=this.m_coreTreeItemEditor.getAjaxRequest();request.addParam("action","editCoreTreeItem");request.addParam("coreTreeItemInstanceId",this.m_coreTreeItem.getId());request.postRequest(this.onLoadCoreTreeItem_Response.bind(this));}}
CoreTreeEditorWindow.prototype.createCoreTreeEditorWindowLayout=function()
{var layout=new TableLayout();this.m_pathFieldLbl=new DocumentFieldLabel(getResource(CORE_TREE_EDITOR_TREE_PATH),"",true);this.m_pathFieldLbl.setPadding(8,2,4,2);this.m_treePathLbl=new Label("");this.m_treePathLbl.setPadding(0,0,4,0);this.updateTreePath();layout.addRow("20");layout.addCell(layout.getRowCount()-1,this.m_pathFieldLbl,Math.round(this.m_pathFieldLbl.getCaption().length*7.8));layout.addCell(layout.getRowCount()-1,this.m_treePathLbl,TABLE_LAYOUT_REMAINDER);this.m_coreTreeItemInstCtrl=new InstanceControl(this.m_coreTreeItem.getInstance());layout.addRow(TABLE_LAYOUT_REMAINDER);layout.addCell(layout.getRowCount()-1,this.m_coreTreeItemInstCtrl,TABLE_LAYOUT_REMAINDER);this.m_pageInfoScrollPanel=new ScrollPanel();this.m_pageInfoScrollPanel.setPanel(layout);return this.m_pageInfoScrollPanel;}
CoreTreeEditorWindow.prototype.onLoadCoreTreeItem_Response=function(response)
{eval(response.getJavaScript());this.m_coreTreeItem=coreTreeItem;var windowLayout=this.createCoreTreeEditorWindowLayout();this.m_coreTreeItemInstCtrl.useScrollPanel(false);this.m_coreTreeItemInstCtrl.createLayout(MODE_INSTANCE);this.m_coreTreeItemInstCtrl.setPadding(2,2,2,2);this.addRow(TABLE_LAYOUT_REMAINDER);this.addCell(0,windowLayout,TABLE_LAYOUT_REMAINDER);this.setCoreObject(this.m_coreTreeItem);this.onLoaded(false);this.m_caption=this.m_coreTreeItem.getInstance().getInstanceDisplayValue(" ");this.m_tooltip=this.m_caption
this.m_windowManager.updateWindowCaption(this);if(!this.m_coreTreeItem.isNewInstance())
{this.m_coreTreeItemEditor.updateCoreTreeItem(this.m_coreTreeItem);}}
CoreTreeEditorWindow.prototype.getCoreTreeItem=function(htmlDiv)
{return this.m_coreTreeItem;}
CoreTreeEditorWindow.prototype.getUpdateCoreTreeItemRequest=function()
{this.m_coreTreeItemInstCtrl.updateInstance();var request=this.m_coreTreeItemEditor.getAjaxRequest();request.addParam("action","updateCoreTreeItem");request.addParam("coreTreeItemInstanceId",this.m_coreTreeItem.getId());this.m_coreTreeItem.getInstance().populateRequest(request);return request;}
CoreTreeEditorWindow.prototype.saveWindow=function()
{var request=this.getUpdateCoreTreeItemRequest();request.postRequest(this.onSaveCoreTreeItem_Response.bind(this));}
CoreTreeEditorWindow.prototype.updateCoreTreeEditorWindowLayout=function()
{this.m_coreTreeItemInstCtrl.setInstance(this.m_coreTreeItem.getInstance());this.updateTreePath();}
CoreTreeEditorWindow.prototype.onSaveCoreTreeItem_Response=function(response)
{eval(response.getJavaScript());this.m_coreTreeItem=coreTreeItem;this.updateCoreTreeEditorWindowLayout();this.setCoreObject(this.m_coreTreeItem);this.m_caption=this.m_coreTreeItem.getInstance().getInstanceDisplayValue(" ");this.m_tooltip=this.m_caption
this.m_windowManager.updateWindowCaption(this);this.onSaved();this.m_coreTreeItemEditor.updateCoreTreeItem(this.m_coreTreeItem);}
CoreTreeEditorWindow.prototype.canRefresh=function()
{if(this.m_coreTreeItem==null||this.m_coreTreeItem.isNewInstance())
{return false;}
return true;}
CoreTreeEditorWindow.prototype.updateTreePath=function()
{var treePath="";var curTreeItem=this.m_coreTreeItem;while(curTreeItem.getParentCoreTreeItemInstanceId()!="0")
{curTreeItem=this.m_coreTreeItemEditor.m_treeData.getCoreTreeItem(curTreeItem.getParentCoreTreeItemInstanceId());treePath="/"+curTreeItem.getName()+treePath;}
treePath+="/"+this.m_coreTreeItem.getName();this.m_treePathLbl.setCaption(treePath);}
function CoreInstanceObjectTreeData(coreTreeItems)
{this.TreeData();this.setCoreTreeItems(coreTreeItems);this.m_rootNode=new TreeNode("Root");this.m_rootNode.setExpanded();this.m_rootNode.CORE_TREE_ITEM=null;this.m_expandIcon=APP_URL+"/images/core/ui/tree/item.png";this.m_collapseIcon=APP_URL+"/images/core/ui/tree/item.png";this.m_showRootNode=false;}
copyPrototype(CoreInstanceObjectTreeData,TreeData);CoreInstanceObjectTreeData.prototype.getShowRootNode=function()
{return this.m_showRootNode;}
CoreInstanceObjectTreeData.prototype.setCoreTreeItems=function(coreTreeItems)
{this.m_coreTreeItems=coreTreeItems;this.m_coreTreeItemsMap=new HashMap();if(this.m_coreTreeItems.length>0&&(this.m_coreTreeItems[0].getParentCoreTreeItemInstanceId==undefined||this.m_coreTreeItems[0].getOrder==undefined))
{throw new Exception("Invalid objects for tree.");}}
CoreInstanceObjectTreeData.prototype.getNodeHierarchy=function()
{this.createChildNodes(this.m_rootNode,"0");return this.m_rootNode;}
CoreInstanceObjectTreeData.prototype.createChildNodes=function(objNode,parentCoreTreeItemInstanceId)
{var childNodes=new Array();var childNode=null;var curCoreTreeItem;for(var i=0;i<this.m_coreTreeItems.length;i++)
{curCoreTreeItem=this.m_coreTreeItems[i];if(curCoreTreeItem.getParentCoreTreeItemInstanceId()==parentCoreTreeItemInstanceId)
{childNode=new TreeNodeIcon(curCoreTreeItem.getName(),this.m_expandIcon,this.m_collapseIcon);childNode.CORE_TREE_ITEM=curCoreTreeItem;childNode.setParentNode(objNode);this.m_coreTreeItemsMap.put(curCoreTreeItem.getInstanceId(),childNode);this.createChildNodes(childNode,curCoreTreeItem.getInstanceId());childNodes.push(childNode);}}
childNodes.sort(this.compareTreeItemOrder.bind(this));objNode.setChildNodes(childNodes);}
CoreInstanceObjectTreeData.prototype.onCoreTreeItemInserted=function(coreTreeItem)
{var parentCoreTreeItemInstanceId=coreTreeItem.getParentCoreTreeItemInstanceId();var parentNode=null;if(parentCoreTreeItemInstanceId=="0")
{parentNode=this.m_rootNode;}
else
{parentNode=this.getCoreTreeItemNodeById(parentCoreTreeItemInstanceId);}
this.m_coreTreeItems.push(coreTreeItem);var objNode=new TreeNodeIcon(coreTreeItem.getName(),this.m_expandIcon,this.m_collapseIcon);objNode.CORE_TREE_ITEM=coreTreeItem;this.m_coreTreeItemsMap.put(coreTreeItem.getInstanceId(),objNode);this.m_tree.insertNode(parentNode,objNode,-1);if(!parentNode.getExpanded())
{this.m_tree.expandNode(parentNode);}
this.m_tree.selectNode(objNode);}
CoreInstanceObjectTreeData.prototype.onCoreTreeItemUpdated=function(coreTreeItem)
{var objNode=this.getCoreTreeItemNode(coreTreeItem);var index=getCoreObjectIndex_Array(this.m_coreTreeItems,coreTreeItem.getInstanceId());this.m_coreTreeItems[index]=coreTreeItem;objNode.setCaption(coreTreeItem.getName());objNode.CORE_TREE_ITEM=coreTreeItem;this.m_tree.updateNode(objNode);}
CoreInstanceObjectTreeData.prototype.updateCoreTreeItems=function(coreTreeItems)
{for(var i=0;i<coreTreeItems.length;i++)
{updateCoreObject_Array(this.m_coreTreeItems,coreTreeItems[i]);var objNode=this.getCoreTreeItemNode(coreTreeItems[i]);objNode.CORE_TREE_ITEM=coreTreeItems[i];}}
CoreInstanceObjectTreeData.prototype.onCoreTreeItemDeleted=function(coreTreeItem)
{var objNode=this.getCoreTreeItemNode(coreTreeItem);this.m_tree.removeNode(objNode);var index=getCoreObjectIndex_Array(this.m_coreTreeItems,coreTreeItem.getInstanceId());this.m_coreTreeItems=removeFromArray(this.m_coreTreeItems,index);this.m_coreTreeItemsMap.remove(coreTreeItem.getInstanceId());}
CoreInstanceObjectTreeData.prototype.getNodeDepth=function(objNode)
{if(objNode.CORE_TREE_ITEM.getParentCoreTreeItemInstanceId()=="0")
{return 1;}
var depth=1;var parentPage=this.getCoreTreeItemParent(objNode.CORE_TREE_ITEM);while(parentPage.getParentCoreTreeItemInstanceId()!="0")
{depth++;parentPage=this.getCoreTreeItemParent(parentPage);}
return depth+1;}
CoreInstanceObjectTreeData.prototype.getCoreTreeItemNode=function(coreTreeItem)
{return this.m_coreTreeItemsMap.get(coreTreeItem.getInstanceId());}
CoreInstanceObjectTreeData.prototype.getCoreTreeItemNodeById=function(coreTreeItemInstanceId)
{return this.m_coreTreeItemsMap.get(coreTreeItemInstanceId);}
CoreInstanceObjectTreeData.prototype.getCoreTreeItem=function(coreTreeItemInstanceId)
{return this.m_coreTreeItemsMap.get(coreTreeItemInstanceId).CORE_TREE_ITEM;}
CoreInstanceObjectTreeData.prototype.getCoreTreeItemParent=function(coreTreeItem)
{var parentPageId=coreTreeItem.getParentCoreTreeItemInstanceId();return this.m_coreTreeItemsMap.get(parentPageId).CORE_TREE_ITEM;}
CoreInstanceObjectTreeData.prototype.compareTreeItemOrder=function(node1,node2)
{var num1=node1.CORE_TREE_ITEM.getOrder();var num2=node2.CORE_TREE_ITEM.getOrder();return num1-num2;}
function CoreTreeEditorMoveDialog(settings,coreTreeItems,treeItemInstanceId)
{this.ModalDialog();this.m_settings=settings;this.m_coreTreeItems=coreTreeItems;this.m_treeItemInstanceId=treeItemInstanceId;this.m_selectedCoreTreeItem=null;}
copyPrototype(CoreTreeEditorMoveDialog,ModalDialog);CoreTreeEditorMoveDialog.prototype.showDialog=function(callback)
{this.m_treeData=new CoreInstanceObjectTreeData(this.m_coreTreeItems);this.m_treeData.m_expandIcon=this.m_settings.m_itemIcon;this.m_treeData.m_collapseIcon=this.m_settings.m_itemIcon;this.m_treeData.m_showRootNode=true;this.m_tree=new Tree(this.m_treeData);this.m_tree.addListener(this);var dlgArgs=new Array();dlgArgs[0]="Select a  "+this.m_settings.m_listItemName;dlgArgs[1]=this.m_tree;dlgArgs[2]=500;dlgArgs[3]=450;dlgArgs[4]=callback;ModalDialog.prototype.showDialog.apply(this,dlgArgs);this.m_okBtn.disable();}
CoreTreeEditorMoveDialog.prototype.onTreeSelectionChange=function(objTree)
{this.m_selectedCoreTreeItem=null;this.m_okBtn.disable();var objNode=this.m_tree.getSelectedNode();if(objNode==null)
{return;}
if(objNode.CORE_TREE_ITEM==null)
{this.m_okBtn.enable();return;}
var coreTreeItem=objNode.CORE_TREE_ITEM;do
{var treeItemInstanceId=coreTreeItem.getInstanceId();if(treeItemInstanceId==this.m_treeItemInstanceId)
{return;}
var parentTreeNodeInstanceId=coreTreeItem.getParentCoreTreeItemInstanceId();if(parentTreeNodeInstanceId!=null&&parentTreeNodeInstanceId!="0")
{var parentNode=this.m_treeData.getCoreTreeItemNodeById(parentTreeNodeInstanceId);coreTreeItem=parentNode.CORE_TREE_ITEM;}
else
{coreTreeItem=null;}}
while(coreTreeItem!=null);this.m_okBtn.enable();}
CoreTreeEditorMoveDialog.prototype.onOkClick=function()
{var objNode=this.m_tree.getSelectedNode();this.m_selectedCoreTreeItem=objNode.CORE_TREE_ITEM;return true;}
CoreTreeEditorMoveDialog.prototype.getSelectedCoreTreeItem=function()
{return this.m_selectedCoreTreeItem;}
