
Ext.ns("PP");PP.Admin=function(config){Ext.apply(this,config);PP.Admin.superclass.constructor.call(this);this.init();}
Ext.extend(PP.Admin,Ext.util.Observable,{controller:null,config:null,init:function(){this.config=this.controller.getConfiguration();},showOrderManager:function(orderId,subOrderId){var assetFieldGroups=this.config.getAssetFieldGroups();var orderManager=new PP.communication.OrderManagerWindow({width:920,minWidth:400,height:600,minHeight:400,constrain:true,constrainHeader:true,stateId:"orderManagerState",stateful:true,orderId:orderId,suborderId:subOrderId,controller:this.controller,assetFieldGroup:assetFieldGroups.getAt(assetFieldGroups.findBy(function(r){if(r.get("Type")=="OrderListView")
return true;})),assetFieldStore:this.config.getAssetFields(),imageFormats:this.config.getImageFormats()});orderManager.show();orderManager.on("putinbasket",function(orderManager,assets){this.controller.basket.addToBasket(assets);},this);orderManager.on("dblclickasset",function(grid,rowIndex,e){var basketAssetPreview=new PP.asset.PreviewWindow({controller:this.controller});var item=grid.store.getAt(rowIndex);basketAssetPreview.show(rowIndex,grid.store,1);},this);},showRecipientManagementWindow:function(){var recipientManagementWindow=new PP.configuration.RecipientManagementWindow({controller:this.controller,width:920,minWidth:400,height:600,minHeight:400,constrain:true,constrainHeader:true});recipientManagementWindow.show();},showUserManager:function(category){var userManager=new PP.user.ManagerWindow(this.controller);userManager.show(category);},showUserGroupManager:function(category){var userGroupManager=new PP.usergroup.ManagerWindow({controller:this.controller,width:960,height:560});userGroupManager.show();},showMailingManager:function(){var assetFieldGroups=controller.getConfiguration().getAssetFieldGroups();var mailingManager=new PP.communication.MailingManagerWindow({controller:this.controller,width:920,minWidth:400,height:600,minHeight:400,constrain:true,constrainHeader:true,stateId:"mailingManagerState",stateful:true,assetFieldGroup:assetFieldGroups.getAt(assetFieldGroups.findBy(function(r){if(r.get("Type")=="MailingListView")
return true;})),assetFieldStore:this.controller.getConfiguration().getAssetFields(),imageFormats:this.controller.getConfiguration().getImageFormats()});mailingManager.show();mailingManager.on("putinbasket",function(mailingManager,assets){this.controller.basket.addToBasket(assets);},this);mailingManager.on("dblclickasset",function(grid,rowIndex,e){var basketAssetPreview=new PP.asset.PreviewWindow({controller:this.controller});var item=grid.store.getAt(rowIndex);basketAssetPreview.show(rowIndex,grid.store);},this);}});

AssetBrowser=function(controller){var configuration=controller.getConfiguration();var currentAssetPreview;var browserGridPanel;var multiSearchPanel;var currentCategoryId;var searchPanel;var assetTaskbar;var browserTabPanel;var basketGridPanel;var assetInfoPanel;var browserUserInfoToolbar;var categoryTreePanel;var tokenDelimiter=':';var oExportManager;var area;var searchTabs;var sortOrderChangeEnabled=false;this.showAsset=function(rowIndex,e,tab){currentAssetPreview=new PP.asset.PreviewWindow({controller:controller,showTab:tab?tab:'overview'});currentAssetPreview.show(rowIndex,controller.getAssetStore(),e.target);}
this.loadAssets=function(categoryId,includeSubcategories,node,params){switch(node.attributes.Type){case"Category":if(searchPanel.autoResetSearch()){if(!searchPanel.firstSearchResult){controller.getAssetStore().searchString='';controller.getAssetStore().extendedParams=new Array();searchPanel.resetSearch();}
else
searchPanel.firstSearchResult=false;}
controller.getAssetStore().loadCategory(categoryId,[node],params);currentCategoryId=categoryId;Ext.History.add(area.id+tokenDelimiter+categoryId);break;case"AssetCollection":controller.getAssetStore().searchString='';searchPanel.resetSearch();currentCategoryId=categoryId;var assetIds=[];Ext.each(node.attributes.AssetCollection.Assets,function(asset){assetIds.push(asset.AssetId);},this);controller.getAssetStore().loadByAssetIds(assetIds,[node]);break;case"AssetFilter":var assetSearch=node.attributes.AssetSearch;controller.getAssetStore().searchString='';searchPanel.resetSearch();if(assetSearch.SearchString&&assetSearch.SearchString.length)
searchPanel.setSearch(assetSearch.SearchString);currentCategoryId=categoryId;controller.getAssetStore().loadByAssetSearch(assetSearch,node);break;}}
this.changeTab=function(tab){if(categoryTreePanel.rendered){area=tab.pictureparkTab;if(area.id==0)
return false;categoryTreePanel.changeArea(area.get("Area"),area);var viewMode='';switch(area.get("DisplayMode")){case'List':viewMode='grid';break;case'ThumbsSmall1':viewMode='small';break;case'ThumbsLarge':viewMode='medium';break;default:viewMode='small';}
browserGridPanel.setSettings({areaId:area.get("Area"),categoryId:0,includeSubcategories:area.get("IncludeSubcategories"),uploadButton:area.get("Area"),defaultSort:[area.get("SortOrder"),area.get("AscDesc")],viewMode:viewMode});if(multiSearchPanel&&multiSearchPanel.rendered){multiSearchPanel.changeTab();}}}
this.changeTabById=function(area,forceReload){browserTabPanel.changeArea(area,forceReload);}
this.reload=function(){document.location.replace("Default.aspx");}
this.login=function(){document.location.replace("Default.aspx?login=true");}
this.logout=function(){document.location.replace(controller.getLogoutUrl());}
this.render=function(){Ext.History.init();Ext.History.on('change',function(token){if(token){var parts=token.split(tokenDelimiter);var areaId=parts[0];var categoryId=parts[1];if(categoryId!=currentCategoryId||areaId!=area.id){categoryTreePanel.open=categoryId;if(areaId!=area.id)
this.changeTabById(areaId)
else
categoryTreePanel.all.reload();}}else{}},this);assetInfoPanel=new PP.browser.AssetInfoPanel({autoScroll:true,controller:controller,region:'north',border:false,collapsible:true,split:true,height:280});browserTabPanel=new PP.browser.TabPanel({areas:this.getConfiguration().getTabs(),areaRights:this.getConfiguration().getAreaRights(),standardRights:this.getConfiguration().getStandardRights(),showBrowserTabs:true,frameHeight:this.getConfiguration().getCustomerSettings().FrameHeight,resizeTabs:false,defaultArea:controller.url.Area,height:27,region:'center',minTabWidth:20,border:false,tabWidth:150});browserTabPanel.on("changearea",this.changeTab,this);basketGridPanel=new PP.browser.BasketGridPanel({title:Locale.AssetBrowser.Basket,region:'center',border:false,controller:controller,showToolbar:true,showContextMenu:true,showToolbarDownload:true,showToolbarMailing:true,showToolbarOrder:true,showToolbarReport:true,showToolbarEdit:true,showToolbarClear:true,showToolbarMyAssets:controller.hasRight("myAssets")});basketGridPanel.getSelectionModel().on("rowselect",function(selModel,rowIndex,record){assetInfoPanel.preview(record,rowIndex,selModel.grid.store);},this);basketGridPanel.on("rowdblclick",function(grid,rowIndex,e){currentAssetPreview=new PP.asset.PreviewWindow({controller:controller});currentAssetPreview.show(rowIndex,grid.getStore(),null);},this);controller.registerBasket(basketGridPanel);categoryTreePanel=new PP.category.TreePanel({controller:controller,open:controller.url.CategoryId?controller.url.CategoryId:0,showToolbar:true,showContextMenu:true,showEdit:true,showLayers:true,showSearch:true,showNowhereAssigned:controller.getConfiguration().getUserSettings().IsAdmin,showReport:controller.hasRight('viewAssetStatistics'),showMyAssets:controller.hasRight('myAssets'),showReorderAssets:controller.getConfiguration().getFeatures().EnableAssetSortOrder,autoScroll:true,region:'center',border:false,animate:true,enableDD:true,ddScroll:true,ddGroup:'assetsDD',containerScroll:true,rootVisible:false,stripeRows:true,trackMouseOver:true});categoryTreePanel.on("change",this.loadAssets,this)
categoryTreePanel.on("reorderassets",function(categoryId,includeSubcategories,node){function removeFolders(store,records){Ext.each(records,function(record){if(record.get("AssetType")=="category")
store.remove(record);},this);};sortOrderChangeEnabled=true;var previousInclude=controller.getAssetStore().includeSubcategories;controller.getAssetStore().includeSubcategories=false;var spot=new Ext.ux.Spotlight({animate:false});spot.show(browserGridPanel.getGridEl());var ddrow=new Ext.ux.dd.GridReorderDropTarget(browserGridPanel,{copy:false,listeners:{beforerowmove:function(objThis,oldIndex,newIndex,records){if(sortOrderChangeEnabled){}
else
return false;},afterrowmove:function(objThis,oldIndex,newIndex,records){var store=objThis.getGrid().getStore();for(var i=0;i<store.getCount();i++)
{var sortOrder=null;if(i==0)
sortOrder=store.getAt(i).get("SortOrder");else{sortOrder=store.getAt(i-1).get("SortOrder");if(sortOrder!=null)
sortOrder=parseInt(sortOrder)+1;else
sortOrder=1;}
if(sortOrder==null)
sortOrder=1;store.getAt(i).set("SortOrder",sortOrder);}},beforerowcopy:function(objThis,oldIndex,newIndex,records){return false;},afterrowcopy:function(objThis,oldIndex,newIndex,records){},scope:scope}});Ext.dd.ScrollManager.register(browserGridPanel.getView().getEditorParent());var tb2=new Ext.Toolbar({renderTo:browserGridPanel.tbar,items:[{iconCls:'t-sprite x-toolbar-save',text:Locale.AssetBrowser.Save,scope:this,handler:function(){var assets=PP.common.Data.getData(controller.getAssetStore().getRange());var assets2Submit=[];Ext.each(assets,function(asset){assets2Submit.push({AssetId:asset.AssetId,Fields:[{Key:'SortOrder',Value:asset.SortOrder}]});},this);Ext.Ajax.request({url:'../Webservice/CategoryService.svc/UpdateAssetSortOrder',params:{categoryId:categoryId,assets:assets2Submit},success:function(){tb2.destroy();browserGridPanel.doLayout();spot.hide();controller.getAssetStore().includeSubcategories=previousInclude;this.loadAssets(categoryId,includeSubcategories,node);sortOrderChangeEnabled=false;ddrow.target.unreg();Ext.dd.ScrollManager.unregister(browserGridPanel.getView().getEditorParent());controller.getAssetStore().un("load",removeFolders,this);},scope:this});}},'-',{iconCls:'t-sprite x-toolbar-cross',text:Locale.AssetBrowser.Cancel,scope:this,handler:function(){tb2.destroy();browserGridPanel.doLayout();spot.hide();controller.getAssetStore().includeSubcategories=previousInclude;this.loadAssets(categoryId,includeSubcategories,node);sortOrderChangeEnabled=false;ddrow.target.unreg();Ext.dd.ScrollManager.unregister(browserGridPanel.getView().getEditorParent());controller.getAssetStore().un("load",removeFolders,this);}}]});browserGridPanel.doLayout();controller.getAssetStore().includeSubcategories=false;this.loadAssets(categoryId,includeSubcategories,node,{additionalParams:{SortField:"SortOrder",SortDirection:0}});controller.getAssetStore().on("load",removeFolders,this);},this)
categoryTreePanel.on("export",function(categoryId,areaId)
{var assetStore=controller.getAssetStore();oExportManager.exportByCategory(categoryId,areaId,assetStore.showSlides,assetStore.includeSubcategories,assetStore.versionTypeIds);},this);controller.registerTree(categoryTreePanel);multiSearchPanel=new PP.category.MultiSearchPanel({controller:controller,layout:'anchor',border:false});multiSearchPanel.on("close",function(){searchTabs.getLayout().setActiveItem(0);searchPanel.doLayout();searchPanel.resetSearch();},this);browserUserInfoToolbar=new PP.browser.UserInfoToolbar({controller:controller,width:300,border:false,region:'east',cls:'x-userinfo',listeners:{scope:this,reload:this.reload,login:this.login,logout:this.logout,userprofile:function(){var userProfile=new PP.user.ProfileWindow(controller);userProfile.show();},resetimpersonate:this.reload}});var scope=this;browserGridPanel=new PP.browser.BrowserGridPanel({controller:controller,showContextMenu:true,region:'center',border:false,showViewToolbar:true,showAssetToolbar:true,showFilterToolbar:true});browserGridPanel.getSelectionModel().on("rowselect",function(grid,rowIndex,record){assetInfoPanel.preview(record,rowIndex,controller.getAssetStore());},this);browserGridPanel.on("rowdblclick",function(grid,rowIndex,e){this.showAsset(rowIndex,e);},this);browserGridPanel.on("previewclick",function(grid,rowIndex,e){this.showAsset(rowIndex,e,'preview');},this);searchPanel=new PP.browser.SearchPanel({controller:controller,enableAutoComplete:controller.hasRight("myAssets"),showToolbar:true,enableMultiSearchPanel:controller.getConfiguration().getSearchConfig().EnableExtendedCategorySearch,region:'north',layout:'anchor',bodyStyle:'padding: 4px; padding-bottom: 2px;',border:false});searchPanel.on("showcategorylist",function(){searchTabs.getLayout().setActiveItem(1);multiSearchPanel.resizeSearch();},this);assetTaskbar=new PP.browser.Taskbar(controller);controller.registerTaskbar(assetTaskbar);oExportManager=new ExportManager(this);var viewport=new Ext.Viewport({layout:'border',items:[{region:'center',layout:'border',border:false,items:[{region:'center',layout:'border',border:false,id:'parentCenter-div',style:'z-index:0',items:[{region:'north',height:(24+configuration.getCustomerSettings().FrameHeight),border:false,layout:'border',items:[{border:false,region:'center',height:configuration.getCustomerSettings().FrameHeight,html:'<iframe width=100% height='+configuration.getCustomerSettings().FrameHeight+' src="'+configuration.getCustomerSettings().WebsiteUrl+'/cust.html" frameborder=0 scrolling="no" marginwidth="0" marginheight="0"></iframe>'},{region:'south',layout:'border',border:false,height:24,items:[browserTabPanel,{border:false,width:300,bodyStyle:'background-color: transparent;',region:'east',items:browserUserInfoToolbar}]}]},{region:'west',title:Locale.AssetBrowser.Search,border:true,split:true,width:200,cmargins:'2 0 2 3',margins:'2 0 2 3',minSize:100,maxSize:400,collapsible:true,layout:'fit',items:[searchTabs=new Ext.Panel({layout:'card',activeItem:controller.getConfiguration().getSearchConfig().EnableExtendedCategorySearch&&controller.getConfiguration().getSearchConfig().DefaultCategorySearch=="Extended"?1:0,border:false,items:[{border:false,items:[searchPanel,categoryTreePanel],layout:'border'},multiSearchPanel]})]},{region:'east',title:Locale.AssetBrowser.Preview,split:true,width:250,cmargins:'2 2 2 2',margins:'2 2 2 0',border:true,minSize:200,maxSize:400,collapsible:true,layout:'border',items:[assetInfoPanel,basketGridPanel]},{region:'center',layout:'border',cmargins:'2 2 2 2',margins:'2 0 2 0',border:true,items:[browserGridPanel]}]}]},{region:'south',border:false,height:26,html:'<div id="ux-taskbar"><div id="ux-taskbuttons-panel"></div><div class="x-clear"></div></div>'}]});if(browserTabPanel.getActiveTab().pictureparkTab.get("Action")=="browseAssets")
this.changeTab(browserTabPanel.getActiveTab());assetTaskbar.show();var startup=new PP.Startup({controller:controller})}
this.getConfiguration=function(){return configuration;}}
Ext.QuickTips.init();

Ext.ns("PP");PP.Configuration=function(){var assetKeywords,customerSettings,loginSettings,features,userDetails,userSettings,assetFields,standardRights,formatRights,numberOfOrders,userFields,user,assetFieldGroups,areaRights,fieldOnPreviewStore,clientLogins,assetTypes;var imageFormats,imageFormatsWithRights,dynamicImageFormats,dynamicImageFormatsWithRights;var versionTypes;var uiPanelGroups;var tabs,mediaTypes;var systemSettings;var languageMappings,languageVersions,guiLanguages,searchConfig;var aLanguage=new Array();var orderTypes;var customerSettingTranslation;this.addEvents({"loaded":true});this.getClientLogins=function()
{return clientLogins;}
this.getSystemSettings=function()
{return systemSettings;}
this.getCustomerSettingTranslation=function()
{return customerSettingTranslation;}
this.getVersionTypes=function()
{return versionTypes;}
this.getUiPanelGroups=function()
{return uiPanelGroups;}
this.getTabs=function()
{return tabs;}
this.getMediaTypes=function()
{return mediaTypes;}
this.getOrderTypes=function()
{return orderTypes;}
this.getAssetKeywords=function()
{return assetKeywords;}
this.getCustomerSettings=function()
{return customerSettings;}
this.getFeatures=function()
{return features;}
this.getLoginSettings=function()
{return loginSettings;}
this.getUserSettings=function()
{return userSettings;}
this.getUserDetails=function()
{return userDetails;}
this.getAssetFields=function()
{return assetFields;}
this.getAssetFieldGroups=function()
{return assetFieldGroups;}
this.getImageFormats=function()
{return imageFormats;}
this.getImageFormatsWithRights=function()
{return imageFormatsWithRights;}
this.getDynamicImageFormats=function()
{return dynamicImageFormats;}
this.getDynamicImageFormatsWithRights=function()
{return dynamicImageFormatsWithRights;}
this.getStandardRights=function()
{return standardRights;}
this.getFormatRights=function()
{return formatRights;}
this.getNumberOfOrders=function()
{return numberOfOrders;}
this.getLanguageMappings=function()
{return languageMappings;}
this.getLanguageVersions=function()
{return languageVersions;}
this.getGuiLanguages=function()
{return guiLanguages;}
this.getAreaRights=function()
{return areaRights;}
this.getLanguages=function()
{return aLanguage;}
this.getUserLanguage=function()
{return userSettings.LanguageAbbreviation;}
this.getSearchConfig=function()
{return searchConfig;}
this.getAssetTypes=function()
{return assetTypes;}
this.load=function()
{this.fire=true;Ext.Ajax.request({url:'../Webservice/ConfigurationService.svc/GetConfiguration',success:this.init,scope:this});}
this.reload=function()
{this.fire=false;Ext.Ajax.request({url:'../Webservice/ConfigurationService.svc/GetConfiguration',success:this.init,scope:this});}
this.init=function(response){if(response.responseText)
var response=Ext.util.JSON.decode(response.responseText);response.Configuration.ImageFormats.push({Index:0,ShortName:"Original",Name:"Original",ToolTip:"Original",SortOrder:99,IsStaticFormat:true,IsForDownload:true});var staticFormats=[];var dynamicFormats=[];for(var i=0;i<response.Configuration.ImageFormats.length;i++){if(response.Configuration.ImageFormats[i].IsStaticFormat)
staticFormats.push(response.Configuration.ImageFormats[i]);else
dynamicFormats.push(response.Configuration.ImageFormats[i]);}
imageFormats=new Ext.data.Store({proxy:new Ext.data.MemoryProxy(staticFormats),reader:new Ext.data.JsonReader({id:'Index'},[{name:'Name',mapping:'Name'},{name:'ShortName',mapping:'ShortName'},{name:'Index',mapping:'Index'},{name:'IsStaticFormat',mapping:'IsStaticFormat'},{name:'IsForDownload',mapping:'IsForDownload'},{name:'ShowInOverview',mapping:'ShowInOverview'},{name:'Column',mapping:'Column'},{name:'Resolution',mapping:'Resolution'},{name:'PixelWidth',mapping:'PixelWidth'},{name:'PixelHeight',mapping:'PixelHeight'},{name:'ToolTip',mapping:'ToolTip'},{name:'TrackUsagePurpose',mapping:'TrackUsagePurpose'}])});imageFormats.load();dynamicImageFormats=new Ext.data.Store({proxy:new Ext.data.MemoryProxy(dynamicFormats),reader:new Ext.data.JsonReader({id:'Index'},[{name:'Name',mapping:'Name'},{name:'ShortName',mapping:'ShortName'},{name:'Index',mapping:'Index'},{name:'IsStaticFormat',mapping:'IsStaticFormat'},{name:'IsForDownload',mapping:'IsForDownload'},{name:'ShowInOverview',mapping:'ShowInOverview'},{name:'Column',mapping:'Column'},{name:'Resolution',mapping:'Resolution'},{name:'PixelWidth',mapping:'PixelWidth'},{name:'PixelHeight',mapping:'PixelHeight'},{name:'ToolTip',mapping:'ToolTip'},{name:'TrackUsagePurpose',mapping:'TrackUsagePurpose'}])});dynamicImageFormats.load();assetFields=new Ext.data.Store({proxy:new Ext.data.MemoryProxy(response.Configuration),reader:new Ext.data.JsonReader({root:'AssetFields',idProperty:'AssetFieldId',fields:[{name:'AssetFieldId',mapping:'AssetFieldId'},{name:'Fieldname',mapping:'Fieldname'},{name:'ShowInListView',mapping:'ShowInListView'},{name:'ShowInDetailView',mapping:'ShowInDetailView'},{name:'FieldType',mapping:'FieldType'},{name:'ControlType',mapping:'ControlType'},{name:'DefaultValue',mapping:'DefaultValue'},{name:'IsRequired',mapping:'IsRequired'},{name:'IsLanguageSpecific',mapping:'IsLanguageSpecific'},{name:'IsSystemField',mapping:'IsSystemField'},{name:'IsReadOnly',mapping:'IsReadOnly'},{name:'MaxLength',mapping:'MaxLength'},{name:'Caption',mapping:'Translation',convert:function(value){if(value)
return value.Caption
else
return null;}},{name:'ToolTip',mapping:'Translation',convert:function(value){if(value)
return value.Caption
else
return null;}},{name:'Translation',mapping:'Translation'},{name:'Options',mapping:'Options'}]})});assetFields.load();assetFieldGroups=new Ext.data.Store({proxy:new Ext.data.MemoryProxy(response.Configuration),reader:new Ext.data.JsonReader({root:'AssetFieldGroups',id:'AssetFieldGroupId'},[{name:'AssetFieldGroupId',mapping:'AssetFieldGroupId'},{name:'ParentAssetFieldGroupId',mapping:'ParentAssetFieldGroupId'},{name:'Name',mapping:'Name'},{name:'MergeChildren',mapping:'MergeChildren'},{name:'Type',mapping:'Type'},{name:'AssignmentType',mapping:'AssignmentType'},{name:'IsExpanded',mapping:'IsExpanded'},{name:'IsReadOnly',mapping:'IsReadOnly'},{name:'AssetTypeId',mapping:'AssetTypeId'},{name:'Caption',mapping:'Caption'},{name:'CssIconClass',mapping:'CssIconClass'},{name:'GroupOrder',mapping:'GroupOrder'},{name:'AssetFields',mapping:'AssetFields'}])});assetFieldGroups.load();versionTypes=new Ext.data.Store({proxy:new Ext.data.MemoryProxy(response.Configuration),reader:new Ext.data.JsonReader({root:'VersionTypes',id:'VersionTypeId'},[{name:'VersionTypeId',mapping:'VersionTypeId'},{name:'Name',mapping:'Name'},{name:'ShowPreviewTab',mapping:'ShowPreviewTab'},{name:'ShowInSelectionDialog',mapping:'ShowInSelectionDialog'},{name:'DownloadAction',mapping:'DownloadAction'},{name:'AllowOptionsOverwrite',mapping:'AllowOptionsOverwrite'},{name:'MaxLevels',mapping:'MaxLevels'},{name:'SortOrder',mapping:'SortOrder'},{name:'FilterMode',mapping:'FilterMode'},{name:'IconCls',mapping:'IconCls'},{name:'IsLanguage',mapping:'IsLanguage'},{name:'OptionIsExclusive',mapping:'OptionIsExclusive'},{name:'Enabled',mapping:'Enabled'},{name:'AllowMixedAssetTypes',mapping:'AllowMixedAssetTypes'},{name:'RequiresVersionedMaster',mapping:'RequiresVersionedMaster'},{name:'ts',mapping:'ts'},{name:'Translations',mapping:'Translations'},{name:'Translation',mapping:'Translations',convert:function(value,record){var returnValue={};Ext.each(value,function(translation){if(translation.Language==response.User.Language)
returnValue=translation.Name;});return returnValue;}},{name:'Description',mapping:'Translations',convert:function(value,record){var returnValue={};Ext.each(value,function(translation){if(translation.Language==response.User.Language)
returnValue=translation.Description;});return returnValue;}},{name:'Options',mapping:'Options',convert:function(value,record){if(value&&value.length){var store=new Ext.data.Store({reader:new Ext.data.JsonReader({id:'VersionOptionId',fields:[{name:'VersionOptionId',mapping:'VersionOptionId'},{name:'SortOrder',mapping:'SortOrder'},{name:'Translations',mapping:'Translations'},{name:'Version',mapping:'Translations',convert:function(xvalue){var returnValue={};Ext.each(xvalue,function(translation){if(translation.Language==response.User.Language)
returnValue=translation.Version;});return returnValue;}},{name:'Description',mapping:'Translations',convert:function(xvalue){var returnValue={};Ext.each(xvalue,function(translation){if(translation.Language==response.User.Language)
returnValue=translation.Description;});return returnValue;}}]})});store.loadData(value);return store;}else
return null;}}])});versionTypes.load();uiPanelGroups=new Ext.data.Store({proxy:new Ext.data.MemoryProxy(response.Configuration),reader:new Ext.data.JsonReader({root:'UiPanelGroups',id:'Name'},[{name:'UiPanelGroupId',mapping:'UiPanelGroupId'},{name:'Name',mapping:'Name'},{name:'UiPanelSettings',mapping:'UiPanelSettings',convert:function(value,record){if(value&&value.length){var store=new Ext.data.Store({reader:new Ext.data.JsonReader({id:'UiPanelSettingId',fields:[{name:'UiPanelSettingId',mapping:'UiPanelSettingId'},{name:'VersionTypeId',mapping:'VersionTypeId'},{name:'AssetTypeId',mapping:'AssetTypeId'},{name:'Collapsed',mapping:'Collapsed'},{name:'Collapsible',mapping:'Collapsible'},{name:'IconCls',mapping:'IconCls'},{name:'MaxHeight',mapping:'MaxHeight'},{name:'PanelType',mapping:'PanelType'},{name:'SortOrder',mapping:'SortOrder'},{name:'Toolbar',mapping:'Toolbar'},{name:'ts',mapping:'ts'}]})});store.loadData(value);return store;}else
return null;}},{name:'ts',mapping:'ts'}])});uiPanelGroups.load();orderTypes=new Ext.data.Store({proxy:new Ext.data.MemoryProxy(response.Configuration),reader:new Ext.data.JsonReader({root:'OrderTypes',id:'OrderTypeId'},[{name:'OrderTypeId',mapping:'OrderTypeId'},{name:'Name',mapping:'Name'},{name:'ShowDeliveryDate',mapping:'ShowDeliveryDate'},{name:'ShowInPreviewWindow',mapping:'ShowInPreviewWindow'},{name:'ShowSelectionWindow',mapping:'ShowSelectionWindow'},{name:'HtmlMailTemplate',mapping:'HtmlMailTemplate'},{name:'ts',mapping:'ts'},{name:'Translations',mapping:'Translations'},{name:'Translation',mapping:'Translations',convert:function(value,record){var returnValue={};Ext.each(value,function(translation){if(translation.Language==response.User.Language)
returnValue=translation;});return returnValue;}},{name:'DeliveryMethods',mapping:'DeliveryMethods',convert:function(value,record){var store=new Ext.data.Store({proxy:new Ext.data.MemoryProxy(value),reader:new Ext.data.JsonReader({id:'DeliveryMethodId'},[{name:'DeliveryMethodId',mapping:'DeliveryMethodId'},{name:'DeliveryMethod',mapping:'DeliveryMethod'},{name:'Enabled',mapping:'Enabled'},{name:'IsDefault',mapping:'IsDefault'},{name:'SortOrder',mapping:'SortOrder'},{name:'ts',mapping:'ts'},{name:'Translations',mapping:'Translations'},{name:'Translation',mapping:'Translations',convert:function(value,record){var returnValue={};Ext.each(value,function(translation){if(translation.Language==response.User.Language)
returnValue=translation.Name;});return returnValue;}}])});store.load();return store;}}])});orderTypes.load();areaRights=new Ext.data.Store({proxy:new Ext.data.MemoryProxy(response.UserRights),reader:new Ext.data.JsonReader({root:'AreaRights',id:'key'},[{name:'Key',mapping:'key'},{name:'HasRight',mapping:'has'},{name:'Editable',mapping:'edit'}])});areaRights.load();mediaTypes=new Ext.data.Store({proxy:new Ext.data.MemoryProxy(response.Configuration),reader:new Ext.data.JsonReader({root:'MediaTypes',id:'MediaTypeId'},[{name:'MediaTypeId',mapping:'MediaTypeId'},{name:'Icon',mapping:'Icon'},{name:'AssetTypeIds',mapping:'AssetTypeIds'},{name:'Name',mapping:'Name'}])});mediaTypes.load();Ext.each(response.Configuration.Tabs,function(tab){if(tab.Area==0)
tab.Area=Ext.id();},this);tabs=new Ext.data.Store({proxy:new Ext.data.MemoryProxy(response.Configuration),reader:new Ext.data.JsonReader({root:'Tabs',id:'Area'},[{name:'Area',mapping:'Area'},{name:'Action',mapping:'Action'},{name:'ActionUrl',mapping:'ActionUrl'},{name:'Area',mapping:'Area'},{name:'DisplayMode',mapping:'DisplayMode'},{name:'HasIcon',mapping:'HasIcon'},{name:'Icon',mapping:'Icon'},{name:'IncludeSubcategories',mapping:'IncludeSubcategories'},{name:'IsExclusive',mapping:'IsExclusive'},{name:'Name',mapping:'Name'},{name:'SortOrder',mapping:'SortOrder'},{name:'AscDesc',mapping:'AscDesc'}])});tabs.load();standardRights=new Ext.data.Store({proxy:new Ext.data.MemoryProxy(response.UserRights),reader:new Ext.data.JsonReader({root:'StandardRights',id:'key'},[{name:'Right',mapping:'key'},{name:'HasRight',mapping:'has'}])});standardRights.load();formatRights=new Ext.data.Store({proxy:new Ext.data.MemoryProxy(response.UserRights),reader:new Ext.data.JsonReader({root:'FormatRights',id:'key'},[{name:'Key',mapping:'key'},{name:'HasRight',mapping:'has'}])});formatRights.load();numberOfOrders=new Ext.data.Store({proxy:new Ext.data.MemoryProxy(response.UserSettings),reader:new Ext.data.JsonReader({root:'numberOfOrders',id:'key'},[{name:'Key',mapping:'key'},{name:'Value',mapping:'value'}])});numberOfOrders.load();languageMappings=new Ext.data.Store({proxy:new Ext.data.MemoryProxy(response.Configuration),reader:new Ext.data.JsonReader({root:'LanguageMappings'},[{name:'Language',mapping:'Language'},{name:'Abbreviation',mapping:'Abbreviation'},{name:'Mapping',mapping:'Mapping'}])});languageMappings.load();languageVersions=new Ext.data.Store({proxy:new Ext.data.MemoryProxy(response.Configuration),reader:new Ext.data.JsonReader({root:'LanguageVersions',id:'LanguageId'},[{name:'LanguageId',mapping:'LanguageId'},{name:'LanguageTranslation',mapping:'LanguageTranslation'},{name:'Abbreviation',mapping:'Abbreviation'},{name:'IsNeutralCulture',mapping:'IsNeutralCulture'},])});languageVersions.load();guiLanguages=new Ext.data.Store({proxy:new Ext.data.MemoryProxy(response.Configuration),reader:new Ext.data.JsonReader({root:'GuiLanguages'},[{name:'LanguageTranslation',mapping:'LanguageTranslation'},{name:'LanguageId',mapping:'LanguageId'},{name:'Abbreviation',mapping:'Abbreviation'}])});guiLanguages.load();aLanguage=[];for(var i=0;i<languageMappings.totalLength;i++){var isLanguageMapped=false;for(var j=0;j<languageMappings.totalLength;j++){if(i==j)
continue;if(languageMappings.getAt(i).data.Mapping==languageMappings.getAt(j).data.Abbreviation){isLanguageMapped=true;break;}}
if(isLanguageMapped)
continue;aLanguage.push({Abbreviation:languageMappings.getAt(i).data.Abbreviation,Language:languageMappings.getAt(i).data.Language});}
var formats=[];for(i=0;i<imageFormats.getCount();i++){if(imageFormats.getAt(i).get("Index")==0){var rightOriginal=formatRights.getAt(formatRights.find('Key','ImageOriginal'));if(rightOriginal.get("HasRight")){formats.push(imageFormats.getAt(i).json);}
continue;}
var right=formatRights.getById(imageFormats.getAt(i).get("Index"));if(right.get("HasRight"))
{formats.push(imageFormats.getAt(i).json);}}
imageFormatsWithRights=new Ext.data.Store({reader:new Ext.data.ArrayReader({id:'Index'},[{name:'Name',mapping:'Name'},{name:'ShortName',mapping:'ShortName'},{name:'Index',mapping:'Index'},{name:'IsStaticFormat',mapping:'IsStatic'},{name:'ShowInOverview',mapping:'ShowInOverview'},{name:'Column',mapping:'Column'},{name:'IsForDownload',mapping:'IsForDownload'},{name:'Resolution',mapping:'Resolution'},{name:'PixelWidth',mapping:'PixelWidth'},{name:'PixelHeight',mapping:'PixelHeight'},{name:'ToolTip',mapping:'ToolTip'},{name:'TrackUsagePurpose',mapping:'TrackUsagePurpose'}])});imageFormatsWithRights.loadData(formats,false);var formats=[];for(i=0;i<dynamicImageFormats.getCount();i++)
{var right=formatRights.getById(dynamicImageFormats.getAt(i).get("Index"));if(right.get("HasRight"))
formats.push(dynamicImageFormats.getAt(i).json);}
dynamicImageFormatsWithRights=new Ext.data.Store({reader:new Ext.data.ArrayReader({id:'Index'},[{name:'Name',mapping:'Name'},{name:'ShortName',mapping:'ShortName'},{name:'Index',mapping:'Index'},{name:'IsStaticFormat',mapping:'IsStatic'},{name:'ShowInOverview',mapping:'ShowInOverview'},{name:'Column',mapping:'Column'},{name:'IsForDownload',mapping:'IsForDownload'},{name:'Resolution',mapping:'Resolution'},{name:'PixelWidth',mapping:'PixelWidth'},{name:'PixelHeight',mapping:'PixelHeight'},{name:'ToolTip',mapping:'ToolTip'},{name:'TrackUsagePurpose',mapping:'TrackUsagePurpose'}])});dynamicImageFormatsWithRights.loadData(formats);clientLogins=new Ext.data.Store({proxy:new Ext.data.MemoryProxy(response.Configuration.UserSettings),reader:new Ext.data.JsonReader({root:'clientLogins'},[{name:'Id',mapping:'id'},{name:'Email',mapping:'email'}])});clientLogins.load();assetKeywords=new Ext.data.Store({proxy:new Ext.data.MemoryProxy(response.Configuration),reader:new Ext.data.JsonReader({root:'Keywords',id:'Key'},[{name:'Value',mapping:'Value'},{name:'Key',mapping:'Key'}])});assetKeywords.load();assetTypes=new Ext.data.Store({proxy:new Ext.data.MemoryProxy(response.Configuration),reader:new Ext.data.JsonReader({root:'AssetTypes'},[{name:'Name',mapping:'Name'},{name:'AssetTypeId',mapping:'AssetTypeId'},{name:'FileExtensions',mapping:'FileExtensions'}])});assetTypes.load();customerSettings=response.Configuration.Customer;loginSettings=response.Configuration.LoginAndRegistration;features=response.Configuration.Features;userSettings=response.User;userDetails=response.UserDetails;searchConfig=response.Configuration.Search;systemSettings=response.Configuration.SystemSettings;customerSettingTranslation=response.Configuration.CustomerSettingTranslation;if(this.fire)
this.fireEvent("loaded");}
this.setFormatRights=function(argFormatRights)
{formatRights=new Ext.data.Store({proxy:new Ext.data.MemoryProxy(argFormatRights),reader:new Ext.data.JsonReader({root:'formatRights',id:'key'},[{name:'Key',mapping:'key'},{name:'HasRight',mapping:'has'}])});formatRights.load();}
this.restrictToImageFormats=function(imageFormatIds){this.getImageFormats().filterBy(function(record,id){if(imageFormatIds.indexOf(id)!=-1)
return true;else
return false;},this);this.getImageFormatsWithRights().filterBy(function(record,id){if(imageFormatIds.indexOf(id)!=-1)
return true;else
return false;},this);this.getDynamicImageFormatsWithRights().filterBy(function(record,id){if(imageFormatIds.indexOf(id)!=-1)
return true;else
return false;},this);}
this.getRestrictedImageFormats=function(formats,hideFormats){var store=new Ext.data.Store({});this.getImageFormats().each(function(record,id){if(hideFormats[record.get('Index')-1]==0&&(formats.indexOf(record.get('Index'))!=-1))
store.add(record);});return store;}
this.getRestrictedDynamicImageFormats=function(formats,hideFormats){var store=new Ext.data.Store({});this.getDynamicImageFormats().each(function(record,id){if(hideFormats[record.get('Index')-1]==0&&(formats.indexOf(record.get('Index'))!=-1))
store.add(record);});return store;}
this.updateCopyrights=function(tstore){var tempData=[];tstore.each(function(rec,rindex){tempData.push({Key:rec.get("Key"),Value:rec.get("Value")});});assetFields.getAt(assetFields.find('Fieldname','Copyright')).set('Options',tempData);}
this.getAssetField=function(fieldName){return assetFields.getAt(assetFields.find("Fieldname",fieldName));}}
Ext.extend(PP.Configuration,Ext.util.Observable);

Ext.ns("PP");PP.Controller=function(config){Ext.apply(this,config);this.addEvents('ready');this.init();PP.Controller.superclass.constructor.call(this);}
Ext.extend(PP.Controller,Ext.util.Observable,{customerId:null,configuration:null,initAjax:false,publicRoot:null,url:null,basket:null,previewWindowConfig:null,tree:null,taskbar:null,init:function(){Ext.BLANK_IMAGE_URL="Images/s.gif";Ext.SSL_SECURE_URL="Images/s.gif";if(!this.configuration||this.initAjax){Ext.lib.Ajax.defaultPostHeader="application/json";Ext.Ajax.timeout=1200000;Ext.Ajax.on("beforerequest",function(conn,options){if(!options.params)
options.params={};if(!options.failure)
options.failure=PP.common.Error.defaultHandler;if(!options.params.customerId)
options.params.customerId=this.customerId;options.params=Ext.util.JSON.encode(options.params);},this);Ext.Ajax.on("requestcomplete",function(conn,response,options){var r=new RegExp('(^|[^\\\\])\\"\\\\/Date\\((-?[0-9]+)(?:[a-zA-Z]|(?:\\+|-)[0-9]{4})?\\)\\\\/\\"','g');response.responseText=response.responseText.replace(r,"$1new Date($2)");},this);}
var url={};if(location.href.split('#')[0].split('?').length>1){var urlItems=location.href.split('#')[0].split('?')[1].split('&');for(var i=0;i<urlItems.length;i++)
url[urlItems[i].split("=")[0]]=urlItems[i].split("=")[1];}
this.url=url;if(this.url.logoutUrl)
this.setLogoutUrl(this.url.logoutUrl);if(this.url.LogoutUrl)
this.setLogoutUrl(this.url.LogoutUrl);if(!this.configuration){this.configuration=new PP.Configuration();this.configuration.load();this.configuration.on("loaded",this.afterInit,this);}else
this.afterInit();},afterInit:function(){var searchConfig=this.getConfiguration().getSearchConfig();this.assetStore=new PP.common.AssetStore({controller:this,searchCategoryNames:searchConfig.SearchAllCategoriesByDefault,fullTextSearch:searchConfig.FulltextSearch});var customer=this.configuration.getCustomerSettings();PP.common.Data.dateFormat=customer.DateFormat;PP.common.Data.format=customer.DateTimeFormat;PP.common.Data.timeFormat=customer.TimeFormat;this.assetManager=new PP.asset.Manager({controller:this});this.fireEvent("ready",this.configuration);},urlContains:function(property){var contains=false;for(var i in this.url){if(i.toLowerCase()==property.toLowerCase())
contains=true;}
return contains;},showAsset:function(assetId,store){var assetPreview=new PP.asset.PreviewWindow({controller:this,showTab:'overview'});assetPreview.show(store.find("AssetId",assetId),store,null);},download:function(assets,imageFormatId,mailingId,mailingPassword){if(imageFormatId){var selection=this.assetManager.getSelectionImages(assets,imageFormatId);this.assetManager.download(selection,mailingId,mailingPassword);}
else{var selectionDialog=new PP.asset.SelectionWindow({controller:this,selections:assets,assets:[],allowHiddenFormats:false,selectedImageFormats:[],selectedRecords:[],statusSelected:new Ext.Toolbar.TextItem({text:'0'}),width:700,imageFormats:this.getConfiguration().getImageFormatsWithRights(),isAdvanced:false});selectionDialog.on("select",function(selectionWindow,selected){this.assetManager.download(selected,mailingId,mailingPassword);},this);selectionDialog.show();}},mailing:function(assets){var selectionDialog=new PP.asset.SelectionWindow({controller:this,selections:assets,assets:[],allowHiddenFormats:false,selectedImageFormats:[],selectedRecords:[],statusSelected:new Ext.Toolbar.TextItem({text:'0'}),width:700,imageFormats:this.getConfiguration().getImageFormatsWithRights(),isAdvanced:false});selectionDialog.on("select",function(selectionWindow,selected){var mailingDialog=new PP.communication.MailingWindow({controller:this,selectedAssets:selected});mailingDialog.show();},this);selectionDialog.show();},order:function(assets,orderType){var showSelection=true;if(orderType&&!orderType.get("ShowSelectionWindow"))
showSelection=false;if(showSelection){var selectionDialog=new PP.asset.SelectionWindow({controller:this,selections:assets,width:700,allowHiddenFormats:true,assets:[],selectedImageFormats:[],selectedRecords:[],statusSelected:new Ext.Toolbar.TextItem({text:'0'}),imageFormats:this.getConfiguration().getImageFormats(),isAdvanced:false});selectionDialog.on("select",function(selectionWindow,selected){this.showOrder(selected);},this);selectionDialog.show();}else{this.showOrder(this.assetManager.getSelectionOriginal(assets),orderType);}},edit:function(store,assets){if(assets.length>1)
this.multiEdit(store,assets);else if(assets.length==1){var basketAssetPreview=new PP.asset.PreviewWindow({controller:this,showTab:'metadata'});basketAssetPreview.show(store.find('AssetId',assets[0].get("AssetId")),store,null);}},multiEdit:function(store,assets){var multiEditAssets=new MultiEditAssets(this);multiEditAssets.show(assets);},move:function(sourceCategoryNodes,assets){var browseCategories=new PP.category.SelectionDialog({controller:this,multiSelect:true});browseCategories.show();browseCategories.on("selected",function(nodes){this.assetManager.moveToCategories(assets,nodes,sourceCategoryNodes);},this);},copy:function(assets){var assetIds=PP.common.Data.getAssetIds(assets);var browseCategories=new PP.category.SelectionDialog({controller:this,multiSelect:true});browseCategories.show();browseCategories.on("selected",function(nodes){this.assetManager.addToCategories(assetIds,nodes);},this);},report:function(selectedAssets,allAssets){if(selectedAssets.length>0){var assetSelectionWindow=new PP.browser.ExportSelectionWindow();assetSelectionWindow.show();assetSelectionWindow.on('continue',function()
{if(assetSelectionWindow.getOptionSelected()=="all")
{this.showReport(null);}
else
this.showReport(selectedAssets);},this);}
else
{this.showReport(null);}},showReport:function(assets){var exportManager=new ExportManager(this);if(assets==null)
{exportManager.exportByCategory(this.assetStore.categoryId,this.assetStore.areaId,this.assetStore.showSlides,this.assetStore.includeSubcategories,this.assetStore.versionTypeIds);}
else
{var assetIds=PP.common.Data.getAssetIds(assets);exportManager.show(assetIds,this.assetStore.showSlides,this.assetStore.includeSubcategories);}},showOrder:function(assets,orderType){var orderWindow=new PP.communication.OrderWindow({controller:this,selectedAssets:assets,orderTypeId:orderType?orderType.get("OrderTypeId"):1,userEmail:this.getConfiguration().getUserSettings().Email});orderWindow.show();},getConfiguration:function(){return this.configuration;},getAssetStore:function(){return this.assetStore;},getAssetManager:function(){return this.assetManager;},hasRight:function(right){if(!this.configuration.getStandardRights().getById(right))
return false;return this.configuration.getStandardRights().getById(right).get("HasRight")},canUpload:function(){var writeAccess=false;var areaRights=this.getConfiguration().getAreaRights();for(var i=0;i<areaRights.getCount();i++){if(areaRights.getAt(i).get('Editable')==true){writeAccess=true;break;}}
return writeAccess;},hasRightToAllOriginalFiles:function(assets){var formatRights=this.getConfiguration().getFormatRights();var pdfFileRight=formatRights.getAt(formatRights.find('Key','PDFOriginal'));var miscFileRight=formatRights.getAt(formatRights.find('Key','MiscOriginal'));var hasRight=true;for(var i=0;i<assets.length;i++){if(assets[i].get("AssetType")=='pdf'&&!pdfFileRight.get("HasRight")){hasRight=false;break;}
if(assets[i].get("AssetType")=='misc'&&!miscFileRight.get("HasRight")){hasRight=false;break;}}
return hasRight;},registerBasket:function(basket){this.basket=basket;},registerTree:function(tree){this.tree=tree;},registerTaskbar:function(taskbar){this.taskbar=taskbar;},getPublicRoot:function(){if(this.publicRoot)
return this.publicRoot;else
return this.configuration.getSystemSettings().BaseUrl+"?";},getUrl:function(append2Url){var returnUrl="";if(this.publicRoot)
returnUrl=this.publicRoot;else
returnUrl=this.configuration.getSystemSettings().BaseUrl;if(returnUrl.indexOf("?")==-1)
return returnUrl+"?"+append2Url;else
return returnUrl+"&"+append2Url;},getLogoutUrl:function(){var cp=new Ext.state.CookieProvider({expires:null});if(cp.get("logoutUrl"))
return cp.get("logoutUrl")
else
return this.getConfiguration().getCustomerSettings().WebsiteUrl;},setLogoutUrl:function(logoutUrl){var cp=new Ext.state.CookieProvider({expires:null});cp.set("logoutUrl",unescape(logoutUrl));},showPreview:function(assetId){var dsAsset=new Ext.data.Store({proxy:new Ext.data.HttpProxy({url:'../Webservice/AssetService.svc/GetAssetsByIds'}),reader:new PP.common.AssetJsonReader({controller:this,versionTypes:this.getConfiguration().getVersionTypes(),root:'Assets',id:'AssetId'}),baseParams:{assetFilter:{}}});dsAsset.on('load',function(src,rec){new PP.asset.PreviewWindow({controller:controller}).show(0,dsAsset,1,1,true);},this);dsAsset.load({params:{assetIds:[assetId]}});}});

Download=function(oAssetBrowser){this.showDownload=function(downloadUrl,filesize){var DownloadPanelContent="<div style='padding:20px'><img src='"+Ext.BLANK_IMAGE_URL+"' style='width:16px;height:16px' class='t-sprite x-toolbar-download' align=top>&nbsp;<b>"+Locale.Download.Filesize+" "+Ext.util.Format.fileSize(filesize)+"</b><br><br>"+Locale.Download.TransferTime+"<br><b>"+(filesize/(1024*1024/8)).toFixed(2)+" "+Locale.Download.seconds+"</b></div>";var DownloadPanel=new Ext.Panel({border:false,html:DownloadPanelContent,iconCls:'t-sprite x-toolbar-download',itemCls:'triggericon'});var DownloadDlg=new Ext.Window({title:Locale.Download.Download,closable:true,resizable:false,shadow:true,width:380,height:160,layout:'border',iconCls:'window-download',border:false,items:[{region:'center',items:DownloadPanel}],buttons:[{text:Locale.Download.Download,tooltip:Locale.Download.tt_Download,handler:function(){document.location.href=downloadUrl;DownloadDlg.hide();}},{text:Locale.Download.Cancel,tooltip:Locale.Download.tt_Cancel,handler:function(){DownloadDlg.hide();}}]});DownloadDlg.show();}}

var ExportManager=function(controller){var assetIds=new Array();var versionTypeIds=new Array();var areaId=0;var categoryId=0;var csvSeparatorChar="";var exportType="";var showSlides,includeSubcategories;var assetFieldsStore=controller.getConfiguration().getAssetFields();var assetFieldGroups=controller.getConfiguration().getAssetFieldGroups();var getFieldPath=function(pid)
{var currGroup=assetFieldGroups.getAt(assetFieldGroups.find("AssetFieldGroupId",pid));if(currGroup.get("ParentAssetFieldGroupId")==null)
return currGroup.get("Caption");else
return getFieldPath(currGroup.get("ParentAssetFieldGroupId"))+"/"+currGroup.get("Caption");}
var metadataFieldsStore=new Ext.data.Store({reader:new Ext.data.ArrayReader({},[{name:'Fieldname',mapping:'Fieldname'},{name:'Caption',mapping:'Caption'}])});var metadataRecord=new Ext.data.Record.create([{name:'Fieldname',mapping:'Fieldname'},{name:'Caption',mapping:'Caption'}]);var thumbnailRecord=new metadataRecord({Fieldname:"URLThumbnail1",Caption:"Thumbnail"});assetFieldsStore.each(function(field_rec){assetFieldGroups.each(function(group_rec){if(group_rec.get("Type")!="Metadata")
return;var parentId,currPath="";var xx=group_rec.get('AssetFields');for(var i=0;i<xx.length;i++)
{if(xx[i].AssetFieldId==field_rec.get('AssetFieldId'))
{parentId=group_rec.get('AssetFieldGroupId');currPath=getFieldPath(parentId);break;}}
if(currPath.length)
{var tempRec=new metadataRecord({Fieldname:field_rec.get("Fieldname"),Caption:currPath+"/"+field_rec.get("Caption")});metadataFieldsStore.add(tempRec);}});});metadataFieldsStore.sort("Caption");var csvSeparator=new Ext.form.TextField({hideLabel:true,hidden:true,width:30,value:";",maxLength:3});var csvSeparatorLabel=new Ext.form.Label({cls:'x-form-label',style:"padding-top:3px",hidden:true,text:Locale.ExportManager.SeparatorLabel+": "});var methodSelectionPanel=new Ext.form.FormPanel({animCollapse:false,border:false,height:140,labelAlign:'top',items:[{html:Locale.ExportManager.MethodSelectionLabel,frame:true,border:false,style:'padding-bottom: 6px'},{xtype:'radiogroup',hideLabel:true,style:'padding-left: 8px',columns:1,items:[{boxLabel:'<img src="'+Ext.BLANK_IMAGE_URL+'" style="width:16px;height:16px" class="t-sprite x-toolbar-icon-print" align=top>&nbsp;'+Locale.ExportManager.PrintableList,name:'ExportMethod',inputValue:1,checked:true},{boxLabel:'<img src="'+Ext.BLANK_IMAGE_URL+'" style="width:16px;height:16px" class="t-sprite x-toolbar-icon-excel"  align=top>&nbsp;'+Locale.ExportManager.CSVFile,name:'ExportMethod',inputValue:2,handler:function(r,checked){if(checked){csvSeparatorLabel.show();csvSeparator.show();}
else{csvSeparatorLabel.hide();csvSeparator.hide();}}}]},{layout:'column',layoutConfig:{columns:3},border:false,width:250,items:[{width:50,height:10,border:false},csvSeparatorLabel,csvSeparator]}]});var methodSelectionWindow=new Ext.Window({title:Locale.ExportManager.MethodSelectionTitle,width:400,height:220,border:false,resizable:false,plain:true,modal:true,bodyStyle:'padding: 10px;',layout:'fit',closable:false,items:methodSelectionPanel,buttons:[{text:Locale.ExportManager.Continue,tooltip:Locale.ExportManager.tt_Continue,handler:function(){if(methodSelectionPanel.getForm().isValid())
{if(methodSelectionPanel.getForm().getValues().ExportMethod==2)
{if(csvSeparator.getValue().length==0)
{Ext.Msg.alert(Locale.ExportManager.Alert,Locale.ExportManager.SeparatorBlank);return;}
else
{csvSeparatorChar=csvSeparator.getValue();exportType="csv";if(metadataFieldsStore.find("Fieldname","URLThumbnail1")!=-1)
metadataFieldsStore.remove(thumbnailRecord);if(includedMetadataStore.find("Fieldname","URLThumbnail1")!=-1)
includedMetadataStore.remove(thumbnailRecord);}}
else
{csvSeparatorChar="";exportType="html";if(metadataFieldsStore.find("Fieldname","URLThumbnail1")==-1)
metadataFieldsStore.addSorted(thumbnailRecord);}
methodSelectionWindow.hide();metadataSelectionWindow.show();}}},{text:Locale.ExportManager.Cancel,tooltip:Locale.ExportManager.tt_Cancel,handler:function(){methodSelectionPanel.getForm().reset();methodSelectionWindow.hide();}}]});var includedMetadataStore=new Ext.data.SimpleStore({fields:[{name:'Caption',mapping:'Caption'},{name:'Fieldname',mapping:'Fieldname'}]});var metadataSelectionPanel=new Ext.form.FormPanel({width:640,labelAlign:'top',border:false,items:[{border:false,html:Locale.ExportManager.MetadataSelectionLabel,frame:true,style:'padding-bottom: 6px'},{xtype:"itemselector",name:"itemselector",fromStore:metadataFieldsStore,toStore:includedMetadataStore,hideLabel:true,msWidth:304,msHeight:250,valueField:"Fieldname",displayField:"Caption",toLegend:Locale.ExportManager.IncludedMetadata,fromLegend:Locale.ExportManager.AvailableMetadata,imagePath:"images/ItemSelector/",toTBar:[{text:Locale.ExportManager.Clear,tooltip:Locale.ExportManager.tt_Clear,handler:function(){var i=metadataSelectionPanel.getForm().findField("itemselector");i.reset.call(i);}}],fromTBar:[{text:Locale.ExportManager.SelectAll,tooltip:Locale.ExportManager.tt_SelectAll,handler:function(){var i=metadataSelectionPanel.getForm().findField("itemselector");i.fromMultiselect.selectAll();}}]}]});var metadataSelectionWindow=new Ext.Window({title:Locale.ExportManager.MetadataSelectionTitle,width:660,height:376,resizable:false,plain:true,modal:true,border:false,layout:'fit',bodyStyle:'padding: 10px',items:metadataSelectionPanel,buttons:[{text:Locale.ExportManager.Back,tooltip:Locale.ExportManager.tt_Back,handler:function(){metadataSelectionWindow.hide();methodSelectionWindow.show();}},{text:Locale.ExportManager.Export,tooltip:Locale.ExportManager.tt_Export,handler:function(){if(includedMetadataStore.getCount()==0)
{Ext.Msg.alert(Locale.ExportManager.Alert,Locale.ExportManager.NoSelection);return;}
var metadataFields=new Array();var metadataCaptions=new Array();includedMetadataStore.each(function(rec){for(var i=0;i<metadataFields.length;i++)
if(metadataFields[i]==rec.get('Fieldname'))
break;if(i==metadataFields.length)
{metadataFields.push(rec.get('Fieldname'));metadataCaptions.push(rec.get('Caption').split("/").reverse()[0]);}});window.open("ExportMetadata.aspx?k="+controller.getConfiguration().getCustomerSettings().CustomerId+"&area="+areaId+"&categoryId="+categoryId+"&assetIds="+Ext.util.JSON.encode(assetIds)+"&ReturnedFields="+Ext.util.JSON.encode(metadataFields)+"&returnFieldCaptions="+Ext.util.JSON.encode(metadataCaptions)+"&exportType="+exportType+"&csvSeparatorChar="+csvSeparatorChar+"&showSlides="+showSlides+"&includeSubcategories="+includeSubcategories+"&versionTypeIds="+versionTypeIds+"&sortField=AssetId&sortDirection=asc","IMP_HELP","width=700,height=460,toolbar=no,menubar=yes,status=no,scrollbars=yes,resizable=yes,location=no,direction=no");}},{text:Locale.ExportManager.Cancel,tooltip:Locale.ExportManager.tt_Cancel,handler:function(){metadataSelectionWindow.hide();methodSelectionPanel.getForm().reset();var i=metadataSelectionPanel.getForm().findField("itemselector");i.reset.call(i);}}]});metadataSelectionWindow.on('beforeclose',function(w){w.hide();methodSelectionPanel.getForm().reset();var i=metadataSelectionPanel.getForm().findField("itemselector");i.reset.call(i);return false;});this.show=function(assetsList,sSlides,iSubcategories){assetIds=[];for(var i=0;i<assetsList.length;i++)
if(!isNaN(assetsList[i]))
assetIds.push(assetsList[i]);categoryId=0;showSlides=sSlides;includeSubcategories=iSubcategories;methodSelectionWindow.show();}
this.exportByCategory=function(catId,aId,sSlides,iSubcategories,vTypeIds){categoryId=catId;areaId=aId;showSlides=sSlides;includeSubcategories=iSubcategories;versionTypeIds=vTypeIds;assetIds=new Array();methodSelectionWindow.show();}}

Impersonate=function(oAssetBrowser){var tabs,addressBookStore,UserGroupStore,UpdateGroupGrid,tbPaging,ImpersonateWindow,groupclick,sm;var addressData,addressGrid,GroupsStore,searchString="",currentUserGroupId=0,Groupgrid;this.show=function()
{if(ImpersonateWindow)
{if(!ImpersonateWindow.isVisible()){ImpersonateWindow.show();ImpersonateWindow.minimized=false;}
else{ImpersonateWindow.restore();}
return;}
addressBookStore=new Ext.data.Store({proxy:new Ext.data.HttpProxy({url:'../Webservice/UserService.svc/GetUsers'}),reader:new Ext.data.JsonReader({root:'Users',totalProperty:'TotalUsers'},[{name:'UserId',mapping:'UserId'},{name:'Firstname',mapping:'Firstname'},{name:'Lastname',mapping:'Lastname'},{name:'EmailAddress',mapping:'EmailAddress'}])});addressBookStore.load();tabs=new Ext.TabPanel({autoTabs:true,activeTab:0,border:false,deferredRender:false,items:[{title:Locale.Impersonate.User,id:'Address-div'}]});ImpersonateWindow=new Ext.Window({title:Locale.Impersonate.Impersonate,width:650,height:400,resizable:false,layout:'fit',items:tabs,buttons:[{text:Locale.Impersonate.Ok,tooltip:Locale.Impersonate.tt_OK,handler:function(){var Usergrid=addressGrid.getSelectionModel().getSelections();if(tabs.getActiveTab().id=='Address-div')
{if(Usergrid[0]==null)
Ext.MessageBox.alert(Locale.Impersonate.Status,Locale.Impersonate.Selection);else
{UserId=Usergrid[0].data.UserId;Email=Usergrid[0].data.EmailAddress;userclick(UserId,Email);}}else if(tabs.getActiveTab().id=='UserGroupsGrid-Div')
{var Groupgrid=UpdateGroupGrid.getSelectionModel().getSelections();if(Groupgrid[0]==null)
Ext.MessageBox.alert(Locale.Impersonate.Status,Locale.Impersonate.Selection);else
{GroupId=Groupgrid[0].data.UserGroupId;Group=Groupgrid[0].data.UserGroup;groupclick(GroupId,Group);}}}},{text:Locale.Impersonate.Cancel,tooltip:Locale.Impersonate.tt_Cancel,handler:function(){ImpersonateWindow.close();}}]});ImpersonateWindow.show();ImpersonateWindow.on("close",function(e){ImpersonateWindow.destroy(true);ImpersonateWindow=null;})
GroupsStore=new Ext.data.Store({proxy:new Ext.data.HttpProxy({url:'../Webservice/UsergroupService.svc/GetUserGroups'}),reader:new Ext.data.JsonReader({},[{name:'UserGroupId',mapping:'UserGroupId'},{name:'UserGroup',mapping:'UserGroup'},{name:'iconImg',mapping:'iconImg'}])});GroupsStore.load();icGroups=new PP.widget.IconComboBox({xtype:'iconcombo',editable:false,fieldLabel:'Groups',store:GroupsStore,valueField:'UserGroupId',displayField:'UserGroup',hiddenName:'UserGroupId',iconClsField:'iconImg',triggerAction:'all',lastQuery:'',name:'MailingGroups',mode:'local',width:250,plugins:new PP.widget.FieldTooltipPlugin({header:false,position:'bottom',title:false,html:Locale.Impersonate.tt_Group})});icGroups.on('select',function(c,r,i){currentUserGroupId=r.get('UserGroupId');reload();});var tb=new Ext.Toolbar({height:25,border:false,items:[new Ext.SearchField({width:200,plugins:new PP.widget.FieldTooltipPlugin({header:false,position:'bottom',title:false,html:Locale.Impersonate.tt_Search}),listeners:{search:function(ftext){searchString=ftext;reload();}}}),"->",bNoPaging=new Ext.Toolbar.Button({pressed:false,enableToggle:true,text:Locale.Impersonate.NoPaging,toggleHandler:reload}),icGroups]});var colModel=new Ext.grid.ColumnModel([{header:Locale.Impersonate.Firstname,dataIndex:'Firstname',width:150,tooltip:Locale.Impersonate.tt_Firstname},{header:Locale.Impersonate.Lastname,dataIndex:'Lastname',width:150,tooltip:Locale.Impersonate.tt_Lastname},{header:Locale.Impersonate.EmailAddress,dataIndex:'EmailAddress',width:220,tooltip:Locale.Impersonate.tt_EmailAddress}]);colModel.defaultSortable=true;pan=new Ext.Panel({border:false,tbar:tb});tbPaging=new Ext.PagingToolbar({pageSize:10,height:25,store:addressBookStore,displayInfo:true,displayMsg:Locale.Impersonate.MsgDisplayTopic,emptyMsg:Locale.Impersonate.MsgNoTopic});addressGrid=new Ext.grid.GridPanel({el:'Address-div',ds:addressBookStore,height:300,cm:colModel,viewConfig:{forceFit:true},multiSelect:false,border:false,sm:new Ext.grid.RowSelectionModel({singleSelect:true}),tbar:tb,items:tbPaging});addressGrid.render();addressGrid.on("rowdblclick",function(grid,rowIndex,e){UserId=addressBookStore.getAt(rowIndex).get('UserId');Email=addressBookStore.getAt(rowIndex).get('EmailAddress');userclick(UserId,Email);});new Ext.ToolTip({target:'Address-div',html:Locale.Impersonate.tt_row});var userclick=function(UserId,Email)
{Ext.Msg.show({title:Locale.Impersonate.ImpersonateUser,msg:Locale.Impersonate.ImpersonatetheselectedUser,buttons:Ext.Msg.YESNO,fn:function(btn){if(btn=='yes')
{Ext.Ajax.request({url:'../Webservice/SessionService.svc/Impersonate',success:function(r){document.location.href="?impersonateUserId="+UserId+"&Email="+Email;ImpersonateWindow.close();},params:{id:UserId,type:"User"}});}},icon:Ext.MessageBox.QUESTION});}
var UserTab=function()
{UpdateGroupGrid=new Ext.grid.GridPanel({ds:GroupsStore,el:'UserGroupsGrid-Div',autoScroll:true,multiSelect:false,cm:new Ext.grid.ColumnModel([{header:Locale.Impersonate.UserGroup,dataIndex:'UserGroup',tooltip:Locale.Impersonate.tt_UserGroup}]),height:300,viewConfig:{forceFit:true}});UpdateGroupGrid.render();UpdateGroupGrid.on("rowdblclick",function(grid,rowIndex,e){GroupId=GroupsStore.getAt(rowIndex).get('UserGroupId');Group=GroupsStore.getAt(rowIndex).get('UserGroup');groupclick(GroupId,Group);});groupclick=function(UserGroupId,Group)
{Ext.Msg.show({title:Locale.Impersonate.ImpersonateGroup,msg:Locale.Impersonate.Impersonatetheselectedgroup,buttons:Ext.Msg.YESNO,fn:function(btn){if(btn=='yes')
{Ext.Ajax.request({url:'../Webservice/SessionService.svc/Impersonate',success:function(r){document.location.href="?impersonateGroupId="+UserGroupId+"&GroupName="+Group;ImpersonateWindow.close();},params:{id:UserGroupId,type:"UserGroup"}});}},icon:Ext.MessageBox.QUESTION});}}
tabs.add({title:Locale.Impersonate.Group,id:'UserGroupsGrid-Div',listeners:{activate:UserTab}});var reload=function(){addressBookStore.baseParams={searchString:searchString,userGroupId:currentUserGroupId}
if(bNoPaging.pressed)
{addressBookStore.load({params:{start:0,limit:0}});tbPaging.hide();}
else
{addressBookStore.load({params:{start:0,limit:10}});tbPaging.show();}}}}

var jLinq;(function(){var library=function(settings){var _jLinq=this;var _p={};_p.settings=settings;_jLinq.finish=function(lock){_jLinq.finish=null;_p.loaded=true;_p.lock=lock;};_p.util={format:function(msg,args){return msg.toString().replace(/%[0-9]+%/gi,function(match){var index=parseInt(match.replace(/%/gi,""));return args[index];});},allValues:function(list){var actual=[];for(var i=0;i<list.length;i++){if(list[i]==null){return actual;}
actual.push(list[i]);}
return actual;},trim:function(val){if(val==null){return"";}
return val.toString().replace(/^\s+|\s+$/,"");},empty:function(list){for(var i=0;i<list.length;i++){if(list[i]){return false;}}
return true;},type:function(val){if(val==null){return"null";}
if(val==undefined){return"null";}
for(var item in _p.types){try{if(_p.types[item](val)){return item;}}
catch(e){}}
return(typeof(val)).toString().toLowerCase();},when:function(val,actions){var type=_p.util.type(val);if(!actions[type]){if(actions.empty&&(val==null||val==undefined)){return actions.empty(val);}
if(actions.other){return actions.other(val);}
return false;}
try{return actions[type](val);}
catch(e){return false;}},as:function(val,actions){var type=_p.util.type(val);if(!actions[type]){if(actions.empty&&(val==null||val==undefined)){return actions.empty(val);}
if(actions.other){return actions.other(val);}
return null;}
try{return actions[type](val);}
catch(e){return null;}},each:function(array,action){var results=[];for(var i=0;i<array.length;i++){try{results.push(action(array[i],i));}
catch(e){results.push(e);}}
return results;},clone:function(obj){function gen(){};gen.prototype=obj;return new gen();}};_jLinq.addType=function(name,compare){name=_p.util.trim(name).toLowerCase();_p.types[name]=compare;};_jLinq.removeType=function(name){name=_p.util.trim(name).toLowerCase();_p.types[name]=function(){return false;};};_p.types=settings.types?settings.types:{};_jLinq.extend=function(params){params.name=_p.util.trim(params.name);params.namespace=_p.util.trim(params.namespace);if(_p.extend.hasCmd(params)){if(_p.lock){throw"Exception: Library is locked.";}
_p.extend.removeCmd(params);}
_p.extend.addCmd(params);if(params.type&&params.type.match(/source/i)){if(params.namespace&&!_jLinq[params.namespace]){_jLinq[params.namespace]={};}
var target=params.namespace==""?_jLinq:_jLinq[params.namespace];target[params.name]=function(v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25){var results=params.method({helper:_p.util},v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25);if(_p.util.type(results)!="array"){throw"Exception: A 'Source' extension must return an array for a jLinq query.";}
return new _p.query(results);};}};_p.extend={cmd:[],hasCmd:function(params){return(_p.extend.findCmd(params)!=null);},addCmd:function(params){_p.extend.removeCmd(params);_p.extend.cmd.push(params);},removeCmd:function(params){var index=_p.extend.findCmd(params);if(index){_p.extend.cmd.splice(index,1);}},findCmd:function(params){for(var i=0;i<_p.extend.cmd.length;i++){var method=_p.extend.cmd[i];if(method.name==params.name&&method.namespace==params.namespace){return i;}}
return null;}};_jLinq.showCommands=function(){return _p.util.clone(_p.extend.cmd);};for(var item in settings.extend){if(item!="remove")
_jLinq.extend(settings.extend[item]);}
_p.query=function(data){var _query=this;data=_p.util.clone(data);var _s={};_s.state={properties:true,lastCommand:null,lastField:null,lastCommandName:null,paramCount:0,ignoreCase:true,or:false,not:false,data:data,useProperties:false,operator:"",debug:{onEvent:function(msg){},log:function(msg,args){_s.state.debug.onEvent(_p.util.format(msg,args));}}};if(data==null){return null;}
if(_p.util.type(data)=="array"&&data.length>0){_s.state.useProperties=(_p.util.type(data[0])=="object");}
_s.query={cache:[],str:[],appendCmd:function(action){_s.query.cache.push(action);var not=_s.state.not?"!":"";if(_s.query.cache.length==0){_s.state.operator="";}
_s.state.or=false;_s.state.not=false;_s.query.str.push([_s.state.operator,"(",not,"(_s.query.cache[",(_s.query.cache.length-1),"](record)))"].join(""));_s.state.operator="&&";},select:function(){if(_s.query.str.length==0){return{selected:_s.state.data,remaining:[]};}
var query;eval(["query = function(record) {"+" return (",_s.query.str.join(""),"); };"].join(""));var selected=[];var remaining=[];for(var i=0;i<_s.state.data.length;i++){var item=_s.state.data[i];try{if(query(item)){selected.push(item);}
else{remaining.push(item);}}
catch(e){_s.state.debug.log("Exception when evaluating the query for selection: %0%. query: %1%",[e,query]);remaining.push(item);}}
return{selected:selected,remaining:remaining};},prepCmd:function(params,args){_s.state.lastCommand=params.command;_s.state.paramCount=params.count;_s.state.lastCommandName=params.name;var values=[];var found=false;for(var i=args.length;i-->0;){if(!args[i]&&!found){continue;}
found=true;values.push(args[i]);}
values.reverse();if(_s.state.useProperties&&values.length==params.count+1){_s.state.lastField=values.shift();}
return{arg:values,field:_s.state.lastField};},repeatCmd:function(v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25){if(_s.helper.empty([v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25])){return;}
_s.state.lastCommand(v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25);},performSort:function(records,field,desc){records.sort(function(a,b){a=a[field];b=b[field];return(a<b)?-1:(a>b)?1:0;});if(desc){records.reverse();}}};_s.helper={toRegex:function(val){if(val==null){return"";}
return val.toString().replace(/\*|\(|\)|\\|\/|\?|\.|\*|\+|\<|\>|\[|\]|\=|\&|\$|\^/gi,function(match){return("\\"+match);});},getNumericValue:function(obj){if(obj.length){return obj.length;}
return obj;},trim:_p.util.trim,match:function(val,exp){if(!(val&&exp)){return false;}
if(_s.helper.type(exp)=="regexp"){exp=exp.source;}
exp=new RegExp(exp,"g"+(_s.state.ignoreCase?"i":""));return(val.match(exp));},propsEqual:function(val1,val2){if(val1==null&&val2==null){return true;}
if(val1==null||val2==null){return false;}
for(var name in val1){if(val2[name]==undefined){return false;}
if(!_s.helper.equals(val1[name],val2[name])){return false;}}
return true;},equals:function(val1,val2){try{if(val1==null&&val2==null){return true;}
if((val1==null&&val2)||(val1&&val2==null)){return false;}
var val1Type=_s.helper.type(val1);var val2Type=_s.helper.type(val2);if(val1Type!=val2Type){return false;}
if(val1Type=="string"&&val2Type=="string"){return _s.helper.match(val1,"^"+val2+"$");}
if(val1Type=="string"&&val2Type=="regexp"){return _s.helper.match(val1,val2);}
if(val1Type=="number"||val1Type=="bool"){return(val1==val2);}
else if(val1Type=="array"||val1Type=="object"){if(val1.length!=val2.length){return false;}
for(var i=0;i<val1.length;i++){if(!_s.helper.equals(val1[i],val2[i])){return false;}}
return true;}
else{return(val1==val2);}}
catch(e){return false;}},allEqual:function(val1,val2){if(_p.helper.type(val1)!="array"){val1=[val1];}
for(var item in val1){if(!_p.helper.equals(val1[item],val2)){return false;}}
return true;},anyEqual:function(val1,val2){if(_p.helper.type(val1)!="array"){val1=[val1];}
for(var item in val1){if(!_p.helper.equals(val1[item],val2)){return true;}}
return false;},sort:function(records,sorting,desc){if(sorting==null){records.sort();if(desc){query.state.data.reverse();}
return records;}
var index=0;var doSort=function(records){records=_p.util.clone(records);var field=sorting[index].field;var desc=sorting[index].desc;if(index==sorting.length-1){_s.query.performSort(records,field,desc);return records;};_s.query.performSort(records,field,desc);var dist=_s.helper.distinct(records,field);index++;var results=[];for(var j=0;j<dist.length;j++){var sorted=doSort(dist[j].items);for(var k=0;k<sorted.length;k++){results.push(sorted[k]);}};return results;};return doSort(_s.state.data);},distinct:function(records,field){var dist=[];for(var i=0;i<records.length;i++){var val=records[i];var key=(field!=null)?eval(["(val.",field,")"].join("")):val;var added=false;for(var item in dist){if(dist[item].key===key){added=true;dist[item].items.push(val);break;}}
if(!added){dist.push({key:key,items:[val]});}}
return dist;},empty:_p.util.empty,type:_p.util.type,when:_p.util.when,each:_p.util.each,format:_p.util.format,clone:_p.util.clone,all:_p.util.allValues,as:_p.util.as};for(var item in _p.extend.cmd){(function(params){if(!(params.type||params.name||params.method)){return;}
if(params.type.match(/source/i)){return;}
if(params.namespace&&!_query[params.namespace]){_query[params.namespace]={};}
var target=params.namespace?_query[params.namespace]:_query;var method=(function(v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25){_s.state.debug.log("Called command %0% '%1%()'.",[params.type,params.name]);var state={add:function(cmd){_s.query.str.push(cmd);},query:_query,state:_s.state,helper:_s.helper,repeat:function(v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25){_s.query.repeatCmd(v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25);}};if(params.type.match(/^query$/i)){var cmd=_s.query.prepCmd({command:target[params.name],count:params.count,name:params.name},[v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25]);_s.query.appendCmd(function(record){try{state.value=_s.state.useProperties?eval("record."+cmd.field):record;}
catch(e){_s.state.debug.log("Exception when calling '%0%()' : %1%.",[params.name,e]);state.value=null;}
state.record=record;state.type=state.helper.type(state.value);state.when=function(actions){return _s.helper.when(state.value,actions);};return params.method(state,cmd.arg[0],cmd.arg[1],cmd.arg[2],cmd.arg[3],cmd.arg[4],cmd.arg[5],cmd.arg[6],cmd.arg[7],cmd.arg[8],cmd.arg[9],cmd.arg[10],cmd.arg[11],cmd.arg[12],cmd.arg[13],cmd.arg[14],cmd.arg[15],cmd.arg[16],cmd.arg[17],cmd.arg[18],cmd.arg[19],cmd.arg[20],cmd.arg[21],cmd.arg[22],cmd.arg[23],cmd.arg[24]);});return _query;}
else if(params.type.match(/^action$/i)){try{params.method(state,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25);}
catch(e){_s.state.debug.log("Exception when calling '%0%()' : %1%.",[params.name,e]);}
return _query;}
else if(params.type.match(/^selection$/i)){state.results=params.manual?[]:_s.query.select();state.select=_s.query.select;return params.method(state,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25);}
return _query;});target[params.name]=method;if(params.type.match(/^query$/i)&&(_p.settings.generate==null||_p.settings.generate)&&(params.generate==null||params.generate)){var altName=params.name.substr(0,1).toUpperCase()+params.name.substr(1,params.name.length-1);target["or"+altName]=function(v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25){_s.state.operator="||";return method(v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25);};target["and"+altName]=function(v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25){_s.state.operator="&&";return method(v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25);};target["not"+altName]=function(v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25){_s.state.not=!_s.state.not;return method(v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25);};target["andNot"+altName]=function(v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25){_s.state.not=!_s.state.not;_s.state.operator="&&";return method(v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25);};target["orNot"+altName]=function(v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25){_s.state.not=!_s.state.not;_s.state.operator="||";return method(v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25);};}})(_p.extend.cmd[item]);}};};var _defaultLibrary=function(){return{locked:true,generate:true,types:{array:function(val){return(val.push&&val.pop&&val.reverse&&val.slice&&val.splice);},"function":function(val){return((typeof(val)).toString().match(/^function$/i));},string:function(val){return((typeof(val)).toString().match(/^string$/i));},number:function(val){return((typeof(val)).toString().match(/^number$/i));},bool:function(val){return((typeof(val)).toString().match(/^boolean$/i));},regexp:function(val){return(val.ignoreCase!=null&&val.global!=null&&val.exec);},date:function(val){return(val.getTime&&val.setTime&&val.toDateString&&val.toTimeString);}},extend:[{name:"from",type:"source",method:function(query,source){return query.helper.when(source,{"function":function(){return source();},array:function(){return source;},other:function(){return[source];}});}},{name:"debug",type:"action",operators:false,method:function(query,delegate){query.state.debug.onEvent=delegate;}},{name:"reverse",type:"action",method:function(query){query.state.data.reverse();}},{name:"ignoreCase",type:"action",method:function(query){query.state.ignoreCase=true;}},{name:"useCase",type:"action",method:function(query){query.state.ignoreCase=false;}},{name:"or",type:"action",method:function(query,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25){query.state.operator="||";query.repeat(v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25);}},{name:"not",type:"action",method:function(query,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25){query.state.not=!query.state.not;query.repeat(v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25);}},{name:"and",type:"action",method:function(query,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25){query.state.operator="&&";query.repeat(v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25);}},{name:"orNot",type:"action",method:function(query,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25){query.state.or=true;query.state.not=!query.state.not;query.repeat(v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25);}},{name:"andNot",type:"action",method:function(query,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25){query.state.or=false;query.state.not=!query.state.not;query.repeat(v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25);}},{name:"combine",type:"action",method:function(query,delegate){query.add(query.state.operator+"("+(query.state.not?"!":""));query.state.operator="";delegate(query.query);query.add(")");}},{name:"orCombine",type:"action",method:function(query,delegate){query.state.operator="||";query.add(query.state.operator+"("+(query.state.not?"!":""));query.state.operator="";delegate(query.query);query.add(")");}},{name:"where",count:-1,type:"query",method:function(query,delegate){return delegate(query.record,query.helper);}},{name:"has",count:1,type:"query",method:function(query,value){var use=parseInt(value.toString(),16);var compare=parseInt(query.value.toString(),16);return((compare&use)==use);}},{name:"equals",count:1,type:"query",method:function(query,value){return query.helper.equals(query.value,value);}},{name:"startsWith",count:1,type:"query",method:function(query,value){if(query.helper.type(value)!="array"){value=[value];}
for(var item in value){var match=value[item];if(query.when({array:function(){return query.helper.equals(query.value[0],match)},other:function(){return query.helper.match(query.value.toString(),"^"+match.toString());}})){return true;};}}},{name:"endsWith",count:1,type:"query",method:function(query,value){if(query.helper.type(value)!="array"){value=[value];}
for(var item in value){var match=value[item];if(query.when({array:function(){return query.helper.equals(query.value[query.value.length-1],match)},other:function(){return query.helper.match(query.value.toString(),match.toString()+"$");}})){return true;};}}},{name:"contains",count:1,type:"query",method:function(query,value){if(value==null){return false;}
if(query.helper.type(value)!="array"){value=[value];}
for(var item in value){var match=value[item];if(query.when({array:function(){for(var i=0;i<query.value.length;i++){if(query.helper.equals(query.value[i],match)){return true;}}},other:function(){return query.helper.match(query.value.toString(),"^.*"+query.helper.toRegex(match)+".*$");}})){return true;};}}},{name:"match",count:1,type:"query",method:function(query,value){if(query.helper.type(value)!="array"){value=[value];}
for(var item in value){var match=value[item];if(query.when({array:function(){for(var i=0;i<query.value.length;i++){if(query.helper.match(query.value[i],match)){return true;}}},other:function(){return query.helper.match(query.value.toString(),match);}})){return true;};}}},{name:"less",count:1,type:"query",method:function(query,value){value=query.helper.when(value,{number:function(){return value;},date:function(){return value;},other:function(){return value.length;}});return query.when({string:function(){return(query.value.length<value);},array:function(){return(query.value.length<value);},other:function(){return(query.value<value);}});}},{name:"greater",count:1,type:"query",method:function(query,value){value=query.helper.when(value,{number:function(){return value;},date:function(){return value;},other:function(){return value.length;}});return query.when({string:function(){return(query.value.length>value);},array:function(){return(query.value.length>value);},other:function(){return(query.value>value);}});}},{name:"lessEquals",count:1,type:"query",method:function(query,value){value=query.helper.when(value,{number:function(){return value;},date:function(){return value;},other:function(){return value.length;}});return query.when({string:function(){return(query.value.length<=value);},array:function(){return(query.value.length<=value);},other:function(){return(query.value<=value);}});}},{name:"greaterEquals",count:1,type:"query",method:function(query,value){value=query.helper.when(value,{number:function(){return value;},date:function(){return value;},other:function(){return value.length;}});return query.when({string:function(){return(query.value.length>=value);},array:function(){return(query.value.length>=value);},other:function(){return(query.value>=value);}});}},{name:"between",count:2,type:"query",method:function(query,low,high){low=query.helper.when(low,{number:function(){return low;},date:function(){return value;},other:function(){return low.length;}});high=query.helper.when(high,{number:function(){return high;},other:function(){return high.length;}});return query.when({string:function(){return(query.value.length>low&&query.value.length<high);},array:function(){return(query.value.length>low&&query.value.length<high);},other:function(){return(query.value>low&&query.value<high);}});}},{name:"betweenEquals",count:2,type:"query",method:function(query,low,high){low=query.helper.when(low,{number:function(){return low;},date:function(){return value;},other:function(){return low.length;}});high=query.helper.when(high,{number:function(){return high;},date:function(){return value;},other:function(){return high.length;}});return query.when({string:function(){return(query.value.length>=low&&query.value.length<=high);},array:function(){return(query.value.length>=low&&query.value.length<=high);},other:function(){return(query.value>=low&&query.value<=high);}});}},{name:"empty",count:0,type:"query",method:function(query){return query.when({array:function(){return(query.value.length==0);},string:function(){return(query.value=="");},empty:function(){return true;}});}},{name:"is",count:0,type:"query",method:function(query){return query.when({bool:function(){return query.value;},empty:function(){return false;},other:function(){return(query.value!=null);}});}},{name:"isNot",count:0,type:"query",method:function(query){return query.when({bool:function(){return!query.value;},empty:function(){return true;},other:function(){return(query.value==null);}});}},{name:"any",type:"selection",method:function(query){return(query.results.selected.length>0);}},{name:"all",type:"selection",method:function(query){return(query.results.selected.length==query.state.data.length);}},{name:"none",type:"selection",method:function(query){return!query.query.all();}},{name:"count",type:"selection",method:function(query,invert){return invert?query.results.remaining.length:query.results.selected.length;}},{name:"select",type:"selection",method:function(query,selection,invert){var records=[];var results=invert?query.results.remaining:query.results.selected;selection=query.helper.type(selection)=="function"?selection:function(r){return r;};for(var i=0;i<results.length;i++){records.push(selection(results[i]));}
return records;}},{name:"toTable",type:"selection",manual:true,method:function(query,params,selection,invert){params=params?params:{};var results=query.query.select(selection,invert);if(results.count==0){return"No results for this query";}
var getString=function(raw){query.helper.when(raw,{date:function(){raw=query.helper.format("%0%/%1%/%2% at %3%:%4% %5%",[raw.getMonth()+1,raw.getDate(),raw.getFullYear(),(raw.getHours()>12?raw.getHours()-12:raw.getHours()),raw.getMinutes(),(raw.getHours()>12?"PM":"AM")]);},empty:function(){raw="null";},other:function(){raw=raw.toString();}});return raw;};var output=["<table cellpadding='0' cellspacing='0' "+
(params.border?"border='"+params.border+"' ":"")+
(params.css?"class='"+params.css+"' ":"")+" >"];if(query.state.useProperties){var columns=[];output.push("<tr>");for(var item in results[0]){columns.push(item);output.push("<th>");output.push(escape(item));output.push("</th>");}
output.push("</tr>");}
var alt=true;for(var i=0;i<results.length;i++){alt=!alt;var record=results[i];output.push("<tr "+(alt?"class='alt-row'":"")+">");if(query.state.useProperties){for(var col in columns){var item=columns[col];var val=record[item];var msg=getString(val);output.push("<td>");output.push(msg);output.push("</td>");}}
else{output.push("<td>");output.push(getString(record));output.push("</td>");}
output.push("</tr>");}
output.push("</table>");return output.join("");}},{name:"each",type:"selection",manual:true,method:function(query,action,selection,invert){var results=query.query.select(selection,invert);for(var i=0;i<results.length;i++){action(results[i],i);}
return query.query;}},{name:"orderBy",type:"selection",manual:true,method:function(query,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25){var order=query.helper.all([v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25]);if(order.length==0){order=[""];}
if(!query.state.useProperties){var desc=(order.length>0)?(order[0]+"").match(/^\-/g):false;query.state.data=query.helper.sort(query.state.data,null,desc);return query.query;}
var sorting=[];for(var i=0;i<order.length;i++){sorting.push({desc:(order[i].substr(0,1)=="-"),field:order[i].replace(/^\-/g,"")});}
query.state.data=query.helper.sort(query.state.data,sorting);return query.query;}},{name:"distinct",type:"selection",method:function(query,field,invert){var sel=invert?query.results.remaining:query.results.selected;var results=query.helper.distinct(sel,field);var dist=[];for(var item in results){dist.push(results[item].key);}
return query.helper.sort(dist,null,false);}},{name:"groupBy",type:"selection",method:function(query,field,invert){var sel=invert?query.results.remaining:query.results.selected;var results=query.helper.distinct(sel,field);return jLinq.from(results);}},{name:"join",type:"selection",method:function(query,source,alias,pk,fk){source=query.helper.clone(source);var gen=[];for(var i=0;i<query.state.data.length;i++){var record=query.helper.clone(query.state.data[i]);var results=jLinq.from(source).equals(fk,record[pk]).select();if(results.length==1){record[alias]=results[0];}
else{record[i][alias]=results;}
gen.push(record);}
return jLinq.from(gen);}},{name:"attach",type:"selection",method:function(query,alias,delegate){for(var i=0;i<query.state.data.length;i++){query.state.data[i][alias]=delegate(query.state.data[i]);}}},{name:"skipTake",type:"selection",manual:true,method:function(query,skip,take,selection,invert){skip=Math.max(query.helper.type(skip)=="number"?skip:0,0);take=Math.max(query.helper.type(take)=="number"?take:0,0);var results=query.query.select(selection,invert);return results.slice(skip,(skip+take));}},{name:"take",type:"selection",manual:true,method:function(query,take,selection,invert){take=Math.max(query.helper.type(take)=="number"?take:0,0);var results=query.query.select(selection,invert);return results.slice(0,take);}},{name:"first",type:"selection",manual:true,method:function(query,defType,selection,invert){var results=query.query.select(selection,invert);return results.length>0?results[0]:defType?defType:null;}},{name:"last",type:"selection",manual:true,method:function(query,defType,selection,invert){var results=query.query.select(selection,invert);return results.length>0?results[results.length-1]:defType?defType:null;}},{name:"at",type:"selection",manual:true,method:function(query,index,defType,selection,invert){var results=query.query.select(selection,invert);return index<results.length||index>=0?results[index]:defType?defType:null;}},{name:"sum",type:"selection",method:function(query,field,invert){if(!query.state.useProperties){invert=field;}
var sel=invert?query.results.remaining:query.results.selected;var result=0;query.helper.each(sel,function(rec){if(query.state.useProperties){if(result==null){result=rec[field];}
else{query.helper.when(rec[field],{array:function(){result+=rec[field].length;},string:function(){result+=rec[field].length;},other:function(){result+=rec[field];}});}}
else{query.helper.when(rec,{array:function(){result+=rec.length;},string:function(){result+=rec.length;},other:function(){result+=rec;}});}});return{count:sel.length,result:result,records:sel};}},{name:"average",type:"selection",method:function(query,field,invert){var sel=invert?query.results.remaining:query.results.selected;var sum=jLinq.from(sel).sum(field).result;return{total:sum,count:sel.length,result:(sum/sel.length),records:sel};}},{name:"max",type:"selection",method:function(query,field,invert){var list=jLinq.from(invert?query.results.remaining:query.results.selected).select(function(r){r=query.state.useProperties?r[field]:r;return{value:r,count:query.helper.getNumericValue(r)}});return jLinq.from(list).orderBy("count","value").last()["value"];}},{name:"min",type:"selection",method:function(query,field,invert){var list=jLinq.from(invert?query.results.remaining:query.results.selected).select(function(r){r=query.state.useProperties?r[field]:r;return{value:r,count:query.helper.getNumericValue(r)}});return jLinq.from(list).orderBy("count","value").first()["value"];}},{name:"except",type:"selection",method:function(query,compare,invert){var selection=invert?query.results.remaining:query.results.selected;if(!(compare&&compare.length&&compare.length>0)){return jLinq.from(selection);}
var result=jLinq.from(selection).notWhere(function(val){for(var i=0;i<compare.length;i++){if(query.state.useProperties){if(query.helper.propsEqual(compare[i],val)){return true;}}
else{if(query.helper.equals(compare[i],val)){return true;}}}
return false;}).select();return jLinq.from(result);}},{name:"intersect",type:"selection",method:function(query,compare,invert){var selection=invert?query.results.remaining:query.results.selected;if(!(compare&&compare.length&&compare.length>0)){return jLinq.from(selection);}
var result=jLinq.from(selection).where(function(val){for(var i=0;i<compare.length;i++){if(query.state.useProperties){if(query.helper.propsEqual(compare[i],val)){return true;}}
else{if(query.helper.equals(compare[i],val)){return true;}}}
return false;}).select();return jLinq.from(result);}},{name:"union",type:"selection",method:function(query,compare,invert){var selection=invert?query.results.remaining:query.results.selected;if(!(compare&&compare.length&&compare.length>0)){return jLinq.from(selection);}
return jLinq.from(compare.concat(jLinq.from(selection).where(function(val){for(var i=0;i<compare.length;i++){if(query.state.useProperties){if(query.helper.propsEqual(compare[i],val)){return false;}}
else{if(query.helper.equals(compare[i],val)){return false;}}}
return true;}).select()));}},{name:"skipWhile",type:"selection",method:function(query,delegate,invert){var selection=invert?query.results.remaining:query.results.selected;var skip=true;return jLinq.from(selection).where(function(rec,helper){if(skip){skip=delegate(rec,helper);}
return!skip;}).select();}},{name:"takeWhile",type:"selection",method:function(query,delegate,invert){var selection=invert?query.results.remaining:query.results.selected;var take=true;return jLinq.from(selection).where(function(rec,helper){if(take){take=delegate(rec,query.helper);}
return take;}).select();}},{name:"selectMany",type:"selection",method:function(query,collection,delegate,select,invert){var selection=invert?query.results.remaining:query.results.selected;select=select?select:function(r,s){return{source:r,compare:s};};var results=[];query.helper.each(selection,function(rec){query.helper.each(collection,function(sub){if(delegate(rec,sub)){results.push(select(rec,sub));}});});return results;}}]};};jLinq=new library(_defaultLibrary());jLinq.finish(true);jLinq.library=function(settings,imp){if(imp==null){imp=true;}
var lib=new library(_defaultLibrary());if(!imp){lib.types={};lib.extend=[];}
var lock=false;if(settings){if(settings.extend){for(var ext in settings.extend){lib.extend(settings.extend[ext])}}
if(settings.types){for(var type in settings.types){lib.addType(settings.types[type]);;}}
if(settings.locked){lock=settings.locked;}};lib.finish(lock);return lib;};})();

var Locale={};String.prototype.format=function(){var args=arguments;return this.replace(/\{\{[^{}]*\}\}|\{(\d+)(,\s*([\w.]+))?\}/g,function(m,a1,a2,a3){if(m.chatAt=='{'){return m.slice(1,-1);}
var rpl=args[a1];if(a3){var f=eval(a3);rpl=f(rpl);}
return rpl?rpl:'';});};

MailingAddressbook=function(mailingTo){var addressbookDialog,icGroups,tbPaging,bNoPaging,pan,sm;var addressData,addressBookStore,addressGrid,maillist,mailingGroupsStore=null,searchString="",currentUserGroupId=0;var selectedList=[],existingMailIds=[];if(mailingTo.getValue().length>0)
existingMailIds=mailingTo.getValue().split(";");var triggerSearchField=new Ext.SearchField({hideLabel:true,emptyText:Locale.MailingAddressbook.Search,width:200,plugins:new PP.widget.FieldTooltipPlugin({header:false,position:'bottom',title:false,html:Locale.MailingAddressbook.tt_Search})});var tb=new Ext.Toolbar({height:25});this.getWindow=function(){return addressbookDialog;}
this.getRecords=function(){return selectedList;}
this.loadAddressBook=function(mailGroups,mailAll){addressBookStore=new Ext.data.Store({proxy:new Ext.data.HttpProxy({url:'../Webservice/UserService.svc/GetUsers'}),reader:new Ext.data.JsonReader({root:'Users',totalProperty:'TotalUsers'},[{name:'UserId',mapping:'UserId'},{name:'Firstname',mapping:'Firstname'},{name:'Lastname',mapping:'Lastname'},{name:'State',mapping:'State'},{name:'EmailAddress',mapping:'EmailAddress'}]),sortInfo:{field:'EmailAddress',direction:'ASC'},remoteSort:true});sm=new Ext.grid.CheckboxSelectionModel({checked:false,checkHandler:function(item,checked)
{}});sm.on('rowselect',function(model,index,rec){for(var i=0;i<selectedList.length;i++)
if(selectedList[i].get("EmailAddress")==rec.get("EmailAddress"))
return true;selectedList.push(rec);});sm.on('rowdeselect',function(model,index,rec){var tempList=[];for(var i=0;i<selectedList.length;i++)
if(selectedList[i].get("EmailAddress")!=rec.get("EmailAddress"))
tempList.push(selectedList[i]);selectedList=tempList;tempList=[];for(var i=0;i<existingMailIds.length;i++)
if(existingMailIds[i]!=rec.get("EmailAddress"))
tempList.push(existingMailIds[i]);existingMailIds=tempList;});var colModel=new Ext.grid.ColumnModel([sm,{header:"Firstname",dataIndex:'Firstname',width:150,sortable:true,tooltip:Locale.MailingAddressbook.tt_Firstname},{header:"Lastname",dataIndex:'Lastname',width:150,sortable:true,tooltip:Locale.MailingAddressbook.tt_Lastname},{header:"eMail",dataIndex:'EmailAddress',width:230,sortable:true,tooltip:Locale.MailingAddressbook.tt_Email},{header:"State",dataIndex:'State',width:200,sortable:true,tooltip:Locale.MailingAddressbook.tt_Email,renderer:function(state){switch(state)
{case 20:return Locale.UserManager.UserState_20;case 21:return Locale.UserManager.UserState_21;case 22:return Locale.UserManager.UserState_22;case 30:return Locale.UserManager.UserState_30;case 31:return Locale.UserManager.UserState_31;case 40:return Locale.UserManager.UserState_40;case 41:return Locale.UserManager.UserState_41;case 42:return Locale.UserManager.UserState_42;case 43:return Locale.UserManager.UserState_43;case 50:return Locale.UserManager.UserState_50;}}}]);colModel.defaultSortable=true;addressGrid=new Ext.grid.GridPanel({region:'center',autoScroll:true,ds:addressBookStore,height:285,cm:colModel,multiSelect:true,enableColLock:false,loadMask:false,border:false,sm:sm,stripeRows:true,trackMouseOver:true,tbar:tbPaging=new Ext.PagingToolbar({pageSize:20,store:addressBookStore,displayInfo:true,displayMsg:Locale.MailingAddressbook.MsgDisplayTopic,emptyMsg:Locale.MailingAddressbook.MsgNoTopic})});addressBookStore.on('load',function(st,arr,opt){for(var j=0;j<selectedList.length;j++)
for(var i=0;i<arr.length;i++)
if(selectedList[j]&&arr[i].get("EmailAddress")==selectedList[j].get("EmailAddress"))
sm.selectRow(i,true);for(var j=0;j<existingMailIds.length;j++)
for(var i=0;i<arr.length;i++)
if(arr[i].get("EmailAddress")==existingMailIds[j])
sm.selectRow(i,true);});addressGrid.on("rowdblclick",function(grid,rowIndex,e){addAddresses();},this);pan=new Ext.Panel({region:'center',layout:'border',border:false,items:addressGrid,tbar:tb});addressbookDialog=new Ext.Window({title:Locale.MailingAddressbook.MailingAddressbook,closable:true,resizable:true,width:800,height:420,layout:'border',items:pan,border:true,modal:true,buttons:[{text:Locale.MailingAddressbook.OK,tooltip:Locale.MailingAddressbook.tt_OK,handler:addAddresses},{text:Locale.MailingAddressbook.Cancel,tooltip:Locale.MailingAddressbook.tt_Cancel,handler:function(){addressbookDialog.close();}}]});if(mailGroups==true||mailAll==true)
loadMailingGroups(mailGroups,mailAll);else
showAddressBook();}
var addAddresses=function()
{var mailIds=selectedList;maillist='';for(var i=0;i<mailIds.length;i++)
maillist+=mailIds[i].get('EmailAddress')+';';maillist=maillist.substring(0,maillist.length-1);var tempList=[];for(var i=0;i<existingMailIds.length;i++)
{for(var j=0;j<selectedList.length;j++)
if(selectedList[j].get("EmailAddress")==existingMailIds[i])
break;if(j==selectedList.length)
tempList.push(existingMailIds[i]);}
if(maillist=='')
maillist=tempList.join(";");else if(tempList.length!=0)
maillist=maillist+";"+tempList.join(";");mailingTo.setValue(maillist);addressbookDialog.close();}
var reload=function(){addressBookStore.baseParams={searchString:searchString,userGroupId:currentUserGroupId}
if(bNoPaging.pressed)
{addressBookStore.load({params:{start:0,limit:0}});tbPaging.hide();}
else
{addressBookStore.load({params:{start:0,limit:20}});tbPaging.show();}}
var loadMailingGroups=function(mailGroups,mailAll){mailingGroupsStore=new Ext.data.Store({proxy:new Ext.data.HttpProxy({url:'../Webservice/UsergroupService.svc/GetUserGroups'}),reader:new Ext.data.JsonReader({},[{name:'UserGroupId',mapping:'UserGroupId'},{name:'UserGroup',mapping:'UserGroup'},{name:'ReceiveMailings',mapping:'ReceiveMailings'},{name:'iconImg',mapping:'iconImg'}])});mailingGroupsStore.load();mailingGroupsStore.on('load',function(){mailingGroupsStore.filterBy(function(record,id){if(mailGroups&&record.get("ReceiveMailings"))
return true;})
showAddressBook();});}
triggerSearchField.on('search',function(ftext){searchString=ftext;reload();},this);var showAddressBook=function(){addressBookStore.load({params:{start:0,limit:20,searchString:searchString,userGroupId:currentUserGroupId}});icGroups=new PP.widget.IconComboBox({xtype:'iconcombo',editable:false,fieldLabel:'Groups',store:mailingGroupsStore,valueField:'UserGroupId',displayField:'UserGroup',hiddenName:'UserGroupId',iconClsField:'iconImg',triggerAction:'all',lastQuery:'',name:'MailingGroups',mode:'local',width:250,plugins:new PP.widget.FieldTooltipPlugin({header:false,position:'bottom',title:false,html:Locale.MailingAddressbook.tt_UserGroupId})});icGroups.on('select',function(c,r,i){currentUserGroupId=r.get('UserGroupId');reload();});addressbookDialog.show();tb.add(triggerSearchField);tb.add("->");tb.add(bNoPaging=new Ext.Toolbar.Button({pressed:false,enableToggle:true,text:Locale.MailingAddressbook.NoPaging,tooltip:Locale.MailingAddressbook.tt_NoPaging,toggleHandler:reload}));if(mailingGroupsStore.getCount()>1)
tb.add(icGroups);}}

var MetadataManager=function(controller)
{var mainWindow,metadataKeywordsGrid,metadataCopyrightsGrid;var assetFieldsStore=controller.getConfiguration().getAssetFields();var tbBtnPrev,tbBtnNext,tbEdit,tbDelete;var textFieldsArray;var copyrightsStore=new Ext.data.Store({proxy:new Ext.data.HttpProxy({url:'../Webservice/ConfigurationService.svc/GetCopyrights'}),reader:new Ext.data.JsonReader({},[{name:'Key',mapping:'Key'},{name:'Value',mapping:'Value'}])});copyrightsStore.on('load',function(st){controller.getConfiguration().updateCopyrights(st);});var fetchKeyword=function(value){for(var i=0;i<value.length;i++)
if(controller.getConfiguration().getUserSettings().LanguageAbbreviation==value[i].Language)
return value[i].Value;}
var keywordsStore=new Ext.data.Store({proxy:new Ext.data.HttpProxy({url:'../Webservice/ConfigurationService.svc/GetKeywords'}),reader:new Ext.data.JsonReader({},[{name:'Key',mapping:'Key'},{name:'Values',mapping:'Values',sortType:fetchKeyword}])});keywordsStore.on('load',function(st){});var metadataKeywordsGridSelectionModel=new Ext.grid.CheckboxSelectionModel();var metadataCopyrightsGridSelectionModel=new Ext.grid.CheckboxSelectionModel();var editKeywordsValue=function(keywordRecord)
{var rowIndex,currentKeywordId;var tb=new Ext.Toolbar({height:25,border:false});textFieldsArray=new Array();var languageMappings=controller.getConfiguration().getLanguageMappings();if(keywordRecord!=-1)
{currentKeywordId=keywordRecord.get('Key');for(var i=0,j=0;i<keywordRecord.get('Values').length;i++)
{var languageIndex=languageMappings.find('Abbreviation',keywordRecord.get('Values')[i].Language);if(languageMappings.getAt(languageIndex).get('Abbreviation')==languageMappings.getAt(languageIndex).get('Mapping'))
{textFieldsArray[j++]=new Ext.form.TextField({fieldLabel:languageMappings.getAt(languageIndex).get('Language'),name:'key_'+languageMappings.getAt(languageIndex).get('Abbreviation'),width:300,allowBlank:false,value:keywordRecord.get('Values')[i].Value});}}
rowIndex=keywordsStore.findBy(function(rec){var tempValues=rec.get('Values')
for(var i=0;i<tempValues.length;i++)
{if(tempValues[i].Value!=keywordRecord.get('Values')[i].Value)
return false;}
return true;});}
else
{for(var i=0,j=0;i<languageMappings.getCount();i++)
{if(languageMappings.getAt(i).get('Abbreviation')==languageMappings.getAt(i).get('Mapping'))
{textFieldsArray[j++]=new Ext.form.TextField({fieldLabel:languageMappings.getAt(i).get('Language'),name:'key_'+languageMappings.getAt(i).get('Abbreviation'),allowBlank:false,width:300});}}}
var editKeywordsFormPanel=new Ext.form.FormPanel({border:false,labelWidth:70,bodyStyle:'padding:5px 5px 0',items:textFieldsArray});var editKeywordsWindow=new PP.Window({title:keywordRecord==-1?Locale.MetadataManager.New:Locale.MetadataManager.Edit,closable:true,resizable:true,shadow:true,minimizable:false,width:400,autoHeight:true,modal:true,tbar:tb,items:[editKeywordsFormPanel]});editKeywordsWindow.on('show',function(){textFieldsArray[0].focus(false,400);});editKeywordsWindow.show();tb.add({text:Locale.MetadataManager.Save,tooltip:Locale.MetadataManager.tt_Save,iconCls:'t-sprite x-toolbar-save',handler:function(){if(editKeywordsFormPanel.getForm().isValid())
{var keywordInfo=[];for(var i=0;i<textFieldsArray.length;i++)
{keywordInfo.push({Language:textFieldsArray[i].name.split("_")[1],Value:textFieldsArray[i].getValue()});}
if(keywordRecord==-1)
{Ext.Ajax.request({url:'../Webservice/ConfigurationService.svc/CreateKeyword',params:{keywords:keywordInfo},success:function(){keywordsStore.reload();controller.getConfiguration().reload();editKeywordsWindow.close();}});}
else
UpdateKeyword(currentKeywordId,keywordInfo,true);}}});tb.add({text:Locale.MetadataManager.Cancel,tooltip:Locale.MetadataManager.tt_Cancel,iconCls:'t-sprite x-toolbar-remove',handler:function(){editKeywordsWindow.close();}});var UpdateKeyword=function(keywordId,keywordInfo,closeOnSuccess){Ext.Ajax.request({url:'../Webservice/ConfigurationService.svc/UpdateKeyword',params:{keywordId:keywordId,keywordTranslations:keywordInfo},success:function(){keywordsStore.reload();controller.getConfiguration().reload();if(closeOnSuccess)
editKeywordsWindow.close();}});}
var prevKeyword=function(){tbBtnNext.enable();var isDirty=false;for(i=0;i<textFieldsArray.length;i++)
{if(textFieldsArray[i].getValue()!=keywordsStore.getAt(rowIndex).get('Values')[i].Value)
{isDirty=true;break;}}
if(isDirty)
{var tempId=keywordsStore.getAt(rowIndex).get('Key');var tempInfo=[];for(var i=0;i<textFieldsArray.length;i++)
{tempInfo.push({Language:textFieldsArray[i].name.split("_")[1],Value:textFieldsArray[i].getValue()});}
Ext.Msg.show({title:Locale.MetadataManager.SaveChangesTitle,msg:Locale.MetadataManager.SaveChangesMessage,buttons:Ext.Msg.YESNOCANCEL,fn:function(x){if(x=="yes")
UpdateKeyword(tempId,tempInfo,false);else if(x=="cancel")
return;rowIndex--;currentKeywordId=keywordsStore.getAt(rowIndex).get('Key');for(i=0;i<textFieldsArray.length;i++)
textFieldsArray[i].setValue(keywordsStore.getAt(rowIndex).get('Values')[i].Value);if(rowIndex==0)
tbBtnPrev.disable();},icon:Ext.Msg.QUESTION},this);}
else
{rowIndex--;currentKeywordId=keywordsStore.getAt(rowIndex).get('Key');for(i=0;i<textFieldsArray.length;i++)
textFieldsArray[i].setValue(keywordsStore.getAt(rowIndex).get('Values')[i].Value);if(rowIndex==0)
tbBtnPrev.disable();}}
var nextKeyword=function(){tbBtnPrev.enable();var isDirty=false;for(i=0;i<textFieldsArray.length;i++)
{if(textFieldsArray[i].getValue()!=keywordsStore.getAt(rowIndex).get('Values')[i].Value)
{isDirty=true;break;}}
if(isDirty)
{var tempId=keywordsStore.getAt(rowIndex).get('Key');var tempInfo=[];for(var i=0;i<textFieldsArray.length;i++)
{tempInfo.push({Language:textFieldsArray[i].name.split("_")[1],Value:textFieldsArray[i].getValue()});}
Ext.Msg.show({title:Locale.MetadataManager.SaveChangesTitle,msg:Locale.MetadataManager.SaveChangesMessage,buttons:Ext.Msg.YESNOCANCEL,fn:function(x){if(x=="yes")
UpdateKeyword(tempId,tempInfo,false);else if(x=="cancel")
return;rowIndex++;currentKeywordId=keywordsStore.getAt(rowIndex).get('Key');for(i=0;i<textFieldsArray.length;i++)
textFieldsArray[i].setValue(keywordsStore.getAt(rowIndex).get('Values')[i].Value);if(rowIndex==keywordsStore.getCount()-1)
tbBtnNext.disable();},icon:Ext.Msg.QUESTION},this);}
else
{rowIndex++;currentKeywordId=keywordsStore.getAt(rowIndex).get('Key');for(i=0;i<textFieldsArray.length;i++)
textFieldsArray[i].setValue(keywordsStore.getAt(rowIndex).get('Values')[i].Value);if(rowIndex==keywordsStore.getCount()-1)
tbBtnNext.disable();}}
if(keywordRecord!=-1)
{tb.addFill();tbBtnPrev=new Ext.Button({iconCls:'t-sprite x-toolbar-previous',cls:'x-btn-icon',handler:prevKeyword,disabled:rowIndex==0?true:false,tooltip:Locale.MetadataManager.tt_Prev})
tb.add(tbBtnPrev);tbBtnNext=new Ext.Button({iconCls:'t-sprite x-toolbar-next',cls:'x-btn-icon',handler:nextKeyword,disabled:(rowIndex==keywordsStore.getCount()-1)?true:false,tooltip:Locale.MetadataManager.tt_Next})
tb.add(tbBtnNext);}}
var editCopyrightsValue=function(copyrightRecord)
{var rowIndex,currentCopyrightId;if(copyrightRecord!=-1)
{rowIndex=copyrightsStore.find('Value',copyrightRecord.get('Value'));currentCopyrightId=copyrightRecord.get('Key');}
var tb=new Ext.Toolbar({height:25,border:false});var valueTextField=new Ext.form.TextField({fieldLabel:Locale.MetadataManager.Copyright,name:'first',value:copyrightRecord==-1?'':copyrightRecord.get('Value'),width:300});var editCopyrightsFormPanel=new Ext.form.FormPanel({border:false,bodyStyle:'padding:5px 5px 0',labelWidth:70,items:valueTextField});editCopyrightsWindow=new PP.Window({title:copyrightRecord==-1?Locale.MetadataManager.New:Locale.MetadataManager.Edit,closable:true,resizable:true,shadow:true,minimizable:false,width:400,autoHeight:true,modal:true,tbar:tb,items:[editCopyrightsFormPanel]});editCopyrightsWindow.on('show',function(){valueTextField.focus(false,400);});editCopyrightsWindow.show();tb.add({text:Locale.MetadataManager.Save,tooltip:Locale.MetadataManager.tt_Save,iconCls:'t-sprite x-toolbar-save',handler:function(){if(editCopyrightsFormPanel.getForm().isValid())
{if(copyrightRecord==-1)
{Ext.Ajax.request({url:'../Webservice/ConfigurationService.svc/CreateCopyright',params:{copyrightName:valueTextField.getValue()},success:function(){copyrightsStore.reload();editCopyrightsWindow.close();}});}
else
{UpdateCopyright(currentCopyrightId,valueTextField.getValue(),true);}}}});tb.add({text:Locale.MetadataManager.Cancel,iconCls:'t-sprite x-toolbar-remove',tooltip:Locale.MetadataManager.tt_Cancel,handler:function(){editCopyrightsWindow.close();}});var UpdateCopyright=function(tempId,tempValue,closeOnSuccess){Ext.Ajax.request({url:'../Webservice/ConfigurationService.svc/UpdateCopyright',params:{copyrightId:tempId,copyrightName:tempValue},success:function(){copyrightsStore.reload();if(closeOnSuccess)
editCopyrightsWindow.close();}});}
var prevCopyrights=function(){tbBtnNext.enable();if(valueTextField.getValue()!=copyrightsStore.getAt(rowIndex).get('Value'))
{var tempId=currentCopyrightId;var tempValue=valueTextField.getValue();Ext.Msg.show({title:Locale.MetadataManager.SaveChangesTitle,msg:Locale.MetadataManager.SaveChangesMessage,buttons:Ext.Msg.YESNOCANCEL,fn:function(x){if(x=="yes")
UpdateCopyright(tempId,tempValue,false);else if(x=="cancel")
return;rowIndex--;currentCopyrightId=copyrightsStore.getAt(rowIndex).get('Key');valueTextField.setValue(copyrightsStore.getAt(rowIndex).get('Value'));if(rowIndex==0)
tbBtnPrev.disable();},icon:Ext.Msg.QUESTION},this);}
else
{rowIndex--;currentCopyrightId=copyrightsStore.getAt(rowIndex).get('Key');valueTextField.setValue(copyrightsStore.getAt(rowIndex).get('Value'));if(rowIndex==0)
tbBtnPrev.disable();}}
var nextCopyrights=function(){tbBtnPrev.enable();if(valueTextField.getValue()!=copyrightsStore.getAt(rowIndex).get('Value'))
{var tempId=currentCopyrightId;var tempValue=valueTextField.getValue();Ext.Msg.show({title:Locale.MetadataManager.SaveChangesTitle,msg:Locale.MetadataManager.SaveChangesMessage,buttons:Ext.Msg.YESNOCANCEL,fn:function(x){if(x=="yes")
UpdateCopyright(tempId,tempValue,false);else if(x=="cancel")
return;rowIndex++;currentCopyrightId=copyrightsStore.getAt(rowIndex).get('Key');valueTextField.setValue(copyrightsStore.getAt(rowIndex).get('Value'));if(rowIndex==copyrightsStore.getCount()-1)
tbBtnNext.disable();},icon:Ext.Msg.QUESTION},this);}
else
{rowIndex++;currentCopyrightId=copyrightsStore.getAt(rowIndex).get('Key');valueTextField.setValue(copyrightsStore.getAt(rowIndex).get('Value'));if(rowIndex==copyrightsStore.getCount()-1)
tbBtnNext.disable();}}
if(copyrightRecord!=-1)
{tb.addFill();tbBtnPrev=new Ext.Button({iconCls:'t-sprite x-toolbar-previous',cls:'x-btn-icon',handler:prevCopyrights,disabled:rowIndex==0?true:false,tooltip:Locale.MetadataManager.tt_Prev})
tb.add(tbBtnPrev);tbBtnNext=new Ext.Button({iconCls:'t-sprite x-toolbar-next',cls:'x-btn-icon',handler:nextCopyrights,disabled:(rowIndex==copyrightsStore.getCount()-1)?true:false,tooltip:Locale.MetadataManager.tt_Next})
tb.add(tbBtnNext);}}
var removeKeywords=function(keywordsList){Ext.MessageBox.confirm(Locale.MetadataManager.ConfirmRemoveKeywordTitle,Locale.MetadataManager.ConfirmRemoveKeyword,function(btn){if(btn=="yes")
{Ext.Ajax.request({url:'../Webservice/ConfigurationService.svc/RemoveKeywords',params:{keywordIds:keywordsList},success:function(){controller.getConfiguration().reload();keywordsStore.reload();}});}},this)}
var removeCopyright=function(copyrightsList){Ext.MessageBox.confirm(Locale.MetadataManager.ConfirmRemoveCopyrightTitle,Locale.MetadataManager.ConfirmRemoveCopyright,function(btn){if(btn=="yes")
{Ext.Ajax.request({url:'../Webservice/ConfigurationService.svc/RemoveCopyrights',params:{copyrightIds:copyrightsList},success:function(response){copyrightsStore.reload();}});}},this)}
this.show=function(editCopyrights,editKeywords){if(editKeywords)keywordsStore.load();if(editCopyrights)copyrightsStore.load();var rootNode=new Ext.tree.TreeNode({text:Locale.MetadataManager.Fields,allowDrag:false,allowDrop:false});var copyrightsNode=new Ext.tree.TreeNode({text:Locale.MetadataManager.Copyrights,id:'Copyrights',icon:'images/folder.png'});var keywordsNode=new Ext.tree.TreeNode({text:Locale.MetadataManager.Keywords,id:'Keywords',icon:'images/folder.png'});var fieldsTree=new Ext.tree.TreePanel({animate:true,rootVisible:false,border:false,title:Locale.MetadataManager.Fields,root:rootNode});if(editCopyrights)rootNode.appendChild(copyrightsNode);if(editKeywords)rootNode.appendChild(keywordsNode);new Ext.tree.TreeSorter(rootNode,{});fieldsTree.on('click',function(node,e){if(node.id=="Copyrights")
{metadataKeywordsGrid.hide();metadataCopyrightsGrid.show();if(metadataCopyrightsGridSelectionModel.getCount()==0)
{tbEdit.disable();tbDelete.disable();}
else
{tbEdit.enable();tbDelete.enable();}}
else if(node.id=="Keywords")
{metadataCopyrightsGrid.hide();metadataKeywordsGrid.show();if(metadataKeywordsGridSelectionModel.getCount()==0)
{tbEdit.disable();tbDelete.disable();}
else
{tbEdit.enable();tbDelete.enable();}}});metadataKeywordsGrid=new Ext.grid.GridPanel({closeaction:'hide',trackMouseOver:true,border:false,ds:keywordsStore,cm:new Ext.grid.ColumnModel([metadataKeywordsGridSelectionModel,{header:'<b>'+Locale.MetadataManager.Keywords+'</b>',dataIndex:'Values',sortable:true,renderer:fetchKeyword}]),viewConfig:{forceFit:true},sm:metadataKeywordsGridSelectionModel,multiSelect:true,stripeRows:true,height:380,autoScroll:true});metadataCopyrightsGrid=new Ext.grid.GridPanel({store:copyrightsStore,trackMouseOver:true,border:false,cm:new Ext.grid.ColumnModel([metadataCopyrightsGridSelectionModel,{header:'<b>'+Locale.MetadataManager.Copyrights+'</b>',dataIndex:'Value',sortable:true}]),viewConfig:{forceFit:true},sm:metadataCopyrightsGridSelectionModel,multiSelect:true,stripeRows:true,height:380,autoScroll:true});metadataKeywordsGrid.on('rowdblclick',function(grid,rowIndex,e){editKeywordsValue(keywordsStore.getAt(rowIndex));});metadataCopyrightsGrid.on('rowdblclick',function(grid,rowIndex,e){editCopyrightsValue(copyrightsStore.getAt(rowIndex));});metadataCopyrightsGrid.on("rowcontextmenu",function(metadataCopyrightsGrid,rowIndex,e)
{e.stopEvent();var cmAsset=new Ext.menu.ContextMenu({items:[{text:Locale.MetadataManager.Edit,name:"ContextMenu_"+rowIndex,iconCls:'t-sprite x-toolbar-edit',handler:function(item){var rowIndex=item.name.split("_")[1];editCopyrightsValue(copyrightsStore.getAt(rowIndex));}},{text:Locale.MetadataManager.Delete,name:"ContextMenu_"+rowIndex,scope:this,iconCls:'t-sprite x-toolbar-remove',handler:function(item){var rowIndex=item.name.split("_")[1];removeCopyright([copyrightsStore.getAt(rowIndex).data.Key]);}}]},e);},this);metadataKeywordsGrid.on("rowcontextmenu",function(metadataKeywordsGrid,rowIndex,e)
{e.stopEvent();var cmAsset=new Ext.menu.ContextMenu({items:[{text:Locale.MetadataManager.Edit,name:"ContextMenu_"+rowIndex,iconCls:'t-sprite x-toolbar-edit',handler:function(item){var rowIndex=item.name.split("_")[1];editKeywordsValue(keywordsStore.getAt(rowIndex));}},{text:Locale.MetadataManager.Delete,name:"ContextMenu_"+rowIndex,scope:this,iconCls:'t-sprite x-toolbar-remove',handler:function(item){var rowIndex=item.name.split("_")[1];var keywordsList=[];keywordsList.push(keywordsStore.getAt(rowIndex).get('Key'));removeKeywords(keywordsList);}}]},e);},this);var centerToolbar=new Ext.Toolbar({height:25,border:false});mainWindow=new PP.Window({title:Locale.MetadataManager.WindowTitle,iconCls:'x-admin-standalone-keywords',closable:true,resizable:false,minimizable:true,width:740,height:440,minWidth:700,minHeight:400,modal:true,border:false,layout:'border',items:[{region:'west',width:150,margins:'2 2 2 2',layout:'fit',items:fieldsTree},{region:'center',border:true,margins:'2 2 2 0',tbar:centerToolbar,items:[metadataCopyrightsGrid,metadataKeywordsGrid]}]});mainWindow.on('close',function(m){mainWindow=null;});mainWindow.show();centerToolbar.add({text:Locale.MetadataManager.New,tooltip:Locale.MetadataManager.tt_New,iconCls:'t-sprite x-toolbar-add',handler:function(){if(metadataKeywordsGrid.isVisible())
editKeywordsValue(-1);else if(metadataCopyrightsGrid.isVisible())
editCopyrightsValue(-1);}});centerToolbar.add(tbEdit=new Ext.Button({text:Locale.MetadataManager.Edit,tooltip:Locale.MetadataManager.tt_Edit,disabled:true,iconCls:'t-sprite x-toolbar-edit',handler:function(item){var editValues;if(metadataKeywordsGrid.isVisible())
{editValues=metadataKeywordsGrid.getSelectionModel().getSelections();editKeywordsValue(editValues[0]);}
else if(metadataCopyrightsGrid.isVisible())
{editValues=metadataCopyrightsGrid.getSelectionModel().getSelections();editCopyrightsValue(editValues[0]);}}}));centerToolbar.add(tbDelete=new Ext.Button({text:Locale.MetadataManager.Delete,tooltip:Locale.MetadataManager.tt_Delete,disabled:true,iconCls:'t-sprite x-toolbar-remove',handler:function(){if(metadataKeywordsGrid.isVisible())
{var deleteValues=metadataKeywordsGrid.getSelectionModel().getSelections();var keywordIds=[];for(var i=0;i<deleteValues.length;i++)
keywordIds.push(deleteValues[i].get('Key'));removeKeywords(keywordIds);}
else if(metadataCopyrightsGrid.isVisible())
{deleteValues=metadataCopyrightsGrid.getSelectionModel().getSelections();var copyrights=[];for(var i=0;i<deleteValues.length;i++)
copyrights.push(deleteValues[i].data.Key);removeCopyright(copyrights);}}}));if(editCopyrights)
fieldsTree.fireEvent('click',copyrightsNode);else
fieldsTree.fireEvent('click',keywordsNode);metadataKeywordsGridSelectionModel.on('selectionchange',function(sm){if(metadataKeywordsGrid.isVisible())
if(sm.getCount()==0)
{tbEdit.disable();tbDelete.disable();}
else
{tbEdit.enable();tbDelete.enable();}});metadataCopyrightsGridSelectionModel.on('selectionchange',function(sm){if(metadataCopyrightsGrid.isVisible())
if(sm.getCount()==0)
{tbEdit.disable();tbDelete.disable();}
else
{tbEdit.enable();tbDelete.enable();}});}}

MultiEditAssets=function(controller){var Dialog;var dsAssetFieldGroups=controller.getConfiguration().getAssetFieldGroups();var dsAssetFields=controller.getConfiguration().getAssetFields();var aLanguage=controller.getConfiguration().getLanguages();var oAreas=controller.getConfiguration().getTabs();var aMetadata;var aColumn;var metadataGrid;var assets;var tree;var aAssetId;var returnedFields=['AssetId'];var ajaxTransaction;var loadingMessage;var categoriesStore;var currentActionId=2;var aGridData;var tabPanel;var gridPanel;categoriesStore=new Ext.data.Store({reader:new Ext.data.ArrayReader({},[{name:'AssetId',mapping:'AssetId'},{name:'URLThumbnail1',mapping:'URLThumbnail1'},{name:'categories',mapping:'categories'}])});this.show=function(selectedAssets){assets=selectedAssets;aColumn=[];aAssetId=PP.common.Data.getAssetIds(assets);Ext.Ajax.request({url:'../Webservice/AssetService.svc/GetAssetsMetadata',success:getAssetsMetadataSuccess,scope:this,params:{assetIds:aAssetId,selectedFields:returnedFields}});if(Dialog)
{if(!Dialog.isVisible()){Dialog.show();Dialog.minimized=false;}else{Dialog.restore();}
tabPanel.items.items[0].remove(0,true);tabPanel.items.items[0].add({html:'<img src="images/loading.gif" align="center">'+' Loading...'});tabPanel.items.items[0].doLayout();return;}
var windowConfig={title:Locale.MultiEditAssets.WindowTitle,closable:true,maximizable:true,minimizable:true,shadow:true,width:900,height:550,border:false,layout:'fit',onEsc:Ext.emptyFn,items:tabPanel=new Ext.TabPanel({autoTabs:true,activeTab:0,deferredRender:false,border:false,listeners:{'tabchange':renderCategories,scope:this,delay:10},items:[{title:Locale.MultiEditAssets.Metadata,name:'metadata',layout:'fit',items:[{html:'<img src="images/loading.gif" align="center">'+' Loading...'}]},{title:Locale.MultiEditAssets.Categories,name:'categories',layout:'fit',items:[{html:'<img src="images/loading.gif" align="center">'+' Loading...'}]}]}),listeners:{beforeclose:function(window){if((metadataGrid&&metadataGrid.store.getModifiedRecords().length!=0)||(gridPanel&&gridPanel.store.getModifiedRecords().length!=0))
{if(metadataGrid&&metadataGrid.store.getModifiedRecords().length==0)
{Ext.Msg.confirm(Locale.MultiEditAssets.Changes,Locale.MultiEditAssets.ChangesAreNotSavedCategories,function(answer){if(answer=='yes')
{window.hide(null);window.destroy();Dialog=null;}});return false;}else{Ext.Msg.confirm(Locale.MultiEditAssets.Changes,Locale.MultiEditAssets.ChangesAreNotSavedMetadata,function(answer){if(answer=='yes')
{window.hide(null);window.destroy();Dialog=null;}});return false;}}}}}
Dialog=new PP.Window(windowConfig);Dialog.on("close",function(e){Dialog=null;});Dialog.show();}
function reloadMetadata()
{var returnedFields=["AssetId"];for(var i=0;i<aColumn.length;i++)
{returnedFields.push(aColumn[i].AssetField.get("Fieldname"));}
loadingMessage=Ext.MessageBox.show({title:Locale.MultiEditAssets.Loading,msg:Locale.MultiEditAssets.LoadingMsg,width:300,wait:true,waitConfig:{interval:200},closable:false,modal:false});ajaxTransaction=Ext.Ajax.request({url:'../Webservice/AssetService.svc/GetAssetsMetadata',success:function(r,options){if(ajaxTransaction.tId==r.tId)
{var response=Ext.util.JSON.decode(r.responseText);aMetadata=response;resetColumns();loadingMessage.hide();}},scope:this,params:{assetIds:aAssetId,selectedFields:returnedFields}});}
function columnAlreadyExists(fieldId){for(var i=0;i<aColumn.length;i++)
if(aColumn[i].AssetField.data.AssetFieldId==fieldId)
return true;return false;}
function resetColumns(node,checked){if(node){if(checked)
{if(node.text==Locale.MultiEditAssets.SelectAll)
{aColumn=[];for(var n=0;n<dsAssetFieldGroups.totalLength;n++)
{var assetFieldGroup=dsAssetFieldGroups.getAt(n);if(assetFieldGroup.get("AssetFields").length!=0&&assetFieldGroup.get("Type")=="Metadata"&&assetFieldGroup.get("IsReadOnly")==false)
{var panelFields=assetFieldGroup.get("AssetFields");var assetTypeIds=assetFieldGroup.get("AssetTypeId");if(assetFieldGroup.get('AssignmentType')=='FileType')
{var show=false;for(var j=0;j<assetTypeIds.length;j++)
{for(var k=0;k<assets.length;k++)
if(assetTypeIds[j]==assets[k].get("AssetTypeId"))
{show=true;break;}}
if(!show)
continue;}
for(var i=0;i<panelFields.length;i++)
{var assetField=dsAssetFields.getById(panelFields[i].AssetFieldId);if(columnAlreadyExists(assetField.data.AssetFieldId))
continue;if(!(assetField.data.ControlType||assetField.data.ControlType=='Text'||assetField.data.ControlType=='Textarea'||assetField.data.ControlType=='Select'||assetField.data.ControlType=='Checkbox'||assetField.data.ControlType=='Multi-checkbox'||assetField.data.ControlType=='Radio'))
continue;if(assetField.data.IsLanguageSpecific)
{for(var k=0;k<aLanguage.length;k++)
{var caption=aLanguage.length==1?assetField.data.Caption:assetField.data.Caption+"_"+aLanguage[k].Abbreviation;aColumn.push({AssetField:assetField,AssetTypeIds:assetTypeIds,Language:aLanguage[k].Abbreviation});}}
else
{aColumn.push({AssetField:assetField,AssetTypeIds:assetTypeIds});}}}}
tree.getRootNode().eachChild(function(node){if(node.text!=Locale.MultiEditAssets.All)
node.eachChild(function(childNode){childNode.getUI().checkbox.checked=false;childNode.disable();});});}
else
{toggleSimilarNode(node,node.parentNode,true);aColumn.push({AssetField:node.attributes.assetField,AssetTypeIds:node.attributes.assetTypeIds,Language:node.attributes.language});}}
else
{if(node.text==Locale.MultiEditAssets.SelectAll)
{aColumn=[];tree.getRootNode().eachChild(function(node){if(node.text!=Locale.MultiEditAssets.All)
node.eachChild(function(childNode){childNode.enable();});});}
else
{toggleSimilarNode(node,node.parentNode,false);for(var i=0;i<aColumn.length;i++){if(node.attributes.assetField&&aColumn[i].AssetField.get("Fieldname")==node.attributes.assetField.get("Fieldname")&&aColumn[i].Language==node.attributes.language)
{aColumn.splice(i,1);break;}}}}
if(metadataGrid.store.getModifiedRecords().length==0)
reloadMetadata();else
{Ext.MessageBox.show({title:Locale.MultiEditAssets.ReloadData,msg:Locale.MultiEditAssets.ReloadDataMsg,buttons:Ext.Msg.YESNO,fn:function(btn){if(btn=='yes')
reloadMetadata();else
{node.getUI().checkbox.checked=false;for(var i=0;i<aColumn.length;i++)
if(aColumn[i].AssetField.get("Fieldname")==node.attributes.assetField.get("Fieldname")&&aColumn[i].Language==node.attributes.language){aColumn.splice(i,1);break;}}},icon:Ext.MessageBox.QUESTION})}
return;}
aGridData=[];var aGridColumnModel=[];var aDSMapping=[];aDSMapping.push({name:"AssetId",mapping:"AssetId"});aDSMapping.push({name:"URLThumbnail1",mapping:"URLThumbnail1"});aGridColumnModel.push({header:Locale.MultiEditAssets.Thumbnail,dataIndex:'URLThumbnail1',width:150,sortable:false,hidden:false,renderer:renderThumbnail});for(var i=0;i<aColumn.length;i++)
{var header=aColumn[i].AssetField.data.Caption+(aColumn[i].Language?"_"+aColumn[i].Language:"")+(aColumn[i].AssetField.data.IsRequired?" *":"");var dataIndex=aColumn[i].AssetField.get("Fieldname")+(aColumn[i].Language?"_"+aColumn[i].Language:"")
if(aColumn[i].AssetField.data.ControlType=='Text')
aGridColumnModel.push({header:header,dataIndex:dataIndex,width:250,editor:new Ext.form.TextField(),tooltip:aColumn[i].AssetField.get("ToolTip")});else if(aColumn[i].AssetField.data.ControlType=='Textarea')
aGridColumnModel.push({header:header,dataIndex:dataIndex,width:250,editor:new Ext.form.TextArea({cls:"x-textareaHeight"}),tooltip:aColumn[i].AssetField.get("ToolTip")});else if(aColumn[i].AssetField.data.ControlType=='Select'||aColumn[i].AssetField.data.ControlType=='Radio')
aGridColumnModel.push({header:header,dataIndex:dataIndex,width:250,tooltip:aColumn[i].AssetField.get("ToolTip"),editor:new Ext.form.ComboBox({store:new Ext.data.Store({data:aColumn[i].AssetField.data.Options,reader:new Ext.data.JsonReader({},[{name:'AssetFieldOptionId',mapping:'AssetFieldOptionId'},{name:'Value',mapping:'Value'}])}),displayField:'Value',valueField:'Value',mode:'local',triggerAction:'all',selectOnFocus:true,editable:false,width:200})});else if(aColumn[i].AssetField.data.ControlType=='Checkbox')
aGridColumnModel.push({header:header,dataIndex:dataIndex,width:250,editor:new Ext.form.Checkbox({}),tooltip:aColumn[i].AssetField.get("ToolTip"),renderer:function(value)
{if(value=="1")
return'<input type="checkbox" checked>';else
return'<input type="checkbox">';}});else if(aColumn[i].AssetField.data.ControlType=='Date')
aGridColumnModel.push({header:header,dataIndex:dataIndex,width:250,tooltip:aColumn[i].AssetField.get("ToolTip"),editor:new Ext.form.DateField({format:PP.common.Data.dateFormat}),renderer:function(value){if(value)
return value.format(PP.common.Data.dateFormat);}});else if(aColumn[i].AssetField.data.ControlType=='Datetime')
aGridColumnModel.push({header:header,dataIndex:dataIndex,width:250,tooltip:aColumn[i].AssetField.get("ToolTip"),editor:new Ext.ux.form.DateTime({format:PP.common.Data.dateFormat,dateFormat:PP.common.Data.dateFormat,timeFormat:PP.common.Data.timeFormat}),renderer:PP.common.Data.renderDateTime});else if(aColumn[i].AssetField.data.ControlType=='Multi-checkbox')
aGridColumnModel.push({header:header,dataIndex:dataIndex,width:250,tooltip:aColumn[i].AssetField.get("ToolTip"),editor:new PP.widget.MultiSelectCombo(Ext.applyIf({multiSelect:true},{store:new Ext.data.Store({data:aColumn[i].AssetField.data.Options,reader:new Ext.data.JsonReader({},[{name:'AssetFieldOptionId',mapping:'AssetFieldOptionId'},{name:'Value',mapping:'Value'}])}),valueField:'Value',minLength:aColumn[i].AssetField.data.IsRequired==true?1:0,displayField:'Value',valueField:'Value',triggerAction:'all',mode:'local',editable:false,width:250})),renderer:function(value){var values=value.split(",");var returnValue="";for(var i=0;i<values.length;i++)
if(values[i].length)
returnValue+=values[i]+'<br>';return returnValue;}});aDSMapping.push({name:dataIndex,mapping:dataIndex});}
for(var i=0;i<aMetadata.length;i++)
{var aAssetData={};for(var j=0;j<aColumn.length;j++)
{for(var k=0;k<aMetadata[i].MetadataFields.length;k++)
{if(aColumn[j].AssetField.get("Fieldname")==aMetadata[i].MetadataFields[k].AssetFieldName)
{if(aColumn[j].AssetField.data.IsLanguageSpecific)
{for(var l=0;l<aMetadata[i].MetadataFields[k].Values.length;l++)
{if(aColumn[j].Language==aMetadata[i].MetadataFields[k].Values[l].Language)
{aAssetData[aColumn[j].AssetField.get("Fieldname")+"_"+aColumn[j].Language]=aMetadata[i].MetadataFields[k].Values[l].Value;aAssetData["DefaultValue"]=aMetadata[i].MetadataFields[k].Values[l].Value;aAssetData["Fieldname"]=aColumn[j].AssetField.get("Fieldname")+"_"+aColumn[j].Language;}}}
else
{var val=aMetadata[i].MetadataFields[k].Values;if(aColumn[j].AssetField.data.ControlType=='Text'||aColumn[j].AssetField.data.ControlType=='Textarea')
{aAssetData[aColumn[j].AssetField.get("Fieldname")]=val&&val.length>0?val[0].Value:"";aAssetData["DefaultValue"]=val&&val.length>0?val[0].Value:"";}
if(aColumn[j].AssetField.data.ControlType=='Date'||aColumn[j].AssetField.data.ControlType=='Datetime')
{var dateVal=val&&val.length>0?val[0].Value:"";var dateValue="";if(dateVal.indexOf("{ts")!=-1)
dateValue=PP.common.Data.convertCfToDate(dateVal);aAssetData[aColumn[j].AssetField.get("Fieldname")]=dateValue;aAssetData["DefaultValue"]=dateValue;}
else if(aColumn[j].AssetField.data.ControlType=='Select'||aColumn[j].AssetField.data.ControlType=='Radio')
{aAssetData[aColumn[j].AssetField.get("Fieldname")]=val&&val.length>0?val[0].Value:"";aAssetData["DefaultValue"]=val&&val.length>0?val[0].Value:"";}
else if(aColumn[j].AssetField.data.ControlType=='Checkbox')
{aAssetData[aColumn[j].AssetField.get("Fieldname")]=val&&val.length>0?val[0].Value:"";aAssetData["DefaultValue"]=val&&val.length>0?val[0].Value:"";}
else if(aColumn[j].AssetField.data.ControlType=='Multi-checkbox')
{var value="";for(var v=0;v<val.length;v++)
value=value+","+val[v].Value;aAssetData[aColumn[j].AssetField.get("Fieldname")]=value.substr(1);aAssetData["DefaultValue"]=value.substr(1);}
aAssetData["Fieldname"]=aColumn[j].AssetField.get("Fieldname");}}}}
aAssetData["AssetId"]=aMetadata[i].AssetId;for(var u=0;u<assets.length;u++)
if(aMetadata[i].AssetId==assets[u].get("AssetId"))
{aAssetData["URLThumbnail1"]=assets[u].get("URLThumbnail1");aAssetData["categories"]=aMetadata[i].CategoryAssignments;}
aGridData.push(aAssetData);}
var gridDS=new Ext.data.Store({reader:new Ext.data.ArrayReader({},aDSMapping)});gridDS.loadData(aGridData);categoriesStore.loadData(aGridData);resetGridHeaderTemplate();var mcm=new Ext.grid.ColumnModel({columns:aGridColumnModel,isCellEditable:function(col,row){if(col==0)
return false;var ds=controller.getAssetStore();if(aColumn[col-1].AssetTypeIds.length==0)
return true;for(var i=0;i<aColumn[col-1].AssetTypeIds.length;i++)
{if(aColumn[col-1].AssetTypeIds[i]==assets[row].get("AssetTypeId"))
return true;}
return false;}});if(tabPanel.activeTab.name=="metadata")
{metadataGrid.reconfigure(gridDS,mcm);resetGridHeader();var size=metadataGrid.getSize();size.width=size.width+1;metadataGrid.setSize(size);size.width=size.width-1;metadataGrid.setSize(size);}}
function getAssetsMetadataSuccess(r){var response=Ext.util.JSON.decode(r.responseText);aMetadata=response;var MultiEditContent=new Ext.Panel({border:false,layout:'border',tbar:[{iconCls:'t-sprite x-toolbar-save',cls:'x-btn-text-icon bmenu',text:Locale.MultiEditAssets.Save,handler:function(){saveMetadata();metadataGrid.store.commitChanges();},tooltip:Locale.MultiEditAssets.tt_Save},{iconCls:'x-tbr_window_cancel',text:Locale.MultiEditAssets.Reset,handler:resetMetadata,tooltip:Locale.MultiEditAssets.tt_Reset}],items:[getAssetFieldTree(),getAssetMetadataGrid()]});tabPanel.items.items[0].remove(0,true);tabPanel.items.items[0].add(MultiEditContent);tabPanel.items.items[0].doLayout();resetColumns();}
function toggleSimilarNode(sourceNode,sourceParent,state){tree.getRootNode().eachChild(function(node){if(node.attributes.assetFieldGroup&&node.attributes.assetFieldGroup.get("Name")!=sourceParent.attributes.assetFieldGroup.data.Name)
node.eachChild(function(childNode){if(childNode.attributes.assetField.get("Fieldname")==sourceNode.attributes.assetField.get("Fieldname"))
childNode.getUI().checkbox.checked=state;});});}
function getAssetFieldTree(){tree=new Ext.tree.TreePanel({animate:true,margins:'2 0 2 2',cmargins:'2 0 2 2',border:true,split:true,autoScroll:true,region:'west',width:160,rootVisible:false});var root=new Ext.tree.TreeNode({text:'MultiEdit',allowDrag:false,allowDrop:false});tree.setRootNode(root);var selectAllNode=new Ext.tree.TreeNode({text:Locale.MultiEditAssets.SelectAll,allowDrag:false,checked:false,iconCls:'folder-no-icon',qtip:Locale.MultiEditAssets.tt_SelectAll,listeners:{checkchange:resetColumns}});root.appendChild(selectAllNode);for(var n=0;n<dsAssetFieldGroups.totalLength;n++)
{var assetFieldGroup=dsAssetFieldGroups.getAt(n);if(assetFieldGroup.get("AssetFields").length!=0&&assetFieldGroup.get("Type")=="Metadata"&&assetFieldGroup.get("IsReadOnly")==false)
{var assetTypeIds=assetFieldGroup.get("AssetTypeId");if(assetFieldGroup.get('AssignmentType')=='FileType')
{var show=false;for(var j=0;j<assetTypeIds.length;j++)
{for(var k=0;k<assets.length;k++)
if(assetTypeIds[j]==assets[k].get("AssetTypeId"))
{show=true;break;}}
if(!show)
continue;}
var tempNode=new Ext.tree.TreeNode({text:assetFieldGroup.get("Caption"),allowDrag:false,cls:'album-node',expanded:true,assetFieldGroup:assetFieldGroup})
var panelFields=assetFieldGroup.get("AssetFields");for(var i=0;i<panelFields.length;i++)
{var assetField=dsAssetFields.getById(panelFields[i].AssetFieldId);if(!(assetField.data.ControlType||assetField.data.ControlType=='Text'||assetField.data.ControlType=='Textarea'||assetField.data.ControlType=='Select'||assetField.data.ControlType=='Checkbox'||assetField.data.ControlType=='Multi-checkbox'||assetField.data.ControlType=='Radio'))
continue;if(assetField.data.IsLanguageSpecific)
for(var k=0;k<aLanguage.length;k++)
{var caption=aLanguage.length==1?assetField.data.Caption:assetField.data.Caption+"_"+aLanguage[k].Abbreviation;tempNode.appendChild(new Ext.tree.TreeNode({text:caption+(assetField.get("IsRequired")?" *":""),allowDrag:false,checked:false,iconCls:'folder-no-icon',assetField:assetField,assetTypeIds:assetTypeIds,language:aLanguage[k].Abbreviation,qtip:assetField.get("ToolTip"),listeners:{checkchange:resetColumns}}))}
else
tempNode.appendChild(new Ext.tree.TreeNode({text:assetField.data.Caption+(assetField.get("IsRequired")?" *":""),allowDrag:false,checked:false,iconCls:'folder-no-icon',assetField:assetField,assetTypeIds:assetTypeIds,qtip:assetField.get("ToolTip"),listeners:{checkchange:resetColumns}}))}
if(tempNode.childNodes.length>0)
root.appendChild(tempNode);}}
new Ext.tree.TreeSorter(root,{sortType:function(node){if(node.attributes.assetFieldGroup)
return node.attributes.assetFieldGroup.get("AssetFieldGroupId");else
return 0;}});return tree;}
function getAssetMetadataGrid(){metadataGrid=new Ext.grid.EditorGridPanel({region:'center',margins:'2 2 2 0',cmargins:'2 2 2 0',border:true,cls:'pp-multiedit-grid',clicksToEdit:1,ds:new Ext.data.Store(),cm:new Ext.grid.ColumnModel([]),view:new Ext.grid.GridView({focusRow:Ext.emptyFn}),listeners:{validateedit:function(e){for(var i=0;i<aColumn.length;i++)
{if(aColumn[i].AssetField.get("Fieldname")==e.field.split("_")[0])
{if(aColumn[i].AssetField.data.IsRequired&&e.value.length==0)
{Ext.Msg.alert(Locale.MultiEditAssets.IsRequiredError,Locale.MultiEditAssets.IsBlankErrorMsg);return false;}
else
return true;}}}}});return metadataGrid;}
function renderThumbnail(value,record){return String.format('<div style="height:72"><img src="{0}"></div>',value);}
function saveMetadata(){var checkedNodes=tree.getChecked();if(checkedNodes[0].text==Locale.MultiEditAssets.SelectAll)
{checkedNodes=[];tree.getRootNode().eachChild(function(node){if(node.text!=Locale.MultiEditAssets.All)
node.eachChild(function(childNode){checkedNodes.push(childNode);});});}
var allRecords=metadataGrid.store.getRange();for(var i=0;i<allRecords.length;i++)
{for(var j=0;j<checkedNodes.length;j++)
{var value=allRecords[i].data[(checkedNodes[j].attributes.assetField.get("Fieldname")+(checkedNodes[j].attributes.language?"_"+checkedNodes[j].attributes.language:""))];if(checkedNodes[j].attributes.assetTypeIds.length)
{for(var k=0;k<checkedNodes[j].attributes.assetTypeIds.length;k++)
if(checkedNodes[j].attributes.assetTypeIds[k]==assets[i].get("AssetTypeId"))
if(checkedNodes[j].attributes.assetField.data.IsRequired&&value.length==0)
{Ext.Msg.alert(Locale.MultiEditAssets.IsRequiredError,Locale.MultiEditAssets.IsBlankSaveErrorMsg);return;}}
else if(checkedNodes[j].attributes.assetField.data.IsRequired&&value.length==0)
{Ext.Msg.alert(Locale.MultiEditAssets.IsRequiredError,Locale.MultiEditAssets.IsBlankSaveErrorMsg);return;}}}
var records=metadataGrid.store.getModifiedRecords();var assetsInfo=[];for(var i=0;i<records.length;i++){var metadata=[];for(var j=0;j<checkedNodes.length;j++){var values=[];var value=records[i].data[(checkedNodes[j].attributes.assetField.get("Fieldname")+(checkedNodes[j].attributes.language?"_"+checkedNodes[j].attributes.language:""))];if(checkedNodes[j].attributes.assetField.data.ControlType=='Text'||checkedNodes[j].attributes.assetField.data.ControlType=='Textarea'||checkedNodes[j].attributes.assetField.data.ControlType=='Checkbox')
values.push(value);if(checkedNodes[j].attributes.assetField.data.ControlType=='Date'||checkedNodes[j].attributes.assetField.data.ControlType=='Datetime')
values.push(value.format('c'));if(checkedNodes[j].attributes.assetField.data.ControlType=='Select'||checkedNodes[j].attributes.assetField.data.ControlType=='Radio')
for(var n=0;n<checkedNodes[j].attributes.assetField.data.Options.length;n++)
if(value==checkedNodes[j].attributes.assetField.data.Options[n].Value)
{values.push(checkedNodes[j].attributes.assetField.data.Options[n].AssetFieldOptionId);break;}
if(checkedNodes[j].attributes.assetField.data.ControlType=='Multi-checkbox')
{var val=value.split(',');for(var v=0;v<val.length;v++)
for(var n=0;n<checkedNodes[j].attributes.assetField.data.Options.length;n++)
if(val[v]==checkedNodes[j].attributes.assetField.data.Options[n].Value)
{values.push(checkedNodes[j].attributes.assetField.data.Options[n].AssetFieldOptionId);break;}}
metadata.push({AssetFieldName:checkedNodes[j].attributes.assetField.get("Fieldname"),Language:checkedNodes[j].attributes.language?checkedNodes[j].attributes.language:"",Values:values});}
assetsInfo.push({AssetId:records[i].data.AssetId,Metadata:metadata})}
var SaveMultiEditAssetsLoadingBar=Ext.MessageBox.show({title:Locale.MultiEditAssets.Saving,msg:Locale.MultiEditAssets.SavingMsg,width:300,wait:true,waitConfig:{interval:200},closable:false,modal:false});Ext.Ajax.request({url:'../Webservice/AssetService.svc/UpdateAssetsMetadata',success:function(){SaveMultiEditAssetsLoadingBar.hide();controller.getAssetStore().reload();reloadMetadata();},params:{metadata:assetsInfo}});}
function resetGridHeaderTemplate()
{var view=metadataGrid.getView();var strTpl='<table border="0" cellspacing="0" cellpadding="0" style="{tstyle}">'+'<thead><tr class="x-grid3-hd-row">{cells}</tr></thead>'+'<tbody><tr class="x-grid3-hd-row">'+'<td valign="bottom" stlye="vertical-align:bottom;"><div class="x-grid3-hd x-grid3-cell x-grid3-td-0" id="thumbnailHeader"></div></td>';for(var i=0;i<aColumn.length;i++)
strTpl+='<td valign="bottom"><div id="'+aColumn[i].AssetField.get("Fieldname")+(aColumn[i].Language?"_"+aColumn[i].Language:"")+'">&nbsp;</div></td>';strTpl+='</tr></tbody>'+'</table>';view.templates.header.set(strTpl,true);}
function resetGridHeader(){var cmbAction=new Ext.form.ComboBox({store:new Ext.data.SimpleStore({fields:['actionId','action'],data:[[2,Locale.MultiEditAssets.Replace],[1,Locale.MultiEditAssets.Insert],[3,Locale.MultiEditAssets.SearchAndReplace]]}),displayField:'action',valueField:'actionId',mode:'local',triggerAction:'all',selectOnFocus:true,editable:false,width:135,plugins:new PP.widget.FieldTooltipPlugin({html:Locale.MultiEditAssets.tt_Preview})})
new Ext.Panel({renderTo:'thumbnailHeader',border:false,bodyStyle:'background: transparent;',height:27,layout:'border',cls:'x-form-text',style:'margin-bottom:10px;',items:[{region:'center',bodyStyle:{background:'transparent',padding:2,paddingBottom:4},border:false,items:cmbAction}]});cmbAction.on('select',function(src,rec,index){currentActionId=rec.data.actionId;resetGridHeaderByAction();})
cmbAction.setValue(currentActionId);resetGridHeaderByAction();}
function resetGridHeaderByAction(){switch(currentActionId){case 1:setGridHeaderForInsert();break;case 2:setGridHeaderForReplace();break;case 3:setGridHeaderForSearchAndReplace();break;}
var size=metadataGrid.getSize();size.width=size.width+1;metadataGrid.setSize(size);size.width=size.width-1;metadataGrid.setSize(size);}
function setGridHeaderForInsert(){for(var i=0;i<aColumn.length;i++){var fieldName=aColumn[i].AssetField.get("Fieldname")+(aColumn[i].Language?"_"+aColumn[i].Language:"");Ext.get(fieldName).dom.innerHTML="";if(aColumn[i].AssetField.data.ControlType=='Text'||aColumn[i].AssetField.data.ControlType=='Textarea'){new Ext.Panel({renderTo:fieldName,height:aColumn[i].AssetField.data.ControlType=='Text'?70:110,border:false,bodyStyle:{background:'transparent',padding:2},layout:'border',items:[{region:'north',border:false,bodyStyle:{background:'transparent',padding:'2px'},height:aColumn[i].AssetField.data.ControlType=='Text'?30:70,items:aColumn[i].AssetField.data.ControlType=='Text'?new Ext.form.TextField({width:240,id:"txtInsert_"+fieldName,plugins:aColumn[i].AssetField.get("ToolTip").length>0?new PP.widget.FieldTooltipPlugin({html:aColumn[i].AssetField.get("ToolTip")}):""}):new Ext.form.TextArea({id:"txtInsert_"+fieldName,height:60,width:240,plugins:aColumn[i].AssetField.get("ToolTip").length>0?new PP.widget.FieldTooltipPlugin({html:aColumn[i].AssetField.get("ToolTip")}):""})},{border:false,region:'center',bodyStyle:{background:'transparent'},layout:'border',items:[{region:'west',width:25,bodyStyle:{background:'transparent',paddingTop:'3px'},border:false,html:Locale.MultiEditAssets.Pos},{region:'center',bodyStyle:{background:'transparent'},border:false,items:new Ext.form.TextField({width:20,id:"txtInsertPosition_"+fieldName,plugins:aColumn[i].AssetField.get("ToolTip").length>0?new PP.widget.FieldTooltipPlugin({html:aColumn[i].AssetField.get("ToolTip")}):""})}]},{border:false,region:'east',width:90,bodyStyle:{background:'transparent',paddingRight:4},items:[{html:'<table><tr><td>'+Locale.MultiEditAssets.FromLeft+'</td><td width="15px" height="18px" class="t-sprite x-toolbar-accept" id="btnInsertFromLeft_'+fieldName+'"></td></tr></table>',border:false,width:90,bodyStyle:{background:'transparent',textAlign:'right',paddingRight:'6px'},listeners:{render:function(s){s.getEl().on("click",function(e,sImg){var ctrlId=sImg.id.substr(sImg.id.indexOf('_')+1);insertField(ctrlId,Ext.getCmp("txtInsert_"+ctrlId).getValue(),Ext.getCmp("txtInsertPosition_"+ctrlId).getValue(),true);});}}},{html:'<table><tr><td>'+Locale.MultiEditAssets.FromRight+'</td><td width="15px" height="18px" class="t-sprite x-toolbar-accept" id="btnInsertFromRight_'+fieldName+'"></td></tr></table>',border:false,width:90,bodyStyle:{background:'transparent',textAlign:'right',paddingRight:'6px'},listeners:{render:function(s){s.getEl().on("click",function(e,sImg){var ctrlId=sImg.id.substr(sImg.id.indexOf('_')+1);insertField(ctrlId,Ext.getCmp("txtInsert_"+ctrlId).getValue(),Ext.getCmp("txtInsertPosition_"+ctrlId).getValue(),false);});}}}]}]})}
else
{Ext.get(fieldName).dom.innerHTML="&nbsp;";}}}
function setGridHeaderForReplace()
{for(var i=0;i<aColumn.length;i++){var fieldName=aColumn[i].AssetField.get("Fieldname")+(aColumn[i].Language?"_"+aColumn[i].Language:"");Ext.get(fieldName).dom.innerHTML="";var column=aColumn[i];if(column.AssetField.data.ControlType=='Text'||column.AssetField.data.ControlType=='Textarea'){new Ext.Panel({renderTo:fieldName,bodyStyle:'background: transparent',border:false,height:column.AssetField.data.ControlType=='Text'?27:70,layout:'border',items:[{region:'center',bodyStyle:{background:'transparent',padding:2,paddingBottom:4},border:false,items:column.AssetField.data.ControlType=='Text'?new Ext.form.TextField({id:'txtReplace_'+fieldName,width:210,plugins:column.AssetField.get("ToolTip").length>0?new PP.widget.FieldTooltipPlugin({html:column.AssetField.get("ToolTip")}):""}):new Ext.form.TextArea({id:'txtReplace_'+fieldName,height:60,width:210,enableKeyEvents:true,listeners:{keypress:function(tf,e){if(e.isSpecialKey()&&e.keyCode==13)
e.stopPropagation();}},plugins:column.AssetField.get("ToolTip").length>0?new PP.widget.FieldTooltipPlugin({html:column.AssetField.get("ToolTip")}):""})},{html:'<table width="15px"><tr><td width="15px" height="18px" class="t-sprite x-toolbar-accept" id="btnReplace_'+fieldName+'"></td></tr></table>',region:'east',border:false,bodyStyle:{background:'transparent',padding:2,paddingTop:column.AssetField.data.ControlType=='Text'?4:14},width:24,listeners:{render:function(s){s.getEl().on("click",function(e,sImg){var ctrlId=sImg.id.substr(sImg.id.indexOf('_')+1);if(column.AssetField.data.IsRequired&&Ext.getCmp("txtReplace_"+ctrlId).getValue().length==0)
Ext.Msg.alert(Locale.MultiEditAssets.IsRequiredError,Locale.MultiEditAssets.IsBlankErrorMsg);else
replaceField(ctrlId,Ext.getCmp("txtReplace_"+ctrlId).getValue());});}}}]})}
else if(column.AssetField.data.ControlType=='Checkbox'){new Ext.Panel({renderTo:fieldName,bodyStyle:'background: transparent',border:false,height:27,width:160,layout:'border',items:[{region:'center',bodyStyle:{background:'transparent',padding:2,paddingBottom:4},border:false,width:130,items:new Ext.form.Checkbox({id:'txtReplace_'+fieldName,boxLabel:Locale.MultiEditAssets.Checked,plugins:column.AssetField.get("ToolTip").length>0?new PP.widget.FieldTooltipPlugin({html:column.AssetField.get("ToolTip")}):""})},{html:'<table width="15px"><tr><td width="15px" height="20px" class="x-cut" id="btnReplace_'+fieldName+'"></td></tr></table>',region:'east',border:false,bodyStyle:{background:'transparent',padding:2,paddingTop:4},width:24,listeners:{render:function(s){s.getEl().on("click",function(e,sImg){var ctrlId=sImg.id.substr(sImg.id.indexOf('_')+1);replaceField(ctrlId,Ext.getCmp("txtReplace_"+ctrlId).getValue());});}}}]})}
else if(column.AssetField.data.ControlType=='Date')
new Ext.Panel({renderTo:fieldName,border:false,bodyStyle:'background: transparent',height:27,layout:'border',items:[{region:'center',bodyStyle:{background:'transparent',padding:2,paddingBottom:4},border:false,items:new Ext.form.DateField({id:'cmbReplace_'+fieldName,format:PP.common.Data.dateFormat,width:215,plugins:column.AssetField.get("ToolTip")>0?new PP.widget.FieldTooltipPlugin({html:column.AssetField.get("ToolTip")}):""})},{html:'<table width="15px"><tr><td width="15px" height="18px" class="t-sprite x-toolbar-accept" id="btnReplace_'+fieldName+'"></td></tr></table>',bodyStyle:{background:'transparent',padding:4},region:'east',border:false,width:24,listeners:{render:function(s){s.getEl().on("click",function(e,sImg){var ctrlId=sImg.id.substr(sImg.id.indexOf('_')+1);if(column.AssetField.data.IsRequired&&Ext.getCmp("cmbReplace_"+ctrlId).getValue().length==0)
Ext.Msg.alert(Locale.MultiEditAssets.IsRequiredError,Locale.MultiEditAssets.IsRequiredErrorMsg);else
replaceField(ctrlId,Ext.getCmp("cmbReplace_"+ctrlId).getValue());});}}}]})
else if(column.AssetField.data.ControlType=='Datetime')
new Ext.Panel({renderTo:fieldName,border:false,bodyStyle:'background: transparent',height:27,layout:'border',items:[{region:'center',bodyStyle:{background:'transparent',padding:2,paddingBottom:4},border:false,items:new Ext.ux.form.DateTime({id:'cmbReplace_'+fieldName,format:PP.common.Data.dateFormat,dateFormat:PP.common.Data.dateFormat,timeFormat:PP.common.Data.timeFormat,width:215,plugins:column.AssetField.get("ToolTip")>0?new PP.widget.FieldTooltipPlugin({html:column.AssetField.get("ToolTip")}):""})},{html:'<table width="15px"><tr><td width="15px" height="18px" class="t-sprite x-toolbar-accept" id="btnReplace_'+fieldName+'"></td></tr></table>',bodyStyle:{background:'transparent',padding:4},region:'east',border:false,width:24,listeners:{render:function(s){s.getEl().on("click",function(e,sImg){var ctrlId=sImg.id.substr(sImg.id.indexOf('_')+1);if(column.AssetField.data.IsRequired&&Ext.getCmp("cmbReplace_"+ctrlId).getValue().length==0)
Ext.Msg.alert(Locale.MultiEditAssets.IsRequiredError,Locale.MultiEditAssets.IsRequiredErrorMsg);else
replaceField(ctrlId,Ext.getCmp("cmbReplace_"+ctrlId).getValue());});}}}]})
else if(column.AssetField.data.ControlType=='Select'||column.AssetField.data.ControlType=='Radio'){new Ext.Panel({renderTo:fieldName,border:false,bodyStyle:'background: transparent',height:27,layout:'border',items:[{region:'center',bodyStyle:{background:'transparent',padding:2,paddingBottom:4},border:false,items:new Ext.form.ComboBox({id:'cmbReplace_'+fieldName,store:new Ext.data.Store({data:column.AssetField.data.Options,reader:new Ext.data.JsonReader({},[{name:'AssetFieldOptionId',mapping:'AssetFieldOptionId'},{name:'Value',mapping:'Value'}])}),displayField:'Value',valueField:'Value',hiddenField:'Value',mode:'local',triggerAction:'all',selectOnFocus:true,editable:false,width:215,plugins:column.AssetField.get("ToolTip")>0?new PP.widget.FieldTooltipPlugin({html:column.AssetField.get("ToolTip")}):""})},{html:'<table width="15px"><tr><td width="15px" height="18px" class="t-sprite x-toolbar-accept" id="btnReplace_'+fieldName+'"></td></tr></table>',bodyStyle:{background:'transparent',padding:4},region:'east',border:false,width:24,listeners:{render:function(s){s.getEl().on("click",function(e,sImg){var ctrlId=sImg.id.substr(sImg.id.indexOf('_')+1);if(column.AssetField.data.IsRequired&&Ext.getCmp("cmbReplace_"+ctrlId).getValue().length==0)
Ext.Msg.alert(Locale.MultiEditAssets.IsRequiredError,Locale.MultiEditAssets.IsRequiredErrorMsg);else
replaceField(ctrlId,Ext.getCmp("cmbReplace_"+ctrlId).getValue());});}}}]})}
else if(column.AssetField.data.ControlType=='Multi-checkbox'){var column=column;var multiCheckboxStore=new Ext.data.Store({data:column.AssetField.data.Options,reader:new Ext.data.JsonReader({},[{name:'AssetFieldOptionId',mapping:'AssetFieldOptionId'},{name:'Value',mapping:'Value'}])});new Ext.Panel({renderTo:fieldName,border:false,bodyStyle:'background: transparent',height:27,layout:'border',items:[{region:'center',bodyStyle:{background:'transparent',padding:2,paddingBottom:4},border:false,items:new PP.widget.MultiSelectCombo(Ext.applyIf({multiSelect:true},{id:'cmbReplace_'+fieldName,store:multiCheckboxStore,valueField:'Value',displayField:'Value',triggerAction:'all',mode:'local',editable:false,width:215,plugins:column.AssetField.get("ToolTip").length>0?new PP.widget.FieldTooltipPlugin({html:column.AssetField.get("ToolTip")}):""}))},{html:'<table width="15px"><tr><td width="15px" height="18px" class="t-sprite x-toolbar-accept" id="btnReplace_'+fieldName+'"></td></tr></table>',bodyStyle:{background:'transparent',padding:4},region:'east',border:false,width:24,listeners:{render:function(s){s.getEl().on("click",function(e,sImg){var ctrlId=sImg.id.substr(sImg.id.indexOf('_')+1);if(column.AssetField.data.IsRequired&&Ext.getCmp("cmbReplace_"+ctrlId).getValue().length==0)
Ext.Msg.alert(Locale.MultiEditAssets.IsRequiredError,Locale.MultiEditAssets.IsRequiredErrorMsg);else
replaceField(ctrlId,Ext.getCmp("cmbReplace_"+ctrlId).getValue());});}}}]})}
else
{Ext.get(fieldName).dom.innerHTML="&nbsp;";}}}
function setGridHeaderForSearchAndReplace()
{for(var i=0;i<aColumn.length;i++){var column=aColumn[i];var fieldName=column.AssetField.get("Fieldname")+(column.Language?"_"+column.Language:"");Ext.get(fieldName).dom.innerHTML="";if(column.AssetField.data.ControlType=='Text'||column.AssetField.data.ControlType=='Textarea'){new Ext.Panel({renderTo:fieldName,height:85,border:false,layout:'border',bodyStyle:{background:'transparent',padding:2,paddingBottom:4},items:[{region:'center',bodyStyle:{background:'transparent',padding:2,paddingBottom:4},border:false,items:[new Ext.form.TextField({id:'txtSearchWith_'+fieldName,width:210,plugins:column.AssetField.get("ToolTip").length>0?new PP.widget.FieldTooltipPlugin({html:column.AssetField.get("ToolTip")}):""}),new Ext.form.TextField({id:'txtReplaceWith_'+fieldName,width:210,plugins:column.AssetField.get("ToolTip").length>0?new PP.widget.FieldTooltipPlugin({html:column.AssetField.get("ToolTip")}):""})]},{region:'south',border:false,bodyStyle:{background:'transparent',padding:2,paddingBottom:4},height:25,layout:'border',items:[{region:'center',bodyStyle:{background:'transparent',padding:2,paddingBottom:4},border:false,items:new Ext.form.Checkbox({id:'chkMatchCase_'+fieldName,boxLabel:Locale.MultiEditAssets.MatchCase,width:180,plugins:column.AssetField.get("ToolTip").length>0?new PP.widget.FieldTooltipPlugin({html:column.AssetField.get("ToolTip")}):""})},{region:'east',html:'<table width="15px"><tr><td width="15px" height="18px" class="t-sprite x-toolbar-accept" id="btnSearchAndReplace_'+fieldName+'"></td></tr></table>',border:false,bodyStyle:{background:'transparent',padding:2,paddingBottom:4},width:25,listeners:{render:function(s){s.getEl().on("click",function(e,sImg){var ctrlId=sImg.id.substr(sImg.id.indexOf('_')+1);searchAndReplaceTextField(ctrlId,Ext.getCmp("txtSearchWith_"+ctrlId).getValue(),Ext.getCmp("txtReplaceWith_"+ctrlId).getValue(),Ext.getCmp("chkMatchCase_"+ctrlId).checked);});}}}]}]})}
else if(column.AssetField.data.ControlType=='Select'||column.AssetField.data.ControlType=='Radio'){new Ext.Panel({renderTo:fieldName,height:70,bodyStyle:{background:'transparent',padding:2,paddingBottom:4},layout:'border',items:[{region:'center',bodyStyle:{background:'transparent',padding:2,paddingBottom:4},border:false,items:[new Ext.form.ComboBox({id:'cmbSearchWith_'+fieldName,store:new Ext.data.Store({data:column.AssetField.data.Options,reader:new Ext.data.JsonReader({},[{name:'AssetFieldOptionId',mapping:'AssetFieldOptionId'},{name:'Value',mapping:'Value'}])}),displayField:'Value',valueField:'Value',hiddenField:'Value',mode:'local',triggerAction:'all',selectOnFocus:true,editable:false,width:215,plugins:column.AssetField.get("ToolTip").length>0?new PP.widget.FieldTooltipPlugin({html:column.AssetField.get("ToolTip")}):""}),new Ext.form.ComboBox({id:'cmbReplaceWith_'+fieldName,store:new Ext.data.Store({data:column.AssetField.data.Options,reader:new Ext.data.JsonReader({},[{name:'AssetFieldOptionId',mapping:'AssetFieldOptionId'},{name:'Value',mapping:'Value'}])}),displayField:'Value',valueField:'Value',hiddenField:'Value',mode:'local',triggerAction:'all',selectOnFocus:true,editable:false,width:215,plugins:column.AssetField.get("ToolTip").length>0?new PP.widget.FieldTooltipPlugin({html:column.AssetField.get("ToolTip")}):""})]},{region:'south',bodyStyle:{background:'transparent',padding:2,paddingBottom:4},height:20,html:'<table width="15px"><tr><td width="15px" height="18px" class="t-sprite x-toolbar-accept" id="btnReplace_'+fieldName+'"></td></tr></table>',border:false,listeners:{render:function(s){s.getEl().on("click",function(e,sImg){var ctrlId=sImg.id.substr(sImg.id.indexOf('_')+1);searchAndReplaceSelectField(ctrlId,Ext.getCmp("cmbSearchWith_"+ctrlId).getValue(),Ext.getCmp("cmbReplaceWith_"+ctrlId).getValue());});}}}]})}
else
{Ext.get(fieldName).dom.innerHTML="&nbsp;";}}}
function replaceField(fieldName,value){var gridDS=metadataGrid.store;var assetTypeIds;var ds=controller.getAssetStore();for(var i=0;i<aColumn.length;i++)
if(aColumn[i].AssetField.get('Fieldname')==fieldName.split("_")[0])
assetTypeIds=aColumn[i].AssetTypeIds;for(var i=0;i<gridDS.totalLength;i++){if(assetTypeIds.length==0)
gridDS.getAt(i).set(fieldName,value);else{for(var j=0;j<assetTypeIds.length;j++)
if(assets[i].get("AssetTypeId")==assetTypeIds[j])
gridDS.getAt(i).set(fieldName,value);}}}
function insertField(fieldName,value,position,left){var gridDS=metadataGrid.store;var assetTypeIds;var ds=controller.getAssetStore();for(var i=0;i<aColumn.length;i++)
if(aColumn[i].AssetField.get('Fieldname')==fieldName.split("_")[0])
assetTypeIds=aColumn[i].AssetTypeIds;for(var i=0;i<gridDS.totalLength;i++){var val=gridDS.getAt(i).get(fieldName);if(val.length<=position){if(left)
val=value+val;else
val=val+value;}
else{if(left)
val=val.substring(0,position)+value+val.substring(position)
else
val=val.substring(0,val.length-position)+value+val.substring(val.length-position)}
if(assetTypeIds.length==0)
gridDS.getAt(i).set(fieldName,val);else{for(var j=0;j<assetTypeIds.length;j++)
if(assets[i].get("AssetTypeId")==assetTypeIds[j])
gridDS.getAt(i).set(fieldName,val);}}}
function searchAndReplaceTextField(fieldName,strSearch,strReplace,checkCase){var gridDS=metadataGrid.store;var assetTypeIds;var ds=controller.getAssetStore();for(var i=0;i<aColumn.length;i++)
if(aColumn[i].AssetField.get('Fieldname')==fieldName.split("_")[0])
assetTypeIds=aColumn[i].AssetTypeIds;for(var i=0;i<gridDS.totalLength;i++){if(checkCase)
re=new RegExp(strSearch,"g");else
re=new RegExp(strSearch,"ig");var val=gridDS.getAt(i).get(fieldName);val=val.replace(re,strReplace);if(assetTypeIds.length==0)
gridDS.getAt(i).set(fieldName,val);else{for(var j=0;j<assetTypeIds.length;j++)
if(assets[i].get("AssetTypeId")==assetTypeIds[j])
gridDS.getAt(i).set(fieldName,val);}}}
function searchAndReplaceSelectField(fieldName,strSearch,strReplace){var gridDS=metadataGrid.store;var assetTypeIds;var ds=controller.getAssetStore();for(var i=0;i<aColumn.length;i++)
if(aColumn[i].AssetField.get('Fieldname')==fieldName.split("_")[0])
assetTypeIds=aColumn[i].AssetTypeIds;for(var i=0;i<gridDS.totalLength;i++){var val=gridDS.getAt(i).get(fieldName);if(val==strSearch){if(assetTypeIds.length==0)
gridDS.getAt(i).set(fieldName,strReplace);else{for(var j=0;j<assetTypeIds.length;j++)
if(assets[i].get("AssetTypeId")==assetTypeIds[j])
gridDS.getAt(i).set(fieldName,strReplace);}}}}
function resetMetadata(){var gridDS=metadataGrid.store;gridDS.rejectChanges();}
function renderCategories(panel,tab)
{if(tab.name=='categories')
{var categoryAssigmentPanel=new PP.category.MultiAssigmentPanel({controller:controller,categoriesStore:categoriesStore,gridData:aGridData});categoryAssigmentPanel.on("update",function(){reloadMetadata();},this);tab.remove(0,true);tab.add(categoryAssigmentPanel);tab.doLayout();}}}

PdfMappings=function(controller,assetMetadata,assetRecord){var Dialog;var LoadingBar;var changed=false;var view,regions,proxy,tracker;var dragRegion=new Ext.lib.Region(0,0,0,0);var mapImage;var lastArea=0,lastCategory=0;var store=new Ext.data.Store({proxy:new Ext.data.MemoryProxy(assetMetadata.previewPages.Pages),reader:new Ext.data.JsonReader({},[{name:'ImageUrl',mapping:'ImageUrl'},{name:'PageNumber',mapping:'PageNumber'},{name:'PreviewPageMappings',mapping:'PreviewPageMappings'},{name:'ThumbnailUrl',mapping:'ThumbnailUrl'}])});store.load();this.addEvents({"changed":true});this.show=function(){var pdfPage=new Ext.Panel({autoScroll:true,border:true,split:true,cls:'custom-resizable',margins:'2 2 2 0',bodyStyle:{backgroundColor:'#dddddd'},region:'center'});var pdfTpl=new Ext.XTemplate('<tpl for=".">','<div class="thumb-wrap" id="{ThumbnailUrl}" >','<div class="thumb"><div class="thumb-img"><table width="100%"><tr><td height="100%" align="center" valign="middle"><img src="{ThumbnailUrl}" class="thumb-img"></tr></table></div></div></div>','</tpl>');var pdfView=new Ext.DataView({multiSelect:false,store:store,tpl:pdfTpl,bodyStyle:{backgroundColor:'#dddddd'},singleSelect:true,itemSelector:'div.thumb-wrap'});pdfView.on("click",function(vw,index,node,e){var record=store.getAt(index).data;var pageMappings=record.PreviewPageMappings;pdfPage.body.dom.innerHTML="";mapImage=pdfPage.body.createChild({tag:'img',style:'cursor: crosshair',src:record.ImageUrl});function onBeforeStart(e){return e.target==mapImage.dom;}
function onStart(e){mapImage.on('containerclick',cancelClick,mapImage,{single:true});if(!proxy){proxy=pdfPage.el.createChild({cls:'x-view-selector'});}else{proxy.setDisplayed('block');}
dragRegion.left=0;dragRegion.top=0;dragRegion.right=0;dragRegion.bottom=0;}
function cancelClick(){return false;}
function onDrag(e){var startXY=tracker.startXY;var xy=tracker.getXY();var x=Math.min(startXY[0],xy[0]);var y=Math.min(startXY[1],xy[1]);var w=Math.abs(startXY[0]-xy[0]);var h=Math.abs(startXY[1]-xy[1]);dragRegion.left=x;dragRegion.top=y;dragRegion.right=x+w;dragRegion.bottom=y+h;dragRegion.constrainTo(mapImage.getRegion());proxy.setRegion(dragRegion);}
function onEnd(e){if(dragRegion.right-dragRegion.left>10&&dragRegion.bottom-dragRegion.top>10)
onCMAddMapping(dragRegion,pdfView);if(proxy){proxy.setDisplayed(false);}}
tracker=new Ext.dd.DragTracker({onBeforeStart:onBeforeStart,onStart:onStart,onDrag:onDrag,onEnd:onEnd});tracker.initEl(mapImage);for(var i=root.childNodes.length;i>0;i--)
root.removeChild(root.childNodes[i-1]);for(var i=0;i<pageMappings.length;i++){var displayName,tooltip;if(pageMappings[i].Url)
{displayName=pageMappings[i].Url;tooltip=pageMappings[i].Url;}
else if(pageMappings[i].AssetId)
{var asset=assetMetadata.referencedAssets.getById(pageMappings[i].AssetId);if(asset){displayName=asset.get('AssetName');tooltip="<img src='"+asset.get('URLThumbnail2')+"'>";}}
else
{displayName=Locale.PdfMappings.NoLink;tooltip=Locale.PdfMappings.NoLink;}
root.appendChild(new Ext.tree.TreeNode({id:"MappingNode_"+pageMappings[i].MappingId,text:displayName,assetId:pageMappings[i].AssetId,mappingId:pageMappings[i].MappingId,coord:pageMappings[i].Coordiantes,mappings:pageMappings,qtip:tooltip}));var coord=pageMappings[i].Coordinates;var mapDiv=pdfPage.body.createChild({tag:'div',id:'Mapping_'+pageMappings[i].MappingId,style:'position:absolute; left:'+coord.x+'px; top:'+coord.y+'px; z-index: 10000; cursor:pointer'});mapDiv.dom.innerHTML="<table width='100%' height='100%' style='background-color: white; opacity: 0.5; filter:alpha(opacity=50);'><tr><td>&nbsp;</td></tr></table>";mapDiv.on('contextmenu',function(e){var node=tree.getNodeById("MappingNode_"+this.id.split('_')[1]);showMappingContextMenu(pdfView,node,e);});mapDiv.on('dblclick',function(e){var node=tree.getNodeById("MappingNode_"+this.id.split('_')[1]);showLinkAsset(pdfView,node)});mapDiv.on('click',function(e){var node=tree.getNodeById("MappingNode_"+this.id.split('_')[1]);tree.fireEvent('click',node,e);});new Ext.ToolTip({target:'Mapping_'+pageMappings[i].MappingId,html:tooltip});var resize=new Ext.Resizable('Mapping_'+pageMappings[i].MappingId,{pinned:true,minWidth:50,minHeight:50,width:coord.width,height:coord.height,handles:'all',draggable:true,constrainTo:mapImage,dynamic:true});}});var tree=new Ext.tree.TreePanel({animate:true,border:false,region:'center',border:true,split:true,autoScroll:true,margins:'2 1 2 1',title:'Mappings',rootVisible:false});var root=new Ext.tree.TreeNode({text:Locale.PdfMappings.Mappings,allowDrag:false,allowDrop:false});tree.setRootNode(root);tree.on('click',function(node,e){var pageMappings=node.attributes.mappings;for(var i=0;i<pageMappings.length;i++)
Ext.get('Mapping_'+pageMappings[i].MappingId).dom.firstChild.style.backgroundColor="white";Ext.get('Mapping_'+node.attributes.mappingId).dom.firstChild.style.backgroundColor="red";});tree.on('contextmenu',function(node,e){showMappingContextMenu(pdfView,node,e);});Dialog=new PP.Window({title:Locale.PdfMappings.Mapping,closable:true,width:850,height:520,minimizable:true,maximizable:true,border:false,layout:'border',stateId:"PdfMappingState",stateful:true,items:[{region:'west',width:300,split:true,border:false,layout:'border',items:[{region:'west',width:170,border:true,margins:'2 2 2 2',autoScroll:true,items:pdfView},tree]},pdfPage],tbar:[{text:Locale.PdfMappings.Save,cls:"x-btn-text-icon",iconCls:"t-sprite x-toolbar-save",handler:function(){onBtnSave(pdfView);}}]});Dialog.on('close',function(){if(changed)
this.fireEvent("changed");},this);Dialog.on('maximize',function(w){w.resizer.enabled=false;w.resizer.handles="";});Dialog.on('restore',function(w){w.resizer.enabled=true;w.resizer.handles="all";});Dialog.show();}
var showMappingHyperLink=function(vw,node){Ext.MessageBox.prompt(Locale.PdfMappings.Hyperlink,Locale.PdfMappings.MgsAddress,function(btn,text){if(btn=="ok")
{var selectedNodes=vw.getSelectedNodes();if(!selectedNodes.length>0)
return;var record=vw.store.getAt(selectedNodes[0].viewIndex).data;var pageMappings=record.PreviewPageMappings;for(var i=0;i<pageMappings.length;i++)
if(node.attributes.mappingId==pageMappings[i].MappingId){pageMappings[i].Url=text;break;}
saveMappings(selectedNodes[0].viewIndex,pageMappings,vw);}},this,false,"http://");}
var showLinkAsset=function(vw,node){var assetChooser=new PP.asset.ChooserPanel({configuration:controller.getConfiguration(),areaId:lastArea,categoryId:lastCategory});var win=new PP.Window({items:[assetChooser],layout:'fit',width:800,height:500,multiSelect:true,title:'Select an asset'})
win.show();assetChooser.on("cancel",function(){win.close();},this);assetChooser.on("select",function(asset,newAreaId,newCategoryId){var selectedNodes=vw.getSelectedNodes();if(!selectedNodes.length)
return;var record=vw.store.getAt(selectedNodes[0].viewIndex);var pageMappings=record.get("PreviewPageMappings");lastArea=newAreaId;lastCategory=newCategoryId;win.close();for(var i=0;i<pageMappings.length;i++)
if(node.attributes.mappingId==pageMappings[i].MappingId){pageMappings[i].AssetId=asset.get("AssetId");break;}
saveMappings(selectedNodes[0].viewIndex,pageMappings,vw);})}
var onBtnSave=function(vw){var selectedNodes=vw.getSelectedNodes();if(!selectedNodes.length>0)
return;var record=vw.store.getAt(selectedNodes[0].viewIndex);saveMappings(selectedNodes[0].viewIndex,record.get("PreviewPageMappings"),vw);}
var onCMDeleteMapping=function(vw,node){var selectedNodes=vw.getSelectedNodes();if(!selectedNodes.length>0)
return;var record=vw.store.getAt(selectedNodes[0].viewIndex);var pageMappings=record.get("PreviewPageMappings");for(var i=pageMappings.length-1;i>=0;i--)
if(node.attributes.mappingId==pageMappings[i].MappingId){pageMappings.splice(i,1);break;}
saveMappings(selectedNodes[0].viewIndex,pageMappings,vw);}
var updateCoordinates=function(page,pageMappings,vw){for(var i=0;i<pageMappings.length;i++){var map=Ext.get('Mapping_'+pageMappings[i].MappingId);pageMappings[i].Coordinates={x:map.dom.offsetLeft+1,y:map.dom.offsetTop+1,width:map.dom.offsetWidth,height:map.dom.offsetHeight};}
return pageMappings;}
var saveMappings=function(page,pageMappings,vw){pageMappings=updateCoordinates(page,pageMappings,vw);saveMappingsToServer(page,pageMappings,vw);}
var showMappingContextMenu=function(vw,node,e){e.stopEvent();var cmMapping=new Ext.menu.ContextMenu({width:180,items:[{text:Locale.PdfMappings.Delete,iconCls:'t-sprite x-toolbar-delete',handler:function(){onCMDeleteMapping(vw,node);}},{text:Locale.PdfMappings.LinkAsset,iconCls:'t-sprite x-toolbar-add',handler:function(){showLinkAsset(vw,node)}},{text:Locale.PdfMappings.Hyperlink,iconCls:'t-sprite x-toolbar-icon-link',handler:function(){showMappingHyperLink(vw,node)}}]},e);}
var onCMAddMapping=function(dragRegion,vw){var selectedNodes=vw.getSelectedNodes();if(!selectedNodes.length>0)
return;var record=vw.store.getAt(selectedNodes[0].viewIndex);var pageMappings=record.get("PreviewPageMappings");pageMappings=updateCoordinates(selectedNodes[0].viewIndex,pageMappings,vw);pageMappings.push({Coordinates:{x:(dragRegion.left-mapImage.getLeft()),y:(dragRegion.top-mapImage.getTop()),width:(dragRegion.right-dragRegion.left),height:(dragRegion.bottom-dragRegion.top)},AssetId:null,Url:null,MappingId:null});saveMappingsToServer(selectedNodes[0].viewIndex,pageMappings,vw);}
var saveMappingsToServer=function(page,mappings,vw)
{LoadingBar=Ext.MessageBox.show({title:Locale.PdfMappings.Saving,msg:Locale.PdfMappings.SavingChanges,width:300,wait:true,waitConfig:{interval:200},closable:false,modal:false});Ext.Ajax.request({url:'../Webservice/AssetService.svc/SaveMappings',success:saveMappingsSuccess.createDelegate(this,[vw,page],true),scope:this,params:{assetId:assetRecord.get("AssetId"),page:page+1,mappings:mappings}});changed=true;}
var saveMappingsSuccess=function(r,src,vw,page){var response=Ext.util.JSON.decode(r.responseText);var aMappings=response.ReferencedAssets;if(aMappings&&aMappings.length>0)
assetMetadata.referencedAssets.loadData(response,false);assetMetadata.previewPages=response.PreviewPages;store.loadData(assetMetadata.previewPages.Pages,false);vw.select(page,false,false);vw.fireEvent('click',vw,page);LoadingBar.hide();}}
Ext.extend(PdfMappings,Ext.util.Observable);

Ext.ns("PP");PP.Startup=function(config){Ext.apply(this,config);this.addEvents('ready');this.init();PP.Startup.superclass.constructor.call(this);}
Ext.extend(PP.Startup,Ext.util.Observable,{controller:null,init:function(){var url=this.controller.url;var configuration=this.controller.getConfiguration();var admin=new PP.Admin({controller:this.controller});if(url.AssetId){this.controller.showPreview(url.AssetId);}
if(url.Action){if(url.Action=="editUsers"){admin.showUserManager(url.Category);}
if(url.Action=="browseOrders")
{admin.showOrderManager(url.OrderId,url.SubOrder);}
if(url.Action=="supportOrRejectRegistration")
{var windowRegistrationApproval=new PP.user.RegistrationApprovalWindow({width:460,userId:url.UserId,emailAddress:url.EmailAddress,additionalFields:configuration.getLoginSettings().AdditionalFields})}
if(url.Action=="contactAdmin"){var messageWindow=new PP.communication.MessageWindow({message:Locale.communication.MessageWindow.MessageContactAdmin,width:500,showFrom:true,send2Admins:true,mailFrom:configuration.getUserSettings().Email,showTo:false,title:Locale.communication.MessageWindow.TitleContactAdmin});messageWindow.on('send',function(){Ext.MessageBox.alert(Locale.communication.MessageWindow.TitleSentContactAdmin,Locale.communication.MessageWindow.MessageSentContactAdmin)},this)}};if(configuration.getUserDetails()&&configuration.getUserDetails().State&&configuration.getUserDetails().State==31)
{if(configuration.getLoginSettings().RenewalType=="SelfRenewal")
{var messageWindow=new PP.user.RenewPasswordWindow({action:'renew',email:configuration.getUserDetails().EmailAddress,strongPassword:configuration.getLoginSettings().EnableStrongPasswords,minPasswordLength:configuration.getLoginSettings().MinPasswordLength,minPasswordDigits:configuration.getLoginSettings().MinPasswordDigits});messageWindow.on("renew",function(){Ext.MessageBox.alert(Locale.user.RenewPasswordWindow.RenewSuccessTitle,Locale.user.RenewPasswordWindow.RenewSuccessMessage);},this);}
else if(configuration.getLoginSettings().RenewalType=="ManualRenewalByContact"||configuration.getLoginSettings().RenewalType=="ManualRenewalByContactOnly")
{var email="";var name="";var emailField="";var nameField="";var fields=configuration.getLoginSettings().AdditionalFields;Ext.each(fields,function(field){if(field.InternalFunction=="ContactName")
nameField=field.Fieldname;if(field.InternalFunction=="ContactEmailAddress")
emailField=field.Fieldname;},this);var cdfs=configuration.getUserDetails().CDFs;Ext.each(cdfs,function(cdf){if(cdf.Key==nameField)
name=cdf.Value;if(cdf.Key==emailField)
email=cdf.Value;},this);var messageWindow=new PP.user.RenewPasswordWindow({action:'renewByContact',email:configuration.getUserDetails().EmailAddress,emailInternalContact:email,nameInternalContact:name,strongPassword:configuration.getLoginSettings().EnableStrongPasswords,minPasswordLength:configuration.getLoginSettings().MinPasswordLength,minPasswordDigits:configuration.getLoginSettings().MinPasswordDigits});messageWindow.on("renewbycontact",function(){Ext.MessageBox.alert(Locale.user.RenewPasswordWindow.RenewByContactSuccessTitle,Locale.user.RenewPasswordWindow.RenewByContactSuccessMessage);},this);}}}});

var SWFUpload;if(SWFUpload==undefined){SWFUpload=function(settings){this.initSWFUpload(settings);};}
SWFUpload.prototype.initSWFUpload=function(settings){try{this.customSettings={};this.settings=settings;this.eventQueue=[];this.movieName="SWFUpload_"+SWFUpload.movieCount++;this.movieElement=null;SWFUpload.instances[this.movieName]=this;this.initSettings();this.loadFlash();this.displayDebugInfo();}catch(ex){delete SWFUpload.instances[this.movieName];throw ex;}};SWFUpload.instances={};SWFUpload.movieCount=0;SWFUpload.version="2.2.0";SWFUpload.QUEUE_ERROR={QUEUE_LIMIT_EXCEEDED:-100,FILE_EXCEEDS_SIZE_LIMIT:-110,ZERO_BYTE_FILE:-120,INVALID_FILETYPE:-130};SWFUpload.UPLOAD_ERROR={HTTP_ERROR:-200,MISSING_UPLOAD_URL:-210,IO_ERROR:-220,SECURITY_ERROR:-230,UPLOAD_LIMIT_EXCEEDED:-240,UPLOAD_FAILED:-250,SPECIFIED_FILE_ID_NOT_FOUND:-260,FILE_VALIDATION_FAILED:-270,FILE_CANCELLED:-280,UPLOAD_STOPPED:-290};SWFUpload.FILE_STATUS={QUEUED:-1,IN_PROGRESS:-2,ERROR:-3,COMPLETE:-4,CANCELLED:-5};SWFUpload.BUTTON_ACTION={SELECT_FILE:-100,SELECT_FILES:-110,START_UPLOAD:-120};SWFUpload.prototype.initSettings=function(){this.ensureDefault=function(settingName,defaultValue){this.settings[settingName]=(this.settings[settingName]==undefined)?defaultValue:this.settings[settingName];};this.ensureDefault("upload_url","");this.ensureDefault("file_post_name","Filedata");this.ensureDefault("post_params",{});this.ensureDefault("use_query_string",false);this.ensureDefault("requeue_on_error",false);this.ensureDefault("file_types","*.*");this.ensureDefault("file_types_description","All Files");this.ensureDefault("file_size_limit",0);this.ensureDefault("file_upload_limit",0);this.ensureDefault("file_queue_limit",0);this.ensureDefault("flash_url","swfupload.swf");this.ensureDefault("prevent_swf_caching",true);this.ensureDefault("button_image_url","");this.ensureDefault("button_width",1);this.ensureDefault("button_height",1);this.ensureDefault("button_text","");this.ensureDefault("button_text_style","color: #000000; font-size: 16pt;");this.ensureDefault("button_text_top_padding",0);this.ensureDefault("button_text_left_padding",0);this.ensureDefault("button_action",SWFUpload.BUTTON_ACTION.SELECT_FILES);this.ensureDefault("button_disabled",false);this.ensureDefault("button_placeholder_id",null);this.ensureDefault("debug",false);this.settings.debug_enabled=this.settings.debug;this.settings.return_upload_start_handler=this.returnUploadStart;this.ensureDefault("swfupload_loaded_handler",null);this.ensureDefault("file_dialog_start_handler",null);this.ensureDefault("file_queued_handler",null);this.ensureDefault("file_queue_error_handler",null);this.ensureDefault("file_dialog_complete_handler",null);this.ensureDefault("upload_start_handler",null);this.ensureDefault("upload_progress_handler",null);this.ensureDefault("upload_error_handler",null);this.ensureDefault("upload_success_handler",null);this.ensureDefault("upload_complete_handler",null);this.ensureDefault("debug_handler",this.debugMessage);this.ensureDefault("custom_settings",{});this.customSettings=this.settings.custom_settings;if(this.settings.prevent_swf_caching){this.settings.flash_url=this.settings.flash_url+"?swfuploadrnd="+Math.floor(Math.random()*999999999);}
delete this.ensureDefault;};SWFUpload.prototype.loadFlash=function(){if(this.settings.button_placeholder_id!==""){this.replaceWithFlash();}else{this.appendFlash();}};SWFUpload.prototype.appendFlash=function(){var targetElement,container;if(document.getElementById(this.movieName)!==null){throw"ID "+this.movieName+" is already in use. The Flash Object could not be added";}
targetElement=document.getElementsByTagName("body")[0];if(targetElement==undefined){throw"Could not find the 'body' element.";}
container=document.createElement("div");container.style.width="1px";container.style.height="1px";container.style.overflow="hidden";targetElement.appendChild(container);container.innerHTML=this.getFlashHTML();};SWFUpload.prototype.replaceWithFlash=function(){var targetElement,tempParent;if(document.getElementById(this.movieName)!==null){throw"ID "+this.movieName+" is already in use. The Flash Object could not be added";}
targetElement=document.getElementById(this.settings.button_placeholder_id);if(targetElement==undefined){throw"Could not find the placeholder element.";}
tempParent=document.createElement("div");tempParent.innerHTML=this.getFlashHTML();targetElement.parentNode.replaceChild(tempParent.firstChild,targetElement);};SWFUpload.prototype.getFlashHTML=function(){var transparent=this.settings.button_image_url===""?true:false;return['<object id="',this.movieName,'" type="application/x-shockwave-flash" data="',this.settings.flash_url,'" width="',this.settings.button_width,'" height="',this.settings.button_height,'" class="swfupload">','<param name="wmode" value="',transparent?"transparent":"window",'" />','<param name="movie" value="',this.settings.flash_url,'" />','<param name="quality" value="high" />','<param name="menu" value="false" />','<param name="allowScriptAccess" value="always" />','<param name="flashvars" value="'+this.getFlashVars()+'" />','</object>'].join("");};SWFUpload.prototype.getFlashVars=function(){var paramString=this.buildParamString();return["movieName=",encodeURIComponent(this.movieName),"&amp;uploadURL=",encodeURIComponent(this.settings.upload_url),"&amp;useQueryString=",encodeURIComponent(this.settings.use_query_string),"&amp;requeueOnError=",encodeURIComponent(this.settings.requeue_on_error),"&amp;params=",encodeURIComponent(paramString),"&amp;filePostName=",encodeURIComponent(this.settings.file_post_name),"&amp;fileTypes=",encodeURIComponent(this.settings.file_types),"&amp;fileTypesDescription=",encodeURIComponent(this.settings.file_types_description),"&amp;fileSizeLimit=",encodeURIComponent(this.settings.file_size_limit),"&amp;fileUploadLimit=",encodeURIComponent(this.settings.file_upload_limit),"&amp;fileQueueLimit=",encodeURIComponent(this.settings.file_queue_limit),"&amp;debugEnabled=",encodeURIComponent(this.settings.debug_enabled),"&amp;buttonImageURL=",encodeURIComponent(this.settings.button_image_url),"&amp;buttonWidth=",encodeURIComponent(this.settings.button_width),"&amp;buttonHeight=",encodeURIComponent(this.settings.button_height),"&amp;buttonText=",encodeURIComponent(this.settings.button_text),"&amp;buttonTextTopPadding=",encodeURIComponent(this.settings.button_text_top_padding),"&amp;buttonTextLeftPadding=",encodeURIComponent(this.settings.button_text_left_padding),"&amp;buttonTextStyle=",encodeURIComponent(this.settings.button_text_style),"&amp;buttonAction=",encodeURIComponent(this.settings.button_action),"&amp;buttonDisabled=",encodeURIComponent(this.settings.button_disabled)].join("");};SWFUpload.prototype.getMovieElement=function(){if(this.movieElement==undefined){this.movieElement=document.getElementById(this.movieName);}
if(this.movieElement===null){throw"Could not find Flash element";}
return this.movieElement;};SWFUpload.prototype.buildParamString=function(){var postParams=this.settings.post_params;var paramStringPairs=[];if(typeof(postParams)==="object"){for(var name in postParams){if(postParams.hasOwnProperty(name)){paramStringPairs.push(encodeURIComponent(name.toString())+"="+encodeURIComponent(postParams[name].toString()));}}}
return paramStringPairs.join("&amp;");};SWFUpload.prototype.destroy=function(){try{this.stopUpload();var movieElement=null;try{movieElement=this.getMovieElement();}catch(ex){}
if(movieElement!=undefined&&movieElement.parentNode!=undefined&&typeof movieElement.parentNode.removeChild==="function"){var container=movieElement.parentNode;if(container!=undefined){container.removeChild(movieElement);if(container.parentNode!=undefined&&typeof container.parentNode.removeChild==="function"){container.parentNode.removeChild(container);}}}
SWFUpload.instances[this.movieName]=null;delete SWFUpload.instances[this.movieName];delete this.movieElement;delete this.settings;delete this.customSettings;delete this.eventQueue;delete this.movieName;delete window[this.movieName];return true;}catch(ex1){return false;}};SWFUpload.prototype.displayDebugInfo=function(){this.debug(["---SWFUpload Instance Info---\n","Version: ",SWFUpload.version,"\n","Movie Name: ",this.movieName,"\n","Settings:\n","\t","upload_url:               ",this.settings.upload_url,"\n","\t","flash_url:                ",this.settings.flash_url,"\n","\t","use_query_string:         ",this.settings.use_query_string.toString(),"\n","\t","file_post_name:           ",this.settings.file_post_name,"\n","\t","post_params:              ",this.settings.post_params.toString(),"\n","\t","file_types:               ",this.settings.file_types,"\n","\t","file_types_description:   ",this.settings.file_types_description,"\n","\t","file_size_limit:          ",this.settings.file_size_limit,"\n","\t","file_upload_limit:        ",this.settings.file_upload_limit,"\n","\t","file_queue_limit:         ",this.settings.file_queue_limit,"\n","\t","debug:                    ",this.settings.debug.toString(),"\n","\t","prevent_swf_caching:      ",this.settings.prevent_swf_caching.toString(),"\n","\t","button_placeholder_id:    ",this.settings.button_placeholder_id.toString(),"\n","\t","button_image_url:         ",this.settings.button_image_url.toString(),"\n","\t","button_width:             ",this.settings.button_width.toString(),"\n","\t","button_height:            ",this.settings.button_height.toString(),"\n","\t","button_text:              ",this.settings.button_text.toString(),"\n","\t","button_text_style:        ",this.settings.button_text_style.toString(),"\n","\t","button_text_top_padding:  ",this.settings.button_text_top_padding.toString(),"\n","\t","button_text_left_padding: ",this.settings.button_text_left_padding.toString(),"\n","\t","button_action:            ",this.settings.button_action.toString(),"\n","\t","button_disabled:          ",this.settings.button_disabled.toString(),"\n","\t","custom_settings:          ",this.settings.custom_settings.toString(),"\n","Event Handlers:\n","\t","swfupload_loaded_handler assigned:  ",(typeof this.settings.swfupload_loaded_handler==="function").toString(),"\n","\t","file_dialog_start_handler assigned: ",(typeof this.settings.file_dialog_start_handler==="function").toString(),"\n","\t","file_queued_handler assigned:       ",(typeof this.settings.file_queued_handler==="function").toString(),"\n","\t","file_queue_error_handler assigned:  ",(typeof this.settings.file_queue_error_handler==="function").toString(),"\n","\t","upload_start_handler assigned:      ",(typeof this.settings.upload_start_handler==="function").toString(),"\n","\t","upload_progress_handler assigned:   ",(typeof this.settings.upload_progress_handler==="function").toString(),"\n","\t","upload_error_handler assigned:      ",(typeof this.settings.upload_error_handler==="function").toString(),"\n","\t","upload_success_handler assigned:    ",(typeof this.settings.upload_success_handler==="function").toString(),"\n","\t","upload_complete_handler assigned:   ",(typeof this.settings.upload_complete_handler==="function").toString(),"\n","\t","debug_handler assigned:             ",(typeof this.settings.debug_handler==="function").toString(),"\n"].join(""));};SWFUpload.prototype.addSetting=function(name,value,default_value){if(value==undefined){return(this.settings[name]=default_value);}else{return(this.settings[name]=value);}};SWFUpload.prototype.getSetting=function(name){if(this.settings[name]!=undefined){return this.settings[name];}
return"";};SWFUpload.prototype.callFlash=function(functionName,argumentArray){argumentArray=argumentArray||[];var movieElement=this.getMovieElement();var returnValue;if(typeof movieElement[functionName]==="function"){if(argumentArray.length===0){returnValue=movieElement[functionName]();}else if(argumentArray.length===1){returnValue=movieElement[functionName](argumentArray[0]);}else if(argumentArray.length===2){returnValue=movieElement[functionName](argumentArray[0],argumentArray[1]);}else if(argumentArray.length===3){returnValue=movieElement[functionName](argumentArray[0],argumentArray[1],argumentArray[2]);}else{throw"Too many arguments";}
if(returnValue!=undefined&&typeof returnValue.post==="object"){returnValue=this.unescapeFilePostParams(returnValue);}
return returnValue;}else{throw"Invalid function name: "+functionName;}};SWFUpload.prototype.selectFile=function(){this.callFlash("SelectFile");};SWFUpload.prototype.selectFiles=function(){this.callFlash("SelectFiles");};SWFUpload.prototype.startUpload=function(fileID){this.callFlash("StartUpload",[fileID]);};SWFUpload.prototype.cancelUpload=function(fileID){this.callFlash("CancelUpload",[fileID]);};SWFUpload.prototype.stopUpload=function(){this.callFlash("StopUpload");};SWFUpload.prototype.getStats=function(){return this.callFlash("GetStats");};SWFUpload.prototype.setStats=function(statsObject){this.callFlash("SetStats",[statsObject]);};SWFUpload.prototype.getFile=function(fileID){if(typeof(fileID)==="number"){return this.callFlash("GetFileByIndex",[fileID]);}else{return this.callFlash("GetFile",[fileID]);}};SWFUpload.prototype.addFileParam=function(fileID,name,value){return this.callFlash("AddFileParam",[fileID,name,value]);};SWFUpload.prototype.removeFileParam=function(fileID,name){this.callFlash("RemoveFileParam",[fileID,name]);};SWFUpload.prototype.setUploadURL=function(url){this.settings.upload_url=url.toString();this.callFlash("SetUploadURL",[url]);};SWFUpload.prototype.setPostParams=function(paramsObject){this.settings.post_params=paramsObject;this.callFlash("SetPostParams",[paramsObject]);};SWFUpload.prototype.addPostParam=function(name,value){this.settings.post_params[name]=value;this.callFlash("SetPostParams",[this.settings.post_params]);};SWFUpload.prototype.removePostParam=function(name){delete this.settings.post_params[name];this.callFlash("SetPostParams",[this.settings.post_params]);};SWFUpload.prototype.setFileTypes=function(types,description){this.settings.file_types=types;this.settings.file_types_description=description;this.callFlash("SetFileTypes",[types,description]);};SWFUpload.prototype.setFileSizeLimit=function(fileSizeLimit){this.settings.file_size_limit=fileSizeLimit;this.callFlash("SetFileSizeLimit",[fileSizeLimit]);};SWFUpload.prototype.setFileUploadLimit=function(fileUploadLimit){this.settings.file_upload_limit=fileUploadLimit;this.callFlash("SetFileUploadLimit",[fileUploadLimit]);};SWFUpload.prototype.setFileQueueLimit=function(fileQueueLimit){this.settings.file_queue_limit=fileQueueLimit;this.callFlash("SetFileQueueLimit",[fileQueueLimit]);};SWFUpload.prototype.setFilePostName=function(filePostName){this.settings.file_post_name=filePostName;this.callFlash("SetFilePostName",[filePostName]);};SWFUpload.prototype.setUseQueryString=function(useQueryString){this.settings.use_query_string=useQueryString;this.callFlash("SetUseQueryString",[useQueryString]);};SWFUpload.prototype.setRequeueOnError=function(requeueOnError){this.settings.requeue_on_error=requeueOnError;this.callFlash("SetRequeueOnError",[requeueOnError]);};SWFUpload.prototype.setDebugEnabled=function(debugEnabled){this.settings.debug_enabled=debugEnabled;this.callFlash("SetDebugEnabled",[debugEnabled]);};SWFUpload.prototype.setButtonImageURL=function(buttonImageURL){if(buttonImageURL==undefined){buttonImageURL="";}
this.settings.button_image_url=buttonImageURL;this.callFlash("SetButtonImageURL",[buttonImageURL]);};SWFUpload.prototype.setButtonDimensions=function(width,height){this.settings.button_width=width;this.settings.button_height=height;var movie=this.getMovieElement();if(movie!=undefined){movie.style.width=width+"px";movie.style.height=height+"px";}
this.callFlash("SetButtonDimensions",[width,height]);};SWFUpload.prototype.setButtonText=function(html){this.settings.button_text=html;this.callFlash("SetButtonText",[html]);};SWFUpload.prototype.setButtonTextPadding=function(left,top){this.settings.button_text_top_padding=top;this.settings.button_text_left_padding=left;this.callFlash("SetButtonTextPadding",[left,top]);};SWFUpload.prototype.setButtonTextStyle=function(css){this.settings.button_text_style=css;this.callFlash("SetButtonTextStyle",[css]);};SWFUpload.prototype.setButtonDisabled=function(isDisabled){this.settings.button_disabled=isDisabled;this.callFlash("SetButtonDisabled",[isDisabled]);};SWFUpload.prototype.setButtonAction=function(buttonAction){this.settings.button_action=buttonAction;this.callFlash("SetButtonAction",[buttonAction]);};SWFUpload.prototype.queueEvent=function(handlerName,argumentArray){if(argumentArray==undefined){argumentArray=[];}else if(!(argumentArray instanceof Array)){argumentArray=[argumentArray];}
var self=this;if(typeof this.settings[handlerName]==="function"){this.eventQueue.push(function(){this.settings[handlerName].apply(this,argumentArray);});setTimeout(function(){self.executeNextEvent();},0);}else if(this.settings[handlerName]!==null){throw"Event handler "+handlerName+" is unknown or is not a function";}};SWFUpload.prototype.executeNextEvent=function(){var f=this.eventQueue?this.eventQueue.shift():null;if(typeof(f)==="function"){f.apply(this);}};SWFUpload.prototype.unescapeFilePostParams=function(file){var reg=/[$]([0-9a-f]{4})/i;var unescapedPost={};var uk;if(file!=undefined){for(var k in file.post){if(file.post.hasOwnProperty(k)){uk=k;var match;while((match=reg.exec(uk))!==null){uk=uk.replace(match[0],String.fromCharCode(parseInt("0x"+match[1],16)));}
unescapedPost[uk]=file.post[k];}}
file.post=unescapedPost;}
return file;};SWFUpload.prototype.flashReady=function(){var movieElement=this.getMovieElement();if(typeof movieElement.StartUpload!=="function"){throw"ExternalInterface methods failed to initialize.";}
if(window[this.movieName]==undefined){window[this.movieName]=movieElement;}
this.queueEvent("swfupload_loaded_handler");};SWFUpload.prototype.fileDialogStart=function(){this.queueEvent("file_dialog_start_handler");};SWFUpload.prototype.fileQueued=function(file){file=this.unescapeFilePostParams(file);this.queueEvent("file_queued_handler",file);};SWFUpload.prototype.fileQueueError=function(file,errorCode,message){file=this.unescapeFilePostParams(file);this.queueEvent("file_queue_error_handler",[file,errorCode,message]);};SWFUpload.prototype.fileDialogComplete=function(numFilesSelected,numFilesQueued){this.queueEvent("file_dialog_complete_handler",[numFilesSelected,numFilesQueued]);};SWFUpload.prototype.uploadStart=function(file){file=this.unescapeFilePostParams(file);this.queueEvent("return_upload_start_handler",file);};SWFUpload.prototype.returnUploadStart=function(file){var returnValue;if(typeof this.settings.upload_start_handler==="function"){file=this.unescapeFilePostParams(file);returnValue=this.settings.upload_start_handler.call(this,file);}else if(this.settings.upload_start_handler!=undefined){throw"upload_start_handler must be a function";}
if(returnValue===undefined){returnValue=true;}
returnValue=!!returnValue;this.callFlash("ReturnUploadStart",[returnValue]);};SWFUpload.prototype.uploadProgress=function(file,bytesComplete,bytesTotal){file=this.unescapeFilePostParams(file);this.queueEvent("upload_progress_handler",[file,bytesComplete,bytesTotal]);};SWFUpload.prototype.uploadError=function(file,errorCode,message){file=this.unescapeFilePostParams(file);this.queueEvent("upload_error_handler",[file,errorCode,message]);};SWFUpload.prototype.uploadSuccess=function(file,serverData){file=this.unescapeFilePostParams(file);this.queueEvent("upload_success_handler",[file,serverData]);};SWFUpload.prototype.uploadComplete=function(file){file=this.unescapeFilePostParams(file);this.queueEvent("upload_complete_handler",file);};SWFUpload.prototype.debug=function(message){this.queueEvent("debug_handler",message);};SWFUpload.prototype.debugMessage=function(message){if(this.settings.debug){var exceptionMessage,exceptionValues=[];if(typeof message==="object"&&typeof message.name==="string"&&typeof message.message==="string"){for(var key in message){if(message.hasOwnProperty(key)){exceptionValues.push(key+": "+message[key]);}}
exceptionMessage=exceptionValues.join("\n")||"";exceptionValues=exceptionMessage.split("\n");exceptionMessage="EXCEPTION: "+exceptionValues.join("\nEXCEPTION: ");SWFUpload.Console.writeLine(exceptionMessage);}else{SWFUpload.Console.writeLine(message);}}};SWFUpload.Console={};SWFUpload.Console.writeLine=function(message){var console,documentForm;try{console=document.getElementById("SWFUpload_Console");if(!console){documentForm=document.createElement("form");document.getElementsByTagName("body")[0].appendChild(documentForm);console=document.createElement("textarea");console.id="SWFUpload_Console";console.style.fontFamily="monospace";console.setAttribute("wrap","off");console.wrap="off";console.style.overflow="auto";console.style.width="700px";console.style.height="350px";console.style.margin="5px";documentForm.appendChild(console);}
console.value+=message+"\n";console.scrollTop=console.scrollHeight-console.clientHeight;}catch(ex){alert("Exception: "+ex.name+" Message: "+ex.message);}};

String.prototype.endsWith=function(s){var reg=new RegExp(s+"$");return reg.test(this);}
Ext.ux.clone=function(o){if(!o||'object'!==typeof o){return o;}
var c='function'===typeof o.pop?[]:{};var p,v;for(p in o){if(o.hasOwnProperty(p)){v=o[p];if(v&&'object'===typeof v){c[p]=Ext.ux.clone(v);}
else{c[p]=v;}}}
return c;};Ext.override(Ext.data.Store,{clone:function(newConfig){newConfig=Ext.apply({reader:this.reader,proxy:this.proxy,recordType:this.recordType,url:this.url,baseParams:this.baseParams,lastOptions:this.lastOptions,remoteSort:this.remoteSort},newConfig||{});var ds=new Ext.data.Store(newConfig);if(newConfig.cloneData){ds.data=this.data.clone()
ds.modified=[].concat(this.modified);}
if(newConfig.cloneEvents){ds.events=this.events;}
return ds;}});Ext.ux.replaceScope=function(o,scopeValueToReplace,scope){if(!o||'object'!==typeof o){return o;}
var c='function'===typeof o.pop?[]:{};var p,v;for(p in o){if(o.hasOwnProperty(p)){v=o[p];if(v&&'object'===typeof v){c[p]=Ext.ux.replaceScope(v,scopeValueToReplace,scope);}
else{if(p=="scope"&&scopeValueToReplace==v)
c[p]=scope;else
c[p]=v;}}}
return c;};function autoSelect(selectTarget){if(selectTarget!=null&&((selectTarget.childNodes.length==1&&selectTarget.childNodes[0].nodeName=="#text")||(selectTarget.tagName=="INPUT"&&selectTarget.type=="text"))){if(selectTarget.tagName=='TEXTAREA'||(selectTarget.tagName=="INPUT"&&selectTarget.type=="text")){selectTarget.select();}else if(window.getSelection){var sel=window.getSelection();var range=document.createRange();range.selectNode(selectTarget.firstChild);sel.removeAllRanges();sel.addRange(range);}else{document.selection.empty();var range=document.body.createTextRange();range.moveToElementText(selectTarget);range.select();}}}
function IsNumeric(sText)
{var ValidChars="0123456789";var IsNumber=true;var Char;for(i=0;i<sText.length&&IsNumber==true;i++)
{Char=sText.charAt(i);if(ValidChars.indexOf(Char)==-1)
IsNumber=false;}
return IsNumber;}
function getFileExtension(value){return value.substring(value.lastIndexOf('.')+1,value.length);}
Ext.form.TriggerField.override({afterRender:function(){Ext.form.TriggerField.superclass.afterRender.call(this);var y;if(Ext.isIE&&!this.hideTrigger&&this.el.getY()!=(y=this.trigger.getY())){this.el.position();this.el.setY(y);}}});Ext.override(Ext.Component,{stateful:false});Ext.override(Ext.Panel,{forceLayout:true});function appendToUrl(value,append){if(value.indexOf("?")==-1)
return value+"?"+append;else
return value+"&"+append;}
Ext.ns('Ext.ux.grid');Ext.ux.grid.RowEditor=Ext.extend(Ext.Panel,{floating:true,shadow:false,layout:'hbox',cls:'x-small-editor',buttonAlign:'center',baseCls:'x-row-editor',elements:'header,footer,body',frameWidth:5,buttonPad:3,clicksToEdit:'auto',monitorValid:true,focusDelay:250,errorSummary:true,defaults:{normalWidth:true},initComponent:function(){Ext.ux.grid.RowEditor.superclass.initComponent.call(this);this.addEvents('beforeedit','validateedit','afteredit');},init:function(grid){this.grid=grid;this.ownerCt=grid;if(this.clicksToEdit===2){grid.on('rowdblclick',this.onRowDblClick,this);}else{grid.on('rowclick',this.onRowClick,this);if(Ext.isIE){grid.on('rowdblclick',this.onRowDblClick,this);}}
grid.getStore().on('remove',function(){this.stopEditing(false);},this);grid.on({scope:this,keydown:this.onGridKey,columnresize:this.verifyLayout,columnmove:this.refreshFields,reconfigure:this.refreshFields,destroy:this.destroy,bodyscroll:{buffer:250,fn:this.positionButtons}});grid.getColumnModel().on('hiddenchange',this.verifyLayout,this,{delay:1});grid.getView().on('refresh',this.stopEditing.createDelegate(this,[]));},refreshFields:function(){this.initFields();this.verifyLayout();},isDirty:function(){var dirty;this.items.each(function(f){if(String(this.values[f.id])!==String(f.getValue())){dirty=true;return false;}},this);return dirty;},startEditing:function(rowIndex,doFocus){if(this.editing&&this.isDirty()){this.showTooltip('You need to commit or cancel your changes');return;}
if(Ext.isObject(rowIndex)){rowIndex=this.grid.getStore().indexOf(rowIndex);}
if(this.fireEvent('beforeedit',this,rowIndex)!==false){this.editing=true;var g=this.grid,view=g.getView();var row=view.getRow(rowIndex);var record=g.store.getAt(rowIndex);this.record=record;this.rowIndex=rowIndex;this.values={};if(!this.rendered){this.render(view.getEditorParent());}
var w=Ext.fly(row).getWidth();this.setSize(w);if(!this.initialized){this.initFields();}
var cm=g.getColumnModel(),fields=this.items.items,f,val;for(var i=0,len=cm.getColumnCount();i<len;i++){val=this.preEditValue(record,cm.getDataIndex(i));f=fields[i];f.setValue(val);this.values[f.id]=Ext.isEmpty(val)?'':val;}
this.verifyLayout(true);if(!this.isVisible()){this.setPagePosition(Ext.fly(row).getXY());}else{this.el.setXY(Ext.fly(row).getXY(),{duration:0.15});}
if(!this.isVisible()){this.show().doLayout();}
if(doFocus!==false){this.doFocus.defer(this.focusDelay,this);}}},stopEditing:function(saveChanges){this.editing=false;if(!this.isVisible()){return;}
if(saveChanges===false||!this.isValid()){this.hide();return;}
var changes={},r=this.record,hasChange=false;var cm=this.grid.colModel,fields=this.items.items;for(var i=0,len=cm.getColumnCount();i<len;i++){if(!cm.isHidden(i)){var dindex=cm.getDataIndex(i);if(!Ext.isEmpty(dindex)){var oldValue=r.data[dindex];var value=this.postEditValue(fields[i].getValue(),oldValue,r,dindex);if(String(oldValue)!==String(value)){changes[dindex]=value;hasChange=true;}}}}
if(hasChange&&this.fireEvent('validateedit',this,changes,r,this.rowIndex)!==false){r.beginEdit();for(var k in changes){if(changes.hasOwnProperty(k)){r.set(k,changes[k]);}}
r.endEdit();this.fireEvent('afteredit',this,changes,r,this.rowIndex);}
this.hide();},verifyLayout:function(force){if(this.el&&(this.isVisible()||force===true)){var row=this.grid.getView().getRow(this.rowIndex);this.setSize(Ext.fly(row).getWidth(),Ext.isIE?Ext.fly(row).getHeight()+9:undefined);var cm=this.grid.colModel,fields=this.items.items;for(var i=0,len=cm.getColumnCount();i<len;i++){if(!cm.isHidden(i)){var adjust=0;if(i===(len-1)){adjust+=3;}else{adjust+=1;}
fields[i].show();fields[i].setWidth(cm.getColumnWidth(i)-adjust);}else{fields[i].hide();}}
this.doLayout();this.positionButtons();}},slideHide:function(){this.hide();},initFields:function(){var cm=this.grid.getColumnModel(),pm=Ext.layout.ContainerLayout.prototype.parseMargins;this.removeAll(false);for(var i=0,len=cm.getColumnCount();i<len;i++){var c=cm.getColumnAt(i);var ed=c.getEditor();if(!ed){ed=c.displayEditor||new Ext.form.DisplayField();}
if(i==0){ed.margins=pm('0 1 2 1');}else if(i==len-1){ed.margins=pm('0 0 2 1');}else{ed.margins=pm('0 1 2');}
ed.setWidth(cm.getColumnWidth(i));ed.column=c;if(ed.ownerCt!==this){ed.on('focus',this.ensureVisible,this);ed.on('specialkey',this.onKey,this);}
this.insert(i,ed);}
this.initialized=true;},onKey:function(f,e){if(e.getKey()===e.ENTER){this.stopEditing(true);e.stopPropagation();}},onGridKey:function(e){if(e.getKey()===e.ENTER&&!this.isVisible()){var r=this.grid.getSelectionModel().getSelected();if(r){var index=this.grid.store.indexOf(r);this.startEditing(index);e.stopPropagation();}}},ensureVisible:function(editor){if(this.isVisible()){this.grid.getView().ensureVisible(this.rowIndex,this.grid.colModel.getIndexById(editor.column.id),true);}},onRowClick:function(g,rowIndex,e){if(this.clicksToEdit=='auto'){var li=this.lastClickIndex;this.lastClickIndex=rowIndex;if(li!=rowIndex&&!this.isVisible()){return;}}
this.startEditing(rowIndex,false);this.doFocus.defer(this.focusDelay,this,[e.getPoint()]);},onRowDblClick:function(g,rowIndex,e){this.startEditing(rowIndex,false);this.doFocus.defer(this.focusDelay,this,[e.getPoint()]);},onRender:function(){Ext.ux.grid.RowEditor.superclass.onRender.apply(this,arguments);this.el.swallowEvent(['keydown','keyup','keypress']);this.btns=new Ext.Panel({baseCls:'x-plain',cls:'x-btns',elements:'body',layout:'table',width:(this.minButtonWidth*2)+(this.frameWidth*2)+(this.buttonPad*4),items:[{ref:'saveBtn',itemId:'saveBtn',xtype:'button',text:this.saveText||'Save',width:this.minButtonWidth,handler:this.stopEditing.createDelegate(this,[true])},{xtype:'button',text:this.cancelText||'Cancel',width:this.minButtonWidth,handler:this.stopEditing.createDelegate(this,[false])}]});this.btns.render(this.bwrap);},afterRender:function(){Ext.ux.grid.RowEditor.superclass.afterRender.apply(this,arguments);this.positionButtons();if(this.monitorValid){this.startMonitoring();}},onShow:function(){if(this.monitorValid){this.startMonitoring();}
Ext.ux.grid.RowEditor.superclass.onShow.apply(this,arguments);},onHide:function(){Ext.ux.grid.RowEditor.superclass.onHide.apply(this,arguments);this.stopMonitoring();this.grid.getView().focusRow(this.rowIndex);},positionButtons:function(){if(this.btns){var h=this.el.dom.clientHeight;var view=this.grid.getView();var scroll=view.scroller.dom.scrollLeft;var width=view.mainBody.getWidth();var bw=this.btns.getWidth();this.btns.el.shift({left:(width/2)-(bw/2)+scroll,top:h-2,stopFx:true,duration:0.2});}},preEditValue:function(r,field){var value=r.data[field];return this.autoEncode&&typeof value==='string'?Ext.util.Format.htmlDecode(value):value;},postEditValue:function(value,originalValue,r,field){return this.autoEncode&&typeof value=='string'?Ext.util.Format.htmlEncode(value):value;},doFocus:function(pt){if(this.isVisible()){var index=0;if(pt){index=this.getTargetColumnIndex(pt);}
var cm=this.grid.getColumnModel();for(var i=index||0,len=cm.getColumnCount();i<len;i++){var c=cm.getColumnAt(i);if(!c.hidden&&c.getEditor()){c.getEditor().focus();break;}}}},getTargetColumnIndex:function(pt){var grid=this.grid,v=grid.view;var x=pt.left;var cms=grid.colModel.config;var i=0,match=false;for(var len=cms.length,c;c=cms[i];i++){if(!c.hidden){if(Ext.fly(v.getHeaderCell(i)).getRegion().right>=x){match=i;break;}}}
return match;},startMonitoring:function(){if(!this.bound&&this.monitorValid){this.bound=true;Ext.TaskMgr.start({run:this.bindHandler,interval:this.monitorPoll||200,scope:this});}},stopMonitoring:function(){this.bound=false;if(this.tooltip){this.tooltip.hide();}},isValid:function(){var valid=true;this.items.each(function(f){if(!f.isValid(true)){valid=false;return false;}});return valid;},bindHandler:function(){if(!this.bound){return false;}
var valid=this.isValid();if(!valid&&this.errorSummary){this.showTooltip(this.getErrorText().join(''));}
this.btns.saveBtn.setDisabled(!valid);this.fireEvent('validation',this,valid);},showTooltip:function(msg){var t=this.tooltip;if(!t){t=this.tooltip=new Ext.ToolTip({maxWidth:600,cls:'errorTip',width:300,title:'Errors',autoHide:false,anchor:'left',anchorToTarget:true,mouseOffset:[40,0]});}
var v=this.grid.getView(),top=parseInt(this.el.dom.style.top,10),scroll=v.scroller.dom.scrollTop,h=this.el.getHeight();if(top+h>=scroll){t.initTarget(this.items.last().getEl());if(!t.rendered){t.show();t.hide();}
t.body.update(msg);t.doAutoWidth();t.show();}else if(t.rendered){t.hide();}},getErrorText:function(){var data=['<ul>'];this.items.each(function(f){if(!f.isValid(true)){data.push('<li>',f.activeError,'</li>');}});data.push('</ul>');return data;}});Ext.preg('roweditor',Ext.ux.grid.RowEditor);Ext.override(Ext.form.Field,{markInvalid:function(msg){if(!this.rendered||this.preventMark){return;}
msg=msg||this.invalidText;var mt=this.getMessageHandler();if(mt){mt.mark(this,msg);}else if(this.msgTarget){this.el.addClass(this.invalidClass);var t=Ext.getDom(this.msgTarget);if(t){t.innerHTML=msg;t.style.display=this.msgDisplay;}}
this.activeError=msg;this.fireEvent('invalid',this,msg);}});Ext.override(Ext.ToolTip,{doAutoWidth:function(){var bw=this.body.getTextWidth();if(this.title){bw=Math.max(bw,this.header.child('span').getTextWidth(this.title));}
bw+=this.getFrameWidth()+(this.closable?20:0)+this.body.getPadding("lr")+20;this.setWidth(bw.constrain(this.minWidth,this.maxWidth));if(Ext.isIE7&&!this.repainted){this.el.repaint();this.repainted=true;}}});Ext.ux.Spotlight=function(config){Ext.apply(this,config);}
Ext.ux.Spotlight.prototype={active:false,animate:true,duration:.25,easing:'easeNone',animated:false,createElements:function(){var bd=Ext.getBody();this.right=bd.createChild({cls:'x-spotlight'});this.left=bd.createChild({cls:'x-spotlight'});this.top=bd.createChild({cls:'x-spotlight'});this.bottom=bd.createChild({cls:'x-spotlight'});this.all=new Ext.CompositeElement([this.right,this.left,this.top,this.bottom]);},show:function(el,callback,scope){if(this.animated){this.show.defer(50,this,[el,callback,scope]);return;}
this.el=Ext.get(el);if(!this.right){this.createElements();}
if(!this.active){this.all.setDisplayed('');this.applyBounds(true,false);this.active=true;Ext.EventManager.onWindowResize(this.syncSize,this);this.applyBounds(false,this.animate,false,callback,scope);}else{this.applyBounds(false,false,false,callback,scope);}},hide:function(callback,scope){if(this.animated){this.hide.defer(50,this,[callback,scope]);return;}
Ext.EventManager.removeResizeListener(this.syncSize,this);this.applyBounds(true,this.animate,true,callback,scope);},doHide:function(){this.active=false;this.all.setDisplayed(false);},syncSize:function(){this.applyBounds(false,false);},applyBounds:function(basePts,anim,doHide,callback,scope){var rg=this.el.getRegion();var dw=Ext.lib.Dom.getViewWidth(true);var dh=Ext.lib.Dom.getViewHeight(true);var c=0,cb=false;if(anim){cb={callback:function(){c++;if(c==4){this.animated=false;if(doHide){this.doHide();}
Ext.callback(callback,scope,[this]);}},scope:this,duration:this.duration,easing:this.easing};this.animated=true;}
this.right.setBounds(rg.right,basePts?dh:rg.top,dw-rg.right,basePts?0:(dh-rg.top),cb);this.left.setBounds(0,0,rg.left,basePts?0:rg.bottom,cb);this.top.setBounds(basePts?dw:rg.left,0,basePts?0:dw-rg.left,rg.top,cb);this.bottom.setBounds(0,rg.bottom,basePts?0:rg.right,dh-rg.bottom,cb);if(!anim){if(doHide){this.doHide();}
if(callback){Ext.callback(callback,scope,[this]);}}},destroy:function(){this.doHide();Ext.destroy(this.right,this.left,this.top,this.bottom);delete this.el;delete this.all;}};Ext.Spotlight=Ext.ux.Spotlight;

Ext.ns("PP","PP");PP.TreeLoader=function(config){this.baseParams={};this.requestMethod="POST";Ext.apply(this,config);this.addEvents("beforeload","load","loadexception");PP.TreeLoader.superclass.constructor.call(this);};Ext.extend(PP.TreeLoader,Ext.util.Observable,{uiProviders:{},clearOnLoad:true,load:function(node,callback){if(this.clearOnLoad){while(node.firstChild){node.removeChild(node.firstChild);}}
if(this.doPreload(node)){if(typeof callback=="function"){callback();}}else if(this.dataUrl||this.url){this.requestData(node,callback);}},doPreload:function(node){if(node.attributes.children){if(node.childNodes.length<1){var cs=node.attributes.children;node.beginUpdate();for(var i=0,len=cs.length;i<len;i++){var cn=node.appendChild(this.createNode(cs[i]));if(this.preloadChildren){this.doPreload(cn);}}
node.endUpdate();}
return true;}else{return false;}},getParams:function(node){var params=this.baseParams;params.categoryId=Ext.isDefined(node.attributes.categoryId)?node.attributes.categoryId:node.id;return params;},requestData:function(node,callback){if(this.fireEvent("beforeload",this,node,callback)!==false){this.transId=Ext.Ajax.request({method:this.requestMethod,url:this.dataUrl||this.url,success:this.handleResponse,scope:this,argument:{callback:callback,node:node},params:this.getParams(node)});}else{if(typeof callback=="function"){callback();}}},isLoading:function(){return this.transId?true:false;},abort:function(){if(this.isLoading()){Ext.Ajax.abort(this.transId);}},createNode:function(attr){this.copyAttributes(attr);if(this.baseAttrs){Ext.applyIf(attr,this.baseAttrs);}
if(this.applyLoader!==false){attr.loader=this;}
if(typeof attr.uiProvider=='string'){attr.uiProvider=this.uiProviders[attr.uiProvider]||eval(attr.uiProvider);}
var treeNode=attr.leaf?new Ext.tree.TreeNode(attr):new Ext.tree.AsyncTreeNode(attr);this.extendTreeNode(treeNode);return treeNode;},extendTreeNode:function(treeNode){},copyAttributes:function(attr){},prepareRecords:function(o){return o;},processResponse:function(response,node,callback){var json=response.responseText;try{var o=eval("("+json+")");if(this.resultJsonObjectName)
o=o[this.resultJsonObjectName];o=this.prepareRecords(o);node.beginUpdate();for(var i=0,len=o.length;i<len;i++){var n=this.createNode(o[i]);if(n){node.appendChild(n);}}
node.endUpdate();if(typeof callback=="function"){callback(this,node);}}catch(e){this.handleFailure(response);}},handleResponse:function(response){this.transId=false;var a=response.argument;this.processResponse(response,a.node,a.callback);this.fireEvent("load",this,a.node,response);},handleFailure:function(response){this.transId=false;var a=response.argument;this.fireEvent("loadexception",this,a.node,response);if(typeof a.callback=="function"){a.callback(this,a.node);}}});

Ext.ns("PP");PP.Window=function(config){var oTaskbar;if(controller.taskbar)
oTaskbar=controller.taskbar.getTaskbar();if(Ext.get("parentCenter-div"))
config.renderTo='parentCenter-div';else
config.minimizable=false;config.constrainHeader=true;if(config.autoHeight)
config.forceLayout=true;PP.Window.superclass.constructor.call(this,config);this.on("close",function()
{if(oTaskbar)
this.taskButton=oTaskbar.removeTaskButton(this.taskButton);})
this.on("destroy",function()
{if(this.taskButton)
this.taskButton=oTaskbar.removeTaskButton(this.taskButton);})
this.on("minimize",function(){if(!this.modal){this.hide();if(this.taskButton)
Ext.fly(this.taskButton.el).removeClass('active-win');}})
this.on("maximize",function(){this.maximized=true;if(this.taskButton)
Ext.fly(this.taskButton.el).addClass('active-win');})
this.on("beforeshow",function(){if(this.taskButton==null&&oTaskbar)
this.taskButton=oTaskbar.addTaskButton(this);})
this.on("activate",function(){if(oTaskbar){oTaskbar.setActiveButton(this.taskButton);Ext.fly(this.taskButton.el).addClass('active-win');}})
this.on("deactivate",function(){if(oTaskbar)
Ext.fly(this.taskButton.el).removeClass('active-win');})
this.on("titlechange",function(src,title){if(this.taskButton)
this.taskButton.setText(Ext.util.Format.ellipsis(title,28));})};Ext.extend(PP.Window,Ext.Window,{});

Ext.ns("PP","PP.widget");PP.widget.CheckboxGroupRenderer=function(config){Ext.apply(this,config);}
Ext.extend(PP.widget.CheckboxGroupRenderer,Ext.util.Observable,{render:function(value,metadata,record,rowIndex,colIndex,store){var contentId=Ext.id();this.renderCheckboxes.defer(10,this,[contentId,value,metadata,record,rowIndex,colIndex,store]);return('<div id="'+contentId+'" style="min-height:60px"></div>');},renderCheckboxes:function(contentId,value,metadata,record,rowIndex,colIndex,store)
{var checkboxGroup=null;var items=[];if(record.get("AssetTypeId")==1)
{this.imageFormats.each(function(imageRecord){if(!record.get("HideFormat")[imageRecord.get("Index")-1])
{var checked=record.get("SelectedFormats").indexOf(imageRecord.get("Index"));if((this.renderSelectedOnly&&record.get("AvailableFormats").indexOf(imageRecord.get("Index"))!=-1)||!this.renderSelectedOnly)
items.push({boxLabel:imageRecord.get("Name"),name:imageRecord.get("Index"),checked:checked!=-1,listeners:{scope:this,check:function(checkbox,checked){var values=[];checkboxGroup.items.each(function(checkRecord){if(checkRecord.checked==true)
values.push(checkRecord.name);},this)
var record=this.assetStore.getAt(rowIndex);record.beginEdit();record.set("SelectedFormats",values);record.commit(true);this.assetStore.fireEvent("silentupdate",this.assetStore,record,"commit");}}});}},this);}
else
{items.push({boxLabel:"Original",name:"misc",checked:record.get("SelectedFormats")[0],listeners:{scope:this,check:function(checkbox,checked){var values=[];checkboxGroup.items.each(function(checkRecord){if(checkRecord.checked==true)
values.push(true);},this)
var record=this.assetStore.getAt(rowIndex);record.beginEdit();record.set("SelectedFormats",values);record.commit(true);this.assetStore.fireEvent("silentupdate",this.assetStore,record,"commit");}}});}
checkboxGroup=new Ext.form.CheckboxGroup({columns:1,autoWidth:true,items:items});try{checkboxGroup.render(Ext.get(contentId));}catch(e){}}});

Ext.menu.ContextMenu=function(config,e){Ext.menu.ContextMenu.superclass.constructor.call(this,config);var cmenuX=e.getPageX();var cmenuY=e.getPageY();var winX=window.innerWidth?window.innerWidth:document.body.clientWidth;var winY=window.innerHeight?window.innerHeight:document.body.clientHeight;if(cmenuX>(winX-120))
cmenuX=cmenuX-70;if(cmenuY>winY-(6+(this.items.items.length*24)))
cmenuY=cmenuY-(6+(this.items.items.length*24));this.showAt([cmenuX,cmenuY]);};Ext.extend(Ext.menu.ContextMenu,Ext.menu.Menu,{});

Ext.ns("PP","PP.widget");PP.widget.CountryComboBox=Ext.extend(Ext.form.ComboBox,{initComponent:function(){this.countryList=new Ext.data.Store({proxy:new Ext.data.HttpProxy({url:'../Webservice/ConfigurationService.svc/GetCountries'}),reader:new Ext.data.JsonReader({id:'Code'},[{name:'CountryId',mapping:'Code'},{name:'Country',mapping:'Name'}])});this.countryList.load();this.store=this.countryList;Ext.form.ComboBox.prototype.initComponent.call(this);},showReset:function(){this.triggers[0].show();}});

Ext.ns("PP","PP.widget");PP.widget.DateField=Ext.extend(Ext.form.DateField,{initComponent:function(){Ext.form.DateField.prototype.initComponent.call(this);},onTriggerClick:function(){if(this.disabled){return;}
if(this.menu==null){this.menu=new Ext.menu.DateMenu({shadow:false,parentEl:document.body});}
this.onFocus();Ext.apply(this.menu.picker,{minDate:this.minValue,maxDate:this.maxValue,disabledDatesRE:this.disabledDatesRE,disabledDatesText:this.disabledDatesText,disabledDays:this.disabledDays,disabledDaysText:this.disabledDaysText,format:this.format,showToday:this.showToday,minText:String.format(this.minText,this.formatDate(this.minValue)),maxText:String.format(this.maxText,this.formatDate(this.maxValue))});this.menu.on(Ext.apply({},this.menuListeners,{scope:this}));this.menu.picker.setValue(this.getValue()||new Date());this.menu.show(this.el,"tr-br?");this.menuEvents('on');}});

Ext.ns("PP","PP.widget");PP.widget.DateResetField=Ext.extend(Ext.form.DateField,{initComponent:function(){Ext.form.TwinTriggerField.prototype.initComponent.call(this);this.on("change",function(){if(this.getValue())
this.showReset();},this)
this.on('specialkey',function(f,e){if((e.getKey()==e.ENTER)&&this.isValid()){this.showReset();}},this);},getTrigger:Ext.form.TwinTriggerField.prototype.getTrigger,initTrigger:Ext.form.TwinTriggerField.prototype.initTrigger,onTrigger2Click:Ext.form.DateField.prototype.onTriggerClick,trigger1Class:'x-form-clear-trigger',trigger2Class:'x-form-date-trigger',hideTrigger1:true,showReset:function(){this.triggers[0].show();},onTrigger1Click:function(e){this.triggers[0].hide();this.setValue("");},update:function(){if(this.getValue())
this.showReset();else
this.onTrigger1Click();}});

Ext.ns('Ext.ux.form');Ext.ux.form.DateTime=Ext.extend(Ext.form.Field,{defaultAutoCreate:{tag:'input',type:'hidden'},timeWidth:100,dtSeparator:' ',hiddenFormat:'Y-m-d H:i:s',otherToNow:true,timePosition:'right',dateFormat:'m/d/y',timeFormat:'g:i A',initComponent:function(){Ext.ux.form.DateTime.superclass.initComponent.call(this);var dateConfig=Ext.apply({},{id:this.id+'-date',format:this.dateFormat||Ext.form.DateField.prototype.format,width:this.timeWidth,selectOnFocus:this.selectOnFocus,listeners:{blur:{scope:this,fn:this.onBlur},focus:{scope:this,fn:this.onFocus}}},this.dateConfig);this.df=new PP.widget.DateField(dateConfig);this.df.ownerCt=this;delete(this.dateFormat);var timeConfig=Ext.apply({},{id:this.id+'-time',format:this.timeFormat||Ext.form.TimeField.prototype.format,width:this.timeWidth,valueField:'text',selectOnFocus:this.selectOnFocus,listeners:{blur:{scope:this,fn:this.onBlur},focus:{scope:this,fn:this.onFocus}}},this.timeConfig);this.tf=new Ext.form.TimeField(timeConfig);this.tf.ownerCt=this;delete(this.timeFormat);this.relayEvents(this.df,['focus','specialkey','invalid','valid']);this.relayEvents(this.tf,['focus','specialkey','invalid','valid']);},onRender:function(ct,position){if(this.isRendered){return;}
Ext.ux.form.DateTime.superclass.onRender.call(this,ct,position);var t;if('below'===this.timePosition||'bellow'===this.timePosition){t=Ext.DomHelper.append(ct,{tag:'table',style:'border-collapse:collapse',children:[{tag:'tr',children:[{tag:'td',style:'padding-bottom:1px',cls:'ux-datetime-date'}]},{tag:'tr',children:[{tag:'td',cls:'ux-datetime-time'}]}]},true);}
else{t=Ext.DomHelper.append(ct,{tag:'table',style:'border-collapse:collapse',children:[{tag:'tr',children:[{tag:'td',style:'padding-right:4px',cls:'ux-datetime-date'},{tag:'td',cls:'ux-datetime-time'}]}]},true);}
this.tableEl=t;this.wrap=t.wrap({cls:'x-form-field-wrap'});this.wrap.on("mousedown",this.onMouseDown,this,{delay:10});this.df.render(t.child('td.ux-datetime-date'));this.tf.render(t.child('td.ux-datetime-time'));if(Ext.isIE&&Ext.isStrict){t.select('input').applyStyles({top:0});}
this.on('specialkey',this.onSpecialKey,this);this.df.el.swallowEvent(['keydown','keypress']);this.tf.el.swallowEvent(['keydown','keypress']);if('side'===this.msgTarget){var elp=this.el.findParent('.x-form-element',10,true);this.errorIcon=elp.createChild({cls:'x-form-invalid-icon'});this.df.errorIcon=this.errorIcon;this.tf.errorIcon=this.errorIcon;}
this.el.dom.name=this.hiddenName||this.name||this.id;this.df.el.dom.removeAttribute("name");this.tf.el.dom.removeAttribute("name");this.isRendered=true;this.updateHidden();},adjustSize:Ext.BoxComponent.prototype.adjustSize,alignErrorIcon:function(){this.errorIcon.alignTo(this.tableEl,'tl-tr',[2,0]);},initDateValue:function(){this.dateValue=this.otherToNow?new Date():new Date(1970,0,1,0,0,0);},clearInvalid:function(){this.df.clearInvalid();this.tf.clearInvalid();},markInvalid:function(msg){this.df.markInvalid(msg);this.tf.markInvalid(msg);},beforeDestroy:function(){if(this.isRendered){this.wrap.removeAllListeners();this.wrap.remove();this.tableEl.remove();this.df.destroy();this.tf.destroy();}},disable:function(){if(this.isRendered){this.df.disabled=this.disabled;this.df.onDisable();this.tf.onDisable();}
this.disabled=true;this.df.disabled=true;this.tf.disabled=true;this.fireEvent("disable",this);return this;},enable:function(){if(this.rendered){this.df.onEnable();this.tf.onEnable();}
this.disabled=false;this.df.disabled=false;this.tf.disabled=false;this.fireEvent("enable",this);return this;},focus:function(){this.df.focus();},getPositionEl:function(){return this.wrap;},getResizeEl:function(){return this.wrap;},getValue:function(){return this.dateValue?new Date(this.dateValue):'';},isValid:function(){return this.df.isValid()&&this.tf.isValid();},isVisible:function(){return this.df.rendered&&this.df.getActionEl().isVisible();},onBlur:function(f){if(this.wrapClick){f.focus();this.wrapClick=false;}
if(f===this.df){this.updateDate();}
else{this.updateTime();}
this.updateHidden();(function(){if(!this.df.hasFocus&&!this.tf.hasFocus){var v=this.getValue();if(String(v)!==String(this.startValue)){this.fireEvent("change",this,v,this.startValue);}
this.hasFocus=false;this.fireEvent('blur',this);}}).defer(100,this);},onFocus:function(){if(!this.hasFocus){this.hasFocus=true;this.startValue=this.getValue();this.fireEvent("focus",this);}},onMouseDown:function(e){if(!this.disabled){this.wrapClick='td'===e.target.nodeName.toLowerCase();}},onSpecialKey:function(t,e){var key=e.getKey();if(key===e.TAB){if(t===this.df&&!e.shiftKey){e.stopEvent();this.tf.focus();}
if(t===this.tf&&e.shiftKey){e.stopEvent();this.df.focus();}}
if(key===e.ENTER){this.updateValue();}},setDate:function(date){this.df.setValue(date);},setTime:function(date){this.tf.setValue(date);},setSize:function(w,h){if(!w){return;}
if('below'===this.timePosition){this.df.setSize(w,h);this.tf.setSize(w,h);if(Ext.isIE){this.df.el.up('td').setWidth(w);this.tf.el.up('td').setWidth(w);}}
else{this.df.setSize(w-this.timeWidth-4,h);this.tf.setSize(this.timeWidth,h);if(Ext.isIE){this.df.el.up('td').setWidth(w-this.timeWidth-4);this.tf.el.up('td').setWidth(this.timeWidth);}}},setValue:function(val){if(!val&&true===this.emptyToNow){this.setValue(new Date());return;}
else if(!val){this.setDate('');this.setTime('');this.updateValue();return;}
if('number'===typeof val){val=new Date(val);}
else if('string'===typeof val&&this.hiddenFormat){val=Date.parseDate(val,this.hiddenFormat)}
val=val?val:new Date(1970,0,1,0,0,0);var da,time;if(val instanceof Date){this.setDate(val);this.setTime(val);this.dateValue=new Date(val);}
else{da=val.split(this.dtSeparator);this.setDate(da[0]);if(da[1]){if(da[2]){da[1]+=da[2];}
this.setTime(da[1]);}}
this.updateValue();},setVisible:function(visible){if(visible){this.df.show();this.tf.show();}else{this.df.hide();this.tf.hide();}
return this;},show:function(){return this.setVisible(true);},hide:function(){return this.setVisible(false);},updateDate:function(){var d=this.df.getValue();if(d){if(!(this.dateValue instanceof Date)){this.initDateValue();if(!this.tf.getValue()){this.setTime(this.dateValue);}}
this.dateValue.setMonth(0);this.dateValue.setFullYear(d.getFullYear());this.dateValue.setMonth(d.getMonth(),d.getDate());}
else{this.dateValue='';this.setTime('');}},updateTime:function(){var t=this.tf.getValue();if(t&&!(t instanceof Date)){t=Date.parseDate(t,this.tf.format);}
if(t&&!this.df.getValue()){this.initDateValue();this.setDate(this.dateValue);}
if(this.dateValue instanceof Date){if(t){this.dateValue.setHours(t.getHours());this.dateValue.setMinutes(t.getMinutes());this.dateValue.setSeconds(t.getSeconds());}
else{this.dateValue.setHours(0);this.dateValue.setMinutes(0);this.dateValue.setSeconds(0);}}},updateHidden:function(){if(this.isRendered){var value=this.dateValue instanceof Date?this.dateValue.format(this.hiddenFormat):'';this.el.dom.value=value;}},updateValue:function(){this.updateDate();this.updateTime();this.updateHidden();return;},validate:function(){return this.df.validate()&&this.tf.validate();},renderer:function(field){var format=field.editor.dateFormat||Ext.ux.form.DateTime.prototype.dateFormat;format+=' '+(field.editor.timeFormat||Ext.ux.form.DateTime.prototype.timeFormat);var renderer=function(val){var retval=Ext.util.Format.date(val,format);return retval;};return renderer;}});Ext.reg('xdatetime',Ext.ux.form.DateTime);

Ext.ux.DDView=function(config){if(!config.itemSelector){var tpl=config.tpl;if(this.classRe.test(tpl)){config.tpl=tpl.replace(this.classRe,'class=$1x-combo-list-item $2$1');}
else{config.tpl=tpl.replace(this.tagRe,'$1 class="x-combo-list-item" $2');}
config.itemSelector=".x-combo-list-item";}
Ext.ux.DDView.superclass.constructor.call(this,Ext.apply(config,{border:false}));};Ext.extend(Ext.ux.DDView,Ext.DataView,{sortDir:'ASC',isFormField:true,classRe:new RegExp(/class=(['"])(.*)\1/),tagRe:new RegExp(/(<\w*)(.*?>)/),reset:Ext.emptyFn,clearInvalid:Ext.form.Field.prototype.clearInvalid,afterRender:function(){Ext.ux.DDView.superclass.afterRender.call(this);if(this.dragGroup){this.setDraggable(this.dragGroup.split(","));}
if(this.dropGroup){this.setDroppable(this.dropGroup.split(","));}
if(this.deletable){this.setDeletable();}
this.isDirtyFlag=false;this.addEvents("drop");},validate:function(){return true;},destroy:function(){this.purgeListeners();this.getEl().removeAllListeners();this.getEl().remove();if(this.dragZone){if(this.dragZone.destroy){this.dragZone.destroy();}}
if(this.dropZone){if(this.dropZone.destroy){this.dropZone.destroy();}}},getName:function(){return this.name;},setValue:function(v){if(!this.store){throw"DDView.setValue(). DDView must be constructed with a valid Store";}
var data={};data[this.store.reader.meta.root]=v?[].concat(v):[];this.store.proxy=new Ext.data.MemoryProxy(data);this.store.load();},getValue:function(){var result='(';this.store.each(function(rec){result+=rec.id+',';});return result.substr(0,result.length-1)+')';},getIds:function(){var i=0,result=new Array(this.store.getCount());this.store.each(function(rec){result[i++]=rec.id;});return result;},isDirty:function(){return this.isDirtyFlag;},getTargetFromEvent:function(e){var target=e.getTarget();while((target!==null)&&(target.parentNode!=this.el.dom)){target=target.parentNode;}
if(!target){target=this.el.dom.lastChild||this.el.dom;}
return target;},getDragData:function(e){var target=this.findItemFromChild(e.getTarget());if(target){if(!this.isSelected(target)){delete this.ignoreNextClick;this.onItemClick(target,this.indexOf(target),e);this.ignoreNextClick=true;}
var dragData={sourceView:this,viewNodes:[],records:[],copy:this.copy||(this.allowCopy&&e.ctrlKey)};if(this.getSelectionCount()==1){var i=this.getSelectedIndexes()[0];var n=this.getNode(i);dragData.viewNodes.push(dragData.ddel=n);dragData.records.push(this.store.getAt(i));dragData.repairXY=Ext.fly(n).getXY();}else{dragData.ddel=document.createElement('div');dragData.ddel.className='multi-proxy';this.collectSelection(dragData);}
return dragData;}
return false;},getRepairXY:function(e){return this.dragData.repairXY;},collectSelection:function(data){data.repairXY=Ext.fly(this.getSelectedNodes()[0]).getXY();if(this.preserveSelectionOrder===true){Ext.each(this.getSelectedIndexes(),function(i){var n=this.getNode(i);var dragNode=n.cloneNode(true);dragNode.id=Ext.id();data.ddel.appendChild(dragNode);data.records.push(this.store.getAt(i));data.viewNodes.push(n);},this);}else{var i=0;this.store.each(function(rec){if(this.isSelected(i)){var n=this.getNode(i);var dragNode=n.cloneNode(true);dragNode.id=Ext.id();data.ddel.appendChild(dragNode);data.records.push(this.store.getAt(i));data.viewNodes.push(n);}
i++;},this);}},setDraggable:function(ddGroup){if(ddGroup instanceof Array){Ext.each(ddGroup,this.setDraggable,this);return;}
if(this.dragZone){this.dragZone.addToGroup(ddGroup);}else{this.dragZone=new Ext.dd.DragZone(this.getEl(),{containerScroll:true,ddGroup:ddGroup});if(!this.multiSelect){this.singleSelect=true;}
this.dragZone.getDragData=this.getDragData.createDelegate(this);this.dragZone.getRepairXY=this.getRepairXY;this.dragZone.onEndDrag=this.onEndDrag;}},setDroppable:function(ddGroup){if(ddGroup instanceof Array){Ext.each(ddGroup,this.setDroppable,this);return;}
if(this.dropZone){this.dropZone.addToGroup(ddGroup);}else{this.dropZone=new Ext.dd.DropZone(this.getEl(),{owningView:this,containerScroll:true,ddGroup:ddGroup});this.dropZone.getTargetFromEvent=this.getTargetFromEvent.createDelegate(this);this.dropZone.onNodeEnter=this.onNodeEnter.createDelegate(this);this.dropZone.onNodeOver=this.onNodeOver.createDelegate(this);this.dropZone.onNodeOut=this.onNodeOut.createDelegate(this);this.dropZone.onNodeDrop=this.onNodeDrop.createDelegate(this);}},getDropPoint:function(e,n,dd){if(n==this.el.dom){return"above";}
var t=Ext.lib.Dom.getY(n),b=t+n.offsetHeight;var c=t+(b-t)/2;var y=Ext.lib.Event.getPageY(e);if(y<=c){return"above";}else{return"below";}},isValidDropPoint:function(pt,n,data){if(!data.viewNodes||(data.viewNodes.length!=1)){return true;}
var d=data.viewNodes[0];if(d==n){return false;}
if((pt=="below")&&(n.nextSibling==d)){return false;}
if((pt=="above")&&(n.previousSibling==d)){return false;}
return true;},onNodeEnter:function(n,dd,e,data){if(this.highlightColor&&(data.sourceView!=this)){this.el.highlight(this.highlightColor);}
return false;},onNodeOver:function(n,dd,e,data){var dragElClass=this.dropNotAllowed;var pt=this.getDropPoint(e,n,dd);if(this.isValidDropPoint(pt,n,data)){if(this.appendOnly||this.sortField){return"x-tree-drop-ok-below";}
if(pt){var targetElClass;if(pt=="above"){dragElClass=n.previousSibling?"x-tree-drop-ok-between":"x-tree-drop-ok-above";targetElClass="x-view-drag-insert-above";}else{dragElClass=n.nextSibling?"x-tree-drop-ok-between":"x-tree-drop-ok-below";targetElClass="x-view-drag-insert-below";}
if(this.lastInsertClass!=targetElClass){Ext.fly(n).replaceClass(this.lastInsertClass,targetElClass);this.lastInsertClass=targetElClass;}}}
return dragElClass;},onNodeOut:function(n,dd,e,data){this.removeDropIndicators(n);},onNodeDrop:function(n,dd,e,data){if(this.fireEvent("drop",this,n,dd,e,data)===false){return false;}
var pt=this.getDropPoint(e,n,dd);var insertAt=(this.appendOnly||(n==this.el.dom))?this.store.getCount():n.viewIndex;if(pt=="below"){insertAt++;}
if(data.sourceView==this){if(pt=="below"){if(data.viewNodes[0]==n){data.viewNodes.shift();}}else{if(data.viewNodes[data.viewNodes.length-1]==n){data.viewNodes.pop();}}
if(!data.viewNodes.length){return false;}
if(insertAt>this.store.indexOf(data.records[0])){insertAt--;}}
if(data.node instanceof Ext.tree.TreeNode){var r=data.node.getOwnerTree().recordFromNode(data.node);if(r){data.records=[r];}}
if(!data.records){alert("Programming problem. Drag data contained no Records");return false;}
for(var i=0;i<data.records.length;i++){var r=data.records[i];var dup=this.store.getById(r.id);if(dup&&(dd!=this.dragZone)){if(!this.allowDup&&!this.allowTrash){Ext.fly(this.getNode(this.store.indexOf(dup))).frame("red",1);return true}
var x=new Ext.data.Record();r.id=x.id;delete x;}
if(data.copy){this.store.insert(insertAt++,r.copy());}else{if(data.sourceView){data.sourceView.isDirtyFlag=true;data.sourceView.store.remove(r);}
if(!this.allowTrash)this.store.insert(insertAt++,r);}
if(this.sortField){this.store.sort(this.sortField,this.sortDir);}
this.isDirtyFlag=true;}
this.dragZone.cachedTarget=null;return true;},onEndDrag:function(data,e){var d=Ext.get(this.dragData.ddel);if(d&&d.hasClass("multi-proxy")){d.remove();}},removeDropIndicators:function(n){if(n){Ext.fly(n).removeClass(["x-view-drag-insert-above","x-view-drag-insert-left","x-view-drag-insert-right","x-view-drag-insert-below"]);this.lastInsertClass="_noclass";}},setDeletable:function(imageUrl){if(!this.singleSelect&&!this.multiSelect){this.singleSelect=true;}
var c=this.getContextMenu();this.contextMenu.on("itemclick",function(item){switch(item.id){case"delete":this.remove(this.getSelectedIndexes());break;}},this);this.contextMenu.add({icon:imageUrl||AU.resolveUrl("/images/delete.gif"),id:"delete",text:AU.getMessage("deleteItem")});},getContextMenu:function(){if(!this.contextMenu){this.contextMenu=new Ext.menu.Menu({id:this.id+"-contextmenu"});this.el.on("contextmenu",this.showContextMenu,this);}
return this.contextMenu;},disableContextMenu:function(){if(this.contextMenu){this.el.un("contextmenu",this.showContextMenu,this);}},showContextMenu:function(e,item){item=this.findItemFromChild(e.getTarget());if(item){e.stopEvent();this.select(this.getNode(item),this.multiSelect&&e.ctrlKey,true);this.contextMenu.showAt(e.getXY());}},remove:function(selectedIndices){selectedIndices=[].concat(selectedIndices);for(var i=0;i<selectedIndices.length;i++){var rec=this.store.getAt(selectedIndices[i]);this.store.remove(rec);}},onDblClick:function(e){var item=this.findItemFromChild(e.getTarget());if(item){if(this.fireEvent("dblclick",this,this.indexOf(item),item,e)===false){return false;}
if(this.dragGroup){var targets=Ext.dd.DragDropMgr.getRelated(this.dragZone,true);while(targets.indexOf(this.dropZone)!==-1){targets.remove(this.dropZone);}
if((targets.length==1)&&(targets[0].owningView)){this.dragZone.cachedTarget=null;var el=Ext.get(targets[0].getEl());var box=el.getBox(true);targets[0].onNodeDrop(el.dom,{target:el.dom,xy:[box.x,box.y+box.height-1]},null,this.getDragData(e));}}}},onItemClick:function(item,index,e){if(this.ignoreNextClick){delete this.ignoreNextClick;return;}
if(this.fireEvent("beforeclick",this,index,item,e)===false){return false;}
if(this.multiSelect||this.singleSelect){if(this.multiSelect&&e.shiftKey&&this.lastSelection){this.select(this.getNodes(this.indexOf(this.lastSelection),index),false);}else if(this.isSelected(item)&&e.ctrlKey){this.deselect(item);}else{this.deselect(item);this.select(item,this.multiSelect&&e.ctrlKey);this.lastSelection=item;}
e.preventDefault();}
return true;}});

Ext.ns('Ext.ux.grid');Ext.ux.grid.DragSelector=function(cfg){cfg=cfg||{};var view,proxy,tracker;var rs,bodyRegion,dragRegion=new Ext.lib.Region(0,0,0,0);var dragSafe=cfg.dragSafe===true;this.init=function(gridview){view=gridview;view.on('render',onRender);};function fillRegions(){rs=[];var rows=view.getView().getRows();for(var i=0;i<rows.length;i++){rs[rs.length]=Ext.get(rows[i]).getRegion();}
bodyRegion=view.getView().el.getRegion();}
function cancelClick(){return false;}
function onBeforeStart(e){return!dragSafe||e.target==view.el.dom;}
function onStart(e){if(!proxy){proxy=view.el.createChild({cls:'x-view-selector'});}else{proxy.setDisplayed('block');}
fillRegions();view.selModel.clearSelections();}
function onDrag(e){var startXY=tracker.startXY;var xy=tracker.getXY();var x=Math.min(startXY[0],xy[0]);var y=Math.min(startXY[1],xy[1]);var w=Math.abs(startXY[0]-xy[0]);var h=Math.abs(startXY[1]-xy[1]);dragRegion.left=x;dragRegion.top=y;dragRegion.right=x+w;dragRegion.bottom=y+h;dragRegion.constrainTo(bodyRegion);proxy.setRegion(dragRegion);for(var i=0,len=rs.length;i<len;i++){var r=rs[i],sel=dragRegion.intersect(r);if(sel&&!r.selected){r.selected=true;view.selModel.selectRow(i,true);}else if(!sel&&r.selected){r.selected=false;view.selModel.deselectRow(i);}}}
function onEnd(e){if(proxy){proxy.setDisplayed(false);}}
function onRender(view){tracker=new Ext.dd.DragTracker({onBeforeStart:onBeforeStart,onStart:onStart,onDrag:onDrag,onEnd:onEnd});tracker.initEl(view.el);}};

Ext.ns('Ext.ux.grid');Ext.ux.grid.ExplorerView=Ext.extend(Ext.grid.GridView,{rowTemplate:null,assetFields:null,assetFieldGroups:null,changeTemplate:function(template){this.rowTemplate=template;this.initTemplates();this.refresh();},initTemplates:function(){Ext.ux.grid.ExplorerView.superclass.initTemplates.apply(this,arguments);if(!this.templates.orgrow)
this.templates.orgrow=this.templates.row;if(this.rowTemplate!=null)
this.templates.row=this.rowTemplate.compile();else
this.templates.row=this.templates.orgrow;},beforeColMenuShow:function()
{var cm=this.cm,colCount=cm.getColumnCount();this.colMenu.removeAll();this.generateColumnMenu();},generateColumnMenu:function()
{var parent=this.assetFieldGroups.queryBy(function(record,id){if(record.get("ParentAssetFieldGroupId")==null)
return true;});parent.each(function(item){if(item.get("Type")=="Metadata"){this.colMenu.add(new Ext.menu.Item({text:item.get('Caption'),name:item.get('Name'),menu:{items:this.getColumnItems(item.get("AssetFieldGroupId")),listeners:{itemclick:this.handleHdMenuClick,scope:this}}}));}},this);},getColumnItems:function(parentId)
{var parent=this.assetFieldGroups.query('ParentAssetFieldGroupId',parentId);if(parent.getCount()==0)
{var parentGroup=this.assetFieldGroups.getById(parentId);var assetFields=parentGroup.get('AssetFields');var checkboxes=[];Ext.each(assetFields,function(field){var assetField=this.assetFields.getById(field['AssetFieldId']);var checkItem=new Ext.menu.CheckItem({text:assetField.get('Caption'),name:assetField.get('Fieldname')+"_"+field['AssetFieldId'],assetField:assetField.get('Fieldname'),itemId:"col-"+assetField.get('Fieldname'),hideOnClick:false,checked:!this.cm.getColumnById(assetField.get('Fieldname')).hidden});checkboxes.push(checkItem);},this);return checkboxes;}
else
{var menuItems=[]
parent.each(function(item){var menu=new Ext.menu.Item({text:item.get('Caption'),name:item.get('Name'),menu:{listeners:{itemclick:this.handleHdMenuClick,scope:this},items:this.getColumnItems(item.get("AssetFieldGroupId"))}});menuItems.push(menu);},this);return menuItems;}},doRender:function(cs,rs,ds,startRow,colCount,stripe){if(this.rowTemplate==null){return Ext.ux.grid.ExplorerView.superclass.doRender.apply(this,arguments);}else{var ts=this.templates,rt=ts.row;var buf=[],r,c,p={};for(var j=0,len=rs.length;j<len;j++){r=rs[j];for(var i=0;i<r.fields.items.length;i++)
p[r.fields.items[i].name]=r.data[r.fields.items[i].name];var rowIndex=(j+startRow);for(var i=0;i<colCount;i++){p[cs[i].name]=cs[i].renderer(r.data[cs[i].name],p,r,rowIndex,i,ds);if(p[cs[i].name]==undefined||p[cs[i].name]==="")p[cs[i].name]="&#160;";}
buf[buf.length]=rt.apply(p);}
if(ds.limit){if(ds.hasNext()||ds.hasPrevious()){var d=ds.getPageData();buf[buf.length]=rt.apply({AssetId:-1,AssetType:'paging',AssetName:d.start+1+" - "+d.last+" / "+d.total});}}
buf[buf.length]="<div style='clear: both;'></div>";return buf.join("");}},getCell:function(row,col){if(row!=NaN)
Ext.ux.grid.ExplorerView.superclass.getRow.call(this,arguments);},refresh:function(headersToo){if(this.next)
this.next.removeAllListeners();if(this.previous)
this.previous.removeAllListeners();Ext.ux.grid.ExplorerView.superclass.refresh.call(this,arguments);var ds=this.grid.store;if(ds.limit){this.next=this.mainBody.child('div.x-grid-paging-next');this.previous=this.mainBody.child('div.x-grid-paging-previous');if(this.next){if(ds.hasNext()){this.next.on("mouseover",function(e,t){this.fly(t).addClass('x-grid-paging-over')},this)
this.next.on("mouseout",function(e,t){this.fly(t).removeClass('x-grid-paging-over')},this)
this.next.on("click",function(e,t){this.grid.store.next();},this)}
else
this.next.addClass("x-grid-paging-over-disabled");}
if(this.previous){if(ds.hasPrevious()){this.previous.on("mouseover",function(e,t){this.fly(t).addClass('x-grid-paging-over')},this)
this.previous.on("mouseout",function(e,t){this.fly(t).removeClass('x-grid-paging-over')},this)
this.previous.on("click",function(e,t){this.grid.store.previous();},this)}
else
this.previous.addClass("x-grid-paging-over-disabled");}}},updateAllColumnWidths:function(){if(this.rowTemplate==null){return Ext.ux.grid.ExplorerView.superclass.updateAllColumnWidths.apply(this,arguments);}else{var tw=this.getTotalWidth();var clen=this.cm.getColumnCount();var ws=[];for(var i=0;i<clen;i++){ws[i]=this.getColumnWidth(i);}
this.innerHd.firstChild.style.width=this.getOffsetWidth();this.innerHd.firstChild.firstChild.style.width=tw;this.mainBody.dom.style.width=tw;for(var i=0;i<clen;i++){var hd=this.getHeaderCell(i);hd.style.width=ws[i];}
this.onAllColumnWidthsUpdated(ws,tw);}},updateColumnWidth:function(col,width){if(this.rowTemplate==null){return Ext.ux.grid.ExplorerView.superclass.updateColumnWidth.apply(this,arguments);}else{var w=this.getColumnWidth(col);var tw=this.getTotalWidth();this.innerHd.firstChild.style.width=this.getOffsetWidth();this.innerHd.firstChild.firstChild.style.width=tw;this.mainBody.dom.style.width=tw;var hd=this.getHeaderCell(col);hd.style.width=w;this.onColumnWidthUpdated(col,w,tw);}},updateColumnHidden:function(col,hidden){if(this.rowTemplate==null){return Ext.ux.grid.ExplorerView.superclass.updateColumnHidden.apply(this,arguments);}else{var tw=this.getTotalWidth();this.innerHd.firstChild.style.width=this.getOffsetWidth();this.innerHd.firstChild.firstChild.style.width=tw;var display=hidden?'none':'';var hd=this.getHeaderCell(col);hd.style.display=display;this.onColumnHiddenUpdated(col,hidden,tw);delete this.lastViewWidth;}},handleHdDown:function(e,t){if(Ext.fly(t).hasClass('x-grid3-hd-btn')||(Ext.fly(t).hasClass('x-grid3-hd-inner')&&e.type=="contextmenu")){e.stopEvent();var hd=this.findHeaderCell(t);Ext.fly(hd).addClass('x-grid3-hd-menu-open');var index=this.getCellIndex(hd);this.hdCtxIndex=index;var ms=this.hmenu.items,cm=this.cm;ms.get('asc').setDisabled(!cm.isSortable(index));ms.get('desc').setDisabled(!cm.isSortable(index));this.hmenu.on('hide',function(){Ext.fly(hd).removeClass('x-grid3-hd-menu-open');},this,{single:true});this.hmenu.show(t,'tl-bl?');}},renderUI:function(grid){Ext.grid.GridView.prototype.renderUI.call(this,grid);Ext.fly(this.innerHd).on('contextmenu',this.handleHdDown,this);}});

Ext.ns("PP.widget");PP.widget.FieldTooltipPlugin=function(config){Ext.apply(this,config);};Ext.extend(PP.widget.FieldTooltipPlugin,Ext.util.Observable,{event:'mouseover',header:true,title:'',html:'',width:200,position:'top',init:function(field){Ext.apply(field,{onRender:field.onRender.createSequence(function(el,position){var hideEvent=this.event=='mouseover'?'mouseout':'blur';var fieldXType=field.getXType();if(fieldXType=='checkbox')
{var wrapDiv=field.getEl().up('div.x-form-check-wrap');if(wrapDiv){var img=wrapDiv.child('img');Ext.QuickTips.register({target:img,title:'',text:this.html,enabled:true});var label=wrapDiv.child('label');if(label)
{Ext.QuickTips.register({target:label,title:'',text:this.html,enabled:true});}}}
else
{field.getEl().on(this.event,function(f,e){if(this.width=='100%')
this.width=(field.getSize().width>500)?500:field.getSize().width;if(field.tip)
{field.tip.destroy();field.tip=null;}
field.tip=new Ext.Tip({target:field,title:this.title,html:this.html,header:this.header,width:this.width,floating:true,closable:false});field.tip.show();if(this.position=='top')
field.tip.setPosition(field.getPosition()[0]+20,field.getPosition()[1]-field.tip.getFrameHeight()-field.tip.getInnerHeight()-5);else
field.tip.setPosition(field.getPosition()[0]+20,field.getPosition()[1]+field.getEl().getHeight()+10);},this);field.getEl().on(hideEvent,function(f,e){if(field.tip)
{field.tip.destroy();field.tip=null;}},this);field.on("beforedestroy",function(){if(field.tip)
field.tip.destroy();},this)}},this)});}});

Ext.form.FileUploadField=Ext.extend(Ext.form.TextField,{buttonText:'Browse...',buttonOnly:false,buttonOffset:3,readOnly:true,autoSize:Ext.emptyFn,initComponent:function(){Ext.form.FileUploadField.superclass.initComponent.call(this);this.addEvents('fileselected');},onRender:function(ct,position){Ext.form.FileUploadField.superclass.onRender.call(this,ct,position);this.wrap=this.el.wrap({cls:'x-form-field-wrap x-form-file-wrap'});this.el.addClass('x-form-file-text');this.el.dom.removeAttribute('name');this.fileInput=this.wrap.createChild({id:this.getFileInputId(),name:this.name||this.getId(),cls:'x-form-file',tag:'input',type:'file',size:1});var btnCfg=Ext.applyIf(this.buttonCfg||{},{text:this.buttonText});this.button=new Ext.Button(Ext.apply(btnCfg,{renderTo:this.wrap,cls:'x-form-file-btn'+(btnCfg.iconCls?' x-btn-icon':'')}));if(this.buttonOnly){this.el.hide();this.wrap.setWidth(this.button.getEl().getWidth());}
this.fileInput.on('change',function(){var v=this.fileInput.dom.value;this.setValue(v);this.fireEvent('fileselected',this,v);},this);},getFileInputId:function(){return this.id+'-file';},onResize:function(w,h){Ext.form.FileUploadField.superclass.onResize.call(this,w,h);this.wrap.setWidth(w);if(!this.buttonOnly){var w=this.wrap.getWidth()-this.button.getEl().getWidth()-this.buttonOffset;this.el.setWidth(w);}},preFocus:Ext.emptyFn,getResizeEl:function(){return this.wrap;},getPositionEl:function(){return this.wrap;},alignErrorIcon:function(){this.errorIcon.alignTo(this.wrap,'tl-tr',[2,0]);}});Ext.reg('fileuploadfield',Ext.form.FileUploadField);

Ext.ns("PP","widget");PP.widget.FitGridPanel=Ext.extend(Ext.grid.GridPanel,{onRender:function(ct,position){Ext.grid.GridPanel.superclass.onRender.apply(this,arguments);var c=this.body;this.el.addClass('x-grid-panel');var view=this.getView();view.init(this);c.on("mousedown",this.onMouseDown,this);c.on("click",this.onClick,this);c.on("dblclick",this.onDblClick,this);c.on("contextmenu",this.onContextMenu,this);c.on("keydown",this.onKeyDown,this);this.relayEvents(c,["mousedown","mouseup","mouseover","mouseout","keypress"]);this.getSelectionModel().init(this);},afterRender:function(){Ext.grid.GridPanel.superclass.afterRender.apply(this,arguments);this.view.render();this.view.layout();if(this.deferRowRender){this.view.afterRender.defer(10,this.view);}else{this.view.afterRender();}
this.viewReady=true;}});PP.widget.FitGridView=Ext.extend(Ext.grid.GridView,{render:function(){if(this.autoFill){this.fitColumns(true,true);}
this.renderUI();}});

Ext.ns('Ext.ux.plugins');Ext.ux.plugins.FitToParent=function(parent){this.parent=parent;};Ext.ux.plugins.FitToParent.prototype={init:function(c){c.on('render',function(c){c.fitToElement=Ext.get(this.parent||c.el.dom.parentNode);},this,{single:true});c.monitorResize=true;c.doLayout=c.doLayout.createInterceptor(this.fitSizeToParent);},fitSizeToParent:function(){var pos=this.getPosition(true),size=this.fitToElement.getViewSize();this.setSize(size.width-pos[0],size.height-pos[1]);}};

Ext.ns("PP","PP.widget");PP.widget.FormatsRenderer=function(config){Ext.apply(this,config);this.addEvents(['click'])}
Ext.extend(PP.widget.FormatsRenderer,Ext.util.Observable,{render:function(value,metadata,record,rowIndex,colIndex,store){var contentId=Ext.id();this.renderCheckboxes.defer(10,this,[contentId,value,metadata,record,rowIndex,colIndex,store]);return('<div id="'+contentId+'" style="min-height:30px"></div>');},renderCheckboxes:function(contentId,value,metadata,record,rowIndex,colIndex,store)
{var tpl;var checkboxGroup=null;var items=[];var store=new Ext.data.Store();if(record.get("AssetTypeId")==1)
{tpl=new Ext.XTemplate('<tpl for=".">','<div id="{Index}" class="formatsSelection" ext:qtip="{ToolTip}" style="vertical-align: middle;height:18px;">','<tpl if="ShortName != &quot;Basket&quot;">','<tpl if="!IsForDownload"><div id="{Index}" class="x-btn-text x-toolbar-assetType-images" style="width:18px;height:18px;float:left;align:absmiddle"></div>&nbsp;</tpl>','<tpl if="IsForDownload"><div id="{Index}" class="x-btn-text t-sprite x-toolbar-icon-download" style="width:18px;height:18px;float:left;align:absmiddle"></div>&nbsp;</tpl>','</tpl>','<tpl if="ShortName == &quot;Basket&quot;"><div id="{Index}" style="width:16px;height:18px;float:left;align:middle" class="t-sprite x-toolbar-basket-add" align="absmiddle" ></div>&nbsp;</tpl>','{Name}</div>','</tpl>');tpl.compile();this.imageFormats.each(function(imageRecord){if(!record.get("HideFormat")[imageRecord.get("Index")-1])
{store.add(imageRecord);}},this);}
else if(record.get("AssetVersions"))
{tpl=new Ext.XTemplate('<tpl for=".">','<div id="{AssetId}" class="formatsSelection" style="vertical-align: middle;height:18px;">','<div id="{AssetId}" class="x-btn-text t-sprite x-toolbar-icon-download" style="width:18px;height:18px;float:left;align:absmiddle"></div>&nbsp;','{Version}</div>','</tpl>');var languageVersions=record.get('AssetVersions');store=languageVersions;}
else if(record.get("AssetTypeId")==0){tpl=new Ext.XTemplate('<tpl for=".">','<div id="{Language}" class="formatsSelection" style="vertical-align: middle;height:18px;">','<div id="{Language}" class="x-btn-text t-sprite x-toolbar-icon-download" style="width:18px;height:18px;float:left;align:absmiddle"></div>&nbsp;','Download</div>','</tpl>');store.reader=new Ext.data.JsonReader({fields:['Original']});store.loadData([]);}
else
{tpl=new Ext.XTemplate('<tpl for=".">','<div id="{Language}" class="formatsSelection" style="vertical-align: middle;height:18px;">','<div id="{Language}" class="x-btn-text t-sprite x-toolbar-icon-download" style="width:18px;height:18px;float:left;align:absmiddle"></div>&nbsp;','Download</div>','</tpl>');store.reader=new Ext.data.JsonReader({fields:['Original']});store.loadData([{Original:true}]);}
var formats=new Ext.DataView({singleSelect:true,store:store,columnWidth:.5,tpl:tpl,itemSelector:'div'});formats.on("click",function(vw,index,node,e){if(record.get("AssetVersions")){var item=vw.store.getAt(vw.store.findBy(function(rec){if(rec.get("AssetId")==node.id)
return true;}));this.fireEvent("click",item,item);}else{var item=vw.store.getById(node.id);this.fireEvent("click",record,item);}},this);try{if(Ext.get(contentId))
formats.render(Ext.get(contentId));}catch(e){}}});

if(typeof infosoftglobal=="undefined")var infosoftglobal=new Object();if(typeof infosoftglobal.FusionChartsUtil=="undefined")infosoftglobal.FusionChartsUtil=new Object();infosoftglobal.FusionCharts=function(swf,id,w,h,debugMode,registerWithJS,c,scaleMode,lang,detectFlashVersion,autoInstallRedirect){if(!document.getElementById){return;}
this.initialDataSet=false;this.params=new Object();this.variables=new Object();this.attributes=new Array();if(swf){this.setAttribute('swf',swf);}
if(id){this.setAttribute('id',id);}
w=w.toString().replace(/\%$/,"%25");if(w){this.setAttribute('width',w);}
h=h.toString().replace(/\%$/,"%25");if(h){this.setAttribute('height',h);}
if(c){this.addParam('bgcolor',c);}
this.addParam('quality','high');this.addParam('allowScriptAccess','always');this.addVariable('chartWidth',w);this.addVariable('chartHeight',h);debugMode=debugMode?debugMode:0;this.addVariable('debugMode',debugMode);this.addVariable('DOMId',id);registerWithJS=registerWithJS?registerWithJS:0;this.addVariable('registerWithJS',registerWithJS);scaleMode=scaleMode?scaleMode:'noScale';this.addVariable('scaleMode',scaleMode);lang=lang?lang:'EN';this.addVariable('lang',lang);this.detectFlashVersion=detectFlashVersion?detectFlashVersion:1;this.autoInstallRedirect=autoInstallRedirect?autoInstallRedirect:1;this.installedVer=infosoftglobal.FusionChartsUtil.getPlayerVersion();if(!window.opera&&document.all&&this.installedVer.major>7){infosoftglobal.FusionCharts.doPrepUnload=true;}}
infosoftglobal.FusionCharts.prototype={setAttribute:function(name,value){this.attributes[name]=value;},getAttribute:function(name){return this.attributes[name];},addParam:function(name,value){this.params[name]=value;},getParams:function(){return this.params;},addVariable:function(name,value){this.variables[name]=value;},getVariable:function(name){return this.variables[name];},getVariables:function(){return this.variables;},getVariablePairs:function(){var variablePairs=new Array();var key;var variables=this.getVariables();for(key in variables){variablePairs.push(key+"="+variables[key]);}
return variablePairs;},getSWFHTML:function(){var swfNode="";if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length){swfNode='<embed type="application/x-shockwave-flash" src="'+this.getAttribute('swf')+'" width="'+this.getAttribute('width')+'" height="'+this.getAttribute('height')+'"  ';swfNode+=' id="'+this.getAttribute('id')+'" name="'+this.getAttribute('id')+'" ';var params=this.getParams();for(var key in params){swfNode+=[key]+'="'+params[key]+'" ';}
var pairs=this.getVariablePairs().join("&");if(pairs.length>0){swfNode+='flashvars="'+pairs+'"';}
swfNode+='/>';}else{swfNode='<object id="'+this.getAttribute('id')+'" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="'+this.getAttribute('width')+'" height="'+this.getAttribute('height')+'">';swfNode+='<param name="movie" value="'+this.getAttribute('swf')+'" />';var params=this.getParams();for(var key in params){swfNode+='<param name="'+key+'" value="'+params[key]+'" />';}
var pairs=this.getVariablePairs().join("&");if(pairs.length>0){swfNode+='<param name="flashvars" value="'+pairs+'" />';}
swfNode+="</object>";}
return swfNode;},setDataURL:function(strDataURL){if(this.initialDataSet==false){this.addVariable('dataURL',strDataURL);this.initialDataSet=true;}else{var chartObj=infosoftglobal.FusionChartsUtil.getChartObject(this.getAttribute('id'));if(!chartObj.setDataURL)
{__flash__addCallback(chartObj,"setDataURL");}
chartObj.setDataURL(strDataURL);}},encodeDataXML:function(strDataXML){var regExpReservedCharacters=["\\$","\\+"];var arrDQAtt=strDataXML.match(/=\s*\".*?\"/g);if(arrDQAtt){for(var i=0;i<arrDQAtt.length;i++){var repStr=arrDQAtt[i].replace(/^=\s*\"|\"$/g,"");repStr=repStr.replace(/\'/g,"%26apos;");var strTo=strDataXML.indexOf(arrDQAtt[i]);var repStrr="='"+repStr+"'";var strStart=strDataXML.substring(0,strTo);var strEnd=strDataXML.substring(strTo+arrDQAtt[i].length);var strDataXML=strStart+repStrr+strEnd;}}
strDataXML=strDataXML.replace(/\"/g,"%26quot;");strDataXML=strDataXML.replace(/%(?![\da-f]{2}|[\da-f]{4})/ig,"%25");strDataXML=strDataXML.replace(/\&/g,"%26");return strDataXML;},setDataXML:function(strDataXML){if(this.initialDataSet==false){this.addVariable('dataXML',this.encodeDataXML(strDataXML));this.initialDataSet=true;}else{var chartObj=infosoftglobal.FusionChartsUtil.getChartObject(this.getAttribute('id'));chartObj.setDataXML(strDataXML);}},setTransparent:function(isTransparent){if(typeof isTransparent=="undefined"){isTransparent=true;}
if(isTransparent)
this.addParam('WMode','transparent');else
this.addParam('WMode','Opaque');},render:function(elementId){if((this.detectFlashVersion==1)&&(this.installedVer.major<6)){if(this.autoInstallRedirect==1){var installationConfirm=window.confirm("You need Adobe Flash Player 6 (or above) to view the charts. It is a free and lightweight installation from Adobe.com. Please click on Ok to install the same.");if(installationConfirm){window.location="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash";}else{return false;}}else{return false;}}else{var n=(typeof elementId=='string')?document.getElementById(elementId):elementId;n.innerHTML=this.getSWFHTML();if(!document.embeds[this.getAttribute('id')]&&!window[this.getAttribute('id')])
window[this.getAttribute('id')]=document.getElementById(this.getAttribute('id'));return true;}}}
infosoftglobal.FusionChartsUtil.getPlayerVersion=function(){var PlayerVersion=new infosoftglobal.PlayerVersion([0,0,0]);if(navigator.plugins&&navigator.mimeTypes.length){var x=navigator.plugins["Shockwave Flash"];if(x&&x.description){PlayerVersion=new infosoftglobal.PlayerVersion(x.description.replace(/([a-zA-Z]|\s)+/,"").replace(/(\s+r|\s+b[0-9]+)/,".").split("."));}}else if(navigator.userAgent&&navigator.userAgent.indexOf("Windows CE")>=0){var axo=1;var counter=3;while(axo){try{counter++;axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+counter);PlayerVersion=new infosoftglobal.PlayerVersion([counter,0,0]);}catch(e){axo=null;}}}else{try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");}catch(e){try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");PlayerVersion=new infosoftglobal.PlayerVersion([6,0,21]);axo.AllowScriptAccess="always";}catch(e){if(PlayerVersion.major==6){return PlayerVersion;}}
try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");}catch(e){}}
if(axo!=null){PlayerVersion=new infosoftglobal.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(","));}}
return PlayerVersion;}
infosoftglobal.PlayerVersion=function(arrVersion){this.major=arrVersion[0]!=null?parseInt(arrVersion[0]):0;this.minor=arrVersion[1]!=null?parseInt(arrVersion[1]):0;this.rev=arrVersion[2]!=null?parseInt(arrVersion[2]):0;}
infosoftglobal.FusionChartsUtil.cleanupSWFs=function(){var objects=document.getElementsByTagName("OBJECT");for(var i=objects.length-1;i>=0;i--){objects[i].style.display='none';for(var x in objects[i]){if(typeof objects[i][x]=='function'){objects[i][x]=function(){};}}}}
if(infosoftglobal.FusionCharts.doPrepUnload){if(!infosoftglobal.unloadSet){infosoftglobal.FusionChartsUtil.prepUnload=function(){__flash_unloadHandler=function(){};__flash_savedUnloadHandler=function(){};window.attachEvent("onunload",infosoftglobal.FusionChartsUtil.cleanupSWFs);}
window.attachEvent("onbeforeunload",infosoftglobal.FusionChartsUtil.prepUnload);infosoftglobal.unloadSet=true;}}
if(!document.getElementById&&document.all){document.getElementById=function(id){return document.all[id];}}
if(Array.prototype.push==null){Array.prototype.push=function(item){this[this.length]=item;return this.length;}}
infosoftglobal.FusionChartsUtil.getChartObject=function(id)
{var chartRef=null;if(navigator.appName.indexOf("Microsoft Internet")==-1){if(document.embeds&&document.embeds[id])
chartRef=document.embeds[id];else
chartRef=window.document[id];}
else{chartRef=window[id];}
if(!chartRef)
chartRef=document.getElementById(id);return chartRef;}
infosoftglobal.FusionChartsUtil.updateChartXML=function(chartId,strXML){var chartObj=infosoftglobal.FusionChartsUtil.getChartObject(chartId);chartObj.SetVariable("_root.dataURL","");chartObj.SetVariable("_root.isNewData","1");chartObj.SetVariable("_root.newData",strXML);chartObj.TGotoLabel("/","JavaScriptHandler");}
var getChartFromId=infosoftglobal.FusionChartsUtil.getChartObject;var updateChartXML=infosoftglobal.FusionChartsUtil.updateChartXML;var FusionCharts=infosoftglobal.FusionCharts;

Ext.ns("PP","PP.widget");PP.widget.GridDragDropPlugin=function(config){Ext.apply(this,config);}
PP.widget.GridDragDropPlugin.prototype={init:function(grid){this.grid=grid;grid.addEvents('beforedrop','drop','dragover','dragout');grid.on({destroy:{scope:this,fn:this.onDestroy},render:{scope:this,fn:this.onRender}});},onDestroy:function(){delete(this.grid);this.dropTarget.destroy();},onRender:function(){this.dropTarget=new Ext.dd.DropTarget(this.grid.getEl(),{ddGroup:this.grid.ddGroup||'GridDD',grid:this.grid,plugin:this,notifyDrop:function(dd,e,data){if(this.grid.fireEvent('beforedrop',this.grid,dd,e,data)===false)
return this.dropNotAllowed;return this.grid.fireEvent('drop',this.grid,dd,e,data);},notifyOver:function(dd,e,data){var value=this.grid.fireEvent('dragover',this.grid,dd,e,data);return value?dd.dropAllowed:dd.dropNotAllowed;},notifyOut:function(dd,e,data){return this.grid.fireEvent('dragout',this.grid,dd,e,data);}});}};

Ext.namespace('Ext.ux.dd');Ext.ux.dd.GridReorderDropTarget=function(grid,config){this.target=new Ext.dd.DropTarget(grid.getEl(),{ddGroup:grid.ddGroup||'GridDD',grid:grid,gridDropTarget:this,notifyDrop:function(dd,e,data){var t=Ext.lib.Event.getTarget(e);var rindex=this.grid.getView().findRowIndex(t);if(rindex===false)return false;if(rindex==data.rowIndex)return false;if(this.gridDropTarget.fireEvent(this.copy?'beforerowcopy':'beforerowmove',this.gridDropTarget,data.rowIndex,rindex,data.selections)===false)return false;var ds=this.grid.getStore();var selections=new Array();var keys=ds.data.keys;for(key in keys){for(i=0;i<data.selections.length;i++){if(keys[key]==data.selections[i].id)
{selections.push(data.selections[i]);}}}
if(!this.copy){for(i=0;i<data.selections.length;i++){ds.remove(ds.getById(data.selections[i].id));}}
if(rindex>data.rowIndex&&data.selections.length>1){rindex=rindex-(data.selections.length-1);}
for(i=selections.length-1;i>=0;i--){ds.insert(rindex,selections[i]);}
sm=this.grid.getSelectionModel();if(sm)sm.selectRecords(data.selections);this.gridDropTarget.fireEvent(this.copy?'afterrowcopy':'afterrowmove',this.gridDropTarget,data.rowIndex,rindex,data.selections);grid.getView().refresh();return true;},notifyOver:function(dd,e,data){var t=Ext.lib.Event.getTarget(e);var rindex=this.grid.getView().findRowIndex(t);if(rindex==data.rowIndex)rindex=false;return(rindex===false)?this.dropNotAllowed:this.dropAllowed;}});if(config){Ext.apply(this.target,config);if(config.listeners)Ext.apply(this,{listeners:config.listeners});}
this.addEvents({"beforerowmove":true,"afterrowmove":true,"beforerowcopy":true,"afterrowcopy":true});Ext.ux.dd.GridReorderDropTarget.superclass.constructor.call(this);};Ext.extend(Ext.ux.dd.GridReorderDropTarget,Ext.util.Observable,{getTarget:function(){return this.target;},getGrid:function(){return this.target.grid;},getCopy:function(){return this.target.copy?true:false;},setCopy:function(b){this.target.copy=b?true:false;}});

Ext.namespace("Ext.ux.grid.plugins");Ext.ux.grid.plugins.GroupCheckboxSelection={init:function(grid){this.grid=grid;grid.view.groupTextTpl=['<dl style="height:18px; border:0px !important">','<dd class="x-grid3-hd-checker" style="width:18px; float:left;" x-grid-group-hd-text="{text}">&nbsp;</dd>','<dd style="float:left; padding:3px 0px 0px 3px;">',grid.view.groupTextTpl,'</dd>','</dl>'].join('');grid.on('render',this.initBehaviors,this);},initBehaviors:function(){var view=this.grid.getView();view.mainBody.on('mousedown',this.onGroupMouseDown,this);},onGroupMouseDown:function(e,t){var grid=this.grid;if(e.button===0&&t.className=='x-grid3-hd-checker'){var hd=Ext.fly(t.parentNode)
t.checked=!hd.hasClass('x-grid3-hd-checker-on');if(t.checked)
hd.addClass('x-grid3-hd-checker-on');else hd.removeClass('x-grid3-hd-checker-on');var ds=grid.getStore();var sm=grid.getSelectionModel();var cm=grid.getColumnModel();var text=t.getAttribute("x-grid-group-hd-text");var parts=text.split(":");var value=parts[1].trim();var header=parts[0].trim();var field=cm.getColumnsBy(function(columnConfig,index){return(columnConfig.header==header);})[0].dataIndex;var records=ds.queryBy(function(record){if(record.get(field)==value)
return true;}).items;for(var i=0,len=records.length;i<len;i++){var row=ds.indexOf(records[i]);if(t.checked){sm.selectRow(row,true);}
else{sm.deselectRow(row);}}
var view=grid.getView();if(value)
view.toggleGroup(view.getGroupId(value),Ext.isIE?false:true);}}}

Ext.ns("PP","widget");PP.widget.IconComboBox=Ext.extend(Ext.form.ComboBox,{initComponent:function(){Ext.apply(this,{tpl:'<tpl for=".">'
+'<div class="x-combo-list-item ux-icon-combo-item '
+'{'+this.iconClsField+'}">'
+'{'+this.displayField+'}'
+'</div></tpl>'});PP.widget.IconComboBox.superclass.initComponent.call(this);},onRender:function(ct,position){PP.widget.IconComboBox.superclass.onRender.call(this,ct,position);this.wrap.applyStyles({position:'relative'});this.el.addClass('ux-icon-combo-input');this.icon=Ext.DomHelper.append(this.el.up('div.x-form-field-wrap'),{tag:'div',style:'position:absolute'});},setIconCls:function(){var rec=this.store.query(this.valueField,this.getValue()).itemAt(0);if(rec){this.icon.className='ux-icon-combo-icon '+rec.get(this.iconClsField);}},setValue:function(value){PP.widget.IconComboBox.superclass.setValue.call(this,value);this.setIconCls();}});Ext.reg('iconcombo',PP.widget.IconComboBox);

Ext.ux.ItemSelector=Ext.extend(Ext.form.Field,{msWidth:200,msHeight:300,hideNavIcons:false,imagePath:"",iconUp:"up2.gif",iconDown:"down2.gif",iconLeft:"left2.gif",iconRight:"right2.gif",iconTop:"top2.gif",iconBottom:"bottom2.gif",drawUpIcon:true,drawDownIcon:true,drawLeftIcon:true,drawRightIcon:true,drawTopIcon:true,drawBotIcon:true,fromStore:null,toStore:null,fromData:null,toData:null,displayField:0,valueField:1,switchToFrom:false,allowDup:false,focusClass:undefined,delimiter:',',readOnly:false,toLegend:null,fromLegend:null,toSortField:null,fromSortField:null,toSortDir:'ASC',fromSortDir:'ASC',toTBar:null,fromTBar:null,bodyStyle:null,border:false,defaultAutoCreate:{tag:"div"},initComponent:function(){Ext.ux.ItemSelector.superclass.initComponent.call(this);this.addEvents({'rowdblclick':true,'change':true});},onRender:function(ct,position){Ext.ux.ItemSelector.superclass.onRender.call(this,ct,position);this.fromMultiselect=new Ext.ux.Multiselect({legend:this.fromLegend,delimiter:this.delimiter,allowDup:this.allowDup,copy:this.allowDup,allowTrash:this.allowDup,dragGroup:this.readOnly?null:"drop2-"+this.el.dom.id,dropGroup:this.readOnly?null:"drop1-"+this.el.dom.id,width:this.msWidth,height:this.msHeight,dataFields:this.dataFields,data:this.fromData,displayField:this.displayField,valueField:this.valueField,store:this.fromStore,isFormField:false,tbar:this.fromTBar,appendOnly:true,sortField:this.fromSortField,sortDir:this.fromSortDir});this.fromMultiselect.on('dblclick',this.onRowDblClick,this);if(!this.toStore){this.toStore=new Ext.data.SimpleStore({fields:this.dataFields,data:this.toData});}
this.toStore.on('add',this.valueChanged,this);this.toStore.on('remove',this.valueChanged,this);this.toStore.on('load',this.valueChanged,this);this.toMultiselect=new Ext.ux.Multiselect({legend:this.toLegend,delimiter:this.delimiter,allowDup:this.allowDup,dragGroup:this.readOnly?null:"drop1-"+this.el.dom.id,dropGroup:this.readOnly?null:"drop2-"+this.el.dom.id+",drop1-"+this.el.dom.id,width:this.msWidth,height:this.msHeight,displayField:this.displayField,valueField:this.valueField,store:this.toStore,isFormField:false,tbar:this.toTBar,sortField:this.toSortField,sortDir:this.toSortDir});this.toMultiselect.on('dblclick',this.onRowDblClick,this);var p=new Ext.Panel({bodyStyle:this.bodyStyle,border:this.border,layout:"table",layoutConfig:{columns:3}});p.add(this.switchToFrom?this.toMultiselect:this.fromMultiselect);var icons=new Ext.Panel({header:false});p.add(icons);p.add(this.switchToFrom?this.fromMultiselect:this.toMultiselect);p.render(this.el);icons.el.down('.'+icons.bwrapCls).remove();if(this.imagePath!=""&&this.imagePath.charAt(this.imagePath.length-1)!="/")
this.imagePath+="/";this.iconUp=this.imagePath+(this.iconUp||'up2.gif');this.iconDown=this.imagePath+(this.iconDown||'down2.gif');this.iconLeft=this.imagePath+(this.iconLeft||'left2.gif');this.iconRight=this.imagePath+(this.iconRight||'right2.gif');this.iconTop=this.imagePath+(this.iconTop||'top2.gif');this.iconBottom=this.imagePath+(this.iconBottom||'bottom2.gif');var el=icons.getEl();if(!this.toSortField){this.toTopIcon=el.createChild({tag:'img',src:this.iconTop,style:{cursor:'pointer',margin:'2px'}});el.createChild({tag:'br'});this.upIcon=el.createChild({tag:'img',src:this.iconUp,style:{cursor:'pointer',margin:'2px'}});el.createChild({tag:'br'});el.createChild({tag:'br'});}
this.addIcon=el.createChild({tag:'img',src:this.switchToFrom?this.iconLeft:this.iconRight,style:{cursor:'pointer',margin:'2px'}});el.createChild({tag:'br'});this.removeIcon=el.createChild({tag:'img',src:this.switchToFrom?this.iconRight:this.iconLeft,style:{cursor:'pointer',margin:'2px'}});el.createChild({tag:'br'});el.createChild({tag:'br'});if(!this.toSortField){this.downIcon=el.createChild({tag:'img',src:this.iconDown,style:{cursor:'pointer',margin:'2px'}});el.createChild({tag:'br'});this.toBottomIcon=el.createChild({tag:'img',src:this.iconBottom,style:{cursor:'pointer',margin:'2px'}});}
if(!this.readOnly){if(!this.toSortField){this.toTopIcon.on('click',this.toTop,this);this.upIcon.on('click',this.up,this);this.downIcon.on('click',this.down,this);this.toBottomIcon.on('click',this.toBottom,this);}
this.addIcon.on('click',this.fromTo,this);this.removeIcon.on('click',this.toFrom,this);}
if(!this.drawUpIcon||this.hideNavIcons){this.upIcon.dom.style.display='none';}
if(!this.drawDownIcon||this.hideNavIcons){this.downIcon.dom.style.display='none';}
if(!this.drawLeftIcon||this.hideNavIcons){this.addIcon.dom.style.display='none';}
if(!this.drawRightIcon||this.hideNavIcons){this.removeIcon.dom.style.display='none';}
if(!this.drawTopIcon||this.hideNavIcons){this.toTopIcon.dom.style.display='none';}
if(!this.drawBotIcon||this.hideNavIcons){this.toBottomIcon.dom.style.display='none';}
var tb=p.body.first();this.el.setWidth(p.body.first().getWidth());p.body.removeClass();this.hiddenName=this.name;var hiddenTag={tag:"input",type:"hidden",value:"",name:this.name};this.hiddenField=this.el.createChild(hiddenTag);this.valueChanged(this.toStore);},initValue:Ext.emptyFn,toTop:function(){var selectionsArray=this.toMultiselect.view.getSelectedIndexes();var records=[];if(selectionsArray.length>0){selectionsArray.sort();for(var i=0;i<selectionsArray.length;i++){record=this.toMultiselect.view.store.getAt(selectionsArray[i]);records.push(record);}
selectionsArray=[];for(var i=records.length-1;i>-1;i--){record=records[i];this.toMultiselect.view.store.remove(record);this.toMultiselect.view.store.insert(0,record);selectionsArray.push(((records.length-1)-i));}}
this.toMultiselect.view.refresh();this.toMultiselect.view.select(selectionsArray);},toBottom:function(){var selectionsArray=this.toMultiselect.view.getSelectedIndexes();var records=[];if(selectionsArray.length>0){selectionsArray.sort();for(var i=0;i<selectionsArray.length;i++){record=this.toMultiselect.view.store.getAt(selectionsArray[i]);records.push(record);}
selectionsArray=[];for(var i=0;i<records.length;i++){record=records[i];this.toMultiselect.view.store.remove(record);this.toMultiselect.view.store.add(record);selectionsArray.push((this.toMultiselect.view.store.getCount())-(records.length-i));}}
this.toMultiselect.view.refresh();this.toMultiselect.view.select(selectionsArray);},up:function(){var record=null;var selectionsArray=this.toMultiselect.view.getSelectedIndexes();selectionsArray.sort();var newSelectionsArray=[];if(selectionsArray.length>0){for(var i=0;i<selectionsArray.length;i++){record=this.toMultiselect.view.store.getAt(selectionsArray[i]);if((selectionsArray[i]-1)>=0){this.toMultiselect.view.store.remove(record);this.toMultiselect.view.store.insert(selectionsArray[i]-1,record);newSelectionsArray.push(selectionsArray[i]-1);}}
this.toMultiselect.view.refresh();this.toMultiselect.view.select(newSelectionsArray);}},down:function(){var record=null;var selectionsArray=this.toMultiselect.view.getSelectedIndexes();selectionsArray.sort();selectionsArray.reverse();var newSelectionsArray=[];if(selectionsArray.length>0){for(var i=0;i<selectionsArray.length;i++){record=this.toMultiselect.view.store.getAt(selectionsArray[i]);if((selectionsArray[i]+1)<this.toMultiselect.view.store.getCount()){this.toMultiselect.view.store.remove(record);this.toMultiselect.view.store.insert(selectionsArray[i]+1,record);newSelectionsArray.push(selectionsArray[i]+1);}}
this.toMultiselect.view.refresh();this.toMultiselect.view.select(newSelectionsArray);}},fromTo:function(){var selectionsArray=this.fromMultiselect.view.getSelectedIndexes();var records=[];if(selectionsArray.length>0){for(var i=0;i<selectionsArray.length;i++){record=this.fromMultiselect.view.store.getAt(selectionsArray[i]);records.push(record);}
if(!this.allowDup)selectionsArray=[];for(var i=0;i<records.length;i++){record=records[i];if(this.allowDup){var x=new Ext.data.Record();record.id=x.id;delete x;this.toMultiselect.view.store.add(record);}else{this.fromMultiselect.view.store.remove(record);this.toMultiselect.view.store.add(record);selectionsArray.push((this.toMultiselect.view.store.getCount()-1));}}}
this.toMultiselect.view.refresh();this.fromMultiselect.view.refresh();if(this.toSortField)this.toMultiselect.store.sort(this.toSortField,this.toSortDir);if(this.allowDup)this.fromMultiselect.view.select(selectionsArray);else this.toMultiselect.view.select(selectionsArray);},toFrom:function(){var selectionsArray=this.toMultiselect.view.getSelectedIndexes();var records=[];if(selectionsArray.length>0){for(var i=0;i<selectionsArray.length;i++){record=this.toMultiselect.view.store.getAt(selectionsArray[i]);records.push(record);}
selectionsArray=[];for(var i=0;i<records.length;i++){record=records[i];this.toMultiselect.view.store.remove(record);if(!this.allowDup){this.fromMultiselect.view.store.add(record);selectionsArray.push((this.fromMultiselect.view.store.getCount()-1));}}}
this.fromMultiselect.view.refresh();this.toMultiselect.view.refresh();if(this.fromSortField)this.fromMultiselect.store.sort(this.fromSortField,this.fromSortDir);this.fromMultiselect.view.select(selectionsArray);},valueChanged:function(store){var record=null;var values=[];for(var i=0;i<store.getCount();i++){record=store.getAt(i);values.push(record.get(this.valueField));}
this.hiddenField.dom.value=values.join(this.delimiter);this.fireEvent('change',this,this.getValue(),this.hiddenField.dom.value);},getValue:function(){return this.hiddenField.dom.value;},onRowDblClick:function(vw,index,node,e){return this.fireEvent('rowdblclick',vw,index,node,e);},reset:function(){range=this.toMultiselect.store.getRange();this.toMultiselect.store.removeAll();if(!this.allowDup){this.fromMultiselect.store.add(range);this.fromMultiselect.store.sort(this.displayField,'ASC');}
this.valueChanged(this.toMultiselect.store);}});Ext.reg("itemselector",Ext.ux.ItemSelector);

Ext.form.Action.JsonSubmit=Ext.extend(Ext.form.Action.Submit,{type:'JsonSubmit',run:function(){var o=this.options;var method=this.getMethod();var isPost=method=='POST';if(o.clientValidation===false||this.form.isValid()){Ext.Ajax.request(Ext.apply(this.createCallback(),{url:this.getUrl(!isPost),method:method,params:isPost?this.getParams():null,isUpload:this.form.fileUpload}));}else if(o.clientValidation!==false){this.failureType=Ext.form.Action.CLIENT_INVALID;this.form.afterAction(this,false);}},getParams:function(){return Ext.apply(this.form.getValues(false),this.options.params);}});Ext.form.Action.ACTION_TYPES.JsonSubmit=Ext.form.Action.JsonSubmit;Ext.form.JsonForm=Ext.extend(Ext.form.BasicForm,{afterAction:function(action,success){if(action.type=='load'){this.jsonData=action.result;}
Ext.form.JsonForm.superclass.afterAction.call(this,action,success);},submit:function(options){this.doAction('JsonSubmit',options);return this;}});Ext.JsonFormPanel=Ext.extend(Ext.FormPanel,{createForm:function(){delete this.initialConfig.listeners;return new Ext.form.JsonForm(null,this.initialConfig);}});Ext.form.JsonFormPanel=Ext.JsonFormPanel;

Ext.ns('Ext.ux.window');Ext.ux.window.MessageWindowGroup=function(config){config=config||{};var mgr=new Ext.WindowGroup();mgr.positions=[];Ext.apply(mgr,config);return mgr;};Ext.ux.window.MessageWindowMgr=Ext.ux.window.MessageWindowGroup();Ext.ux.window.MessageWindow=Ext.extend(Ext.Window,{hideAction:'close',autoHide:true,autoHeight:false,bodyStyle:'text-align:left;padding:10px;',buttonAlign:'center',cls:'x-notification',constrain:true,constrainHeader:true,draggable:true,floating:true,frame:true,handleHelp:Ext.emptyFn,help:true,hideFx:{delay:5000},hoverCls:'msg-over',iconCls:'x-icon-information',minHeight:40,minWidth:200,msgs:[],monitorResize:true,pinOnClick:true,pinState:'unpin',plain:false,resizable:false,textHelp:'Get help',textPin:'Pin this to prevent closing',textUnpin:'Unpin this to close',initHidden:true,initComponent:function(){Ext.apply(this,{collapsible:false,footer:false,minHeight:20,stateful:false});if(this.interval){this.startAutoRefresh();}
if(this.autoHide){if(this.pinState==='unpin'){this.task=new Ext.util.DelayedTask(this[this.hideAction],this,[this.animateTarget]);}}
else{this.closable=true;}
Ext.ux.window.MessageWindow.superclass.initComponent.call(this);this.on({mouseout:{scope:this,fn:this.onMouseout}});this.addEvents('afterpin','afterunpin','click');this.initFx();},initEvents:function(){this.manager=this.manager||Ext.ux.window.MessageWindowMgr;Ext.ux.window.MessageWindow.superclass.initEvents.call(this);},focus:function(){Ext.ux.window.MessageWindow.superclass.focus.call(this);},toFront:function(){if(this.manager.bringToFront(this)){if(this.focusOnShow){this.focus();}}
return this;},initTools:function(){if(this.pinOnClick){this.addTool({id:'unpin',handler:this.handlePin,hidden:(!this.pinState||this.pinState==='pin'),qtip:this.textPin,scope:this});this.addTool({id:'pin',handler:this.handleUnpin,hidden:(!this.pinState||this.pinState==='unpin'),qtip:this.textUnpin,scope:this});}
if(this.help){this.addTool({id:'help',handler:this.handleHelp,qtip:this.textHelp,scope:this});}
Ext.ux.window.MessageWindow.superclass.initTools.apply(this,arguments);},onRender:function(ct,position){Ext.ux.window.MessageWindow.superclass.onRender.call(this,ct,position);if(this.clip){switch(this.clip){case'bottom':Ext.destroy(this.getEl().child('.'+this.baseCls+'-bl'));break;}}
if(true){this.el.addClassOnOver(this.hoverCls);}
Ext.fly(this.body.dom).on('click',this.handleClick,this);},close:function(animateTarget){if(this.fireEvent("beforeclose",this)!==false){this.hide(animateTarget,function(){this.fireEvent('close',this);this.destroy();},this);}},togglePinState:function(event){if(this.pinOnClick){if(this.tools.unpin.isVisible()){this.handlePin(event,this.tools.unpin,this);}else{this.handleUnpin(event,this.tools.pin,this);}}},createElement:function(name,pnode){if(this.shiftHeader){switch(name){case'header':return;case'tbar':Ext.ux.window.MessageWindow.superclass.createElement.call(this,'header',pnode);Ext.ux.window.MessageWindow.superclass.createElement.call(this,name,pnode);return;}}
Ext.ux.window.MessageWindow.superclass.createElement.call(this,name,pnode);},focus:Ext.emptyFn,getState:function(){return Ext.apply(Ext.ux.window.MessageWindow.superclass.getState.call(this)||{},this.getBox());},handleClick:function(event){this.fireEvent('click',this,this.msg);this.togglePinState(event);},handlePin:function(event,toolEl,panel){toolEl.hide();this.tools.pin.show();this.cancelHiding();this.fireEvent('afterpin',this);},handleUnpin:function(event,toolEl,panel){toolEl.hide();this.tools.unpin.show();this[this.hideAction](this.animateTarget);this.fireEvent('afterunpin',this);},cancelHiding:function(){this.addClass('fixed');if(this.autoHide){if(this.pinState==='unpin'){this.task.cancel();}}
if(this.tools.pin){this.tools.pin.show();}
if(this.tools.unpin){this.tools.unpin.hide();}},initFx:function(){this.showFx=this.showFx||{};Ext.applyIf(this.showFx,{align:'b',duration:1,callback:this.afterShow,scope:this});this.hideFx=this.hideFx||{};Ext.applyIf(this.hideFx,{block:false,callback:this.afterHide,easing:'easeOut',remove:true,scope:this});this.origin=this.origin||{};Ext.applyIf(this.origin,{el:Ext.getDoc(),increment:true,pos:"br-br",offX:-20,offY:-20,spaY:5});},getAnimEl:function(fx){var animEl;if(fx.useProxy){animEl=this.proxy;this.proxy.setOpacity(0.5);this.proxy.show();var tb=this.getBox(false);this.proxy.setBox(tb);this.el.hide();}else{animEl=this.el;}
return animEl;},animHide:function(){this.manager.positions.remove(this.pos);var fx=this.hideFx,w=this.getAnimEl(fx);switch(fx.mode){case'none':break;case'slideIn':w[fx.mode]("b",fx);break;case'custom':Ext.callback(fx.callback,fx.scope,[this,w,fx]);break;case'standard':fx.duration=fx.duration||0.25;fx.opacity=0;w.shift(fx);break;default:fx.duration=fx.duration||1;w.ghost("b",fx);break;}},afterShow:function(){Ext.ux.window.MessageWindow.superclass.afterShow.call(this);this.on('move',function(){this.manager.positions.remove(this.pos);this.cancelHiding();},this);if(this.autoHide){if(this.pinState==='unpin'){this.task.delay(this.hideFx.delay);}}},animShow:function(){if(this.el.isVisible()&&this.el.hasClass(this.hoverCls)){return;}
if(this.msgs.length>1){this.updateMsg();}
var fx=this.showFx,el=this.el;this.position(el);el.slideIn(fx.align,fx);},position:function(el){var y,dir=(this.showFx.align.substr(0,1)=='t')?1:-1;this.pos=0;if(this.origin.increment){while(this.manager.positions.indexOf(this.pos)>-1){this.pos++;}
this.manager.positions.push(this.pos);}
this.setSize(this.width||this.minWidth,this.height||this.minHeight);if(this.origin.increment){y=this.origin.offY+((this.getSize().height+this.origin.spaY)*this.pos*dir);}else{y=0;}
el.alignTo(this.origin.el,this.origin.pos,[this.origin.offX,y]);},onMouseout:function(){},positionPanel:function(el,x,y){if(x&&typeof x[1]=='number'){y=x[1];x=x[0];}
el.pageX=x;el.pageY=y;if(x===undefined||y===undefined){return;}
if(y<0){y=10;}
var p=el.translatePoints(x,y);el.setLocation(p.left,p.top);return el;},setMessage:function(msg){this.body.update(msg);},setTitle:function(title,iconCls){Ext.ux.window.MessageWindow.superclass.setTitle.call(this,title,iconCls||this.iconCls);},startAutoRefresh:function(update){if(update){this.updateMsg(true);}
if(this.autoRefreshProcId){clearInterval(this.autoRefreshProcId);}
this.autoRefreshProcId=setInterval(this.animShow.createDelegate(this,[]),this.interval);},stopAutoRefresh:function(){if(this.autoRefreshProcId){clearInterval(this.autoRefreshProcId);}},updateMsg:function(msg){if(this.el&&!this.el.hasClass(this.hoverCls)){if(msg){}else{this.msgIndex=this.msgs[this.msgIndex+1]?this.msgIndex+1:0;this.msg=this.msgs[this.msgIndex];}
this.body.update(this.msg.text);}else{}}});Ext.reg('message-window',Ext.ux.window.MessageWindow);

Ext.ux.Multiselect=Ext.extend(Ext.form.Field,{appendOnly:false,dataFields:[],data:[],width:100,height:100,displayField:0,valueField:1,allowBlank:true,minLength:0,maxLength:Number.MAX_VALUE,blankText:Ext.form.TextField.prototype.blankText,minLengthText:'Minimum {0} item(s) required',maxLengthText:'Maximum {0} item(s) allowed',delimiter:',',copy:false,allowDup:false,allowTrash:false,focusClass:undefined,sortDir:'ASC',defaultAutoCreate:{tag:"div"},initComponent:function(){Ext.ux.Multiselect.superclass.initComponent.call(this);this.addEvents({'dblclick':true,'click':true,'change':true,'drop':true});},onRender:function(ct,position){Ext.ux.Multiselect.superclass.onRender.call(this,ct,position);var cls='ux-mselect';var fs=new Ext.form.FieldSet({renderTo:this.el,title:this.legend,height:this.height,width:this.width,style:"padding:0;",tbar:this.tbar});fs.body.addClass(cls);var tpl='<tpl for="."><div class="'+cls+'-item';if(Ext.isIE||Ext.isIE7){tpl+='" unselectable=on';}else{tpl+=' x-unselectable"';}
tpl+='>{'+this.displayField+'}</div></tpl>';if(!this.store){this.store=new Ext.data.SimpleStore({fields:this.dataFields,data:this.data});}
this.view=new Ext.ux.DDView({multiSelect:true,store:this.store,selectedClass:cls+"-selected",tpl:tpl,allowDup:this.allowDup,copy:this.copy,allowTrash:this.allowTrash,dragGroup:this.dragGroup,dropGroup:this.dropGroup,itemSelector:"."+cls+"-item",isFormField:false,applyTo:fs.body,appendOnly:this.appendOnly,sortField:this.sortField,sortDir:this.sortDir});fs.add(this.view);this.view.on('click',this.onViewClick,this);this.view.on('beforeClick',this.onViewBeforeClick,this);this.view.on('dblclick',this.onViewDblClick,this);this.view.on('drop',function(ddView,n,dd,e,data){return this.fireEvent("drop",ddView,n,dd,e,data);},this);this.hiddenName=this.name;var hiddenTag={tag:"input",type:"hidden",value:"",name:this.name};if(this.isFormField){this.hiddenField=this.el.createChild(hiddenTag);}else{this.hiddenField=Ext.get(document.body).createChild(hiddenTag);}
fs.doLayout();},initValue:Ext.emptyFn,onViewClick:function(vw,index,node,e){var arrayIndex=this.preClickSelections.indexOf(index);if(arrayIndex!=-1)
{this.preClickSelections.splice(arrayIndex,1);this.view.clearSelections(true);this.view.select(this.preClickSelections);}
this.fireEvent('change',this,this.getValue(),this.hiddenField.dom.value);this.hiddenField.dom.value=this.getValue();this.fireEvent('click',this,e);this.validate();},onViewBeforeClick:function(vw,index,node,e){this.preClickSelections=this.view.getSelectedIndexes();if(this.disabled){return false;}},onViewDblClick:function(vw,index,node,e){return this.fireEvent('dblclick',vw,index,node,e);},getValue:function(valueField){var returnArray=[];var selectionsArray=this.view.getSelectedIndexes();if(selectionsArray.length==0){return'';}
for(var i=0;i<selectionsArray.length;i++){returnArray.push(this.store.getAt(selectionsArray[i]).get(((valueField!=null)?valueField:this.valueField)));}
return returnArray.join(this.delimiter);},setValue:function(values){var index;var selections=[];this.view.clearSelections();this.hiddenField.dom.value='';if(!values||(values=='')){return;}
if(!(values instanceof Array)){values=values.split(this.delimiter);}
for(var i=0;i<values.length;i++){index=this.view.store.indexOf(this.view.store.query(this.valueField,new RegExp('^'+values[i]+'$',"i")).itemAt(0));selections.push(index);}
this.view.select(selections);this.hiddenField.dom.value=this.getValue();this.validate();},selectAll:function(){var index;var selections=[];this.view.clearSelections();this.hiddenField.dom.value='';for(var i=0;i<this.view.store.getCount();i++){selections.push(i);}
this.view.select(selections);this.hiddenField.dom.value=this.getValue();this.validate();},reset:function(){this.setValue('');},getRawValue:function(valueField){var tmp=this.getValue(valueField);if(tmp.length){tmp=tmp.split(this.delimiter);}
else{tmp=[];}
return tmp;},setRawValue:function(values){setValue(values);},validateValue:function(value){if(value.length<1){if(this.allowBlank){this.clearInvalid();return true;}else{this.markInvalid(this.blankText);return false;}}
if(value.length<this.minLength){this.markInvalid(String.format(this.minLengthText,this.minLength));return false;}
if(value.length>this.maxLength){this.markInvalid(String.format(this.maxLengthText,this.maxLength));return false;}
return true;}});Ext.reg("multiselect",Ext.ux.Multiselect);

Ext.ns("PP","widget");Ext.apply(Ext.DataView.prototype,{deselect:function(node,suppressEvent){if(this.isSelected(node)){var node=this.getNode(node);this.selected.removeElement(node);if(this.last==node.viewIndex){this.last=false;}
Ext.fly(node).removeClass(this.selectedClass);if(!suppressEvent){this.fireEvent('selectionchange',this,this.selected.elements);}}}});PP.widget.MultiSelectCombo=function(config){if(config.transform&&typeof config.multiSelect=='undefined'){var o=Ext.getDom(config.transform);config.multiSelect=(Ext.isIE?o.getAttributeNode('multiple').specified:o.hasAttribute('multiple'));}
config.hideTrigger2=config.hideTrigger2||config.hideTrigger;PP.widget.MultiSelectCombo.superclass.constructor.call(this,config);}
Ext.extend(PP.widget.MultiSelectCombo,Ext.form.ComboBox,{multiSelect:false,minLength:0,minLengthText:'Minimum {0} items required',maxLength:Number.MAX_VALUE,maxLengthText:'Maximum {0} items allowed',clearTrigger:true,history:false,historyMaxLength:0,separator:',',displaySeparator:',',valueArray:[],rawValueArray:[],initComponent:function(){this.triggerConfig={tag:'span',cls:'x-form-twin-triggers',cn:[{tag:"img",src:Ext.BLANK_IMAGE_URL,cls:"x-form-trigger "+this.trigger1Class},{tag:"img",src:Ext.BLANK_IMAGE_URL,cls:"x-form-trigger "+this.trigger2Class}]};PP.widget.MultiSelectCombo.superclass.initComponent.call(this);if(this.multiSelect){this.typeAhead=false;this.editable=false;this.triggerAction='all';this.selectOnFocus=false;}
if(this.history){this.forceSelection=false;}
if(this.value){this.setValue(this.value);}},hideTrigger1:true,getTrigger:Ext.form.TwinTriggerField.prototype.getTrigger,initTrigger:Ext.form.TwinTriggerField.prototype.initTrigger,trigger1Class:'x-form-clear-trigger',trigger2Class:'x-form-arrow-trigger',onTrigger2Click:function(){this.onTriggerClick();},onTrigger1Click:function(){this.clearValue();},initList:function(){if(!this.list){var cls='x-combo-list';this.list=new Ext.Layer({shadow:this.shadow,cls:[cls,this.listClass].join(' '),constrain:false});var lw=this.listWidth||Math.max(this.wrap.getWidth(),this.minListWidth);this.list.setWidth(lw);this.list.swallowEvent('mousewheel');this.assetHeight=0;if(this.title){this.header=this.list.createChild({cls:cls+'-hd',html:this.title});this.assetHeight+=this.header.getHeight();}
this.innerList=this.list.createChild({cls:cls+'-inner'});this.innerList.on('mouseover',this.onViewOver,this);this.innerList.on('mousemove',this.onViewMove,this);this.innerList.setWidth(lw-this.list.getFrameWidth('lr'))
if(this.pageSize){this.footer=this.list.createChild({cls:cls+'-ft'});this.pageTb=new Ext.PagingToolbar({store:this.store,pageSize:this.pageSize,renderTo:this.footer});this.assetHeight+=this.footer.getHeight();}
if(!this.tpl){this.tpl='<tpl for="."><div class="'+cls+'-item">{'+this.displayField+'}</div></tpl>';}
this.view=new Ext.DataView({applyTo:this.innerList,tpl:this.tpl,singleSelect:true,multiSelect:this.multiSelect,simpleSelect:true,overClass:cls+'-cursor',selectedClass:this.selectedClass,itemSelector:this.itemSelector||'.'+cls+'-item'});this.view.on('click',this.onViewClick,this);this.view.on('beforeClick',this.onViewBeforeClick,this);this.bindStore(this.store,true);if(this.valueArray.length){this.selectByValue(this.valueArray);}
if(this.resizable){this.resizer=new Ext.Resizable(this.list,{pinned:true,handles:'se'});this.resizer.on('resize',function(r,w,h){this.maxHeight=h-this.handleHeight-this.list.getFrameWidth('tb')-this.assetHeight;this.listWidth=w;this.innerList.setWidth(w-this.list.getFrameWidth('lr'));this.restrictHeight();},this);this[this.pageSize?'footer':'innerList'].setStyle('margin-bottom',this.handleHeight+'px');}}},initEvents:function(){Ext.form.ComboBox.superclass.initEvents.call(this);this.keyNav=new Ext.KeyNav(this.el,{"up":function(e){this.inKeyMode=true;this.hoverPrev();},"down":function(e){if(!this.isExpanded()){this.onTriggerClick();}else{this.inKeyMode=true;this.hoverNext();}},"enter":function(e){if(this.isExpanded()){this.inKeyMode=true;var hoveredIndex=this.view.indexOf(this.view.lastItem);this.onViewBeforeClick(this.view,hoveredIndex,this.view.getNode(hoveredIndex),e);this.onViewClick(this.view,hoveredIndex,this.view.getNode(hoveredIndex),e);}else{this.onSingleBlur();}
return true;},"esc":function(e){this.collapse();},"tab":function(e){this.collapse();return true;},"home":function(e){this.hoverFirst();return false;},"end":function(e){this.hoverLast();return false;},scope:this,doRelay:function(foo,bar,hname){if(hname=='down'||this.scope.isExpanded()){return Ext.KeyNav.prototype.doRelay.apply(this,arguments);}
if(hname=='enter'||this.scope.isExpanded()){return Ext.KeyNav.prototype.doRelay.apply(this,arguments);}
return true;},forceKeyDown:true});this.queryDelay=Math.max(this.queryDelay||10,this.mode=='local'?10:250);this.dqTask=new Ext.util.DelayedTask(this.initQuery,this);if(this.typeAhead){this.taTask=new Ext.util.DelayedTask(this.onTypeAhead,this);}
if(this.editable!==false){this.el.on("keyup",this.onKeyUp,this);}
if(!this.multiSelect){if(this.forceSelection){this.on('blur',this.doForce,this);}
this.on('focus',this.onSingleFocus,this);this.on('blur',this.onSingleBlur,this);}
this.on('change',this.onChange,this);},doForce:function(){if(this.el.dom.value.length>0){if(this.el.dom.value==this.emptyText){this.clearValue();}
else if(!this.multiSelect){this.el.dom.value=this.lastSelectionText===undefined?'':this.lastSelectionText;this.applyEmptyText();}}},onLoad:function(){if(!this.hasFocus){return;}
if(this.store.getCount()>0){this.expand();this.restrictHeight();if(this.lastQuery==this.allQuery){if(this.editable){this.el.dom.select();}
this.selectByValue(this.value,true);}else{this.selectNext();if(this.typeAhead&&this.lastKey!=Ext.EventObject.BACKSPACE&&this.lastKey!=Ext.EventObject.DELETE){this.taTask.delay(this.typeAheadDelay);}}}else{this.onEmptyResults();}},onSelect:function(record,index){if(this.fireEvent('beforeselect',this,record,index)!==false){this.addValue(record.data[this.valueField||this.displayField]);this.fireEvent('select',this,record,index);if(!this.multiSelect){this.collapse();}}},onSingleFocus:function(){this.oldValue=this.getRawValue();},onSingleBlur:function(){var r=this.findRecord(this.displayField,this.getRawValue());if(r){this.select(this.store.indexOf(r));return;}
if(String(this.oldValue)!=String(this.getRawValue())){this.setValue(this.getRawValue());this.fireEvent('change',this,this.oldValue,this.getRawValue());}
this.oldValue=String(this.getRawValue());},onChange:function(){if(!this.clearTrigger){return;}
if(this.getValue()!=''){this.triggers[0].show();}else{this.triggers[0].hide();}},collapse:function(){this.hoverOut();PP.widget.MultiSelectCombo.superclass.collapse.call(this);},expand:function(){PP.widget.MultiSelectCombo.superclass.expand.call(this);this.hoverFirst();},onViewOver:function(e,t){if(this.inKeyMode){return;}},onViewBeforeClick:function(vw,index,node,e){this.preClickSelections=this.view.getSelectedIndexes();},onViewClick:function(vw,index,node,e){if(typeof index!='undefined'){var arrayIndex=this.preClickSelections.indexOf(index);if(arrayIndex!=-1&&this.multiSelect){this.removeValue(this.store.getAt(index).data[this.valueField||this.displayField]);if(this.inKeyMode){this.view.deselect(index,true);}
this.hover(index,true);}else{var r=this.store.getAt(index);if(r){if(this.inKeyMode){this.view.select(index,true);}
this.onSelect(r,index);this.hover(index,true);}}}
if(vw!==false){this.el.focus();}},addValue:function(v){if(!this.multiSelect){this.setValue(v);return;}
if(v instanceof Array){v=v[0];}
v=String(v);if(this.valueArray.indexOf(v)==-1){var text=v;var r=this.findRecord(this.valueField||displayField,v);if(r){text=r.data[this.displayField];if(this.view){this.select(this.store.indexOf(r));}}else if(this.forceSelection){return;}
var result=Ext.apply([],this.valueArray);result.push(v);var resultRaw=Ext.apply([],this.rawValueArray);resultRaw.push(text);v=result.join(this.separator||',');text=resultRaw.join(this.displaySeparator||this.separator||',');this.commonChangeValue(v,text,result,resultRaw);}},removeValue:function(v){if(v instanceof Array){v=v[0];}
v=String(v);if(this.valueArray.indexOf(v)!=-1){var text=v;var r=this.findRecord(this.valueField||displayField,v);if(r){text=r.data[this.displayField];if(this.view){this.deselect(this.store.indexOf(r));}}else if(this.forceSelection){return;}
var result=Ext.apply([],this.valueArray);result.remove(v);var resultRaw=Ext.apply([],this.rawValueArray);resultRaw.remove(text);v=result.join(this.separator||',');text=resultRaw.join(this.displaySeparator||this.separator||',');this.commonChangeValue(v,text,result,resultRaw);}},setValue:function(v){var result=[],resultRaw=[];if(!(v instanceof Array)){if(this.separator&&this.separator!==true){v=v.split(String(this.separator));}else{v=[v];}}
else if(!this.multiSelect){v=v.slice(0,1);}
for(var i=0,len=v.length;i<len;i++){var value=v[i];var text=value;if(this.valueField){var r=this.findRecord(this.valueField||this.displayField,value);if(r){text=r.data[this.displayField];}else if(this.forceSelection){continue;}}
result.push(value);resultRaw.push(text);}
v=result.join(this.separator||',');text=resultRaw.join(this.displaySeparator||this.separator||',');this.commonChangeValue(v,text,result,resultRaw);if(this.history&&!this.multiSelect&&this.mode=='local'){this.addHistory(this.valueField?this.getValue():this.getRawValue());}
if(this.view){this.view.clearSelections();this.selectByValue(this.valueArray);}},commonChangeValue:function(v,text,result,resultRaw){this.lastSelectionText=text;this.valueArray=result;this.rawValueArray=resultRaw;if(this.hiddenField){this.hiddenField.value=v;}
Ext.form.ComboBox.superclass.setValue.call(this,text);this.value=v;if(this.oldValueArray!=this.valueArray){this.fireEvent('change',this,this.oldValueArray,this.valueArray);}
this.oldValueArray=Ext.apply([],this.valueArray);},validateValue:function(value){if(!PP.widget.MultiSelectCombo.superclass.validateValue.call(this,value)){return false;}
if(this.valueArray.length<this.minLength){this.markInvalid(String.format(this.minLengthText,this.minLength));return false;}
if(this.valueArray.length>this.maxLength){this.markInvalid(String.format(this.maxLengthText,this.maxLength));return false;}
return true;},clearValue:function(){this.commonChangeValue('','',[],[]);if(this.view){this.view.clearSelections();}
PP.widget.MultiSelectCombo.superclass.clearValue.call(this);},reset:function(){if(this.view){this.view.clearSelections();}
PP.widget.MultiSelectCombo.superclass.reset.call(this);},getValue:function(asArray){if(asArray){return typeof this.valueArray!='undefined'?this.valueArray:[];}
return PP.widget.MultiSelectCombo.superclass.getValue.call(this);},getRawValue:function(asArray){if(asArray){return typeof this.rawValueArray!='undefined'?this.rawValueArray:[];}
return PP.widget.MultiSelectCombo.superclass.getRawValue.call(this);},select:function(index,scrollIntoView){this.selectedIndex=index;if(!this.view){return;}
this.view.select(index,this.multiSelect);if(scrollIntoView!==false){var el=this.view.getNode(index);if(el){this.innerList.scrollChildIntoView(el,false);}}},deselect:function(index,scrollIntoView){this.selectedIndex=index;this.view.deselect(index,this.multiSelect);if(scrollIntoView!==false){var el=this.view.getNode(index);if(el){this.innerList.scrollChildIntoView(el,false);}}},selectByValue:function(v,scrollIntoView){this.hoverOut();if(v!==undefined&&v!==null){if(!(v instanceof Array)){v=[v];}
var result=[];for(var i=0,len=v.length;i<len;i++){var value=v[i];var r=this.findRecord(this.valueField||this.displayField,value);if(r){this.select(this.store.indexOf(r),scrollIntoView);result.push(value);}}
return result.join(',');}
return false;},selectFirst:function(){var ct=this.store.getCount();if(ct>0){this.select(0);}},selectLast:function(){var ct=this.store.getCount();if(ct>0){this.select(ct);}},hover:function(index,scrollIntoView){if(!this.view){return;}
this.hoverOut();var node=this.view.getNode(index);this.view.lastItem=node;Ext.fly(node).addClass(this.view.overClass);if(scrollIntoView!==false){var el=this.view.getNode(index);if(el){this.innerList.scrollChildIntoView(el,false);}}},hoverOut:function(){if(!this.view){return;}
if(this.view.lastItem){Ext.fly(this.view.lastItem).removeClass(this.view.overClass);delete this.view.lastItem;}},hoverNext:function(){if(!this.view){return;}
var ct=this.store.getCount();if(ct>0){if(!this.view.lastItem){this.hover(0);}else{var hoveredIndex=this.view.indexOf(this.view.lastItem);if(hoveredIndex<ct-1){this.hover(hoveredIndex+1);}}}},hoverPrev:function(){if(!this.view){return;}
var ct=this.store.getCount();if(ct>0){if(!this.view.lastItem){this.hover(0);}else{var hoveredIndex=this.view.indexOf(this.view.lastItem);if(hoveredIndex!=0){this.hover(hoveredIndex-1);}}}},hoverFirst:function(){var ct=this.store.getCount();if(ct>0){this.hover(0);}},hoverLast:function(){var ct=this.store.getCount();if(ct>0){this.hover(ct);}},addHistory:function(value){if(!value.length){return;}
var r=this.findRecord(this.valueField||this.displayField,value);if(r){this.store.remove(r);}else{var o={};if(this.valueField){o[this.valueField]=value;}
o[this.displayField]=value;r=new this.store.reader.recordType(o);}
this.store.clearFilter();this.store.insert(0,r);this.pruneHistory();},pruneHistory:function(){if(this.historyMaxLength==0){return;}
if(this.store.getCount()>this.historyMaxLength){var overflow=this.store.getRange(this.historyMaxLength,this.store.getCount());for(var i=0,len=overflow.length;i<len;i++){this.store.remove(overflow[i]);}}}});Ext.reg('select',PP.widget.MultiSelectCombo);

Ext.ux.Portal=Ext.extend(Ext.Panel,{layout:'column',autoScroll:true,cls:'x-portal',defaultType:'portalcolumn',initComponent:function(){Ext.ux.Portal.superclass.initComponent.call(this);this.addEvents({validatedrop:true,beforedragover:true,dragover:true,beforedrop:true,drop:true});},initEvents:function(){Ext.ux.Portal.superclass.initEvents.call(this);this.dd=new Ext.ux.Portal.DropZone(this,this.dropConfig);}});Ext.reg('portal',Ext.ux.Portal);Ext.ux.Portal.DropZone=function(portal,cfg){this.portal=portal;Ext.dd.ScrollManager.register(portal.body);Ext.ux.Portal.DropZone.superclass.constructor.call(this,portal.bwrap.dom,cfg);portal.body.ddScrollConfig=this.ddScrollConfig;};Ext.extend(Ext.ux.Portal.DropZone,Ext.dd.DropTarget,{ddScrollConfig:{vthresh:50,hthresh:-1,animate:true,increment:200},createEvent:function(dd,e,data,col,c,pos){return{portal:this.portal,panel:data.panel,columnIndex:col,column:c,position:pos,data:data,source:dd,rawEvent:e,status:this.dropAllowed};},notifyOver:function(dd,e,data){var xy=e.getXY(),portal=this.portal,px=dd.proxy;if(!this.grid){this.grid=this.getGrid();}
var cw=portal.body.dom.clientWidth;if(!this.lastCW){this.lastCW=cw;}else if(this.lastCW!=cw){this.lastCW=cw;portal.doLayout();this.grid=this.getGrid();}
var col=0,xs=this.grid.columnX,cmatch=false;for(var len=xs.length;col<len;col++){if(xy[0]<(xs[col].x+xs[col].w)){cmatch=true;break;}}
if(!cmatch){col--;}
var p,match=false,pos=0,c=portal.items.itemAt(col),items=c.items.items;for(var len=items.length;pos<len;pos++){p=items[pos];var h=p.el.getHeight();if(h!==0&&(p.el.getY()+(h/2))>xy[1]){match=true;break;}}
var overEvent=this.createEvent(dd,e,data,col,c,match&&p?pos:c.items.getCount());if(portal.fireEvent('validatedrop',overEvent)!==false&&portal.fireEvent('beforedragover',overEvent)!==false){px.getProxy().setWidth('auto');if(p){px.moveProxy(p.el.dom.parentNode,match?p.el.dom:null);}else{px.moveProxy(c.el.dom,null);}
this.lastPos={c:c,col:col,p:match&&p?pos:false};this.scrollPos=portal.body.getScroll();portal.fireEvent('dragover',overEvent);return overEvent.status;;}else{return overEvent.status;}},notifyOut:function(){delete this.grid;},notifyDrop:function(dd,e,data){delete this.grid;if(!this.lastPos){return;}
var c=this.lastPos.c,col=this.lastPos.col,pos=this.lastPos.p;var dropEvent=this.createEvent(dd,e,data,col,c,pos!==false?pos:c.items.getCount());if(this.portal.fireEvent('validatedrop',dropEvent)!==false&&this.portal.fireEvent('beforedrop',dropEvent)!==false){dd.proxy.getProxy().remove();dd.panel.el.dom.parentNode.removeChild(dd.panel.el.dom);if(pos!==false){c.insert(pos,dd.panel);}else{c.add(dd.panel);}
c.doLayout();this.portal.fireEvent('drop',dropEvent);var st=this.scrollPos.top;if(st){var d=this.portal.body.dom;setTimeout(function(){d.scrollTop=st;},10);}}
delete this.lastPos;},getGrid:function(){var box=this.portal.bwrap.getBox();box.columnX=[];this.portal.items.each(function(c){box.columnX.push({x:c.el.getX(),w:c.el.getWidth()});});return box;}});

Ext.ux.PortalColumn=Ext.extend(Ext.Container,{layout:'anchor',autoEl:'div',defaultType:'portlet',cls:'x-portal-column'});Ext.reg('portalcolumn',Ext.ux.PortalColumn);

Ext.ux.Portlet=Ext.extend(Ext.Panel,{anchor:'100%',frame:true,collapsible:true,draggable:true,cls:'x-portlet'});Ext.reg('portlet',Ext.ux.Portlet);

Ext.ns('Ext.ux.grid');Ext.ux.grid.RowExpander=Ext.extend(Ext.util.Observable,{expandOnEnter:true,expandOnDblClick:true,header:'',width:20,sortable:false,fixed:true,menuDisabled:true,dataIndex:'',id:'expander',lazyRender:true,enableCaching:true,constructor:function(config){Ext.apply(this,config);this.addEvents({beforeexpand:true,expand:true,beforecollapse:true,collapse:true});Ext.ux.grid.RowExpander.superclass.constructor.call(this);if(this.tpl){if(typeof this.tpl=='string'){this.tpl=new Ext.Template(this.tpl);}
this.tpl.compile();}
this.state={};this.bodyContent={};},getRowClass:function(record,rowIndex,p,ds){var masterClass="";if(record.get("AssetId")==this.assetRecord.get("AssetId"))
masterClass='x-grid3-row-master';p.cols=p.cols-1;var content=this.bodyContent[record.id];if(!content&&!this.lazyRender){content=this.getBodyContent(record,rowIndex);}
if(content){p.body=content;}
return this.state[record.id]?masterClass+' x-grid3-row-expanded':masterClass+' x-grid3-row-collapsed';},init:function(grid){this.grid=grid;var view=grid.getView();view.getRowClass=this.getRowClass.createDelegate(this);view.enableRowBody=true;grid.on('render',this.onRender,this);grid.on('destroy',this.onDestroy,this);},onRender:function(){var grid=this.grid;var mainBody=grid.getView().mainBody;mainBody.on('mousedown',this.onMouseDown,this,{delegate:'.x-grid3-row-expander'});if(this.expandOnEnter){this.keyNav=new Ext.KeyNav(this.grid.getGridEl(),{'enter':this.onEnter,scope:this});}
if(this.expandOnDblClick){grid.on('rowdblclick',this.onRowDblClick,this);}},onDestroy:function(){if(this.keyNav){this.keyNav.disable();delete this.keyNav;}
var mainBody=this.grid.getView().mainBody;if(mainBody){mainBody.un('mousedown',this.onMouseDown,this);}},onRowDblClick:function(grid,rowIdx,e){this.toggleRow(rowIdx);},onEnter:function(e){var g=this.grid;var sm=g.getSelectionModel();var sels=sm.getSelections();for(var i=0,len=sels.length;i<len;i++){var rowIdx=g.getStore().indexOf(sels[i]);this.toggleRow(rowIdx);}},getBodyContent:function(record,index){if(!this.enableCaching){return this.tpl.apply(record.data);}
var content=this.bodyContent[record.id];if(!content){content=this.tpl.apply(record.data);this.bodyContent[record.id]=content;}
return content;},onMouseDown:function(e,t){e.stopEvent();var row=e.getTarget('.x-grid3-row');this.toggleRow(row);},renderer:function(v,p,record){p.cellAttr='rowspan="2"';return'<div class="x-grid3-row-expander">&#160;</div>';},beforeExpand:function(record,body,rowIndex){if(this.fireEvent('beforeexpand',this,record,body,rowIndex)!==false){if(this.tpl&&this.lazyRender){body.innerHTML=this.getBodyContent(record,rowIndex);}
return true;}else{return false;}},toggleRow:function(row){if(typeof row=='number'){row=this.grid.view.getRow(row);}
this[Ext.fly(row).hasClass('x-grid3-row-collapsed')?'expandRow':'collapseRow'](row);},expandRow:function(row){if(typeof row=='number'){row=this.grid.view.getRow(row);}
var record=this.grid.store.getAt(row.rowIndex);var body=Ext.DomQuery.selectNode('tr:nth(2) div.x-grid3-row-body',row);if(this.beforeExpand(record,body,row.rowIndex)){this.state[record.id]=true;Ext.fly(row).replaceClass('x-grid3-row-collapsed','x-grid3-row-expanded');this.fireEvent('expand',this,record,body,row.rowIndex);}},collapseRow:function(row){if(typeof row=='number'){row=this.grid.view.getRow(row);}
var record=this.grid.store.getAt(row.rowIndex);var body=Ext.fly(row).child('tr:nth(1) div.x-grid3-row-body',true);if(this.fireEvent('beforecollapse',this,record,body,row.rowIndex)!==false){this.state[record.id]=false;Ext.fly(row).replaceClass('x-grid3-row-expanded','x-grid3-row-collapsed');this.fireEvent('collapse',this,record,body,row.rowIndex);}}});Ext.preg('rowexpander',Ext.ux.grid.RowExpander);Ext.grid.RowExpander=Ext.ux.grid.RowExpander;

Ext.TwinCombo=Ext.extend(Ext.form.ComboBox,{initComponent:Ext.form.TwinTriggerField.prototype.initComponent,getTrigger:Ext.form.TwinTriggerField.prototype.getTrigger,initTrigger:Ext.form.TwinTriggerField.prototype.initTrigger,onTrigger1Click:Ext.form.ComboBox.prototype.onTriggerClick,trigger1Class:Ext.form.ComboBox.prototype.triggerClass});Ext.SearchField=Ext.extend(Ext.TwinCombo,{initComponent:function(){if(this.enableAutoComplete){this.store=new Ext.data.JsonStore({fields:['Value','PersonalItemId','ListType'],url:'../Webservice/CategoryService.svc/GetAutoCompleteList4SimpleSearch'});this.store.on("beforeload",function(store,options){this.store.baseParams={searchString:this.getRawValue(),tabId:this.controller.getAssetStore().areaId};},this);this.displayField='Value';var previousListType="";this.tpl=new Ext.XTemplate('<tpl for="."><div class="x-combo-list-item" style="{[this.isFirstSearch(values)]}">{Value}</div></tpl>',{isFirstSearch:function(value){if(value.ListType=="Category"&&previousListType=="Search"){previousListType=value.ListType;return"border-top: 1px solid gray;";}
previousListType=value.ListType;return"";}});}else{this.mode='local';this.store=new Ext.data.ArrayStore({fields:['SearchString'],data:[]});}
Ext.SearchField.superclass.initComponent.call(this);this.on("beforeselect",function(combo,record,index){if(index==0){this.onTrigger2Click({});return false;}},this);this.on("select",function(combo,record,index){this.onTrigger2Click({});},this);this.on('keydown',function(f,e){if(e.getKey()==e.ENTER){e.stopEvent();this.onTrigger2Click(e);}
if(e.getKey()==e.DELETE){if(this.view){e.stopEvent();var rec=this.view.getSelectedRecords()[0];if(rec.get("PersonalItemId")){Ext.Ajax.request({url:'../Webservice/CategoryService.svc/DeletePersonalItems',params:{personalItems:[{PersonalItemId:rec.get("PersonalItemId")}]},scope:this,success:function(){this.store.reload();}})}}}},this);},validationEvent:false,validateOnBlur:false,trigger1Class:'x-form-clear-trigger',trigger2Class:'x-form-search-trigger',hideTrigger1:true,anchor:'-1',hasSearch:false,paramName:'query',minChars:2,controller:null,enableAutoComplete:false,enableKeyEvents:true,queryDelay:500,onTrigger1Click:function(e){if(this.hasSearch){this.fireEvent("search","",e);this.el.dom.value='';this.el.removeClass("x-form-search");this.triggers[0].hide();this.hasSearch=false;this.focus();}},onTrigger2Click:function(e){var v=this.getRawValue();if(v.length<1){this.onTrigger1Click(e);return;}
this.fireEvent("search",v,e);this.hasSearch=true;this.el.addClass("x-form-search");this.triggers[0].show();this.focus();},markSearch:function(e){var v=this.getRawValue();if(v.length<1){this.onTrigger1Click(e);return;}
this.fireEvent("search",v,e);this.hasSearch=true;this.el.addClass("x-form-search");this.triggers[0].show();},setSearch:function(searchString){this.hasSearch=true;this.el.dom.value=searchString;this.el.addClass("x-form-search");this.triggers[0].show();},reset:function(){try{this.el.dom.value='';this.el.removeClass("x-form-search");this.triggers[0].hide();this.hasSearch=false;}catch(error){}
Ext.SearchField.superclass.reset.call(this);},afterRender:function(){Ext.form.TriggerField.superclass.afterRender.call(this);var y;if((Ext.isIE6||Ext.isIE7)&&!this.hideTrigger&&this.el.getY()!=(y=this.trigger.getY())){this.el.position();this.el.setY(y);}}});

PP.widget.SliderPagingToolbar=Ext.extend(Ext.Toolbar,{pageSize:20,displayMsg:'{0} - {1} / {2}',emptyMsg:'No data to display',beforePageText:"Page",afterPageText:"of {0}",firstText:"First Page",prevText:"",nextText:"",lastText:"Last Page",refreshText:"",l:{},paramNames:{start:'start',limit:'limit'},initComponent:function(){this.addEvents('change','beforechange');this.l=Locale.widget.SliderPagingToolbar;if(!this.refreshText)
this.refreshText=this.l.Refresh;if(!this.nextText)
this.nextText=this.l.NextPage;if(!this.prevText)
this.prevText=this.l.PreviousPage;PP.widget.SliderPagingToolbar.superclass.initComponent.call(this);this.cursor=0;this.bind(this.store);},onRender:function(ct,position){PP.widget.SliderPagingToolbar.superclass.onRender.call(this,ct,position);if(this.itemsBefore)
Ext.each(this.itemsBefore,function(item){this.add(item);},this)
this.loading=this.addButton({tooltip:this.refreshText,iconCls:"x-tbar-loading",handler:this.onClick.createDelegate(this,["refresh"])});this.addSeparator();if(this.displayInfo){this.displayEl=new Ext.Toolbar.TextItem({text:''});this.addItem(this.displayEl);}
this.slider=new Ext.Slider({width:114,minValue:1,maxValue:1,sliderStore:this.store,plugins:new PP.widget.SliderTip()});this.add(this.slider);this.slider.on('changecomplete',function(s,v){this.changePage(v);},this);this.prev=this.addButton({tooltip:this.prevText,iconCls:"x-tbar-page-prev",disabled:true,handler:this.onClick.createDelegate(this,["prev"])});this.next=this.addButton({tooltip:this.nextText,iconCls:"x-tbar-page-next",disabled:true,handler:this.onClick.createDelegate(this,["next"])});if(this.itemsAfter)
this.add(this.itemsAfter);if(this.dsLoaded){this.onLoad.apply(this,this.dsLoaded);}},updateInfo:function(){if(this.displayEl){var count=this.store.getCount();if(this.store.countWithoutCategories)
count=this.store.countWithoutCategories;var msg=count==0?this.emptyMsg:String.format(this.displayMsg,this.cursor+1,this.cursor+count,this.store.getTotalCount());this.displayEl.setText(msg);}},onLoad:function(store,r,o){if(!this.rendered){this.dsLoaded=[store,r,o];return;}
this.cursor=o.params?o.params[this.paramNames.start]:0;var d=this.getPageData(),ap=d.activePage,ps=d.pages;this.prev.setDisabled(ap==1);this.next.setDisabled(ap==ps);this.loading.enable();if(d.pages==1)
this.slider.disable();else
this.slider.enable();this.slider.maxValue=d.pages;this.slider.setValue(d.activePage);this.updateInfo();this.fireEvent('change',this,d);},getPageData:function(){var total=this.store.getTotalCount();return{total:total,activePage:Math.ceil((this.cursor+this.pageSize)/this.pageSize),pages:total<this.pageSize?1:Math.ceil(total/this.pageSize)};},onLoadError:function(){if(!this.rendered){return;}
this.loading.enable();},readPage:function(d){var v=this.field.dom.value,pageNum;if(!v||isNaN(pageNum=parseInt(v,10))){this.field.dom.value=d.activePage;return false;}
return pageNum;},onPagingBlur:function(e){},onPagingKeydown:function(e){var k=e.getKey(),d=this.getPageData(),pageNum;if(k==e.RETURN){e.stopEvent();pageNum=this.readPage(d);if(pageNum!==false){pageNum=Math.min(Math.max(1,pageNum),d.pages)-1;this.doLoad(pageNum*this.pageSize);}}else if(k==e.HOME||k==e.END){e.stopEvent();pageNum=k==e.HOME?1:d.pages;this.field.dom.value=pageNum;}else if(k==e.UP||k==e.PAGEUP||k==e.DOWN||k==e.PAGEDOWN){e.stopEvent();if(pageNum=this.readPage(d)){var increment=e.shiftKey?10:1;if(k==e.DOWN||k==e.PAGEDOWN){increment*=-1;}
pageNum+=increment;if(pageNum>=1&pageNum<=d.pages){this.field.dom.value=pageNum;}}}},beforeLoad:function(){if(this.rendered&&this.loading){this.loading.disable();}},doLoad:function(start){var o={},pn=this.paramNames;o[pn.start]=start;o[pn.limit]=this.pageSize;if(this.fireEvent('beforechange',this,o)!==false){this.store.load({params:o});}},changePage:function(page){this.doLoad(((page-1)*this.pageSize).constrain(0,this.store.getTotalCount()));},onClick:function(which){var store=this.store;switch(which){case"first":this.doLoad(0);break;case"prev":this.doLoad(Math.max(0,this.cursor-this.pageSize));break;case"next":this.doLoad(this.cursor+this.pageSize);break;case"last":var total=store.getTotalCount();var extra=total%this.pageSize;var lastStart=extra?(total-extra):total-this.pageSize;this.doLoad(lastStart);break;case"refresh":this.doLoad(this.cursor);break;}},unbind:function(store){store=Ext.StoreMgr.lookup(store);store.un("beforeload",this.beforeLoad,this);store.un("load",this.onLoad,this);store.un("loadexception",this.onLoadError,this);this.store=undefined;},bind:function(store){store=Ext.StoreMgr.lookup(store);store.on("beforeload",this.beforeLoad,this);store.on("load",this.onLoad,this);store.on("loadexception",this.onLoadError,this);this.store=store;},onDestroy:function(){if(this.store){this.unbind(this.store);}
PP.widget.SliderPagingToolbar.superclass.onDestroy.call(this);}});Ext.reg('sliderpaging',PP.widget.SliderPagingToolbar);

Ext.ns("PP","PP.widget");PP.widget.SliderTip=Ext.extend(Ext.Tip,{minWidth:10,offsets:[0,-10],init:function(slider){slider.on('dragstart',this.onSlide,this);slider.on('drag',this.onSlide,this);slider.on('dragend',this.hide,this);slider.on('destroy',this.destroy,this);},onSlide:function(slider){this.show();this.body.update(this.getText(slider));this.doAutoWidth();this.el.alignTo(slider.thumb,'b-t?',this.offsets);},getText:function(slider){var from=slider.sliderStore.lastOptions.params.limit*(slider.getValue())+1;var to=from+slider.sliderStore.lastOptions.params.limit-1;if(to>slider.sliderStore.getTotalCount())
to=slider.sliderStore.getTotalCount();return from+"-"+to+" / "+slider.sliderStore.getTotalCount();}});

Ext.namespace("Ext.ux");Ext.ux.StartMenu=function(config){Ext.ux.StartMenu.superclass.constructor.call(this,config);var tools=this.toolItems;this.toolItems=new Ext.util.MixedCollection();if(tools){this.addTool.apply(this,tools);}};Ext.extend(Ext.ux.StartMenu,Ext.menu.Menu,{render:function(){if(this.el){return;}
var el=this.el=new Ext.Layer({cls:"x-menu ux-start-menu",shadow:this.shadow,constrain:false,parentEl:this.parentEl||document.body,zindex:15000});var header=el.createChild({tag:"div",cls:"x-window-header x-unselectable x-panel-icon "+this.iconCls});this.header=header;var headerText=header.createChild({tag:"span",cls:"x-window-header-text"});var tl=header.wrap({cls:"ux-start-menu-tl"});var tr=header.wrap({cls:"ux-start-menu-tr"});var tc=header.wrap({cls:"ux-start-menu-tc"});this.menuBWrap=el.createChild({tag:"div",cls:"x-window-body x-border-layout-ct ux-start-menu-body"});var ml=this.menuBWrap.wrap({cls:"ux-start-menu-ml"});var mc=this.menuBWrap.wrap({cls:"x-window-mc ux-start-menu-bwrap"});this.menuPanel=this.menuBWrap.createChild({tag:"div",cls:"x-panel x-border-panel ux-start-menu-apps-panel"});this.toolsPanel=this.menuBWrap.createChild({tag:"div",cls:"x-panel x-border-panel ux-start-menu-tools-panel"});var bwrap=ml.wrap({cls:"x-window-bwrap"});var bc=bwrap.createChild({tag:"div",cls:"ux-start-menu-bc"});var bl=bc.wrap({cls:"ux-start-menu-bl x-panel-nofooter"});var br=bc.wrap({cls:"ux-start-menu-br"});this.keyNav=new Ext.menu.MenuNav(this);if(this.plain){el.addClass("x-menu-plain");}
if(this.cls){el.addClass(this.cls);}
this.focusEl=el.createChild({tag:"a",cls:"x-menu-focus",href:"#",onclick:"return false;",tabIndex:"-1"});var ul=this.menuPanel.createChild({tag:"ul",cls:"x-menu-list"});var toolsUl=this.toolsPanel.createChild({tag:"ul",cls:"x-menu-list"});var ulListeners={"click":{fn:this.onClick,scope:this},"mouseover":{fn:this.onMouseOver,scope:this},"mouseout":{fn:this.onMouseOut,scope:this}};ul.on(ulListeners);this.items.each(function(item){var li=document.createElement("li");li.className="x-menu-list-item";ul.dom.appendChild(li);item.render(li,this);},this);this.ul=ul;this.autoWidth();toolsUl.on(ulListeners);this.toolItems.each(function(item){var li=document.createElement("li");li.className="x-menu-list-item";toolsUl.dom.appendChild(li);item.render(li,this);},this);this.toolsUl=toolsUl;this.autoWidth();this.menuBWrap.setStyle('position','relative');this.menuBWrap.setHeight(this.height);this.menuPanel.setStyle({padding:'2px',position:'absolute',overflow:'auto'});this.toolsPanel.setStyle({padding:'2px 4px 2px 2px',position:'absolute',overflow:'auto'});this.setTitle(this.title);},findTargetItem:function(e){var t=e.getTarget(".x-menu-list-item",this.ul,true);if(t&&t.menuItemId){if(this.items.get(t.menuItemId)){return this.items.get(t.menuItemId);}else{return this.toolItems.get(t.menuItemId);}}},show:function(el,pos,parentMenu){this.parentMenu=parentMenu;if(!this.el){this.render();}
this.fireEvent("beforeshow",this);this.showAt(this.el.getAlignToXY(el,pos||this.defaultAlign),parentMenu,false);var tPanelWidth=142;var box=this.menuBWrap.getBox();this.menuPanel.setWidth(box.width-tPanelWidth);this.menuPanel.setHeight(box.height);this.toolsPanel.setWidth(tPanelWidth);this.toolsPanel.setX(box.x+box.width-tPanelWidth);this.toolsPanel.setHeight(box.height);},addTool:function(){var a=arguments,l=a.length,item;for(var i=0;i<l;i++){var el=a[i];if(el.render){item=this.addToolItem(el);}else if(typeof el=="string"){if(el=="separator"||el=="-"){item=this.addToolSeparator();}else{item=this.addText(el);}}else if(el.tagName||el.el){item=this.addElement(el);}else if(typeof el=="object"){item=this.addToolMenuItem(el);}}
return item;},addToolSeparator:function(){return this.addToolItem(new Ext.menu.Separator({itemCls:'ux-toolmenu-sep'}));},addToolItem:function(item){this.toolItems.add(item);if(this.ul){var li=document.createElement("li");li.className="x-menu-list-item";this.ul.dom.appendChild(li);item.render(li,this);this.delayAutoWidth();}
return item;},addToolMenuItem:function(config){if(!(config instanceof Ext.menu.Item)){if(typeof config.checked=="boolean"){config=new Ext.menu.CheckItem(config);}else{config=new Ext.menu.Item(config);}}
return this.addToolItem(config);},setTitle:function(title,iconCls){this.title=title;this.header.child('span').update(title);return this;}});

Ext.ux.TaskBar=function(startConfig){this.startConfig=startConfig;this.init();}
Ext.extend(Ext.ux.TaskBar,Ext.util.Observable,{init:function(){this.startMenu=new Ext.ux.StartMenu(Ext.apply({iconCls:'user',height:330,shadow:true,width:370},this.startConfig));this.tbPanel=new Ext.ux.TaskButtonsPanel({el:'ux-taskbuttons-panel',id:'TaskBarButtons',region:'center'});var container=new Ext.ux.TaskBarContainer({el:'ux-taskbar',layout:'border',items:this.startConfig.showStartButton?[sbBox,this.tbPanel]:[this.tbPanel]});return this;},addTaskButton:function(win){return this.tbPanel.addButton(win,'ux-taskbuttons-panel');},removeTaskButton:function(btn){this.tbPanel.removeButton(btn);},setActiveButton:function(btn){this.tbPanel.setActiveButton(btn);}});Ext.ux.TaskBarContainer=Ext.extend(Ext.Container,{initComponent:function(){Ext.ux.TaskBarContainer.superclass.initComponent.call(this);this.el=Ext.get(this.el)||Ext.getBody();this.el.setHeight=Ext.emptyFn;this.el.setWidth=Ext.emptyFn;this.el.setSize=Ext.emptyFn;this.el.setStyle({overflow:'hidden',margin:'0',border:'0 none'});this.el.dom.scroll='no';this.allowDomMove=false;this.autoWidth=true;this.autoHeight=true;Ext.EventManager.onWindowResize(this.fireResize,this);this.renderTo=this.el;},fireResize:function(w,h){this.fireEvent('resize',this,w,h,w,h);}});Ext.ux.TaskButtonsPanel=Ext.extend(Ext.BoxComponent,{activeButton:null,enableScroll:true,scrollIncrement:0,scrollRepeatInterval:400,scrollDuration:.35,animScroll:true,resizeButtons:true,buttonWidth:168,minButtonWidth:118,buttonMargin:2,buttonWidthSet:false,initComponent:function(){Ext.ux.TaskButtonsPanel.superclass.initComponent.call(this);this.on('resize',this.delegateUpdates);this.items=[];this.stripWrap=Ext.get(this.el).createChild({cls:'ux-taskbuttons-strip-wrap',cn:{tag:'ul',cls:'ux-taskbuttons-strip'}});this.stripSpacer=Ext.get(this.el).createChild({cls:'ux-taskbuttons-strip-spacer'});this.strip=new Ext.Element(this.stripWrap.dom.firstChild);this.edge=this.strip.createChild({tag:'li',cls:'ux-taskbuttons-edge'});this.strip.createChild({cls:'x-clear'});},addButton:function(win){var li=this.strip.createChild({tag:'li'},this.edge);var btn=new Ext.ux.TaskBar.TaskButton(win,li);this.items.push(btn);if(!this.buttonWidthSet){this.lastButtonWidth=btn.container.getWidth();}
this.setActiveButton(btn);return btn;},removeButton:function(btn){var li=document.getElementById(btn.container.id);btn.destroy();li.parentNode.removeChild(li);var s=[];for(var i=0,len=this.items.length;i<len;i++){if(this.items[i]!=btn){s.push(this.items[i]);}}
this.items=s;this.delegateUpdates();},setActiveButton:function(btn){this.activeButton=btn;this.delegateUpdates();},delegateUpdates:function(){if(this.resizeButtons&&this.rendered){this.autoSize();}
if(this.enableScroll&&this.rendered){this.autoScroll();}},autoSize:function(){var count=this.items.length;var ow=this.el.dom.offsetWidth;var aw=this.el.dom.clientWidth;if(!this.resizeButtons||count<1||!aw){return;}
var each=Math.max(Math.min(Math.floor((aw-4)/count)-this.buttonMargin,this.buttonWidth),this.minButtonWidth);var btns=this.stripWrap.dom.getElementsByTagName('button');this.lastButtonWidth=Ext.get(btns[0].id).findParent('li').offsetWidth;for(var i=0,len=btns.length;i<len;i++){var btn=btns[i];var tw=Ext.get(btns[i].id).findParent('li').offsetWidth;var iw=btn.offsetWidth;btn.style.width=(each-(tw-iw))+'px';}},autoScroll:function(){var count=this.items.length;var ow=this.el.dom.offsetWidth;var tw=this.el.dom.clientWidth;var wrap=this.stripWrap;var cw=wrap.dom.offsetWidth;var pos=this.getScrollPos();var l=this.edge.getOffsetsTo(this.stripWrap)[0]+pos;if(!this.enableScroll||count<1||cw<20){return;}
wrap.setWidth(tw);if(l<=tw){wrap.dom.scrollLeft=0;if(this.scrolling){this.scrolling=false;this.el.removeClass('x-taskbuttons-scrolling');this.scrollLeft.hide();this.scrollRight.hide();}}else{if(!this.scrolling){this.el.addClass('x-taskbuttons-scrolling');}
tw-=wrap.getMargins('lr');wrap.setWidth(tw>20?tw:20);if(!this.scrolling){if(!this.scrollLeft){this.createScrollers();}else{this.scrollLeft.show();this.scrollRight.show();}}
this.scrolling=true;if(pos>(l-tw)){wrap.dom.scrollLeft=l-tw;}else{this.scrollToButton(this.activeButton,true);}
this.updateScrollButtons();}},createScrollers:function(){var h=this.el.dom.offsetHeight;var sl=this.el.insertFirst({cls:'ux-taskbuttons-scroller-left'});sl.setHeight(h);sl.addClassOnOver('ux-taskbuttons-scroller-left-over');this.leftRepeater=new Ext.util.ClickRepeater(sl,{interval:this.scrollRepeatInterval,handler:this.onScrollLeft,scope:this});this.scrollLeft=sl;var sr=this.el.insertFirst({cls:'ux-taskbuttons-scroller-right'});sr.setHeight(h);sr.addClassOnOver('ux-taskbuttons-scroller-right-over');this.rightRepeater=new Ext.util.ClickRepeater(sr,{interval:this.scrollRepeatInterval,handler:this.onScrollRight,scope:this});this.scrollRight=sr;},getScrollWidth:function(){return this.edge.getOffsetsTo(this.stripWrap)[0]+this.getScrollPos();},getScrollPos:function(){return parseInt(this.stripWrap.dom.scrollLeft,10)||0;},getScrollArea:function(){return parseInt(this.stripWrap.dom.clientWidth,10)||0;},getScrollAnim:function(){return{duration:this.scrollDuration,callback:this.updateScrollButtons,scope:this};},getScrollIncrement:function(){return(this.scrollIncrement||this.lastButtonWidth+2);},scrollToButton:function(item,animate){item=item.el.dom.parentNode;if(!item){return;}
var el=item;var pos=this.getScrollPos(),area=this.getScrollArea();var left=Ext.fly(el).getOffsetsTo(this.stripWrap)[0]+pos;var right=left+el.offsetWidth;if(left<pos){this.scrollTo(left,animate);}else if(right>(pos+area)){this.scrollTo(right-area,animate);}},scrollTo:function(pos,animate){this.stripWrap.scrollTo('left',pos,animate?this.getScrollAnim():false);if(!animate){this.updateScrollButtons();}},onScrollRight:function(){var sw=this.getScrollWidth()-this.getScrollArea();var pos=this.getScrollPos();var s=Math.min(sw,pos+this.getScrollIncrement());if(s!=pos){this.scrollTo(s,this.animScroll);}},onScrollLeft:function(){var pos=this.getScrollPos();var s=Math.max(0,pos-this.getScrollIncrement());if(s!=pos){this.scrollTo(s,this.animScroll);}},updateScrollButtons:function(){var pos=this.getScrollPos();this.scrollLeft[pos==0?'addClass':'removeClass']('ux-taskbuttons-scroller-left-disabled');this.scrollRight[pos>=(this.getScrollWidth()-this.getScrollArea())?'addClass':'removeClass']('ux-taskbuttons-scroller-right-disabled');}});Ext.ux.TaskBar.TaskButton=function(win,el){this.win=win;Ext.ux.TaskBar.TaskButton.superclass.constructor.call(this,{iconCls:win.iconCls,text:Ext.util.Format.ellipsis(win.title,28),renderTo:el,handler:function(){if(win.minimized||win.hidden){win.show();}else if(win==win.manager.getActive()){win.minimize();}else{win.toFront();}},clickEvent:'mousedown',template:new Ext.Template('<table border="0" cellpadding="0" cellspacing="0" class="x-btn"><tbody><tr>','<td class="ux-taskbutton-left"><i>&#160;</i></td><td class="ux-taskbutton-center"><em unselectable="on"><button class="x-btn-text" type="{1}" style="height:20px;">{0}</button></em></td><td class="ux-taskbutton-right"><i>&#160;</i></td>',"</tr></tbody></table>"),setText:function(title){this.el.child("td.ux-taskbutton-center "+this.buttonSelector).update(title);}});};Ext.extend(Ext.ux.TaskBar.TaskButton,Ext.Button,{onRender:function(){Ext.ux.TaskBar.TaskButton.superclass.onRender.apply(this,arguments);this.cmenu=new Ext.menu.Menu({items:[{text:Locale.TaskBar.Restore,handler:function(){if(!this.win.isVisible()){this.win.show();this.win.minimized=false;}else{this.win.restore();}},scope:this},{text:Locale.TaskBar.Minimize,handler:this.win.minimize,scope:this.win},{text:Locale.TaskBar.Maximize,handler:this.win.maximize,scope:this.win},'-',{text:Locale.TaskBar.Close,handler:this.closeWin.createDelegate(this,this.win,true),scope:this.win}]});this.cmenu.on('beforeshow',function(){var items=this.cmenu.items.items;var w=this.win;items[0].setDisabled(w.maximized!==true&&w.hidden!==true);items[1].setDisabled(w.minimized===true);items[2].setDisabled(w.maximized===true||w.hidden===true);if(!w.maximizable)
items[2].setDisabled(true)},this);this.el.on('contextmenu',function(e){e.stopEvent();if(!this.cmenu.el){this.cmenu.render();}
var xy=e.getXY();xy[1]-=this.cmenu.el.getHeight();this.cmenu.showAt(xy);},this);},closeWin:function(cMenu,e,win){if(!win.isVisible()){win.show();}else{win.restore();}
win.close();}});

Ext.ns("PP","PP.usergroup");PP.usergroup.ManagerWindow=function(config){Ext.apply(this,config);this.addEvents('select');}
PP.usergroup.ManagerWindow=Ext.extend(PP.Window,{controller:null,l:{},selectedUserGroup:null,newGroupNode:null,initComponent:function(){this.l=Locale.usergroup.ManagerWindow;this.newGroupNode=null;this.selectedUserGroup=null;this.guiLanguages=this.controller.getConfiguration().getGuiLanguages();this.enableLdapUserGroupMapping=this.controller.getConfiguration().getLoginSettings().EnableLdapUserGroupMapping;this.editRight=this.controller.hasRight("editUserGroups");this.title=this.l.Title;this.layout='border';this.treeNode=new Ext.tree.TreeNode({text:''})
this.addButton=new Ext.Button({iconCls:'t-sprite x-toolbar-user-add',text:this.l.Add,disabled:!this.editRight,tooltip:this.l.TipAdd,handler:this.addUserGroup,scope:this});this.removeButton=new Ext.Button({iconCls:'t-sprite x-toolbar-user-delete',text:this.l.Delete,tooltip:this.l.TipDelete,disabled:true,handler:this.deleteUserGroup,scope:this});this.userGroupsTree=new Ext.tree.TreePanel({region:'west',margins:'4 0 4 4',split:true,rootVisible:false,autoScroll:true,tbar:[this.addButton,this.removeButton],width:180,root:this.treeNode});this.userGroupsTree.on("click",function(node){var userGroup=node.attributes.userGroup;this.selectedUserGroup=userGroup;if(this.rightsPanel)
this.rightsPanel.body.update('<iframe src="OpenAdmin.aspx?goTo=/pp/assign_rights.cfm?Action=show&IDGroup={0}" width="100%" height="100%" frameborder=0 border=0></iframe>'.format(userGroup.UserGroupId));if(userGroup.UserGroupId<=2||!this.editRight)
this.removeButton.disable();else
this.removeButton.enable();this.loadFormData(userGroup);this.userStore.load({params:{userGroupId:userGroup.UserGroupId}});if(this.newGroupNode!=null&&this.newGroupNode!=node){this.treeNode.removeChild(this.newGroupNode);this.newGroupNode=null;}
this.userGrid.enable();if(this.rightsPanel)
this.rightsPanel.enable();this.tabs.enable();},this);if(this.controller.hasRight("assignRights"))
this.rightsPanel=new Ext.Panel({title:this.l.TabRights,html:'',layout:'fit'});this.translations=[];this.guiLanguages.each(function(record){this.translations.push(new Ext.form.TextField({language:record,value:'',disabled:!this.editRight,allowBlank:false,anchor:'-1',fieldLabel:record.get("LanguageTranslation")}));},this);var settingItems=[{xtype:'checkbox',name:'ReceiveMailings',disabled:!this.editRight,boxLabel:this.l.ReceiveMailings},{xtype:'checkbox',name:'IsDefault',disabled:!this.editRight,boxLabel:this.l.DefaultGroup}];if(this.enableLdapUserGroupMapping)
settingItems.push({xtype:'textfield',name:'LdapFilter',anchor:'-1',disabled:!this.editRight,fieldLabel:this.l.LdapFilter,tooltip:this.l.TipLdapFilter});this.settingsPanel=new Ext.FormPanel({title:this.l.TabSettings,bodyStyle:'padding:8px;',autoScroll:true,tbar:[{text:this.l.Save,tooltip:this.l.TipSave,disabled:!this.editRight,iconCls:'t-sprite x-toolbar-save',handler:this.saveUserGroup.createDelegate(this,[false]),scope:this},{text:this.l.Cancel,tooltip:this.l.TipCancel,disabled:!this.editRight,iconCls:'t-sprite x-toolbar-cross',handler:function(){if(this.newGroupNode!=null){this.treeNode.removeChild(this.newGroupNode);this.userGrid.enable();if(this.rightsPanel)
this.rightsPanel.enable();this.tabs.disable();this.newGroupNode=null;}else{this.loadFormData(this.selectedUserGroup);}},scope:this}],items:[{xtype:'fieldset',anchor:'-1',title:this.l.Translations,items:this.translations},{xtype:'fieldset',anchor:'-1',title:this.l.Settings,items:settingItems}]});this.userStore=new Ext.data.Store({url:'../Webservice/UserService.svc/GetUsers',reader:new Ext.data.JsonReader({root:'Users',totalProperty:'TotalUsers'},[{name:'UserId',mapping:'UserId'},{name:'Usergroups',mapping:'Usergroups'},{name:'Firstname',mapping:'Firstname'},{name:'Lastname',mapping:'Lastname'},{name:'EmailAddress',mapping:'EmailAddress'},{name:'LastLogin',mapping:'LastLogin'},{name:'State',mapping:'State'}]),sortInfo:{field:'EmailAddress',direction:'ASC'},remoteSort:true});this.userGrid=new Ext.grid.GridPanel({border:false,title:'Members',ds:this.userStore,cm:new Ext.grid.ColumnModel([{header:Locale.UserManager.Id,dataIndex:'UserId',sortable:true,hidden:false,width:40,resizable:false},{header:Locale.UserManager.Firstname,dataIndex:'Firstname',sortable:true},{header:Locale.UserManager.Lastname,dataIndex:'Lastname',sortable:true},{header:Locale.UserManager.EMail,dataIndex:'EmailAddress',sortable:true},{header:Locale.UserManager.LastLogin,dataIndex:'LastLogin',sortable:true,renderer:PP.common.Data.renderDateTime},{header:Locale.UserManager.State,dataIndex:'State',sortable:true,renderer:function(userState){switch(userState)
{case 20:return Locale.UserManager.UserState_20;case 21:return Locale.UserManager.UserState_21;case 22:return Locale.UserManager.UserState_22;case 30:return Locale.UserManager.UserState_30;case 31:return Locale.UserManager.UserState_31;case 40:return Locale.UserManager.UserState_40;case 41:return Locale.UserManager.UserState_41;case 42:return Locale.UserManager.UserState_42;case 43:return Locale.UserManager.UserState_43;case 50:return Locale.UserManager.UserState_50;}}}]),viewConfig:{forceFit:true},autoScroll:true});var items=[this.settingsPanel];if(this.rightsPanel)
items.push(this.rightsPanel);items.push(this.userGrid);this.tabs=new Ext.TabPanel({region:'center',margins:'4 4 4 0',activeItem:0,deferredRender:false,disabled:true,items:items});this.items=[this.userGroupsTree,this.tabs];Ext.Window.prototype.initComponent.call(this);this.refreshTree();},refreshTree:function(){Ext.Ajax.request({url:'../Webservice/UsergroupService.svc/GetUserGroups',params:{includePseudoGroupAll:true},scope:this,success:function(r){var userGroups=Ext.decode(r.responseText);var toDelete=[];this.treeNode.eachChild(function(child){toDelete.push(child);},this);Ext.each(toDelete,function(child){this.treeNode.removeChild(child);},this);Ext.each(userGroups,function(record){this.treeNode.appendChild(new Ext.tree.TreeNode({userGroup:record,text:record.UserGroup,iconCls:'x-admin-groups'}));},this);this.treeNode.expand();}});},saveUserGroup:function(){if(this.settingsPanel.getForm().isValid()){data=this.selectedUserGroup;Ext.each(data.Translations,function(record){Ext.each(this.translations,function(translation){if(translation.language.get("LanguageId")==record.LanguageId)
record.Name=translation.getValue();},this);},this);data.IsDefault=this.settingsPanel.getForm().findField("IsDefault").getValue();data.ReceiveMailings=this.settingsPanel.getForm().findField("ReceiveMailings").getValue();if(this.enableLdapUserGroupMapping)
data.LdapFilter=this.settingsPanel.getForm().findField("LdapFilter").getValue();Ext.Ajax.request({url:'../Webservice/UserGroupService.svc/SaveUserGroup',success:function(){this.userGrid.disable();if(this.rightsPanel)
this.rightsPanel.disable();this.tabs.disable();this.refreshTree();},scope:this,params:{userGroup:data}});}},deleteUserGroup:function(){Ext.Ajax.request({url:'../Webservice/UserGroupService.svc/DeleteUserGroup',success:function(){this.tabs.disable();this.refreshTree();},scope:this,params:{userGroup:this.selectedUserGroup}});},addUserGroup:function(){var translations=[];this.guiLanguages.each(function(record){translations.push({LanguageId:record.get("LanguageId"),Name:'',ts:new Date()});},this);var node=this.treeNode.appendChild(new Ext.tree.TreeNode({userGroup:{UserGroupId:0,IsDefault:false,IsGuestGroup:false,ReceiveMailings:false,LdapFilter:null,Translations:translations},text:this.l.NewGroup,iconCls:'x-admin-groups'}));this.tabs.activate(this.settingsPanel);this.userGroupsTree.selectPath(node.getPath());this.userGroupsTree.fireEvent("click",node);this.newGroupNode=node;this.userGrid.disable();if(this.rightsPanel)
this.rightsPanel.disable();},loadFormData:function(userGroup){Ext.each(userGroup.Translations,function(record){Ext.each(this.translations,function(translation){if(translation.language.get("LanguageId")==record.LanguageId)
translation.setValue(record.Name);},this);},this);this.settingsPanel.getForm().findField("ReceiveMailings").setValue(userGroup.ReceiveMailings);this.settingsPanel.getForm().findField("IsDefault").setValue(userGroup.IsDefault);if(this.enableLdapUserGroupMapping)
this.settingsPanel.getForm().findField("LdapFilter").setValue(userGroup.LdapFilter);}});

Ext.ns("PP","PP.user");PP.user.Details=function(){var userFields,user;this.addEvents({"loaded":true});this.getUserDetails=function()
{return user;}
this.getUserFields=function()
{return userFields;}
this.load=function()
{Ext.Ajax.request({url:'../Webservice/UserService.svc/GetUserData',success:this.loaded,scope:this});}
this.loaded=function(response)
{var response=Ext.util.JSON.decode(response.responseText);user=response;userFields=new Ext.data.Store({proxy:new Ext.data.MemoryProxy(response),reader:new Ext.data.JsonReader({root:'AdditionalFields',id:'Field'},[{name:'Field',mapping:'Field'},{name:'Translation',mapping:'Translation'},{name:'Required',mapping:'Required'}])});userFields.load();this.fireEvent("loaded");}}
Ext.extend(PP.user.Details,Ext.util.Observable);

Ext.ns("PP","PP.user");PP.user.EditUserWindow=function(config){Ext.apply(this,config);this.addEvents('approve');}
PP.user.EditUserWindow=Ext.extend(Ext.Window,{controller:null,assetFields:null,userId:null,obligatoryRegistrationFields:[],additionalFields:[],loginSettings:null,userGroupStore:null,userStore:null,currentRow:null,loadType:null,initComponent:function(){this.userManager=new PP.user.Manager();this.userManager.on('load',this.loadUserData,this);this.userManager.on('remove',this.removeUserAction,this);if(this.userStore)
this.userStore.on('load',this.userStoreLoad,this);var fieldsets=[{xtype:'fieldset',title:Locale.user.EditUserWindow.PersonalData,collapsible:true,labelWidth:140,anchor:'-24',autoHeight:true,items:[new Ext.form.TextField({fieldLabel:Locale.user.EditUserWindow.UserId,readOnly:true,hidden:!this.userId?true:false,hideLabel:!this.userId?true:false,name:!this.userId?"NotNeeded":'UserId',allowBlank:true,anchor:'-1'}),{layout:'column',anchor:'0',border:false,items:[{layout:'form',columnWidth:.65,border:false,items:new Ext.form.TextField({fieldLabel:this.getLabel(Locale.user.EditUserWindow.Firstname+"/"+Locale.user.EditUserWindow.Lastname,"Lastname"),name:'Firstname',allowBlank:this.getLabel("","Lastname")=="*"?false:true,msgTarget:'qtip',anchor:'-1'})},{columnWidth:.35,layout:'form',border:false,items:new Ext.form.TextField({allowBlank:this.getLabel("","Lastname")=="*"?false:true,name:'Lastname',hideLabel:true,anchor:'-1'})}]},new Ext.form.TextField({fieldLabel:this.getLabel(Locale.user.EditUserWindow.Telephone,"Tel"),allowBlank:this.getLabel("","Tel")=="*"?false:true,name:'Tel',allowDecimals:false,anchor:'-1'}),new Ext.form.TextField({columnWidth:.7,vtype:'email',fieldLabel:this.getLabel(Locale.user.EditUserWindow.EmailAddress,"EmailAddress"),allowBlank:this.getLabel("","EmailAddress")=="*"?false:true,name:'EmailAddress',anchor:'-1'}),new Ext.form.TextField({fieldLabel:this.getLabel(Locale.user.EditUserWindow.Company,"Company"),allowBlank:this.getLabel("","Company")=="*"?false:true,name:'Company',anchor:'-1'}),new Ext.form.TextField({fieldLabel:this.getLabel(Locale.user.EditUserWindow.Department,"Department"),allowBlank:this.getLabel("","Department")=="*"?false:true,name:'Department',anchor:'-1'}),new Ext.form.TextField({allowBlank:this.getLabel("","Street")=="*"?false:true,fieldLabel:this.getLabel(Locale.user.EditUserWindow.Address,"Street"),name:'Street',anchor:'-1'}),new Ext.form.TextField({fieldLabel:this.getLabel(Locale.user.EditUserWindow.Address2,"Address2"),allowBlank:this.getLabel("","Address2")=="*"?false:true,name:'Address2',anchor:'-1'}),this.CountryCombo=new PP.widget.CountryComboBox({fieldLabel:this.getLabel(Locale.user.EditUserWindow.Country,"Country"),allowBlank:this.getLabel("","Country")=="*"?false:true,displayField:'Country',valueField:'CountryId',hiddenName:'Country',triggerAction:'all',mode:'local',typeAhead:true,forceSelection:true,name:'Country',anchor:'-1'}),{layout:'column',anchor:'-1',border:false,items:[{layout:'form',columnWidth:.50,border:false,items:new Ext.form.TextField({fieldLabel:this.getLabel(Locale.user.EditUserWindow.ZipCity,"Zip"),allowBlank:this.getLabel("","Zip")=="*"?false:true,name:'Zip',msgTarget:'qtip',maxLength:10,autoScroll:false,anchor:'-1'})},{layout:'form',columnWidth:.50,border:false,items:new Ext.form.TextField({allowBlank:this.getLabel("","City")=="*"?false:true,hideLabel:true,name:'City',anchor:'-1'})}]},new Ext.form.TextField({fieldLabel:Locale.user.EditUserWindow.Password,inputType:'password',name:'Password',hidden:!this.userId?false:true,hideLabel:!this.userId?false:true,allowBlank:!this.userId?false:true,anchor:'-1'}),new Ext.form.TextField({xtype:'textfield',fieldLabel:Locale.user.EditUserWindow.ConfirmPassword,inputType:'password',name:'ConfirmPassword',hidden:!this.userId?false:true,hideLabel:!this.userId?false:true,allowBlank:!this.userId?false:true,anchor:'-1'}),new PP.widget.DateResetField({fieldLabel:Locale.user.EditUserWindow.Expires,name:'ExpirationDate',format:PP.common.Data.dateFormat,anchor:'-1'}),new Ext.form.Checkbox({fieldLabel:Locale.user.EditUserWindow.Approved,name:'Approved',disabled:true,checked:!this.userId?true:false,plugins:new PP.widget.FieldTooltipPlugin({title:Locale.user.EditUserWindow.tt_ApprovedTitle,html:Locale.user.EditUserWindow.tt_ApprovedMsg})}),new Ext.form.Checkbox({fieldLabel:Locale.user.EditUserWindow.AllowUpdate,name:'AllowUpdate',checked:!this.userId?true:false,plugins:new PP.widget.FieldTooltipPlugin({title:Locale.user.EditUserWindow.tt_AllowUpdateTitle,html:Locale.user.EditUserWindow.tt_AllowUpdateMsg})}),new Ext.form.Checkbox({fieldLabel:Locale.user.EditUserWindow.UseLDAP,name:'UseLDAP',hidden:!this.loginSettings.LDAPEnabled||!this.userId,hideLabel:!this.loginSettings.LDAPEnabled||!this.userId,plugins:new PP.widget.FieldTooltipPlugin({title:Locale.user.EditUserWindow.tt_UseLDAPTitle,html:Locale.user.EditUserWindow.tt_UseLDAPMsg})}),new Ext.form.Checkbox({fieldLabel:Locale.user.EditUserWindow.PAS,name:'LoginOnlyWithSecurityToken',hidden:!this.loginSettings.HasPublisherAuthentication||!this.userId,hideLabel:!this.loginSettings.HasPublisherAuthentication||!this.userId,plugins:new PP.widget.FieldTooltipPlugin({title:Locale.user.EditUserWindow.tt_PASTitle,html:Locale.user.EditUserWindow.tt_PASMsg})})]}]
if(this.additionalFields.length)
{var additionalFieldsItems=[];for(var i=0;i<this.additionalFields.length;i++)
{switch(this.additionalFields[i].ControlType){case"Text":additionalFieldsItems.push({xtype:'textfield',fieldLabel:this.additionalFields[i].Caption+(this.additionalFields[i].IsRequired?'*':''),name:this.additionalFields[i].Fieldname,vtype:this.additionalFields[i].Function.length?this.additionalFields[i].Function:null,anchor:'-1',allowBlank:!this.additionalFields[i].IsRequired});break;case"Textarea":additionalFieldsItems.push({xtype:'textarea',fieldLabel:this.additionalFields[i].Caption+(this.additionalFields[i].IsRequired?'*':''),name:this.additionalFields[i].Fieldname,height:this.additionalFields[i].TotalRows*20,vtype:this.additionalFields[i].Function.length?this.additionalFields[i].Function:null,anchor:'-1',allowBlank:!this.additionalFields[i].IsRequired});break;case"Checkbox":additionalFieldsItems.push({xtype:'checkboxgroup',columns:1,name:this.additionalFields[i].Fieldname,fieldLabel:this.additionalFields[i].Caption+(this.additionalFields[i].IsRequired?'*':''),anchor:'95%',getValue:function(){var returnValue=null;this.items.each(function(item){returnValue=item.checked;},this);return returnValue;},setValue:function(value){this.items.each(function(item){returnValue=item.setValue(value);},this);},allowBlank:!this.additionalFields[i].IsRequired,msgTarget:'side',items:[{boxLabel:this.additionalFields[i].AdditionalText,name:'x1'}]});break;}}
var additionalFieldset={xtype:'fieldset',title:Locale.user.EditUserWindow.AdditionalFields,collapsible:true,labelWidth:140,autoHeight:true,anchor:'-24',items:additionalFieldsItems};fieldsets.push(additionalFieldset);}
this.profilePanel=new Ext.FormPanel({labelAlign:'left',labelWidth:140,frame:false,border:false,region:'center',bodyStyle:'padding: 4px; overflow-y: scroll',items:fieldsets});this.userHistoryFormPanel=new Ext.FormPanel({border:false,bodyStyle:'padding:10px 10px 0',height:500});this.userGroupSelection=new Ext.grid.CheckboxSelectionModel();var UpdateUserProfileGrid=new Ext.grid.GridPanel({ds:this.userGroupStore,cls:'hidden-header-grid',title:Locale.user.EditUserWindow.UserGroups,closeaction:'hide',border:false,sm:this.userGroupSelection,cm:new Ext.grid.ColumnModel([this.userGroupSelection,{header:Locale.user.EditUserWindow.UserGroup,dataIndex:'UserGroup',width:220}])});var UserProfileToolbar=new Ext.Toolbar({height:26,items:[{xtype:'button',text:Locale.user.EditUserWindow.Save,tooltip:Locale.user.EditUserWindow.tt_Save,iconCls:'t-sprite x-toolbar-save',handler:function(){this.update();},scope:this}]});if(!this.userId)
{this.userProfileTabs=new Ext.Panel({border:false,layout:'border',items:[{border:true,margins:'2 2 2 2',region:'center',layout:'border',items:this.profilePanel},{xtype:'panel',border:true,margins:'2 2 2 0',region:'east',width:270,layout:'fit',items:UpdateUserProfileGrid}],tbar:UserProfileToolbar});}else{this.tbApprove=new Ext.Button({iconCls:'t-sprite x-toolbar-unlock',text:Locale.user.EditUserWindow.Approve,tooltip:Locale.user.EditUserWindow.tt_ApproveUser,scope:this,handler:function(b){if(b.getText()==Locale.user.EditUserWindow.Approve)
{this.update(function(){Ext.Ajax.request({url:'../Webservice/UserService.svc/ApproveUsers',scope:this,success:function(r){this.userManager.getById(this.userId);if(this.userStore)
this.userStore.reload();},params:{userIds:[this.userId]}});}.createDelegate(this))}
else
{Ext.Ajax.request({url:'../Webservice/UserService.svc/DisapproveUsers',scope:this,success:function(r){this.userManager.getById(this.userId);if(this.userStore)
this.userStore.reload();},params:{userIds:[this.userId]}});}}});this.tbDelete=new Ext.Button({iconCls:'t-sprite x-toolbar-user-delete',text:Locale.user.EditUserWindow.Delete,tooltip:Locale.user.EditUserWindow.tt_DeleteUser,scope:this,handler:function(){this.userManager.remove([this.userId],this.assetFields);}});this.tbChangePassword=new Ext.Button({iconCls:'t-sprite x-toolbar-password-change',text:Locale.user.EditUserWindow.ChangePassword,tooltip:Locale.user.EditUserWindow.tt_ChangePassword,listeners:{scope:this,click:function(b){this.userManager.changePassword(this.userId,this.loginSettings);}}});this.tbSendMessage=new Ext.Button({iconCls:'t-sprite x-toolbar-mailing',text:Locale.user.EditUserWindow.SendMessage,tooltip:Locale.user.EditUserWindow.tt_SendMessage,listeners:{scope:this,click:function(b){this.userManager.sendMessage(this.userId,this.controller.getConfiguration().getUserSettings().Email);}}});if(this.userStore)
{this.tbPrevUser=new Ext.Button({iconCls:'t-sprite x-toolbar-previous',tooltip:Locale.user.EditUserWindow.tt_PrevUser,cls:'x-btn-icon',disabled:(this.userStore.lastOptions.params.start+this.currentRow)==0?true:false,handler:this.showPrev,scope:this});this.tbNextUser=new Ext.Button({iconCls:'t-sprite x-toolbar-next',tooltip:Locale.user.EditUserWindow.tt_NextUser,cls:'x-btn-icon',disabled:(this.userStore.lastOptions.params.start+this.currentRow)==this.userStore.getTotalCount()-1?true:false,handler:this.showNext,scope:this});}
this.userProfileTabs=new Ext.TabPanel({activeTab:0,layoutOnTabChange:true,border:false,items:[{title:Locale.user.EditUserWindow.UserProfile,border:false,layout:'border',name:'Profile',items:[{border:true,margins:'2 2 2 2',region:'center',layout:'border',items:this.profilePanel},{xtype:'panel',margins:'2 2 2 0',border:true,region:'east',width:270,layout:'fit',items:UpdateUserProfileGrid}]},{title:Locale.user.EditUserWindow.UserHistory,border:false,name:'History',layout:'form',items:this.userHistoryFormPanel}],tbar:UserProfileToolbar});}
this.items=this.userProfileTabs;this.title=Locale.user.EditUserWindow.WindowTitle;this.iconCls='x-admin-standalone-users';this.width=740;this.height=540;this.minWidth=700;this.minHeight=400;this.layout='fit';this.border=true;this.modal=true;this.on("show",function(e){if(this.userId)
this.userManager.getById(this.userId);this.profilePanel.getForm().findField('UseLDAP').on("check",function(checkbox,checked){if(checked)
this.tbChangePassword.disable();else
this.tbChangePassword.enable();},this)},this)
Ext.Window.prototype.initComponent.call(this);this.show();if(this.userId)
{UserProfileToolbar.add(this.tbApprove);UserProfileToolbar.add(this.tbDelete);UserProfileToolbar.add(this.tbChangePassword);UserProfileToolbar.add(this.tbSendMessage);UserProfileToolbar.addFill();}
if(this.userStore){UserProfileToolbar.add(this.tbPrevUser);UserProfileToolbar.add(this.tbNextUser);}},loadUserData:function(user){this.profilePanel.getForm().setValues(user);this.profilePanel.getForm().findField('ExpirationDate').update();if(user.State==50)
{this.profilePanel.getForm().findField('Approved').setValue(true);this.tbApprove.setText(Locale.user.EditUserWindow.Disapprove);this.tbApprove.setIconClass("t-sprite x-toolbar-lock");}else{this.profilePanel.getForm().findField('Approved').setValue(false);this.tbApprove.setText(Locale.user.EditUserWindow.Approve);this.tbApprove.setIconClass("t-sprite x-toolbar-unlock");}
var additionalFields=this.additionalFields;for(var i=0;i<additionalFields.length;i++){this.profilePanel.getForm().findField(additionalFields[i].Fieldname).setValue(user.CDFs[i].Value);}
if(this.userHistoryFormPanel.items)
this.userHistoryFormPanel.items.each(function(item){this.userHistoryFormPanel.remove(item);},this);this.userHistoryFormPanel.add({html:Locale.user.EditUserWindow.UserCreationDate+' '+user.CreationDate,height:20,border:false});this.userHistoryFormPanel.add({html:Locale.user.EditUserWindow.UserLastLogin+' '+user.LastLogin,height:20,border:false});this.userHistoryFormPanel.doLayout();this.userGroupSelection.clearSelections();for(var i=0;i<this.userGroupStore.getCount();i++)
{for(var j=0;j<user.Usergroups.length;j++)
if(this.userGroupStore.getAt(i).get('UserGroupId')==user.Usergroups[j])
this.userGroupSelection.selectRow(i,true);}},update:function(successHandler){var formAdditionalFields=[];for(var i=0;i<this.additionalFields.length;i++)
{formAdditionalFields.push({Key:this.additionalFields[i].Fieldname,Value:this.profilePanel.getForm().findField(this.additionalFields[i].Fieldname).getValue()})}
var selectedGroups=this.userGroupSelection.getSelections();var userGroupIds=[];for(var k=0;k<selectedGroups.length;k++)
userGroupIds.push(selectedGroups[k].data.UserGroupId);if(userGroupIds.length==0)
{Ext.MessageBox.alert(Locale.user.EditUserWindow.Alert,Locale.user.EditUserWindow.NoGroupSelected);return;}
if(this.userId)
{if(this.profilePanel.getForm().isValid())
{var userData=this.profilePanel.getForm().getValues(false);userData.CDFs=formAdditionalFields;userData.Usergroups=userGroupIds;if(userData.ExpirationDate)
userData.ExpirationDate=Date.parseDate(userData.ExpirationDate,PP.common.Data.dateFormat);else
userData.ExpirationDate=null;if(userData.AllowUpdate)
userData.AllowUpdate=true;else
userData.AllowUpdate=false;if(userData.UseLDAP)
userData.UseLDAP=true;else
userData.UseLDAP=false;if(userData.LoginOnlyWithSecurityToken)
userData.LoginOnlyWithSecurityToken=true;else
userData.LoginOnlyWithSecurityToken=false;Ext.Ajax.request({url:'../Webservice/UserService.svc/Update',scope:this,params:{user:userData},success:function(form,action){if(successHandler)
successHandler.call(successHandler);else{if(this.userStore)
this.userStore.reload();this.close();}}});}
else
Ext.MessageBox.alert(Locale.user.EditUserWindow.Status,Locale.user.EditUserWindow.StatusMsg);}
else if(!this.userId)
{if(this.profilePanel.getForm().isValid())
{var password=this.profilePanel.getForm().findField("Password").getValue();var confirmPassword=this.profilePanel.getForm().findField("ConfirmPassword").getValue();if(password==confirmPassword)
{if(this.loginSettings.EnableStrongPasswords&&!new PP.common.Check().isStrongPassword(password,this.loginSettings.MinPasswordLength,this.loginSettings.MinPasswordDigits))
{Ext.MessageBox.alert(Locale.user.EditUserWindow.StrongPasswordTitle,Locale.user.EditUserWindow.StrongPasswordMessage.format(this.loginSettings.MinPasswordLength,this.loginSettings.MinPasswordDigits))}
else{var userData=this.profilePanel.getForm().getValues(false);userData.CDFs=formAdditionalFields;userData.Usergroups=userGroupIds;if(userData.ExpirationDate)
userData.ExpirationDate=Date.parseDate(userData.ExpirationDate,PP.common.Data.dateFormat);else
userData.ExpirationDate=null;if(userData.AllowUpdate)
userData.AllowUpdate=true;else
userData.AllowUpdate=false;Ext.Ajax.request({url:'../Webservice/UserService.svc/Create',scope:this,params:{user:userData,password:userData.Password},success:function(form,action){if(this.userStore)
this.userStore.reload();this.close();}})}}
else
Ext.MessageBox.alert(Locale.user.EditUserWindow.Status,Locale.user.EditUserWindow.StatusMsg)}
else
Ext.MessageBox.alert(Locale.user.EditUserWindow.Status,Locale.user.EditUserWindow.StatusMsg);}},userStoreLoad:function(store,data,options){if(this.loadType!=null)
{this.userManager.getById(data[this.currentRow].get('UserId'))
if(this.loadType=='getUserFromPrevPage'){if(this.currentRow+this.userStore.lastOptions.params.start!=0)
this.tbPrevUser.enable();}
else if(this.loadType=='getUserFromNextPage'){if(this.currentRow+this.userStore.lastOptions.params.start!=this.userStore.getTotalCount()-1)
this.tbNextUser.enable();}
this.loadType=null;}},showPrev:function()
{this.tbPrevUser.disable();if(this.userStore.lastOptions.params.start!=0&&this.currentRow==0){this.currentRow=this.userStore.lastOptions.params.limit-1;this.loadType='getUserFromPrevPage';this.userStore.load({params:{start:this.userStore.lastOptions.params.start-this.userStore.lastOptions.params.limit,limit:18}});}
else{this.currentRow--;this.userId=this.userStore.getAt(this.currentRow).get("UserId");this.userManager.getById(this.userId);if(this.currentRow+this.userStore.lastOptions.params.start!=0)
this.tbPrevUser.enable();}
this.tbNextUser.enable();},showNext:function(){this.tbNextUser.disable();if(this.currentRow==this.userStore.lastOptions.params.limit-1){this.currentRow=0;this.loadType='getUserFromNextPage';this.userStore.load({params:{start:this.userStore.lastOptions.params.start+this.userStore.lastOptions.params.limit,limit:18}});}
else{this.currentRow++;this.userId=this.userStore.getAt(this.currentRow).get("UserId");this.userManager.getById(this.userId);if(this.currentRow+this.userStore.lastOptions.params.start!=this.userStore.getTotalCount()-1)
this.tbNextUser.enable();}
this.tbPrevUser.enable();},getLabel:function(label,tname){var mandatoryFields=this.loginSettings.ObligatoryRegistrationFields;for(var i=0;i<mandatoryFields.length;i++){if(mandatoryFields[i]==tname)
return label+'*';}
return label;},removeUserAction:function(userIds){if(this.userStore)
this.userStore.reload();this.close();},beforeDestroy:function(){this.userManager.purgeListeners();this.userManager=null;if(this.userStore)
this.userStore.removeListener('load',this.userStoreLoad,this);}});

Ext.ns("PP","PP.user");PP.user.LoginWindow=function(config){Ext.apply(this,config);this.addEvents('login');PP.user.LoginWindow.superclass.constructor.call(this);this.show();}
Ext.extend(PP.user.LoginWindow,Ext.util.Observable,{language:'en',showAutoLogin:false,showLostPassword:false,showRegistration:false,version:"0.0.0",messageTitle:"",messageText:"",guiLanguages:null,loginSettings:[],customerSettings:[],queryString:"",email:"",password:"",close:function(){this.loginWindow.close();Ext.destroy(this.loginWindow,this.formPanel);},changeLanguage:function(combo,record,index){if(this.language==record.get('Abbreviation'))
return false;Ext.state.Manager.set("PPCachedLogin",{Email:this.comboEmail.getValue(),Password:this.loginPassword.getValue(),Language:record.get('Abbreviation')});var newLocation=document.location.href;newLocation=newLocation.replace("&language="+this.language,"");newLocation=newLocation.replace("?language="+this.language,"");newLocation=newLocation.replace("language="+this.language,"");newLocation=appendToUrl(newLocation,"language="+record.get('Abbreviation'));document.location=newLocation;},checkForm:function(){if(this.comboEmail.getValue()!=''&&this.loginPassword.getValue()!='')
return true;else
return false;},success:function(form,action){if(this.showAutoLogin&&this.autoLogin&&this.autoLogin.checked){Ext.state.Manager.getProvider().set("LoginUser",this.comboEmail.getValue());Ext.state.Manager.getProvider().set("LoginPassword",this.loginPassword.getValue());}
this.fireEvent('login',[action.result.isLoggedIn]);if(this.autoLoginBar)
this.autoLoginBar.hide();this.close();},failure:function(form,action){this.autoLoginBar.hide();if(this.loginWindow.hidden)
{this.autoLoginWindowOnError=true;this.loginWindow.show();}
PP.common.Error.show(Ext.util.JSON.decode(action.response.responseText));},submitForm:function(){if(this.checkForm()){this.autoLoginBar=Ext.MessageBox.show({title:Locale.user.LoginWindow.AutoLogin,msg:Locale.user.LoginWindow.AutoLoginMsg,width:300,wait:true,waitConfig:{interval:200},modal:false});this.formPanel.getForm().submit({params:{loginInfo:{Email:this.comboEmail.getValue(),Password:this.loginPassword.getValue()=="autoLoginPassword"?null:this.loginPassword.getValue(),AutoLogin:this.autoLogin?this.autoLogin.getValue():false,RememberLogonInformation:this.rememberLogon?this.rememberLogon.getValue():false}},success:this.success,failure:this.failure,scope:this});}},showRegistrationWindow:function(){var loginSettings=this.loginSettings;var registrationWindow=new PP.user.RegistrationWindow({language:this.language,additionalFields:loginSettings.AdditionalFields,mandatoryFields:loginSettings.ObligatoryRegistrationFields,strongPassword:loginSettings.EnableStrongPasswords,minPasswordLength:loginSettings.MinPasswordLength,minPasswordDigits:loginSettings.MinPasswordDigits});registrationWindow.on("complete",function(userId){var loginSettings=this.loginSettings;if(loginSettings.ActionOnRegistration!="None")
{new PP.user.RegistrationEvent({executeEvent:loginSettings.ActionOnRegistration,userId:userId});registrationWindow.hideLoadingMessage();}
else
Ext.MessageBox.alert('',Locale.user.LoginWindow.MsgRegistrationSuccessful);},this);},showLostPasswordWindow:function(){var lostPasswordWindow=new PP.user.LostPasswordWindow({language:this.language});},show:function(){var loginPanels=[];this.autoLoginBar=null;this.autoLoginWindowOnError=false;if(this.messageText.length)
{loginPanels.push({border:false,bodyStyle:{paddingLeft:'20px',paddingRight:'44px',lineHeight:'14px'},html:'<table><tr><td valign="top" width="22"><div class="x-login-icon">&nbsp;</div></td><td><b>'+this.messageTitle+'</b><br>'+this.messageText+'</td></tr></table>'});}
this.emailStore=new Ext.data.SimpleStore({expandData:true,fields:['email']});this.comboEmail=new Ext.form.ComboBox({tabIndex:1,store:this.emailStore,displayField:'email',selectOnFocus:true,value:this.email,hiddenName:'email',valueField:'email',vtype:"email",triggerAction:'all',mode:'local',fieldLabel:Locale.user.LoginWindow.EMail,name:'email',width:300});this.comboEmail.on("select",function(){this.loginPassword.setValue("");},this);this.loginPassword=new Ext.form.TextField({tabIndex:2,inputType:'password',value:this.password,fieldLabel:Locale.user.LoginWindow.Password,name:'password',width:300});var showPanels=[this.comboEmail,{height:10,border:false},this.loginPassword];if(this.guiLanguages&&this.guiLanguages.getCount()>1)
{this.languageCombo=new Ext.form.ComboBox({tabIndex:3,fieldLabel:'Language',store:this.guiLanguages,displayField:'LanguageTranslation',valueField:'Abbreviation',hiddenName:'language',name:'language',selectOnFocus:true,editable:false,triggerAction:'all',mode:'local',width:300});this.languageCombo.setValue(this.language);this.languageCombo.on('select',this.changeLanguage,this);showPanels.push({height:10,border:false});showPanels.push(this.languageCombo);}
if(this.showAutoLogin)
{this.rememberLogon=new Ext.form.Checkbox({tabIndex:4,boxLabel:Locale.user.LoginWindow.RememberLogon,name:'rememberLogon',labelSeparator:' '});this.rememberLogon.on("check",function(checkbox){if(checkbox.checked)
this.autoLogin.enable();else{this.autoLogin.setValue(false);this.autoLogin.disable();}},this);showPanels.push(this.rememberLogon);this.autoLogin=new Ext.form.Checkbox({tabIndex:4,boxLabel:Locale.user.LoginWindow.LoginAutomatically,disabled:true,name:'autoLogin',labelSeparator:' '});showPanels.push(this.autoLogin);}
showPanels.push({height:10,border:false});if(this.showLostPassword)
{var forgotPasswordPanel=new Ext.Panel({html:Locale.user.LoginWindow.Link_ForgotPassword,border:false,bodyStyle:{marginLeft:'88px',cursor:'pointer'},listeners:{'render':function(panel){panel.getEl().on('click',function(){this.showLostPasswordWindow()},this);},'scope':this},width:300});showPanels.push(forgotPasswordPanel);}
if(this.showRegistration)
{var registerPanel=new Ext.Panel({html:Locale.user.LoginWindow.Link_Register,border:false,bodyStyle:{marginLeft:'88px',cursor:'pointer'},listeners:{'render':function(panel){panel.getEl().on('click',function(){this.showRegistrationWindow()},this);},'scope':this},width:300});showPanels.push({height:10,border:false})
showPanels.push(registerPanel);}
this.formPanel=new Ext.form.JsonFormPanel({border:false,url:'../Webservice/UserService.svc/Login',labelAlign:'left',labelWidth:80,autoHeight:true,autoScroll:false,style:'padding-top: 30px; padding-left: 45px;',items:[{layout:'form',border:false,items:showPanels}],keys:[{key:Ext.EventObject.ENTER,fn:function(){this.submitForm();},scope:this}]});loginPanels.push(this.formPanel);this.loginWindow=new PP.Window({title:Locale.user.LoginWindow.PictureparkLogin,closable:false,resizable:false,shadow:true,width:520,layout:'fit',autoHeight:true,border:true,items:[{border:false,region:'north',autoHeight:true,html:'<iframe width=100% height=73 src="'+this.customerSettings.WebsiteUrl+'/login.html" frameborder=0 scrolling="no" marginwidth="0" marginheight="0"></iframe>'},{region:'center',border:false,bodyStyle:'padding: 8px',items:loginPanels},{border:false,region:'south',bodyStyle:'padding: 4px;',autoHeight:true,html:'<div style="text-align:right; color: gray">'+'<a href="http://picturepark.com" style="color: gray; text-decoration:none;">Picturepark Version: '+this.version+'</a></span>'}],buttons:[{text:Locale.user.LoginWindow.Login,tabIndex:5,handler:function(){this.submitForm();},scope:this}]});this.loginWindow.on("show",function(){Ext.Ajax.request({url:'../Webservice/UserService.svc/GetLoginInfo',success:this.fillUserData,scope:this});if(this.loginPassword.getValue().length>0&&!this.autoLoginWindowOnError)
{this.loginWindow.hide();this.submitForm();}
if(Ext.state.Manager.get("PPCachedLogin")){var login=Ext.state.Manager.get("PPCachedLogin");this.comboEmail.setValue(login.Email);this.loginPassword.setValue(login.Password);Ext.state.Manager.clear("PPCachedLogin");}},this);this.loginWindow.show();this.checkDirectLinks();},checkDirectLinks:function(){if(this.showRegistration&&this.controller.urlContains("showRegistration"))
this.showRegistrationWindow();if(this.showLostPassword&&this.controller.urlContains("showLostPassword"))
this.showLostPasswordWindow();},fillUserData:function(r){if(r.responseText.length){var loginInfos=Ext.util.JSON.decode(r.responseText);this.emailStore.loadData(loginInfos.EmailHistory);this.comboEmail.setValue(loginInfos.Email);if(loginInfos.Password==null)
this.loginPassword.setValue("autoLoginPassword");if(this.autoLogin)
this.autoLogin.setValue(loginInfos.AutoLogin);if(this.rememberLogon)
this.rememberLogon.setValue(loginInfos.RememberLogonInformation);if(loginInfos.AutoLogin)
this.submitForm();}
this.comboEmail.focus.defer(500,this.comboEmail);}})

Ext.ns("PP","PP.user");PP.user.LostPasswordWindow=function(config){Ext.apply(this,config);this.addEvents('complete');this.formPanel=new Ext.form.JsonFormPanel({border:false,labelAlign:'left',labelWidth:100,autoScroll:false,autoHeight:true,region:'center',bodyStyle:'padding: 10px 10px 10px 10px',items:[{style:'text-align:left; padding-bottom: 14px',html:Locale.user.LostPasswordWindow.DialogTextForgotPassword,width:'100%',frame:true,border:false},{layout:'form',border:false,autoScroll:false,items:[{xtype:'textfield',fieldLabel:Locale.user.LostPasswordWindow.EMail+'*',name:'emailAddress',vtype:'email',allowBlank:false,anchor:'-1'}]}]});this.window=new Ext.Window({title:Locale.user.LostPasswordWindow.TitleForgotPassword,closable:true,shadow:true,modal:true,resizable:false,width:400,autoHeight:true,layout:'fit',border:false,items:[this.formPanel],buttons:[{text:Locale.user.LostPasswordWindow.OK,handler:this.submitForm,scope:this},{text:Locale.user.LostPasswordWindow.Cancel,handler:function(){this.window.close();},scope:this}],keys:[{key:Ext.EventObject.ENTER,fn:this.submitForm,scope:this}]});this.window.on('show',function(){this.formPanel.getForm().findField('emailAddress').focus(true,400);},this);this.window.on("beforehide",function(e){this.formPanel.destroy(true);},this);this.window.show();}
Ext.extend(PP.user.LostPasswordWindow,Ext.util.Observable,{language:'en',submitForm:function(){if(this.formPanel.getForm().isValid())
Ext.Ajax.request({url:'../Webservice/UserService.svc/SendPassword',success:this.success,failure:PP.common.Error.defaultHandler,scope:this,params:this.formPanel.getForm().getValues()})},success:function(form,action){Ext.MessageBox.alert('',Locale.user.LostPasswordWindow.MsgPasswordMailed);this.window.close();this.fireEvent('complete',[]);}});

Ext.ns("PP","PP.user");PP.user.Manager=function(){this.addEvents('load','reject','approve','approve');PP.user.Manager.superclass.constructor.call(this);}
Ext.extend(PP.user.Manager,Ext.util.Observable,{rejectWindow:function(users){var usersTpl=new Ext.XTemplate('<tpl for="."><div style="padding: 4px"><img width="16" height="16" align="absmiddle" class="t-sprite x-toolbar-user" src="'+Ext.BLANK_IMAGE_URL+'"/>&nbsp;&nbsp;{Firstname} {Lastname} ({EmailAddress})</div></tpl>');var usersPanel=new Ext.Panel({html:'&nbsp;',autoHeight:true});var formPanel=new Ext.form.FormPanel({autoHeight:true,border:false,bodyStyle:'padding: 8px',items:[{xtype:'panel',frame:true,autoHeight:true,html:Locale.user.Manager.RejectMessage},{xtype:'panel',height:10,border:false},usersPanel,{xtype:'panel',height:10,border:false},{xtype:'textarea',fieldLabel:Locale.user.Manager.RejectReason,anchor:'100%',name:'Message',autoHeight:true}]});var rejectWindow=new Ext.Window({title:Locale.user.Manager.RejectWindowTitle,autoHeight:true,width:420,layout:'fit',items:[formPanel],buttons:[{text:Locale.user.Manager.Reject,handler:function(){var userIds=[];for(var i=0;i<users.length;i++)
userIds.push(users[i].UserId);this.reject(userIds,formPanel.getForm().findField('Message').getValue());rejectWindow.close();},scope:this},{text:Locale.user.Manager.Cancel,handler:function(){rejectWindow.close();},scope:this}]});rejectWindow.show();usersTpl.overwrite(usersPanel.body,users);rejectWindow.syncSize();},reject:function(userIds,comment)
{Ext.Ajax.request({url:'../Webservice/UserService.svc/RejectUsers',success:function(r,options){var response=Ext.util.JSON.decode(r.responseText);if(!response.ErrorMessage)
this.fireEvent('reject',userIds,comment);else
PP.common.Error.show(response);},scope:this,params:{comment:comment,userIds:userIds}});},getById:function(userId){Ext.Ajax.request({url:'../Webservice/UserService.svc/GetDetailsById',scope:this,callback:function(options,success,returnValue){var response=Ext.util.JSON.decode(returnValue.responseText);var user=response;this.fireEvent('load',user);},params:{userId:userId}});},remove:function(userIds,assetFields){Ext.Msg.show({title:Locale.user.Manager.DeleteUser,msg:Locale.user.Manager.DeleteUserMsg,buttons:Ext.Msg.YESNO,scope:this,fn:function(btn){if(btn=='yes')
{Ext.Ajax.request({url:'../Webservice/UserService.svc/GetResponsibleAssets',params:{userIds:userIds},scope:this,success:function(r){this.removeAction(r,userIds,assetFields);}});}},icon:Ext.MessageBox.QUESTION});},removeAction:function(r,userIds,assetFields){var response=Ext.util.JSON.decode(r.responseText);if(response!=0)
{var tindex=assetFields.find('Fieldname','ResponsibleUser');var responsibleUsersList=assetFields.getAt(tindex).get('Options');var responsibleUsersStore=new Ext.data.Store({reader:new Ext.data.ArrayReader({},[{name:'Key',mapping:'AssetFieldOptionId'},{name:'Value',mapping:'Value'}])});responsibleUsersStore.sort('value');responsibleUsersStore.loadData(responsibleUsersList);for(var i=0;i<userIds.length;i++)
responsibleUsersStore.remove(responsibleUsersStore.getAt(responsibleUsersStore.find('id',userIds[i])));var responsibleUserCombo=new Ext.form.ComboBox({hideLabel:true,store:responsibleUsersStore,displayField:'Value',valueField:'Key',mode:'local',allowBlank:false,triggerAction:'all',forceSelection:true,typeAhead:true,maxHeight:200,anchor:'100%',name:'ResponsibilityTo'});var assignResponsibilityWindow=new Ext.Window({name:'ResponsibilityToWindow',title:Locale.user.Manager.AssignResponsibilityWindowTitle,modal:true,resizable:false,width:400,bodyStyle:'padding: 10px',autoHeight:true,items:[{xtype:'panel',autoHeight:true,border:false,layout:'fit',items:[{border:false,autoHeight:true,items:[{border:false,autoHeight:true,frame:true,html:'<font size="+2">'+Locale.user.Manager.AssignResponsibilityMessage+'</font>'},{height:10,border:false},{border:false,autoHeight:true,layout:'anchor',items:responsibleUserCombo}]}]}],buttons:[{text:Locale.user.Manager.Ok,scope:this,handler:function(){if(responsibleUserCombo.isValid())
{this.doRemove(userIds,responsibleUserCombo.getValue());assignResponsibilityWindow.close();}
else
Ext.MessageBox.alert(Locale.user.Manager.Alert,Locale.user.Manager.AssignResponsibilityAlert);}},{text:Locale.user.Manager.Cancel,scope:this,handler:function(){assignResponsibilityWindow.close();}}]});assignResponsibilityWindow.show();}
else
{this.doRemove(userIds,0);}},doRemove:function(userIds,substituteUserId){Ext.Ajax.request({url:'../Webservice/UserService.svc/RemoveUsers',scope:this,success:function(r){this.fireEvent('remove',userIds);},params:{userIds:userIds,substituteUserId:substituteUserId}});},changePassword:function(userId,loginSettings){var CPwdDialog,newPassword,confirmPassword;var cpwdFormPanel=new Ext.FormPanel({labelWidth:130,region:'center',border:false,bodyStyle:'padding-top: 10px; padding-left: 10px; padding-right: 10px',items:[newPassword=new Ext.form.TextField({columnWidth:.9,inputType:'password',fieldLabel:Locale.user.Manager.NewPassword,width:235}),confirmPassword=new Ext.form.TextField({columnWidth:.9,inputType:'password',fieldLabel:Locale.user.Manager.ConfirmPassword,width:235})]});CPwdDialog=new Ext.Window({title:Locale.user.Manager.ChangePassword,closable:true,resizable:false,width:420,height:150,layout:'fit',items:cpwdFormPanel,border:false,modal:true,buttons:[{text:Locale.user.Manager.Save,handler:function(){var newPasswordValue=newPassword.getValue();var confirmPasswordValue=confirmPassword.getValue();if(newPasswordValue!=''&&confirmPasswordValue!='')
{if(newPasswordValue==confirmPasswordValue)
{if(loginSettings.EnableStrongPasswords&&!new PP.common.Check().isStrongPassword(newPasswordValue,loginSettings.MinPasswordLength,loginSettings.MinPasswordDigits))
{Ext.MessageBox.alert(Locale.user.Manager.StrongPasswordTitle,Locale.user.Manager.StrongPasswordMessage.format(loginSettings.MinPasswordLength,loginSettings.MinPasswordDigits))}
else
{Ext.Ajax.request({url:'../Webservice/UserService.svc/ChangePasswordById',params:{userId:userId,newPassword:newPasswordValue},success:function(r){CPwdDialog.close();}});}}
else
Ext.MessageBox.alert(Locale.user.Manager.Failure,Locale.user.Manager.PasswordMissmatch);}
else
Ext.MessageBox.alert(Locale.user.Manager.Failure,Locale.user.Manager.MandatoryFields);}},{text:Locale.user.Manager.Cancel,handler:function(){CPwdDialog.close();}}]});CPwdDialog.show();},sendMessage:function(userId,mailFrom){var messageWindow=new PP.communication.MessageWindow({message:Locale.user.Manager.SendMessageMsg,width:500,mailFrom:mailFrom,showFrom:false,send2Admins:false,mailTo:[userId],subject:true,title:Locale.user.Manager.SendMessageTitle});messageWindow.on('send',function(){Ext.MessageBox.alert(Locale.user.Manager.SendMessageSuccessTitle,Locale.user.Manager.SendMessageSuccessMsg)},this);}});

Ext.ns("PP","PP.user.ManagerWindow");PP.user.ManagerWindow=function(controller){var UserManagementDialog,UserManagerGrid,UsersStore,UserHistoryFormPanel,treeLoader,root,tree;var tb,searchString="",currentUserGroupId=0,currentState=0,GroupTree,CategoryStore,UserProfileFormPanel,UpdateUserProfileDialog=null,UpdateUserProfileGrid,userGroups,UserProfileTabs;var reload,loadType=null;var bNoPaging,rowIndex;var UsersByStateStore,UsersByState,UsersByLetter,user;var buttonApprove,buttonReject,buttonLock,buttonDelete,buttonNew;var getUserDetails;var userManager=new PP.user.Manager();userManager.on('remove',function(userIds){UsersStore.reload();},this);userManager.on('reject',function(userIds,message){UsersStore.reload();},this);this.show=function(CategoryId){searchString="";currentUserGroupId=0;currentState=0;if(UserManagementDialog)
{if(!UserManagementDialog.isVisible()){UserManagementDialog.show();UserManagementDialog.minimized=false;}
else{UserManagementDialog.restore();}
return;}
Ext.Ajax.request({url:'../Webservice/UserService.svc/GetUserClassification',success:function(response){response=Ext.util.JSON.decode(response.responseText);UsersByStateStore=new Ext.data.Store({proxy:new Ext.data.MemoryProxy(response),reader:new Ext.data.JsonReader({},[{name:'State',mapping:'Key'},{name:'Count',mapping:'Value'}])});UsersByStateStore.load();CategoryStore=new Ext.data.Store({proxy:new Ext.data.HttpProxy({url:'../Webservice/UsergroupService.svc/GetUserGroups'}),reader:new Ext.data.JsonReader({},[{name:'iconImg',mapping:'iconImg'},{name:'UserGroupId',mapping:'UserGroupId'},{name:'UserGroup',mapping:'UserGroup'}])});CategoryStore.load();GroupTree=new Ext.tree.TreePanel({animate:true,title:Locale.UserManager.Groups,border:false,rootVisible:false,region:'center',autoScroll:true,trackMouseOver:true});root=new Ext.tree.TreeNode({text:'root',allowDrag:false,allowDrop:false});usersStateNode=new Ext.tree.TreeNode({text:Locale.UserManager.UsersByState,id:'ByState',expanded:true});userGroupsNode=new Ext.tree.TreeNode({text:Locale.UserManager.All,id:'All'});GroupTree.setRootNode(root);root.appendChild(usersStateNode);root.appendChild(userGroupsNode);new Ext.tree.TreeSorter(usersStateNode,{sortType:function(node){return node.id.split("_")[2];}});for(var i=0;i<UsersByStateStore.getCount();i++)
{var caption,category=0,sindex;if(UsersByStateStore.getAt(i).get("State")==42&&controller.getConfiguration().getLoginSettings().RegistrationWorkflow!="InternalContactApproval")
continue;switch(UsersByStateStore.getAt(i).get("State"))
{case 20:caption=Locale.UserManager.UserState_20;category=0;sindex=7;break;case 21:caption=Locale.UserManager.UserState_21;category=21;sindex=8;break;case 22:caption=Locale.UserManager.UserState_22;category=22;sindex=7;break;case 30:caption=Locale.UserManager.UserState_30;category=30;sindex=2;break;case 31:caption=Locale.UserManager.UserState_31;category=30;sindex=2;break;case 40:caption=Locale.UserManager.UserState_40;category=40;sindex=3;break;case 41:caption=Locale.UserManager.UserState_41;category=41;sindex=4;break;case 42:caption=Locale.UserManager.UserState_42;category=42;sindex=5;break;case 43:caption=Locale.UserManager.UserState_43;category=43;sindex=6;break;case 50:caption=Locale.UserManager.UserState_50;category=50;sindex=1;break;}
usersStateNode.appendChild(new Ext.tree.TreeNode({text:caption+" ("+UsersByStateStore.getAt(i).get("Count")+")",id:'state_'+UsersByStateStore.getAt(i).get("State")+"_"+sindex,category:category,icon:'images/folder.png',listeners:{contextmenu:function(node,e){e.stopEvent();var menuItems=[{text:Locale.UserManager.SendMessage,iconCls:'t-sprite x-toolbar-mailing',scope:this,handler:function(){var messageWindow=new PP.communication.MessageWindow({message:Locale.UserManager.SendMessageMsg,width:500,mailFrom:controller.getConfiguration().getUserSettings().Email,showFrom:false,send2Admins:false,mailByState:node.attributes.category,subject:true,title:Locale.UserManager.SendMessageTitle});messageWindow.on('send',function(){Ext.MessageBox.alert(Locale.UserManager.SendMessageSuccessTitle,Locale.UserManager.SendMessageSuccessMsg)},this);}}];var cmCategory=new Ext.menu.ContextMenu({items:menuItems},e);}}}));}
CategoryStore.on('load',function(){for(var i=0;i<CategoryStore.getCount();i++)
{userGroupsNode.appendChild(new Ext.tree.TreeNode({text:CategoryStore.getAt(i).get('UserGroup'),id:CategoryStore.getAt(i).get('UserGroupId'),icon:'images/folder.png',allowDrag:false,listeners:{contextmenu:function(node,e){e.stopEvent();var menuItems=[{text:Locale.UserManager.SendMessage,iconCls:'t-sprite x-toolbar-mailing',scope:this,handler:function(){var messageWindow=new PP.communication.MessageWindow({message:Locale.UserManager.SendMessageMsg,width:500,mailFrom:controller.getConfiguration().getUserSettings().Email,showFrom:false,send2Admins:false,mailToGroup:node.id,subject:true,title:Locale.UserManager.SendMessageTitle});messageWindow.on('send',function(){Ext.MessageBox.alert(Locale.UserManager.SendMessageSuccessTitle,Locale.UserManager.SendMessageSuccessMsg)},this);}}];var cmCategory=new Ext.menu.ContextMenu({items:menuItems},e);}}}))}});tb=new Ext.Toolbar({height:25,border:false});UsersStore=new Ext.data.Store({proxy:new Ext.data.HttpProxy({url:'../Webservice/UserService.svc/GetUsers'}),reader:new Ext.data.JsonReader({root:'Users',totalProperty:'TotalUsers'},[{name:'UserId',mapping:'UserId'},{name:'Usergroups',mapping:'Usergroups'},{name:'Firstname',mapping:'Firstname'},{name:'Lastname',mapping:'Lastname'},{name:'EmailAddress',mapping:'EmailAddress'},{name:'LastLogin',mapping:'LastLogin'},{name:'State',mapping:'State'}]),sortInfo:{field:'EmailAddress',direction:'ASC'},remoteSort:true});if(!CategoryId)
UsersStore.load({params:{start:0,limit:18}});GroupTree.on('click',function(node,e){if(node.id=="All")
{currentUserGroupId=0;currentState=0;}
else if(node.id=="ByState")
{currentUserGroupId=0;currentState=0;}
else if(node.parentNode.id=="All")
{currentUserGroupId=node.id;currentState=0;}
else if(node.parentNode.id=="ByState")
{currentState=node.id.split("_")[1];currentUserGroupId=0;}
else
return;reload();});reload=function(){UsersStore.baseParams={searchString:searchString,userGroupId:currentUserGroupId,state:currentState}
if(bNoPaging.pressed)
{UsersStore.load({params:{start:0,limit:0}});tbPaging.hide();}
else
{UsersStore.load({params:{start:0,limit:18}});tbPaging.show();}}
var sm1=new Ext.grid.CheckboxSelectionModel();var getStateCaption=function(ustate){switch(ustate)
{case 20:return Locale.UserManager.UserState_20;case 21:return Locale.UserManager.UserState_21;case 22:return Locale.UserManager.UserState_22;case 30:return Locale.UserManager.UserState_30;case 31:return Locale.UserManager.UserState_31;case 40:return Locale.UserManager.UserState_40;case 41:return Locale.UserManager.UserState_41;case 42:return Locale.UserManager.UserState_42;case 43:return Locale.UserManager.UserState_43;case 50:return Locale.UserManager.UserState_50;}}
UserManagerGrid=new Ext.grid.GridPanel({closeaction:'hide',trackMouseOver:true,border:false,ds:UsersStore,cm:new Ext.grid.ColumnModel([sm1,{header:Locale.UserManager.Id,dataIndex:'UserId',sortable:true,hidden:false,width:40,resizable:false},{header:Locale.UserManager.Firstname,dataIndex:'Firstname',sortable:true},{header:Locale.UserManager.Lastname,dataIndex:'Lastname',sortable:true},{header:Locale.UserManager.EMail,dataIndex:'EmailAddress',sortable:true},{header:Locale.UserManager.LastLogin,dataIndex:'LastLogin',sortable:true,renderer:PP.common.Data.renderDateTime},{header:Locale.UserManager.State,dataIndex:'State',sortable:true,renderer:getStateCaption}]),viewConfig:{forceFit:true},sm:sm1,multiSelect:true,stripeRows:true,height:500,autoScroll:true,tbar:tbPaging=new Ext.PagingToolbar({pageSize:18,border:false,store:UsersStore,displayInfo:true,displayMsg:Locale.UserManager.DisplayMsg,emptyMsg:Locale.UserManager.EmptyMsg})});UserManagementDialog=new PP.Window({title:Locale.UserManager.UserManagement,iconCls:'x-admin-standalone-users',closable:true,minimizable:true,maximizable:true,width:920,height:520,border:true,plain:true,resizable:true,layout:'border',items:[{region:'west',id:'UserManagerWest-div',title:Locale.UserManager.Search,layout:'column',border:true,split:true,width:250,cmargins:'2 0 2 3',margins:'2 0 2 3',layout:'border',items:[{region:'north',height:35,border:false,layout:'fit',style:'padding: 5px',items:new Ext.SearchField({width:236,listeners:{search:function(ftext){searchString=ftext;reload();}}})},GroupTree]},{region:'center',margins:'2 3 2 0',layout:'fit',width:600,defaults:{autoScroll:true},tbar:tb,items:UserManagerGrid}]});UserManagementDialog.on("close",function(e){UserManagementDialog=null;})
UserManagementDialog.show();UserManagerGrid.getSelectionModel().on("selectionchange",function(selectionModel){if(selectionModel.hasSelection())
{buttonApprove.enable();if(currentState!=22&&currentState!=21)
buttonReject.enable();if(currentState!=21&&currentState!=40&&currentState!=42)
buttonLock.enable();buttonDelete.enable();buttonSend.enable();}
else
{buttonApprove.disable();buttonReject.disable();buttonLock.disable();buttonDelete.disable();buttonSend.disable();}},this);UserManagerGrid.on("rowdblclick",function(grid,rownum,e){rowIndex=rownum;UpdateUserProfile();})
UserManagerGrid.on("rowcontextmenu",function(UserManagerGrid,rowIndex,e)
{e.stopEvent();var user=UserManagerGrid.getStore().getAt(rowIndex);var cmAsset=new Ext.menu.ContextMenu({items:[{text:Locale.UserManager.Open,name:"ContextMenu_"+rowIndex,scope:this,iconCls:'x-menu-application',listeners:{click:function(b){onUserOpen(b.name.split("_")[1]);}}},{text:Locale.UserManager.DeleteSelected,name:"ContextMenu_"+rowIndex,scope:this,iconCls:'t-sprite x-toolbar-user-delete',listeners:{click:function(){DeleteSelected(user);}}},{text:Locale.UserManager.ApproveSelected,name:"ContextMenu_"+rowIndex,scope:this,iconCls:'t-sprite x-toolbar-unlock',listeners:{click:function(){ApproveSelected(user);}}},{text:Locale.UserManager.DisapproveSelected,name:"ContextMenu_"+rowIndex,scope:this,iconCls:'t-sprite x-toolbar-lock',listeners:{click:function(){DisapproveSelected(user);}}},{text:Locale.UserManager.SendMessage,name:"ContextMenu_"+rowIndex,scope:this,iconCls:'t-sprite x-toolbar-mailing',listeners:{click:function(){SendMessage([user.get('UserId')]);}}}]},e);},this);var onUserOpen=function(index)
{rowIndex=index;UpdateUserProfile();}
var UpdateUserProfile=function()
{var editUserWindow=new PP.user.EditUserWindow({controller:controller,assetFields:controller.getConfiguration().getAssetFields(),userId:UsersStore.getAt(rowIndex).get('UserId'),loginSettings:controller.getConfiguration().getLoginSettings(),additionalFields:controller.getConfiguration().getLoginSettings().AdditionalFields,userGroupStore:CategoryStore,userStore:UsersStore,currentRow:rowIndex});}
var CreateUser=function()
{var editUserWindow=new PP.user.EditUserWindow({controller:controller,assetFields:controller.getConfiguration().getAssetFields(),userId:null,loginSettings:controller.getConfiguration().getLoginSettings(),additionalFields:controller.getConfiguration().getLoginSettings().AdditionalFields,userGroupStore:CategoryStore});}
buttonApprove=tb.addButton({iconCls:'t-sprite x-toolbar-unlock',disabled:true,text:Locale.UserManager.ApproveSelected,handler:ApproveSelected,tooltip:Locale.UserManager.tt_ApproveUsers});buttonReject=tb.addButton({iconCls:'t-sprite x-toolbar-user-delete',disabled:true,text:Locale.UserManager.RejectSelected,handler:RejectSelected,tooltip:Locale.UserManager.tt_RejectUsers});tb.addSeparator();buttonLock=tb.addButton({iconCls:'t-sprite x-toolbar-lock',disabled:true,text:Locale.UserManager.DisapproveSelected,handler:DisapproveSelected,tooltip:Locale.UserManager.tt_DisapproveUser});buttonDelete=tb.addButton({iconCls:'t-sprite x-toolbar-user-delete',disabled:true,text:Locale.UserManager.DeleteSelected,handler:DeleteSelected,tooltip:Locale.UserManager.tt_DeleteUsers});buttonNew=tb.addButton({text:Locale.UserManager.NewUser,iconCls:'t-sprite x-toolbar-user-add',tooltip:Locale.UserManager.tt_AddUser,handler:function(){rowIndex=-1;CreateUser();}});buttonSend=tb.addButton({text:Locale.UserManager.SendMessage,iconCls:'t-sprite x-toolbar-mailing',disabled:true,tooltip:Locale.UserManager.tt_SendMessage,handler:function(){var selectedUsers=UserManagerGrid.getSelectionModel().getSelections();var selectedUsersList=[];for(var i=0;i<selectedUsers.length;i++)
selectedUsersList.push(selectedUsers[i].get('UserId'));SendMessage(selectedUsersList);}});tb.addFill();tb.add(bNoPaging=new Ext.Toolbar.Button({pressed:false,enableToggle:true,text:Locale.UserManager.NoPaging,tooltip:Locale.UserManager.tt_NoPaging,toggleHandler:reload}));if(CategoryId)
{for(var k=0;k<usersStateNode.childNodes.length;k++){if(usersStateNode.childNodes[k].attributes.category==CategoryId){usersStateNode.fireEvent('click',usersStateNode.childNodes[k]);break;}}}}});}
var SendMessage=function(userList){var messageWindow=new PP.communication.MessageWindow({message:Locale.UserManager.SendMessageMsg,width:500,mailFrom:controller.getConfiguration().getUserSettings().Email,showFrom:false,send2Admins:false,mailTo:userList,subject:true,title:Locale.UserManager.SendMessageTitle});messageWindow.on('send',function(){Ext.MessageBox.alert(Locale.UserManager.SendMessageSuccessTitle,Locale.UserManager.SendMessageSuccessMsg)},this);}
var ApproveSelected=function(user){var Updategridsavedata;if(user.data)
Updategridsavedata=[user];else
Updategridsavedata=UserManagerGrid.getSelectionModel().getSelections();Ext.Msg.show({title:Locale.UserManager.ApproveSelected,msg:user?Locale.UserManager.ApproveSingleMsg:Locale.UserManager.ApprovalMsg,buttons:Ext.Msg.YESNO,fn:function(btn){if(btn=='yes')
{var UserIds=[];for(var k=0;k<Updategridsavedata.length;k++)
if(Updategridsavedata[k].get('State')!=50)
UserIds.push(Updategridsavedata[k].data.UserId);Ext.Ajax.request({url:'../Webservice/UserService.svc/ApproveUsers',success:function(r){UsersStore.reload();},params:{userIds:UserIds}});}},icon:Ext.MessageBox.QUESTION});}
var DisapproveSelected=function(user){var Updategridsavedata;if(user.data)
Updategridsavedata=[user];else
Updategridsavedata=UserManagerGrid.getSelectionModel().getSelections();Ext.Msg.show({title:Locale.UserManager.DisapproveSelected,msg:user?Locale.UserManager.DisapproveSingleMsg:Locale.UserManager.DisapprovalMsg,buttons:Ext.Msg.YESNO,fn:function(btn){if(btn=='yes')
{var UserIds=[];for(var k=0;k<Updategridsavedata.length;k++)
if(Updategridsavedata[k].get('State')!=40)
UserIds.push(Updategridsavedata[k].data.UserId);Ext.Ajax.request({url:'../Webservice/UserService.svc/DisapproveUsers',success:function(r){UsersStore.reload();},params:{userIds:UserIds}});}},icon:Ext.MessageBox.QUESTION});}
var DeleteSelected=function(user){var Updategridsavedata;if(user.data)
Updategridsavedata=[user];else
Updategridsavedata=UserManagerGrid.getSelectionModel().getSelections();var UserIds=[];for(var k=0;k<Updategridsavedata.length;k++)
UserIds.push(Updategridsavedata[k].data.UserId);userManager.remove(UserIds,controller.getConfiguration().getAssetFields());}
var RejectSelected=function(){var data=[];var selection=UserManagerGrid.getSelectionModel().getSelections();for(var i=0;i<selection.length;i++)
data.push(selection[i].data);userManager.rejectWindow(data);}}

Ext.ns("PP","PP.user");PP.user.ProfileWindow=function(controller){var userProfileDialog,userProfileFormPanel,userprofileStore,useprofile,datastore,userDetails,countryList,CountryListData;var LanguageCombo=0;var loginInfoButton=null;this.show=function()
{if(userProfileDialog)
{if(!userProfileDialog.isVisible()){userProfileDialog.show();userProfileDialog.minimized=false;}
else{userProfileDialog.restore();}
return;}
userDetails=new PP.user.Details();userDetails.load();userDetails.on('loaded',function(){userprofileStore=userDetails.getUserFields();useprofile=userDetails.getUserDetails();editProfile();Ext.Ajax.request({url:'../Webservice/UserService.svc/GetLoginInfo',success:function(r){if(r.responseText){var loginInfo=Ext.util.JSON.decode(r.responseText);if(loginInfo&&loginInfo.AutoLogin)
loginInfoButton.enable();}}})});}
var editProfile=function()
{if(userProfileDialog)
userProfileDialog.destroy(true);userProfileFormPanel=new Ext.JsonFormPanel({labelAlign:'left',labelWidth:135,region:'center',frame:false,bodyStyle:'padding:10px 10px 0',autoHeight:true,border:false,items:[{style:'text-align:left; padding-bottom: 14px',html:Locale.UserProfile.UserProfileDetails,frame:true,width:'100%',border:false},{layout:'column',border:false,items:[{layout:'form',columnWidth:.64,border:false,items:[{xtype:'textfield',fieldLabel:getLabel(Locale.UserProfile.FirstnameLastname,"Firstname"),allowBlank:getLabel("","Lastname")=="*"?false:true,name:'firstname',value:useprofile.Firstname,name:'Firstname',msgTarget:'qtip',autoScroll:false,anchor:'-1'}]},{columnWidth:.36,layout:'form',border:false,items:[{xtype:'textfield',allowBlank:getLabel(Locale.UserProfile.FirstnameLastname,"Lastname")=="*"?false:true,value:useprofile.Lastname,name:'Lastname',hideLabel:true,anchor:'-1'}]}]},{xtype:'textfield',fieldLabel:getLabel(Locale.UserProfile.Telephone,"Tel"),allowBlank:getLabel("","Tel")=="*"?false:true,value:useprofile.Tel,maxValue:9999999999,minValue:0,name:'Tel',allowDecimals:false,anchor:'-1'},{xtype:'textfield',columnWidth:.7,fieldLabel:getLabel(Locale.UserProfile.EmailAddress,"EmailAddress"),allowBlank:getLabel("","EmailAddress")=="*"?false:true,value:useprofile.EmailAddress,vtype:'email',name:'EmailAddress',anchor:'-1'},{xtype:'textfield',fieldLabel:getLabel(Locale.UserProfile.Company,"Company"),allowBlank:getLabel("","Company")=="*"?false:true,value:useprofile.Company,name:'Company',anchor:'-1'},{xtype:'textfield',fieldLabel:getLabel(Locale.UserProfile.Department,"Department"),allowBlank:getLabel("","Department")=="*"?false:true,value:useprofile.Department,name:'Department',anchor:'-1'},{xtype:'textfield',fieldLabel:getLabel(Locale.UserProfile.Address,"Street"),allowBlank:getLabel("","Street")=="*"?false:true,value:useprofile.Street,name:'Street',anchor:'-1'},{xtype:'textfield',fieldLabel:getLabel(Locale.UserProfile.Address2,"Address2"),allowBlank:getLabel("","Address2")=="*"?false:true,value:useprofile.Address2,anchor:'-1',name:'Address2',anchor:'-1'},{layout:'form',border:false,items:[CountryListData=new PP.widget.CountryComboBox({fieldLabel:getLabel(Locale.user.EditUserWindow.Country,"Country"),allowBlank:getLabel("","Country")=="*"?false:true,displayField:'Country',valueField:'CountryId',hiddenName:'Country',triggerAction:'all',mode:'local',typeAhead:true,forceSelection:true,name:'Country',anchor:'-1'})]},{layout:'column',border:false,items:[{layout:'form',columnWidth:.64,border:false,items:[{xtype:'textfield',fieldLabel:getLabel(Locale.UserProfile.ZipCity,"Zip"),allowBlank:getLabel("","Zip")=="*"?false:true,name:'Zip',value:useprofile.Zip,msgTarget:'qtip',maxLength:10,autoScroll:false,anchor:'-1'}]},{layout:'form',columnWidth:.36,border:false,items:[{xtype:'textfield',allowBlank:getLabel("","City")=="*"?false:true,value:useprofile.City,hideLabel:true,msgTarget:'qtip',name:'City',anchor:'-1'}]}]}]});var Languages=controller.getConfiguration().getGuiLanguages();if(Languages.getCount()>1)
{LanguageCombo=new Ext.form.ComboBox({editable:false,fieldLabel:Locale.UserProfile.Language,store:Languages,displayField:'LanguageTranslation',valueField:'Abbreviation',hiddenName:'Language',triggerAction:'all',mode:'local',name:'UserLang',anchor:'-1'});userProfileFormPanel.add(LanguageCombo);}
function getLabel(label,tname)
{var mandatoryFields=controller.getConfiguration().getLoginSettings().ObligatoryRegistrationFields;for(var i=0;i<mandatoryFields.length;i++)
{if(mandatoryFields[i]==tname)
return label+'*';}
return label;}
userProfileDialog=new PP.Window({title:Locale.UserProfile.UserProfile,closable:true,resizable:false,layout:'fit',shadow:true,minimizable:true,width:450,autoHeight:true,items:userProfileFormPanel,modal:true,tbar:[{text:Locale.UserProfile.ChangePassword,handler:changeUserPassword,iconCls:'t-sprite x-toolbar-password-change',tooltip:Locale.UserProfile.tt_ChangePassword},loginInfoButton=new Ext.Button({text:Locale.UserProfile.ResetAutoLogin,cls:'',tooltip:Locale.UserProfile.tt_ResetAutoLogin,iconCls:'t-sprite x-toolbar-password-delete',hidden:!controller.getConfiguration().getLoginSettings().EnableAutoLogin,disabled:true,handler:function(obj){Ext.Ajax.request({url:'../Webservice/UserService.svc/DisableAutoLogin',success:function(){Ext.Msg.alert(Locale.UserProfile.Success,Locale.UserProfile.ResetAutoLoginSuccessful);obj.disable();}});}})],buttons:[{text:Locale.UserProfile.Save,tooltip:Locale.UserProfile.tt_Save,handler:function(){if(userProfileFormPanel.getForm().isValid())
Ext.Ajax.request({url:'../Webservice/UserService.svc/UpdateProfile',params:{user:userProfileFormPanel.getForm().getValues(false)},success:function(){controller.getConfiguration().reload();userProfileDialog.close();},scope:this});else
Ext.MessageBox.alert(Locale.UserProfile.Status,Locale.UserProfile.FillRequiredField);}},{text:Locale.UserProfile.Cancel,tooltip:Locale.UserProfile.tt_Cancel,handler:function(){userProfileDialog.close();}}]});userProfileDialog.on("close",function(e){userProfileDialog.destroy(true);userProfileDialog=null;})
userProfileDialog.show();if(Languages.getCount()>1)
LanguageCombo.setValue(useprofile.Language);CountryListData.store.on("load",function(){if(CountryListData.store.find("CountryId",useprofile.Country)!=-1)
CountryListData.setValue(CountryListData.store.getById(useprofile.Country).get('CountryId'));},this);userProfileFormPanel.on('actioncomplete',function(form,action){userProfileDialog.close();Ext.MessageBox.alert(Locale.UserProfile.Success,Locale.UserProfile.SaveSuccess);if(Languages.getCount()>1)
{if(useprofile.Language!=LanguageCombo.getValue())
document.location.href="?language="+LanguageCombo.getValue();}});userProfileFormPanel.on('actionfailed',function(f,a){Ext.MessageBox.alert(Locale.UserProfile.Failure,Locale.UserProfile.SaveFailed);});}
var changeUserPassword=function(){var messageWindow=new PP.user.RenewPasswordWindow({action:'change',strongPassword:controller.getConfiguration().getLoginSettings().EnableStrongPasswords,minPasswordLength:controller.getConfiguration().getLoginSettings().MinPasswordLength,minPasswordDigits:controller.getConfiguration().getLoginSettings().MinPasswordDigits});messageWindow.on("change",function(){Ext.MessageBox.alert(Locale.UserProfile.Status,Locale.UserProfile.PasswordChangedSuccess);},this)}}

Ext.ns("PP","PP.user");PP.user.RegistrationApprovalWindow=function(config){Ext.apply(this,config);this.addEvents('approve');}
PP.user.RegistrationApprovalWindow=Ext.extend(Ext.Window,{userId:null,emailAddress:'',additionalFields:[],initComponent:function(){this.autoHeight=true;this.layout='fit';this.userDataPanel=new Ext.Panel({autoHeight:true,style:'padding-bottom: 10px',html:'<div style="height:240px">&nbsp;</div>'});this.comment=new Ext.form.TextArea({name:'comment',xtype:'textarea',allowBlank:false,anchor:'100%',hideLabel:true});this.formPanel=new Ext.form.JsonFormPanel({autoHeight:true,border:false,bodyStyle:'padding: 8px',layout:'form',items:[{border:false,autoHeight:true,frame:true,html:Locale.user.RegistrationApprovalWindow.Message,style:'padding-bottom: 10px'},this.userDataPanel,{border:false,autoHeight:true,frame:true,html:Locale.user.RegistrationApprovalWindow.CommentMessage,style:'padding-bottom: 10px'},this.comment]});this.title=Locale.user.RegistrationApprovalWindow.WindowTitle;this.buttons=[{text:Locale.user.RegistrationApprovalWindow.Approve,iconCls:'t-sprite x-toolbar-unlock',handler:this.submit.createDelegate(this,[true]),scope:this},{text:Locale.user.RegistrationApprovalWindow.Reject,iconCls:'t-sprite x-toolbar-user-delete',handler:this.submit.createDelegate(this,[false]),scope:this}]
this.items=this.formPanel;Ext.Window.prototype.initComponent.call(this);this.loadUserData();},loadUserData:function(){Ext.Ajax.request({url:'../Webservice/UserService.svc/GetDetailsById',scope:this,callback:function(options,success,returnValue){var response=Ext.util.JSON.decode(returnValue.responseText);var user=response;user.Fields=this.additionalFields;this.show();var tpl=new Ext.XTemplate('<table>','{[this.row("UserId", values.UserId)]}','{[this.row("Name", values.Firstname + " " + values.Lastname)]}','{[this.row("Telephone", values.Tel)]}','{[this.row("EmailAddress", values.EmailAddress)]}','{[this.row("Company", values.Company)]}','{[this.row("Department", values.Department)]}','{[this.row("Address", values.Street + (values.Address2 ? "<br>" + values.Address2 : "") )]}','{[this.row("Department", values.Department)]}','{[this.row("Country", values.Country)]}','{[this.row("ZipCity", values.Zip + " " + values.City)]}','<tpl for="Fields">','{[this.row(values.Caption, this.getAdditionalValue(values.Fieldname))]}','</tpl>','</table>',{getAdditionalValue:function(name){for(var i=0;i<user.CDFs.length;i++)
if(user.CDFs[i].Key==name)
return user.CDFs[i].Value;},row:function(caption,value){var captionToDisplay=caption;if(Locale.user.RegistrationApprovalWindow[caption])
captionToDisplay=Locale.user.RegistrationApprovalWindow[caption];return'<tr>'+'<td style="padding: 2px; background-color: rgb(225,225,225);">'+captionToDisplay+'</td>'+'<td style="padding: 2px; background-color: rgb(255,255,255); font-weight: bold">'+value+'</td>'+'</tr>'}})
tpl.overwrite(this.userDataPanel.body,user);},params:{userId:this.userId}});},submit:function(approve){if(this.formPanel.getForm().isValid())
{Ext.Ajax.request({url:'../Webservice/UserService.svc/ApproveRegistration',success:this.success,scope:this,params:{approve:approve,comment:this.comment.getValue(),userId:this.userId,emailAddress:this.emailAddress}})}},success:function(form,options){var approved=Ext.decode(options.params).approve;this.fireEvent('complete',approved);this.close();if(approved)
Ext.MessageBox.alert(Locale.user.RegistrationApprovalWindow.ApprovedTitle,Locale.user.RegistrationApprovalWindow.ApprovedMessage);else
Ext.MessageBox.alert(Locale.user.RegistrationApprovalWindow.RejectedTitle,Locale.user.RegistrationApprovalWindow.RejectedMessage);}});

Ext.ns("PP","PP.user");PP.user.RegistrationEvent=function(config){this.executeEvent=config.executeEvent?config.executeEvent:"None";this.userId=config.userId;this.printRegistrationForm=function()
{Ext.Ajax.request({url:'../Webservice/UserService.svc/GetPdfRegistrationForm',scope:this,params:{userId:this.userId},success:function(response){var responseObject=Ext.util.JSON.decode(response.responseText);var win=new Ext.Window({width:800,height:520,title:"PDF Registration Form",html:'<iframe frameborder="0" height=100% width=100% src="'+responseObject+'"></iframe>',buttons:[{text:Locale.user.RegistrationWindow.OK,handler:function(){win.close();},scope:this}]});win.show();win.on("close",function(){Ext.MessageBox.alert('',Locale.user.LoginWindow.MsgRegistrationSuccessful);},this);}});}
switch(this.executeEvent){case"PrintRegistrationForm":this.printRegistrationForm();break;}}

Ext.ns("PP","PP.user");PP.user.RegistrationWindow=function(config){Ext.apply(this,config);this.addEvents('complete');PP.user.RegistrationWindow.superclass.constructor.call(this);this.registrationFormPanel=new Ext.form.JsonFormPanel({labelAlign:'left',labelWidth:130,frame:false,border:false,url:'../Webservice/UserService.svc/Register',region:'center',bodyStyle:'padding:10px 10px 0',autoHeight:true,width:500,items:[{style:'text-align:left;',html:Locale.user.RegistrationWindow.DialogTextRegistration,width:'100%',autoHeight:true,frame:true,border:false},{height:15,border:false},{xtype:'fieldset',title:Locale.user.RegistrationWindow.LoginCredentials,collapsible:true,labelWidth:130,autoHeight:true,items:[{xtype:'textfield',columnWidth:.7,fieldLabel:this.getLabel(Locale.user.RegistrationWindow.EMail,"EmailAddress"),allowBlank:this.getLabel("","EmailAddress")=="*"?false:true,name:'EmailAddress',id:'reg_email',vtype:'email',emailText:true,anchor:'95%'},{xtype:'textfield',inputType:'password',fieldLabel:Locale.user.RegistrationWindow.Password+'*',name:'Password',anchor:'95%',allowBlank:false},{xtype:'textfield',inputType:'password',fieldLabel:Locale.user.RegistrationWindow.ConfirmPassword+'*',name:'PasswordConfirm',anchor:'95%',allowBlank:false}]},{xtype:'fieldset',title:Locale.user.RegistrationWindow.PersonalData,collapsible:true,labelWidth:130,autoHeight:true,items:[{layout:'column',anchor:'95%',border:false,items:[{layout:'form',columnWidth:.65,border:false,items:[{xtype:'textfield',fieldLabel:this.getLabel(Locale.user.RegistrationWindow.FirstnameLastname,"Lastname"),allowBlank:this.getLabel("","Lastname")=="*"?false:true,name:'Firstname',msgTarget:'qtip',autoScroll:false,anchor:'96%'}]},{layout:'form',columnWidth:.35,border:false,items:[{xtype:'textfield',allowBlank:this.getLabel("","Lastname")=="*"?false:true,name:'Lastname',hideLabel:true,msgTarget:'qtip',hideLabel:true,anchor:'100%'}]}]},{xtype:'textfield',fieldLabel:this.getLabel(Locale.user.RegistrationWindow.Telephone,"Tel"),allowBlank:this.getLabel("","Tel")=="*"?false:true,name:'Tel',anchor:'95%'},{xtype:'textfield',fieldLabel:this.getLabel(Locale.user.RegistrationWindow.Company,"Company"),allowBlank:this.getLabel("","Company")=="*"?false:true,name:'Company',anchor:'95%'},{xtype:'textfield',fieldLabel:this.getLabel(Locale.user.RegistrationWindow.Department,"Department"),allowBlank:this.getLabel("","Department")=="*"?false:true,name:'Department',anchor:'95%'},{xtype:'textfield',fieldLabel:this.getLabel(Locale.user.RegistrationWindow.Address,"Street"),allowBlank:this.getLabel("","Street")=="*"?false:true,name:'Street',anchor:'95%'},{xtype:'textfield',fieldLabel:'Address2',allowBlank:this.getLabel("","Address2")=="*"?false:true,id:'reg_address2',name:'Address2',anchor:'95%'},new PP.widget.CountryComboBox({fieldLabel:this.getLabel(Locale.user.RegistrationWindow.Country,"Country"),allowBlank:this.getLabel("","Country")=="*"?false:true,displayField:'Country',hiddenName:'Country',valueField:'CountryId',triggerAction:'all',mode:'local',typeAhead:true,forceSelection:true,name:'Country',anchor:'95%'}),{layout:'column',anchor:'95%',border:false,items:[{layout:'form',columnWidth:.50,border:false,items:[{xtype:'textfield',fieldLabel:this.getLabel(Locale.user.RegistrationWindow.ZipCity,"Zip"),allowBlank:this.getLabel("","Zip")=="*"?false:true,name:'Zip',msgTarget:'qtip',maxLength:10,autoScroll:false,anchor:'96%'}]},{layout:'form',columnWidth:.50,border:false,items:[{xtype:'textfield',allowBlank:this.getLabel("","City")=="*"?false:true,hideLabel:true,name:'City',msgTarget:'qtip',anchor:'100%'}]}]}]}],keys:[{key:Ext.EventObject.ENTER,fn:function(){if(checkrequiredfields()){ShowRegistrationValues();}},scope:this}]});var additionalFields=this.additionalFields;if(additionalFields.length)
{var additionalFieldsItems=[];for(var i=0;i<additionalFields.length;i++)
{switch(additionalFields[i].ControlType){case"Text":additionalFieldsItems.push({xtype:'textfield',fieldLabel:additionalFields[i].Caption+(additionalFields[i].IsRequired?'*':''),name:additionalFields[i].Fieldname,vtype:additionalFields[i].Function.length?additionalFields[i].Function:null,anchor:'95%',allowBlank:!additionalFields[i].IsRequired});break;case"Textarea":additionalFieldsItems.push({xtype:'textarea',fieldLabel:additionalFields[i].Caption+(additionalFields[i].IsRequired?'*':''),name:additionalFields[i].Fieldname,height:additionalFields[i].TotalRows*20,vtype:additionalFields[i].Function.length?additionalFields[i].Function:null,anchor:'95%',allowBlank:!additionalFields[i].IsRequired});break;case"Checkbox":additionalFieldsItems.push({xtype:'checkboxgroup',columns:1,name:additionalFields[i].Fieldname,fieldLabel:additionalFields[i].Caption+(additionalFields[i].IsRequired?'*':''),anchor:'95%',getValue:function(){var returnValue=null;this.items.each(function(item){returnValue=item.checked;},this);return returnValue;},allowBlank:!additionalFields[i].IsRequired,msgTarget:'side',items:[{boxLabel:additionalFields[i].AdditionalText,name:'x1'}]});break;}}
var additionalFieldset={xtype:'fieldset',title:Locale.user.RegistrationWindow.AdditionalFields,collapsible:true,labelWidth:130,autoHeight:true,items:additionalFieldsItems};this.registrationFormPanel.add(additionalFieldset);}
this.registrationDlg=new Ext.Window({id:'dlg_regisration',title:Locale.user.RegistrationWindow.TitleRegistration,width:500,autoHeight:true,closable:true,shadow:false,modal:true,icon:'images/slik/application_form.png',resizable:false,constrain:true,items:this.registrationFormPanel,layout:'fit',buttons:[{text:Locale.user.RegistrationWindow.Register,cls:'x-btn-over',handler:this.submitForm,scope:this},{text:Locale.user.RegistrationWindow.Cancel,handler:this.close,scope:this}]});this.registrationDlg.on('show',function(){var f=Ext.get('reg_email');f.focus.defer(500,f);},this);this.registrationDlg.on("beforehide",function(e){this.registrationFormPanel.destroy(true);},this);this.registrationDlg.show();}
Ext.extend(PP.user.RegistrationWindow,Ext.util.Observable,{additionalFields:[],language:'en',mandatoryFields:[],minPasswordLength:0,minPasswordDigits:0,strongPassword:false,close:function(){this.registrationDlg.close();Ext.destroy(this.countryList,this.registrationDlg,this.registrationFormPanel);},getLabel:function(label,fieldname){for(var i=0;i<this.mandatoryFields.length;i++)
{if(this.mandatoryFields[i]==fieldname)
return label+'*';}
return label;},checkForm:function(){if(this.registrationFormPanel.getForm().isValid())
{if(this.registrationFormPanel.getForm().findField('Password').getValue()!=this.registrationFormPanel.getForm().findField('PasswordConfirm').getValue())
{Ext.MessageBox.alert("",Locale.user.RegistrationWindow.MsgPasswordsUnmatch);return false;}
if(this.strongPassword&&!new PP.common.Check().isStrongPassword(this.registrationFormPanel.getForm().findField('Password').getValue(),this.minPasswordLength,this.minPasswordDigits))
{Ext.MessageBox.alert(Locale.user.RegistrationWindow.StrongPasswordTitle,Locale.user.RegistrationWindow.StrongPasswordMessage.format(this.minPasswordLength,this.minPasswordDigits))
return false;}
else
return true;}
else
return false;},success:function(r){this.fireEvent('complete',r.responseText);this.close();},submitForm:function(){if(this.checkForm())
{this.loadingMessage=Ext.MessageBox.show({title:Locale.user.RegistrationWindow.RegisterLoadingTitle,msg:Locale.user.RegistrationWindow.RegisterLoadingMessage,width:300,wait:true,waitConfig:{interval:200},modal:true});var values=[];this.registrationFormPanel.getForm().items.each(function(f){values[f.getName()]=f.getValue();});var cdfs=[];var userfields={};var password="";for(key in values){if(key.indexOf("CDF")!=-1)
cdfs.push({Key:key,Value:values[key]});else if(key.indexOf("Password")!=-1)
password=values[key];else
userfields[key]=values[key];};userfields.CDFs=cdfs;Ext.Ajax.request({url:'../Webservice/UserService.svc/Register',params:{user:userfields,password:password},success:this.success,scope:this});}},hideLoadingMessage:function(){if(this.loadingMessage)
this.loadingMessage.hide();}})

Ext.ns("PP","PP.user");PP.user.RenewPasswordWindow=function(config){Ext.apply(this,config);this.addEvents('renew','renewbycontact','change');var formItems=[];if(this.action=='renew'||this.action=='renewByContact')
formItems.push({xtype:'textfield',fieldLabel:Locale.user.RenewPasswordWindow.Email+'*',value:this.email,name:'emailAddress',vtype:'email',allowBlank:false,anchor:'95%'});formItems.push({xtype:'textfield',fieldLabel:Locale.user.RenewPasswordWindow.CurrentPassword+'*',name:'passwordOld',inputType:'password',allowBlank:false,anchor:'95%'},{xtype:'textfield',fieldLabel:Locale.user.RenewPasswordWindow.NewPassword+'*',name:'passwordNew',inputType:'password',allowBlank:false,anchor:'95%'},{xtype:'textfield',fieldLabel:Locale.user.RenewPasswordWindow.ConfirmPassword+'*',name:'passwordConfirm',inputType:'password',allowBlank:false,anchor:'95%'});if(this.action=='renewByContact')
{formItems.push({style:'text-align:left; padding-top: 14px; padding-bottom: 14px',html:Locale.user.RenewPasswordWindow.ContactTitle,width:'100%',frame:true,border:false},{xtype:'textfield',fieldLabel:Locale.user.RenewPasswordWindow.ContactName+'*',name:'contactName',value:this.nameInternalContact,allowBlank:false,anchor:'95%'},{xtype:'textfield',fieldLabel:Locale.user.RenewPasswordWindow.ContactEmail+'*',name:'contactEmail',value:this.emailInternalContact,vtype:'email',allowBlank:false,anchor:'95%'},{xtype:'textarea',fieldLabel:Locale.user.RenewPasswordWindow.ContactMessage+'*',name:'contactMessage',allowBlank:false,anchor:'95%'});}
this.url='';var windowTitle='';var message='';switch(this.action){case"renew":this.url='../Webservice/UserService.svc/RenewPassword';windowTitle=Locale.user.RenewPasswordWindow.RenewWindowTitle;message=Locale.user.RenewPasswordWindow.RenewMessage;break;case"renewByContact":this.url='../Webservice/UserService.svc/RenewByContact';windowTitle=Locale.user.RenewPasswordWindow.RenewByContactWindowTitle;message=Locale.user.RenewPasswordWindow.RenewByContactMessage;break;case"change":this.url='../Webservice/UserService.svc/ChangeCurrentUserPassword';windowTitle=Locale.user.RenewPasswordWindow.RenewWindowTitle;message=Locale.user.RenewPasswordWindow.ChangeMessage;break;}
this.formPanel=new Ext.form.JsonFormPanel({border:false,labelAlign:'left',labelWidth:140,autoScroll:false,autoHeight:true,region:'center',bodyStyle:'padding: 10px 10px 10px 10px',items:[{style:'text-align:left; padding-bottom: 14px',html:message,width:'100%',frame:true,border:false},{layout:'form',bodyStyle:'padding-left: 4px',defaults:{msgTarget:'side'},border:false,autoScroll:false,width:'100%',items:formItems}]});this.window=new Ext.Window({title:windowTitle,closable:true,shadow:true,modal:true,resizable:false,width:500,autoHeight:true,layout:'fit',border:false,items:[this.formPanel],buttons:[{text:Locale.user.RenewPasswordWindow.Ok,handler:this.submitForm,scope:this},{text:Locale.user.RenewPasswordWindow.Cancel,handler:function(){this.window.close();},scope:this}],keys:[{key:Ext.EventObject.ENTER,fn:this.submitForm,scope:this}]});this.window.on('show',function(){if(this.action=='renew'||this.action=='renewByContact')
var f=this.formPanel.getForm().items.items[1];else
var f=this.formPanel.getForm().items.items[0];f.focus.defer(500,f);},this);this.window.on("beforehide",function(e){this.formPanel.destroy(true);},this);this.window.show();}
Ext.extend(PP.user.RenewPasswordWindow,Ext.util.Observable,{action:'change',email:'',emailInternalContact:'',nameInternalContact:'',minPasswordLength:0,minPasswordDigits:0,strongPassword:false,checkForm:function(){if(!this.formPanel.getForm().isValid())
return false;if(this.formPanel.getForm().findField('passwordNew').getValue()!=this.formPanel.getForm().findField('passwordConfirm').getValue())
{Ext.MessageBox.alert("",Locale.user.RenewPasswordWindow.PasswordMissmatch);return false;}
if(this.strongPassword&&!new PP.common.Check().isStrongPassword(this.formPanel.getForm().findField('passwordNew').getValue(),this.minPasswordLength,this.minPasswordDigits))
{Ext.MessageBox.alert(Locale.user.RenewPasswordWindow.StrongPasswordTitle,Locale.user.RenewPasswordWindow.StrongPasswordMessage.format(this.minPasswordLength,this.minPasswordDigits))
return false;}
return true;},submitForm:function(){if(this.checkForm())
Ext.Ajax.request({url:this.url,success:this.success,scope:this,params:this.formPanel.getForm().getValues()});},success:function(form,action){this.window.close();if(this.action=='renew')
this.fireEvent('renew',[]);else if(this.action=='renewByContact')
this.fireEvent('renewbycontact',[]);else
this.fireEvent('change',[]);}});

Ext.ns("PP","PP.editor");PP.editor.Image=function(){this.callback;this.crop_imageWidth=0;this.crop_imageHeight=0;this.crop_originalImageWidth=0;this.crop_originalImageHeight=0;this.crop_minimumWidth=0;this.crop_minimumHeight=0;this.imagepath="";this.PreserveAspectRatio=false;this.fixedRatio;this.crop_left;this.crop_top;this.crop_width;this.crop_height;this.crop_orgleft;this.crop_orgtop;this.crop_orgwidth;this.crop_orgheight;this.setCallBack=function(cback)
{this.callback=cback;}
this.fireCallBack=function()
{this.callback(this.crop_orgleft,this.crop_orgtop,this.crop_orgwidth,this.crop_orgheight);}
this.loadImage=function(imagepath)
{this.imagepath=imagepath;}
this.setSize=function(width,height)
{this.crop_imageWidth=width;this.crop_imageHeight=height;}
this.setOriginalSize=function(width,height)
{this.crop_originalImageWidth=width;this.crop_originalImageHeight=height;}
this.setMinimumCropOriginal=function(width,height)
{var factor=this.crop_imageWidth/this.crop_originalImageWidth;if(width*factor>this.crop_imageWidth||height*factor>this.crop_imageHeight)
{Ext.MessageBox.alert("Format wrong","The resolution of the File does not match the minimum requirements.")}
else
{this.crop_minimumWidth=width*factor;this.crop_minimumHeight=height*factor;}}
this.setMinimumCrop=function(width,height)
{this.crop_minimumWidth=width;this.crop_minimumHeight=height;}
this.setInitialCropping=function(left,top,width,height)
{this.crop_left=left;this.crop_top=top;this.crop_width=width;this.crop_height=height;}
this.setOriginalCropping=function(left,top,width,height)
{this.crop_orgleft=left;this.crop_orgtop=top;this.crop_orgwidth=width;this.crop_orgheight=height;}
this.preserveAspectRatio=function(preserve)
{this.PreserveAspectRatio=preserve;}
this.setAspectRatio=function(width,height)
{this.fixedRatio=width/height;}
this.getCroppingCoordinates=function()
{var cropCordinates=this.crop_left+","+this.crop_top+","+this.crop_width+","+this.crop_height;return cropCordinates;}
this.getOriginalCroppingCoordinates=function()
{var cropCordinates={X:this.crop_orgleft,Y:this.crop_orgtop,Width:this.crop_orgwidth,Height:this.crop_orgheight};return cropCordinates;}}

Ext.ns("PP","PP.editor");PP.editor.ImageCrop=function(image)
{var cropimage=image;var sc=this;var cropToolBorderWidth=1;var smallSquareWidth=7;var crop_imageWidth=800;var crop_imageHeight=600;var crop_originalImageWidth=2272;var crop_originalImageHeight=1704;var crop_minimumPercent=10;var crop_maximumPercent=200;var crop_minimumWidthHeight=300;var crop_minimumWidth=450;var crop_minimumHeight=300;var updateFormValuesAsYouDrag=true;if(!document.all)updateFormValuesAsYouDrag=false;var crop_script_alwaysPreserveAspectRatio=true;var crop_script_fixedRatio=1.5;var crop_script_browserIsOpera=navigator.userAgent.indexOf('Opera')>=0?true:false;var cropDiv_left=false;var cropDiv_top=false;var cropDiv_right=false;var cropDiv_bottom=false;var cropDiv_dotted=false;var crop_currentResizeType=false;var cropEvent_posX;var cropEvent_posY;var cropEvent_eventX;var cropEvent_eventY;var crop_resizeCounter=-1;var crop_moveCounter=-1;var crop_imageDiv=false;var imageDiv_currentWidth=false;var imageDiv_currentHeight=false;var imageDiv_currentLeft=false;var imageDiv_currentTop=false;var smallSquare_tl;var smallSquare_tc;var smallSquare_tr;var smallSquare_lc;var smallSquare_rc;var smallSquare_bl;var smallSquare_bc;var smallSquare_br;var offsetSmallSquares=Math.floor(smallSquareWidth/2);var cropScriptAjaxObjects=new Array();var bPreserveAspectRatio=false;var cropWidthRatio=false;this.addEvents({"croppositionchange":true});function loadImage(imagepath)
{document.getElementById('input_image_ref').value=imagepath;document.getElementById('crop_Image').src=imagepath;}
this.setSize=function(width,height)
{cropimage.crop_imageWidth=width;cropimage.crop_imageHeight=height;crop_imageWidth=width;crop_imageHeight=height;}
function setOriginalSize(width,height)
{crop_originalImageWidth=width;crop_originalImageHeight=height;}
function setMinimumWidth(width)
{crop_minimumWidth=width;}
function setMinimumHeight(height)
{crop_minimumHeight=height;}
function preserveAspectRatio(preserve)
{crop_script_alwaysPreserveAspectRatio=preserve;}
function setAspectRatio(fixedRatio)
{crop_script_fixedRatio=fixedRatio;}
function getCroppingCoordinates()
{var obj_x=cropDiv_dotted.style.left.replace('px','')/1;var obj_y=cropDiv_dotted.style.top.replace('px','')/1;var obj_width=cropDiv_dotted.style.width.replace('px','')/1;var obj_height=cropDiv_dotted.style.height.replace('px','')/1;var cropCordinates=obj_x+","+obj_y+","+obj_width+","+obj_height;return cropCordinates;}
function getOriginalCroppingCoordinates()
{var obj_x=document.getElementById('input_crop_x').value;var obj_y=document.getElementById('input_crop_y').value;var obj_width=document.getElementById('input_crop_width').value;var obj_height=document.getElementById('input_crop_height').value;var cropCordinates=obj_x+","+obj_y+","+obj_width+","+obj_height;return cropCordinates;}
function crop_createDivElements()
{crop_imageDiv=document.getElementById('imageContainer');cropDiv_left=document.createElement('DIV');cropDiv_left.className='crop_transparentDiv';cropDiv_left.style.visibility='visible';cropDiv_left.style.left='0px';cropDiv_left.style.top='0px';cropDiv_left.style.height=crop_imageHeight+'px';cropDiv_left.style.width='0px';cropDiv_left.innerHTML='<span></span>';crop_imageDiv.appendChild(cropDiv_left);cropDiv_top=document.createElement('DIV');cropDiv_top.className='crop_transparentDiv';cropDiv_top.style.visibility='visible';cropDiv_top.style.left='0px';cropDiv_top.style.top='0px';cropDiv_top.style.height='0px';cropDiv_top.style.width=crop_imageWidth+'px';cropDiv_top.innerHTML='<span></span>';crop_imageDiv.appendChild(cropDiv_top);cropDiv_right=document.createElement('DIV');cropDiv_right.className='crop_transparentDiv';cropDiv_right.style.visibility='visible';cropDiv_right.style.left=(crop_imageWidth)+'px';cropDiv_right.style.top='0px';cropDiv_right.style.height=crop_imageHeight+'px';cropDiv_right.style.width='0px';cropDiv_right.innerHTML='<span></span>';crop_imageDiv.appendChild(cropDiv_right);cropDiv_bottom=document.createElement('DIV');cropDiv_bottom.className='crop_transparentDiv';cropDiv_bottom.style.visibility='visible';cropDiv_bottom.style.left='0px';cropDiv_bottom.style.top=(crop_imageHeight)+'px';cropDiv_bottom.style.height='0px';cropDiv_bottom.style.width=crop_imageWidth+'px';cropDiv_bottom.innerHTML='<span></span>';crop_imageDiv.appendChild(cropDiv_bottom);cropDiv_dotted=document.createElement('DIV');cropDiv_dotted.className='crop_dottedDiv';cropDiv_dotted.style.left='0px';cropDiv_dotted.style.top='0px';cropDiv_dotted.style.width=(crop_imageWidth-(cropToolBorderWidth*2))+'px';cropDiv_dotted.style.height=(crop_imageHeight-(cropToolBorderWidth*2))+'px';cropDiv_dotted.innerHTML='<div></div>';cropDiv_dotted.style.cursor='move';if(crop_script_browserIsOpera){var div=cropDiv_dotted.getElementsByTagName('DIV')[0];div.style.backgroundColor='transparent';cropDiv_bottom.style.backgroundColor='transparent';cropDiv_right.style.backgroundColor='transparent';cropDiv_top.style.backgroundColor='transparent';cropDiv_left.style.backgroundColor='transparent';}
cropDiv_dotted.onmousedown=cropScript_initMove;smallSquare_tl=document.createElement('IMG');smallSquare_tl.src='images/ImageEditor/small_square.gif';smallSquare_tl.style.position='absolute';smallSquare_tl.style.left=(-offsetSmallSquares-(cropToolBorderWidth*2))+'px';smallSquare_tl.style.top=(-offsetSmallSquares-(cropToolBorderWidth*2))+'px';smallSquare_tl.style.cursor='nw-resize';smallSquare_tl.id='nw-resize';smallSquare_tl.onmousedown=cropScript_initResize;cropDiv_dotted.appendChild(smallSquare_tl);smallSquare_tr=document.createElement('IMG');smallSquare_tr.src='images/ImageEditor/small_square.gif';smallSquare_tr.style.position='absolute';smallSquare_tr.style.left=(crop_imageWidth-offsetSmallSquares-(cropToolBorderWidth*2))+'px';smallSquare_tr.style.top=(-offsetSmallSquares-(cropToolBorderWidth*2))+'px';smallSquare_tr.style.cursor='ne-resize';smallSquare_tr.id='ne-resize';smallSquare_tr.onmousedown=cropScript_initResize;cropDiv_dotted.appendChild(smallSquare_tr);smallSquare_bl=document.createElement('IMG');smallSquare_bl.src='images/ImageEditor/small_square.gif';smallSquare_bl.style.position='absolute';smallSquare_bl.style.left=(-offsetSmallSquares-(cropToolBorderWidth*2))+'px';smallSquare_bl.style.top=(crop_imageHeight-offsetSmallSquares-(cropToolBorderWidth*2))+'px';smallSquare_bl.style.cursor='sw-resize';smallSquare_bl.id='sw-resize';smallSquare_bl.onmousedown=cropScript_initResize;cropDiv_dotted.appendChild(smallSquare_bl);smallSquare_br=document.createElement('IMG');smallSquare_br.src='images/ImageEditor/small_square.gif';smallSquare_br.style.position='absolute';smallSquare_br.style.left=(crop_imageWidth-offsetSmallSquares-(cropToolBorderWidth*2))+'px';smallSquare_br.style.top=(crop_imageHeight-offsetSmallSquares-(cropToolBorderWidth*2))+'px';smallSquare_br.style.cursor='se-resize';smallSquare_br.id='se-resize';smallSquare_br.onmousedown=cropScript_initResize;cropDiv_dotted.appendChild(smallSquare_br);smallSquare_tc=document.createElement('IMG');smallSquare_tc.src='images/ImageEditor/small_square.gif';smallSquare_tc.style.position='absolute';smallSquare_tc.style.left=(Math.floor(crop_imageWidth/2)-offsetSmallSquares-(cropToolBorderWidth*2))+'px';smallSquare_tc.style.top=(-offsetSmallSquares-(cropToolBorderWidth*2))+'px';smallSquare_tc.style.cursor='s-resize';smallSquare_tc.id='n-resize';smallSquare_tc.onmousedown=cropScript_initResize;cropDiv_dotted.appendChild(smallSquare_tc);smallSquare_bc=document.createElement('IMG');smallSquare_bc.src='images/ImageEditor/small_square.gif';smallSquare_bc.style.position='absolute';smallSquare_bc.style.left=(Math.floor(crop_imageWidth/2)-offsetSmallSquares-(cropToolBorderWidth*2))+'px';smallSquare_bc.style.top=(crop_imageHeight-offsetSmallSquares-(cropToolBorderWidth*2))+'px';smallSquare_bc.style.cursor='s-resize';smallSquare_bc.id='s-resize';smallSquare_bc.onmousedown=cropScript_initResize;cropDiv_dotted.appendChild(smallSquare_bc);smallSquare_lc=document.createElement('IMG');smallSquare_lc.src='images/ImageEditor/small_square.gif';smallSquare_lc.style.position='absolute';smallSquare_lc.style.left=(-offsetSmallSquares-(cropToolBorderWidth*2))+'px';smallSquare_lc.style.top=(Math.floor(crop_imageHeight/2)-offsetSmallSquares-(cropToolBorderWidth*2))+'px';smallSquare_lc.style.cursor='e-resize';smallSquare_lc.id='w-resize';smallSquare_lc.onmousedown=cropScript_initResize;cropDiv_dotted.appendChild(smallSquare_lc);smallSquare_rc=document.createElement('IMG');smallSquare_rc.src='images/ImageEditor/small_square.gif';smallSquare_rc.style.position='absolute';smallSquare_rc.style.left=(crop_imageWidth-offsetSmallSquares-(cropToolBorderWidth*2))+'px';smallSquare_rc.style.top=(Math.floor(crop_imageHeight/2)-offsetSmallSquares-(cropToolBorderWidth*2))+'px';smallSquare_rc.style.cursor='e-resize';smallSquare_rc.id='e-resize';smallSquare_rc.onmousedown=cropScript_initResize;cropDiv_dotted.appendChild(smallSquare_rc);crop_imageDiv.appendChild(cropDiv_dotted);}
function cropScript_initMove(e)
{if(document.all)e=event;if(e.target)source=e.target;else if(e.srcElement)source=e.srcElement;if(source.nodeType==3)
source=source.parentNode;if(source.id&&source.id.indexOf('resize')>=0)return;imageDiv_currentLeft=cropDiv_dotted.style.left.replace('px','')/1;imageDiv_currentTop=cropDiv_dotted.style.top.replace('px','')/1;imageDiv_currentWidth=cropDiv_dotted.style.width.replace('px','')/1;imageDiv_currentHeight=cropDiv_dotted.style.height.replace('px','')/1;cropEvent_eventX=e.clientX;cropEvent_eventY=e.clientY;crop_moveCounter=0;cropScript_timerMove();return false;}
function cropScript_timerMove()
{if(crop_moveCounter>=0&&crop_moveCounter<10){crop_moveCounter++;cropScript_timerMove.defer(1);return;}}
function cropScript_initResize(e)
{if(document.all)e=event;cropDiv_dotted.style.cursor='default';crop_currentResizeType=this.id;cropEvent_eventX=e.clientX;cropEvent_eventY=e.clientY;crop_resizeCounter=0;imageDiv_currentWidth=cropDiv_dotted.style.width.replace('px','')/1;imageDiv_currentHeight=cropDiv_dotted.style.height.replace('px','')/1;imageDiv_currentLeft=cropDiv_dotted.style.left.replace('px','')/1;imageDiv_currentTop=cropDiv_dotted.style.top.replace('px','')/1;cropWidthRatio=cropDiv_dotted.offsetWidth/cropDiv_dotted.offsetHeight;if(crop_script_fixedRatio)cropWidthRatio=crop_script_fixedRatio;if(document.all){var div=cropDiv_dotted.getElementsByTagName('DIV')[0];div.style.display='none';}
cropScript_timerResize();return false;}
function cropScript_timerResize()
{if(crop_resizeCounter>=0&&crop_resizeCounter<10){crop_resizeCounter=crop_resizeCounter+1;cropScript_timerResize.defer(1);return;}}
function crop_cancelEvent(e)
{if(document.all)e=event;if(e.target)source=e.target;else if(e.srcElement)source=e.srcElement;if(source.nodeType==3)
source=source.parentNode;if(source.tagName&&source.tagName.toLowerCase()=='input')return true;return false;}
var mouseMoveEventInProgress=false;function cropScript_mouseMove(e)
{if(mouseMoveEventInProgress)return;if(crop_moveCounter<10&&crop_resizeCounter<10)return;if(document.all)mouseMoveEventInProgress=true;if(document.all)e=event;if(crop_resizeCounter==10){if(crop_currentResizeType=='e-resize'||crop_currentResizeType=='ne-resize'||crop_currentResizeType=='se-resize'){cropDiv_dotted.style.width=Math.max(crop_minimumWidth,(imageDiv_currentWidth+e.clientX-cropEvent_eventX))+'px';}
if(crop_currentResizeType=='s-resize'||crop_currentResizeType=='sw-resize'||crop_currentResizeType=='se-resize'){cropDiv_dotted.style.height=Math.max(crop_minimumHeight,(imageDiv_currentHeight+e.clientY-cropEvent_eventY))+'px';}
if(crop_currentResizeType=='w-resize'||crop_currentResizeType=='sw-resize'||crop_currentResizeType=='nw-resize'){var tmpTop=cropDiv_dotted.style.left.replace('px','')/1;var newTop=Math.max(0,(imageDiv_currentLeft+e.clientX-cropEvent_eventX));var tmpMinWidth=crop_minimumWidth;if(bPreserveAspectRatio)
tmpMinWidth=crop_minimumHeight*cropWidthRatio;if((newTop+tmpMinWidth)>(cropDiv_dotted.style.left.replace('px','')/1+cropDiv_dotted.style.width.replace('px','')/1)){newTop=(cropDiv_dotted.style.left.replace('px','')/1+cropDiv_dotted.style.width.replace('px','')/1)-tmpMinWidth;if(newTop<0)
newTop=0;}
cropDiv_dotted.style.left=newTop+'px';cropDiv_dotted.style.width=(cropDiv_dotted.style.width.replace('px','')/1+tmpTop-cropDiv_dotted.style.left.replace('px','')/1)+'px';}
if(crop_currentResizeType=='n-resize'||crop_currentResizeType=='nw-resize'||crop_currentResizeType=='ne-resize'){var tmpTop=cropDiv_dotted.style.top.replace('px','')/1;var newTop=Math.max(0,(imageDiv_currentTop+e.clientY-cropEvent_eventY));if((newTop+crop_minimumHeight)>(cropDiv_dotted.style.top.replace('px','')/1+cropDiv_dotted.style.height.replace('px','')/1)){newTop=(cropDiv_dotted.style.top.replace('px','')/1+cropDiv_dotted.style.height.replace('px','')/1)-crop_minimumHeight;if(newTop<0)
newTop=0;}
cropDiv_dotted.style.top=newTop+'px';cropDiv_dotted.style.height=(cropDiv_dotted.style.height.replace('px','')/1+tmpTop-cropDiv_dotted.style.top.replace('px','')/1)+'px';}
if((cropDiv_dotted.offsetHeight+(cropToolBorderWidth*2)+cropDiv_dotted.style.top.replace('px','')/1)>crop_imageHeight)
cropDiv_dotted.style.height=(crop_imageHeight-cropDiv_dotted.style.top.replace('px','')/1-(cropToolBorderWidth*2))+'px';if((cropDiv_dotted.offsetWidth+(cropToolBorderWidth*2)+cropDiv_dotted.style.left.replace('px','')/1)>crop_imageWidth)
cropDiv_dotted.style.width=(crop_imageWidth-cropDiv_dotted.style.left.replace('px','')/1-(cropToolBorderWidth*2))+'px';if(e.ctrlKey||crop_script_alwaysPreserveAspectRatio)bPreserveAspectRatio=true;else bPreserveAspectRatio=false;if(bPreserveAspectRatio){resetAspectRatio();}
if(!crop_script_fixedRatio&&!e.ctrlKey)cropWidthRatio=cropDiv_dotted.offsetWidth/cropDiv_dotted.offsetHeight;}
if(crop_moveCounter==10){var tmpLeft=imageDiv_currentLeft+e.clientX-cropEvent_eventX;if(tmpLeft<0)tmpLeft=0;if((tmpLeft+imageDiv_currentWidth+(cropToolBorderWidth*2))>crop_imageWidth)tmpLeft=crop_imageWidth-imageDiv_currentWidth-(cropToolBorderWidth*2);cropDiv_dotted.style.left=tmpLeft+'px';var tmpTop=imageDiv_currentTop+e.clientY-cropEvent_eventY;if(tmpTop<0)tmpTop=0;if((tmpTop+imageDiv_currentHeight+(cropToolBorderWidth*2))>crop_imageHeight)tmpTop=crop_imageHeight-imageDiv_currentHeight-(cropToolBorderWidth*2);cropDiv_dotted.style.top=tmpTop+'px';}
repositionSmallSquares();resizeTransparentSquares();if(updateFormValuesAsYouDrag)cropScript_updateFormValues();mouseMoveEventInProgress=false;}
function resetAspectRatio(){var tmpRatio=cropDiv_dotted.offsetWidth/cropDiv_dotted.offsetHeight;var preWidth=cropDiv_dotted.style.width.replace('px','')/1;var preHeight=cropDiv_dotted.style.height.replace('px','')/1;var tmpWidth=cropDiv_dotted.style.width.replace('px','')/1;var tmpHeight=cropDiv_dotted.style.height.replace('px','')/1;var tmpTop=cropDiv_dotted.style.top.replace('px','')/1;var diff;if(tmpRatio<cropWidthRatio){if(crop_currentResizeType=='e-resize'||crop_currentResizeType=='sw-resize'||crop_currentResizeType=='w-resize'||crop_currentResizeType=='nw-resize'){tmpHeight=Math.floor((cropDiv_dotted.style.width.replace('px','')/1/cropWidthRatio));}else{tmpWidth=Math.floor((cropDiv_dotted.style.height.replace('px','')/1*cropWidthRatio));}}else{if(crop_currentResizeType=='s-resize'||crop_currentResizeType=='n-resize'||crop_currentResizeType=='ne-resize'){tmpWidth=Math.floor((cropDiv_dotted.style.height.replace('px','')/1*cropWidthRatio));}else{tmpHeight=Math.floor((cropDiv_dotted.style.width.replace('px','')/1/cropWidthRatio));}}
if((tmpWidth+2+cropDiv_dotted.style.left.replace('px','')/1)>crop_imageWidth){diff=(tmpWidth+2+cropDiv_dotted.style.left.replace('px','')/1)-crop_imageWidth;tmpWidth=tmpWidth-diff;tmpHeight=Math.floor(tmpWidth/cropWidthRatio);if(crop_currentResizeType=='ne-resize'||crop_currentResizeType=='n-resize'){cropDiv_dotted.style.top=(imageDiv_currentHeight+imageDiv_currentTop-tmpHeight)+'px';}}
if((tmpHeight+2+cropDiv_dotted.style.top.replace('px','')/1)>crop_imageHeight){diff=(tmpHeight+2+cropDiv_dotted.style.top.replace('px','')/1)-crop_imageHeight;tmpHeight=tmpHeight-diff;tmpWidth=Math.floor(tmpHeight*cropWidthRatio);if(crop_currentResizeType=='sw-resize'||crop_currentResizeType=='w-resize'){cropDiv_dotted.style.left=(imageDiv_currentWidth+imageDiv_currentLeft-tmpWidth)+'px';}}
if(tmpHeight<crop_minimumHeight)
{tmpHeight=crop_minimumHeight;tmpWidth=Math.floor(tmpHeight*cropWidthRatio);}
if(crop_currentResizeType=='nw-resize')
{if(tmpHeight!=preHeight)
{diff=preHeight-tmpHeight;tmpTop=tmpTop+diff;if(tmpTop<0){tmpHeight=tmpHeight+diff;tmpWidth=Math.floor(tmpHeight*cropWidthRatio);}else{cropDiv_dotted.style.top=cropDiv_dotted.style.top.replace('px','')/1+diff+'px';}}
if(tmpWidth!=preWidth){diff=preWidth-tmpWidth;cropDiv_dotted.style.left=cropDiv_dotted.style.left.replace('px','')/1+diff+'px';}}
cropDiv_dotted.style.width=tmpWidth+'px';cropDiv_dotted.style.height=tmpHeight+'px';floorCoordinates();}
function floorCoordinates()
{cropDiv_dotted.style.left=Math.floor(cropDiv_dotted.style.left.replace('px','')/1)+'px';cropDiv_dotted.style.top=Math.floor(cropDiv_dotted.style.top.replace('px','')/1)+'px';cropDiv_dotted.style.width=Math.floor(cropDiv_dotted.style.width.replace('px','')/1)+'px';cropDiv_dotted.style.height=Math.floor(cropDiv_dotted.style.height.replace('px','')/1)+'px';}
function repositionSmallSquares()
{smallSquare_tc.style.left=(Math.floor((cropDiv_dotted.style.width.replace('px','')/1+(cropToolBorderWidth*2))/2)-offsetSmallSquares-(cropToolBorderWidth*2))+'px';smallSquare_bc.style.left=(Math.floor((cropDiv_dotted.style.width.replace('px','')/1+(cropToolBorderWidth*2))/2)-offsetSmallSquares-(cropToolBorderWidth*2))+'px';smallSquare_tr.style.left=(cropDiv_dotted.style.width.replace('px','')/1+(cropToolBorderWidth*2)-offsetSmallSquares-(cropToolBorderWidth*2))+'px';smallSquare_rc.style.left=(cropDiv_dotted.style.width.replace('px','')/1+(cropToolBorderWidth*2)-offsetSmallSquares-(cropToolBorderWidth*2))+'px';smallSquare_br.style.left=(cropDiv_dotted.style.width.replace('px','')/1+(cropToolBorderWidth*2)-offsetSmallSquares-(cropToolBorderWidth*2))+'px';smallSquare_br.style.top=(cropDiv_dotted.style.height.replace('px','')/1+(cropToolBorderWidth*2)-offsetSmallSquares-(cropToolBorderWidth*2))+'px';smallSquare_bc.style.top=(cropDiv_dotted.style.height.replace('px','')/1+(cropToolBorderWidth*2)-offsetSmallSquares-(cropToolBorderWidth*2))+'px';smallSquare_bl.style.top=(cropDiv_dotted.style.height.replace('px','')/1+(cropToolBorderWidth*2)-offsetSmallSquares-(cropToolBorderWidth*2))+'px';smallSquare_lc.style.top=(Math.floor((cropDiv_dotted.style.height.replace('px','')/1+cropToolBorderWidth)/2)-offsetSmallSquares-(cropToolBorderWidth*2))+'px';smallSquare_rc.style.top=(Math.floor((cropDiv_dotted.style.height.replace('px','')/1+cropToolBorderWidth)/2)-offsetSmallSquares-(cropToolBorderWidth*2))+'px';}
function resizeTransparentSquares()
{cropDiv_left.style.width=cropDiv_dotted.style.left;cropDiv_right.style.width=Math.max(0,crop_imageWidth-(cropToolBorderWidth*2)-(cropDiv_dotted.style.width.replace('px','')/1+cropDiv_dotted.style.left.replace('px','')/1))+'px';cropDiv_right.style.left=(cropDiv_dotted.style.width.replace('px','')/1+(cropToolBorderWidth*2)+cropDiv_dotted.style.left.replace('px','')/1)+'px';cropDiv_bottom.style.height=Math.max(0,crop_imageHeight-(cropToolBorderWidth*2)-(cropDiv_dotted.style.height.replace('px','')/1+cropDiv_dotted.style.top.replace('px','')/1))+'px';cropDiv_bottom.style.top=(cropDiv_dotted.style.height.replace('px','')/1+(cropToolBorderWidth*2)+cropDiv_dotted.style.top.replace('px','')/1)+'px';cropDiv_top.style.height=cropDiv_dotted.style.top;cropDiv_bottom.style.left=cropDiv_dotted.style.left;cropDiv_bottom.style.width=(cropDiv_dotted.style.width.replace('px','')/1+(cropToolBorderWidth*2))+'px';cropDiv_top.style.left=cropDiv_dotted.style.left;cropDiv_top.style.width=(cropDiv_dotted.style.width.replace('px','')/1+(cropToolBorderWidth*2))+'px';if(cropDiv_left.style.width=='0px')cropDiv_left.style.visibility='hidden';else cropDiv_left.style.visibility='visible';if(cropDiv_right.style.width=='0px')cropDiv_right.style.visibility='hidden';else cropDiv_right.style.visibility='visible';if(cropDiv_bottom.style.width=='0px')cropDiv_bottom.style.visibility='hidden';else cropDiv_bottom.style.visibility='visible';}
function cropScript_updateFormValues()
{cropimage.crop_orgleft=Math.round(cropDiv_dotted.style.left.replace('px','')/1*(crop_originalImageWidth/crop_imageWidth));cropimage.crop_orgtop=Math.round(cropDiv_dotted.style.top.replace('px','')/1*(crop_originalImageHeight/crop_imageHeight));cropimage.crop_orgwidth=Math.round((cropDiv_dotted.style.width.replace('px','')/1+(cropToolBorderWidth*2))*(crop_originalImageWidth/crop_imageWidth));cropimage.crop_orgheight=Math.round((cropDiv_dotted.style.height.replace('px','')/1+(cropToolBorderWidth*2))*(crop_originalImageHeight/crop_imageHeight));cropimage.crop_left=cropDiv_dotted.style.left.replace('px','')/1;cropimage.crop_top=cropDiv_dotted.style.top.replace('px','')/1;cropimage.crop_width=cropDiv_dotted.style.width.replace('px','')/1;cropimage.crop_height=cropDiv_dotted.style.height.replace('px','')/1;}
function cropScript_stopResizeMove(event)
{try{crop_resizeCounter=-1;crop_moveCounter=-1;cropDiv_dotted.style.cursor='move';cropScript_updateFormValues();sc.fireEvent("croppositionchange",{left:cropimage.crop_orgleft,top:cropimage.crop_orgtop,width:cropimage.crop_orgwidth,height:cropimage.crop_orgheight});if(document.all){var div=cropDiv_dotted.getElementsByTagName('DIV')[0];div.style.display='block';}}
catch(e){}}
function cropScript_setCropSizeByInput()
{var obj_x=cropimage.crop_left;var obj_y=cropimage.crop_top;var obj_width=cropimage.crop_width;var obj_height=cropimage.crop_height;if(obj_x.length==0)obj_x=0;if(obj_y.length==0)obj_y=0;if(obj_width.length==0)obj_width=crop_originalImageWidth;if(obj_height.length==0)obj_height.value=crop_originalImageHeight;if(obj_x>(crop_originalImageWidth-crop_minimumWidth))obj_x=crop_originalImageWidth-crop_minimumWidth;if(obj_y>(crop_minimumHeight))obj_y=crop_originalImageHeight-crop_minimumHeight;if(obj_width/1>crop_originalImageWidth)obj_width=crop_originalImageWidth-obj_x/1;if(obj_height/1>crop_originalImageHeight)obj_height=crop_originalImageHeight-obj_y/1;if(obj_x/1+obj_width/1>crop_originalImageWidth)obj_width=crop_originalImageWidth-obj_x;if(obj_y/1+obj_height/1>crop_originalImageHeight)obj_height=crop_originalImageHeight-obj_y;cropDiv_dotted.style.left=Math.round(obj_x/1*(crop_imageWidth/crop_originalImageWidth))+'px';cropDiv_dotted.style.top=Math.round(obj_y/1*(crop_imageHeight/crop_originalImageHeight))+'px';cropDiv_dotted.style.width=Math.round((obj_width/1-(cropToolBorderWidth*2))*(crop_imageWidth/crop_originalImageWidth))+'px';cropDiv_dotted.style.height=Math.round((obj_height/1-(cropToolBorderWidth*2))*(crop_imageHeight/crop_originalImageHeight))+'px';if(crop_script_alwaysPreserveAspectRatio){cropWidthRatio=crop_script_fixedRatio;resetAspectRatio();}
repositionSmallSquares();resizeTransparentSquares();}
function cropScript_setBasicEvents()
{document.documentElement.ondragstart=crop_cancelEvent;document.documentElement.onselectstart=crop_cancelEvent;document.documentElement.onmousemove=cropScript_mouseMove;document.documentElement.onmouseup=cropScript_stopResizeMove;}
function cropScript_validatePercent()
{this.value=this.value.replace(/[^0-9]/gi,'');if(this.value.length==0)this.value='1';if(this.value/1>crop_maximumPercent)this.value='100';if(this.value/1<crop_minimumPercent)this.value=crop_minimumPercent}
function crop_progressBar()
{var div=document.getElementById('crop_progressBar');var subDiv=document.createElement('DIV');div.appendChild(subDiv);subDiv.style.position='absolute';subDiv.className='crop_progressBar_parentBox';subDiv.style.left='0px';var progressBarSquare=document.createElement('DIV');progressBarSquare.className='progressBar_square';subDiv.appendChild(progressBarSquare);var progressBarSquare=document.createElement('DIV');progressBarSquare.className='progressBar_square';subDiv.appendChild(progressBarSquare);var progressBarSquare=document.createElement('DIV');progressBarSquare.className='progressBar_square';subDiv.appendChild(progressBarSquare);crop_progressBarMove();crop_hideProgressBar();}
function crop_hideProgressBar()
{document.getElementById('crop_progressBar').style.visibility='hidden';}
function crop_startProgressBar()
{var div=document.getElementById('crop_progressBar').getElementsByTagName('DIV')[0];div.style.left='0px';document.getElementById('crop_progressBar').style.visibility='visible';}
function crop_progressBarMove()
{var div=document.getElementById('crop_progressBar').getElementsByTagName('DIV')[0];var left=div.style.left.replace('px','')/1;left=left+1;if(left>div.parentNode.clientWidth)left=0-div.clientWidth;div.style.left=left+'px';setTimeout('crop_progressBarMove()',20);}
this.init=function()
{cropimage=image;setOriginalSize(cropimage.crop_originalImageWidth,cropimage.crop_originalImageHeight);preserveAspectRatio(cropimage.PreserveAspectRatio);setAspectRatio(cropimage.fixedRatio);setMinimumHeight(cropimage.crop_minimumHeight);setMinimumWidth(cropimage.crop_minimumWidth);cropScript_setBasicEvents();crop_createDivElements();cropScript_setCropSizeByInput();cropScript_updateFormValues();cropDiv_right.style.visibility='hidden';cropDiv_left.style.visibility='hidden';cropDiv_bottom.style.visibility='hidden';cropDiv_top.style.visibility='hidden';cropDiv_dotted.style.visibility='hidden';}
this.turnOffCrop=function()
{cropDiv_right.style.visibility='hidden';cropDiv_left.style.visibility='hidden';cropDiv_bottom.style.visibility='hidden';cropDiv_top.style.visibility='hidden';cropDiv_dotted.style.visibility='hidden';}
this.turnOnCrop=function()
{sc.fireEvent("croppositionchange",{left:cropimage.crop_orgleft,top:cropimage.crop_orgtop,width:cropimage.crop_orgwidth,height:cropimage.crop_orgheight});cropDiv_right.style.visibility='visible';cropDiv_left.style.visibility='visible';cropDiv_bottom.style.visibility='visible';cropDiv_top.style.visibility='visible';cropDiv_dotted.style.visibility='visible';}
this.getActualCrop_Coordinates=function()
{var val=cropimage.getOriginalCroppingCoordinates();return val}}
Ext.extend(PP.editor.ImageCrop,Ext.util.Observable);

Ext.ns("PP","PP.editor");PP.editor.ImageEditor=function(config,imageEditorUI)
{var originalFileInfo;var fileInfo;var cimage;var loadingBar;var imageCrop;var cropFormat;var selectedDynamicImageFormatId=null;var inputActions=[];var outputActions=[];var originalWidth=config.assetMetadata.metadataFields.getById("PixelWidth").get("Values")[0].Value;var originalHeight=config.assetMetadata.metadataFields.getById("PixelHeight").get("Values")[0].Value;var originalDpi=parseInt(config.assetMetadata.metadataFields.getById("DPI").get("Values")[0].Value);var editorWidth=480;var editorHeight=420;this.addEvents({"croppositionchange":true});function setDisplay()
{var filename=config.assetMetadata.metadataFields.getById("OriginalFilename").get("Values")[0].Value;var colorSpace=config.assetMetadata.metadataFields.getById("Color").get("Values")[0].Value;document.getElementById("lblImgName_"+config.uniqueId).innerHTML="<b>"+filename+"</b>";document.getElementById("lblImgColorspace_"+config.uniqueId).innerHTML="<b>"+colorSpace+"</b>";document.getElementById("lblImgSize_"+config.uniqueId).innerHTML="<b>"+originalWidth+" x "+originalHeight+" px</b>";}
this.cropScript=function(record)
{if(!cimage)
{cimage=new PP.editor.Image();imageCrop=new PP.editor.ImageCrop(cimage);imageCrop.on('croppositionchange',function(position){this.fireEvent("croppositionchange",position);},this);}
else
imageCrop.turnOffCrop();imageCrop.setSize(document.getElementById("editImg_"+config.uniqueId).width,document.getElementById("editImg_"+config.uniqueId).height);cimage.setOriginalSize(originalWidth,originalHeight);if(record&&(record.get("Width")&&record.get("Height")))
{cropFormat=record;cimage.preserveAspectRatio(true);cimage.setAspectRatio(record.get("Width"),record.get("Height"));if(record.get("FixedSize"))
cimage.setMinimumCropOriginal(record.get("Width"),record.get("Height"));else
cimage.setMinimumCrop(10,10);}
else
{cimage.preserveAspectRatio(false);cimage.setMinimumCrop(10,10);}
cimage.setInitialCropping(0,0,originalWidth,originalHeight);imageCrop.init();}
this.getCrop=function()
{return imageCrop;}
this.getOriginalFileInfo=function()
{return{Width:originalWidth,Height:originalHeight,Dpi:originalDpi};}
this.updateCorpValues=function(left,top,width,height)
{left=left<0?0:left;top=top<0?0:top;this.fireEvent("croppositionchange",{left:left,top:top,width:width,height:height});}
this.rotateLeft=function()
{this.showLoading();inputActions.push({"__type":"RotateInputAction:#PP.Common.DataContract.ImageRendering",Angle:270});this.render();}
this.rotateRight=function()
{this.showLoading();inputActions.push({"__type":"RotateInputAction:#PP.Common.DataContract.ImageRendering",Angle:90});this.render();}
this.resizeCropCoordinates=function(action){var previewMaxWidth=originalWidth<1200?originalWidth:1200;var previewMaxHeight=originalHeight<1200?originalHeight:1200;var widthHeightFactor=originalWidth/originalHeight;var factor;if(widthHeightFactor>1)
factor=previewMaxWidth/originalWidth;else
factor=previewMaxHeight/originalHeight;action.X=parseInt(action.X*factor);action.Y=parseInt(action.Y*factor);action.Width=parseInt(action.Width*factor);action.Height=parseInt(action.Height*factor);return action;}
this.render=function(){var inputActionsClone=Ext.ux.clone(inputActions);Ext.each(inputActionsClone,function(action){if(action["__type"]=="CropInputAction:#PP.Common.DataContract.ImageRendering"){action=this.resizeCropCoordinates(action);}},this);Ext.Ajax.request({url:'../Webservice/ImageRenderingService.svc/CreatePreview',params:{task:{AssetId:config.assetRecord.get("AssetId"),InputActions:inputActionsClone,Outputs:[{OutputFileFormat:1,OutputColorProfile:6,ColorTransformationIntent:4,Resolution:72,AlphaHandling:0,OutputActions:[{"__type":"ResizeOutputAction:#PP.Common.DataContract.ImageRendering",Width:editorWidth,Height:editorHeight}]}]}},success:actionResult,scope:this});}
this.flipVertically=function()
{this.showLoading();inputActions.push({"__type":"FlipInputAction:#PP.Common.DataContract.ImageRendering",FlipType:1});this.render();}
this.flipHorizontally=function()
{this.showLoading();inputActions.push({"__type":"FlipInputAction:#PP.Common.DataContract.ImageRendering",FlipType:0});this.render();}
this.blur=function(radius,type)
{this.showLoading();inputActions.push({"__type":"BlurInputAction:#PP.Common.DataContract.ImageRendering",Radius:radius,BlurType:type});this.render();}
this.sharpen=function(sharpen)
{this.showLoading();inputActions.push({"__type":"SharpnessInputAction:#PP.Common.DataContract.ImageRendering",Strength:sharpen});this.render();}
this.contrast=function(contrast)
{this.showLoading();inputActions.push({"__type":"ContrastInputAction:#PP.Common.DataContract.ImageRendering",Contrast:(contrast-50)/50});this.render();}
this.brightness=function(brightness)
{this.showLoading();inputActions.push({"__type":"BrightnessInputAction:#PP.Common.DataContract.ImageRendering",Brightness:(brightness-50)/50});this.render();}
this.saturation=function(saturation)
{this.showLoading();inputActions.push({"__type":"SaturationInputAction:#PP.Common.DataContract.ImageRendering",Saturation:(saturation-50)/50});this.render();}
this.showLoading=function()
{loadingBar=Ext.MessageBox.show({title:Locale.ImageEditor.CreatingPreview,msg:Locale.ImageEditor.MessageCreatingPreview,width:300,wait:true,waitConfig:{interval:200},modal:false});}
this.crop=function(record)
{this.showLoading();var cropInfo={"__type":"CropInputAction:#PP.Common.DataContract.ImageRendering"};Ext.apply(cropInfo,imageCrop.getActualCrop_Coordinates());inputActions.push(cropInfo);if(record&&record.get("FixedSize"))
{inputActions.push({"__type":"ResizeInputAction:#PP.Common.DataContract.ImageRendering",Width:record.get("Width"),Height:record.get("Height")});}
this.showLoading();this.render();}
this.resize=function(width,height)
{this.showLoading();inputActions.push({"__type":"ResizeInputAction:#PP.Common.DataContract.ImageRendering",Width:width,Height:height});this.render();}
this.undoOperation=function()
{this.showLoading();inputActions.pop();this.render();}
this.replace=function(extension,fileFormat,colorSpace,colorProfile,resolution)
{this.showLoading();Ext.Ajax.request({url:'../Webservice/ImageRenderingService.svc/UpdateAsset',params:{task:{AssetId:config.assetRecord.get("AssetId"),InputActions:inputActions,Outputs:[{OutputFileFormat:fileFormat,OutputColorProfile:colorProfile,ColorTransformationIntent:4,Resolution:resolution,AlphaHandling:0,OutputActions:[]}]}},success:function(response){loadingBar.hide();Ext.Msg.alert(Locale.ImageEditor.Replaced,Locale.ImageEditor.ReplacedMessage);},scope:this});}
this.download=function(extension,fileFormat,colorSpace,colorProfile,resolution)
{this.showLoading();Ext.Ajax.request({url:'../Webservice/ImageRenderingService.svc/CreateDownload',params:{task:{AssetId:config.assetRecord.get("AssetId"),InputActions:inputActions,Outputs:[{OutputFileFormat:fileFormat,OutputColorProfile:colorProfile,ColorTransformationIntent:4,Resolution:resolution,AlphaHandling:0,OutputActions:[]}]}},success:function(response){var r=Ext.decode(response.responseText);loadingBar.hide();var oDownloadDlg=new Download(config.controller);oDownloadDlg.showDownload(r.URL,r.FileSize);},scope:this});}
this.save=function(extension,fileFormat,colorSpace,colorProfile,resolution,categoryId){this.showLoading();Ext.Ajax.request({url:'../Webservice/ImageRenderingService.svc/CreateAsset',params:{task:{AssetId:config.assetRecord.get("AssetId"),InputActions:inputActions,Outputs:[{OutputFileFormat:fileFormat,OutputColorProfile:colorProfile,ColorTransformationIntent:4,Resolution:resolution,AlphaHandling:0,OutputActions:[]}]},categoryIds:[categoryId]},success:function(response){loadingBar.hide();Ext.Msg.alert(Locale.ImageEditor.Saved,Locale.ImageEditor.SavedMessage);},scope:this});}
this.showEdited=function(extension,fileFormat,colorSpace,colorProfile,resolution)
{function loadImage(message){this.showLoading();Ext.Ajax.request({url:'../Webservice/ImageRenderingService.svc/CreateDownload',params:{task:{AssetId:config.assetRecord.get("AssetId"),InputActions:inputActions,Outputs:[{OutputFileFormat:fileFormat,OutputColorProfile:colorProfile,ColorTransformationIntent:4,Resolution:resolution,AlphaHandling:0,OutputActions:[]}]}},success:function(response){loadingBar.hide();var r=Ext.decode(response.responseText);var contentPanel=imageEditorUI.getContentPanel();contentPanel.remove(0,true);var previewPanel=new Ext.Panel({border:false,tbar:new Ext.Toolbar([{cls:'x-btn-text-icon bmenu',iconCls:'t-sprite x-toolbar-download',text:Locale.ImageEditor.Download,scope:this,handler:function(){var oDownloadDlg=new Download({});oDownloadDlg.showDownload(r.URL,r.FileSize);}}]),html:'<iframe frameborder=0 width=100% height=100% src="'+r.URL+'"></iframe>'});contentPanel.add(previewPanel);contentPanel.doLayout();},scope:this});}
if(selectedDynamicImageFormatId&&selectedDynamicImageFormatId.get("TrackUsagePurpose"))
{var assetManager=new PP.asset.Manager({controller:config.controller});assetManager.trackUsagePurpose(loadImage.createDelegate(this));}
else
{loadImage.call(this);}}
this.SetAspectRatio=function(record)
{selectedDynamicImageFormatId=record;imageCrop.turnOffCrop();this.cropScript(record);imageCrop.turnOnCrop();}
this.load=function()
{this.showLoading();Ext.Ajax.request({url:'../Webservice/ImageRenderingService.svc/CreatePreview',params:{task:{AssetId:config.assetRecord.get("AssetId"),InputActions:[],Outputs:[{OutputFileFormat:1,OutputColorProfile:6,ColorTransformationIntent:4,Resolution:72,AlphaHandling:0,OutputActions:[{"__type":"ResizeOutputAction:#PP.Common.DataContract.ImageRendering",Width:editorWidth,Height:editorHeight}]}]}},success:function(response){var r=Ext.util.JSON.decode(response.responseText);document.getElementById("editImg_"+config.uniqueId).src=r.value;this.cropScript();setDisplay();loadingBar.hide();if(config.selectedDynamicFormat)
imageEditorUI.showCropDlg.defer(600,this);},scope:this});}
function actionResult(response)
{if(loadingBar)
loadingBar.hide();r=Ext.util.JSON.decode(response.responseText);document.getElementById("editImg_"+config.uniqueId).src=r.value;setDisplay();if(config.selectedDynamicFormat)
this.showEdited('jpg',1,1,1,cropFormat.get("Resolution"));}
function GetCorrespondingMinusOneToOneVal(percent)
{var val=Math.round(percent)/100;val=(val*2)-1;val=Math.round(val*100)/100;return val;}}
Ext.extend(PP.editor.ImageEditor,Ext.util.Observable);

Ext.ns("PP","PP.editor");PP.editor.ImageEditorUI=function(config){var layout,saveDlg,resizeDialog,sharpenDlg,brightnessDlg,saturationDlg,contrastDlg;var cropDialog;var blurDialog,sharpenDialog;var toolbox;var tb;var imageEditor=new PP.editor.ImageEditor(config,this);var config;var contentPanel;var dynamicFormats={formats:[]};this.init=function(){imageEditor.load();}
this.getImageEditor=function(){return imageEditor;}
this.getDynamicFormats=function()
{return dynamicFormats;}
this.getPanel=function()
{if(config.showToolbar)
{var toolbarItems=[];toolbarItems.push({iconCls:'t-sprite x-toolbar-download',text:Locale.ImageEditor.Download,tooltip:Locale.ImageEditor.tt_Download,scope:this,handler:function(){this.showSaveDlg("download");}});if(config.allowSaveAsset&&config.controller.canUpload())
toolbarItems.push({iconCls:'t-sprite x-toolbar-save',text:Locale.ImageEditor.NewAsset,tooltip:Locale.ImageEditor.tt_NewAsset,scope:this,handler:function(){this.showSaveDlg("save");}});if(config.allowReplaceAsset&&config.assetRecord.get("IsEditable"))
toolbarItems.push({iconCls:'t-sprite x-toolbar-save',text:Locale.ImageEditor.ReplaceAsset,tooltip:Locale.ImageEditor.tt_ReplaceAsset,scope:this,handler:function(){this.showSaveDlg("replace");}});tb=new Ext.Toolbar({items:toolbarItems});}
var panels=[]
if(config.showToolbox)
{toolbox=new Ext.Panel({region:'west',bodyStyle:'background-color: #eeeeee',layout:'table',title:' ',collapsible:true,split:false,border:true,margins:'1 1 1 1',cmargins:'1 1 1 1',width:60,minSize:60,maxSize:60,defaults:{bodyStyle:'padding:3px; padding-right: 1px; background-color: #eeeeee',border:false},layoutConfig:{columns:2},items:[{items:new Ext.Button({cls:'x-btn-icon',icon:'images/ImageEditor/crop.gif',handler:this.showCropDlg,tooltip:Locale.ImageEditor.tt_crop})},{items:new Ext.Button({cls:'x-btn-icon',icon:'images/ImageEditor/resize.gif',handler:this.showResizeDlg,tooltip:Locale.ImageEditor.tt_resize})},{html:'<img src="images/ImageEditor/tooSpacer.gif" width=52 height=2>',colspan:2},{items:new Ext.Button({cls:'x-btn-icon',icon:'images/ImageEditor/rotate_left.gif',handler:this.rotateLeft,tooltip:Locale.ImageEditor.tt_rotateleft})},{items:new Ext.Button({cls:'x-btn-icon',icon:'images/ImageEditor/rotate_right.gif',handler:this.rotateRight,tooltip:Locale.ImageEditor.tt_rotateRight})},{items:new Ext.Button({cls:'x-btn-icon',icon:'images/ImageEditor/flip_v.gif',padding:4,handler:this.flipVertically,tooltip:Locale.ImageEditor.tt_flipVertically})},{items:new Ext.Button({cls:'x-btn-icon',icon:'images/ImageEditor/flip_h.gif',handler:this.flipHorizontally,tooltip:Locale.ImageEditor.tt_flipHorizontally})},{html:'<img src="images/ImageEditor/tooSpacer.gif" width=52 height=2>',colspan:2},{items:new Ext.Button({cls:'x-btn-icon',icon:'images/ImageEditor/blur.gif',handler:this.showBlurDlg,tooltip:Locale.ImageEditor.tt_blur})},{items:new Ext.Button({cls:'x-btn-icon',icon:'images/ImageEditor/sharpen.gif',handler:this.showSharpenDlg,tooltip:Locale.ImageEditor.tt_sharpen})},{html:'<img src="images/ImageEditor/tooSpacer.gif" width=52 height=2>',colspan:2},{items:new Ext.Button({cls:'x-btn-icon',icon:'images/ImageEditor/contr_up.gif',handler:this.showContrastDlg,bodyStyle:'text-align:center',tooltip:Locale.ImageEditor.tt_Contrast}),colspan:2},{html:'<img src="images/ImageEditor/tooSpacer.gif" width=52 height=2>',colspan:2},{items:new Ext.Button({cls:'x-btn-icon',icon:'images/ImageEditor/bright.gif',handler:this.showBrightnessDlg,tooltip:Locale.ImageEditor.tt_BrightnessDlg})},{items:new Ext.Button({cls:'x-btn-icon',icon:'images/ImageEditor/saturation.gif',handler:this.showSaturationDlg,tooltip:Locale.ImageEditor.tt_showSaturationDlg})},{html:'<img src="images/ImageEditor/tooSpacer.gif" width=52 height=2>',colspan:2},{items:new Ext.Button({cls:'x-btn-icon',icon:'images/ImageEditor/undo.gif',handler:this.undo,bodyStyle:'text-align:center',tooltip:Locale.ImageEditor.tt_undo}),colspan:2,align:'center'},{html:'<img src="images/ImageEditor/tooSpacer.gif" width=52 height=2>',colspan:2}]});panels.push(toolbox);}
if(config.showToolbar)
{panels.push({region:'north',border:false,height:27,items:tb});}
var information={region:'east',bodyStyle:'padding: 5px',html:String.format('<label id="lblImgName_{0}"></label><br><br>'+Locale.ImageEditor.ColorSpace+':<br><label id="lblImgColorspace_{0}"></label><br><br>'+Locale.ImageEditor.Size+':<br><label id="lblImgSize_{0}"></label>',config.uniqueId),collapsible:true,split:true,border:true,margins:'1 1 1 0',cmargins:'1 1 1 1',width:195,minSize:100,maxSize:400}
if(config.showTitles)
information.title=Locale.ImageEditor.Information;panels.push(information);var imagePanel={region:'center',autoScroll:true,border:true,margins:'1 0 1 1',bodyStyle:'padding: 4px',html:String.format('<div id="imageContainer" style="Width:480px; Height:420px" ><img id="editImg_{0}" /></div>',config.uniqueId)}
panels.push(imagePanel);contentPanel=new Ext.Panel({layout:'fit',border:false,items:{border:false,layout:'border',items:panels}});return contentPanel;}
this.getContentPanel=function()
{return contentPanel;}
this.showSaveDlg=function(type){var fileFormats={formats:[{Name:'JPEG',FormatId:1},{Name:'TIFF',FormatId:2},{Name:'PNG',FormatId:3}]};var fileFormatsDS=new Ext.data.Store({proxy:new Ext.data.MemoryProxy(fileFormats),reader:new Ext.data.JsonReader({root:'formats',id:'FormatId'},[{name:'Name',mapping:'Name'},{name:'FormatId',mapping:'FormatId'}])});fileFormatsDS.load();var fileFormat=new Ext.form.ComboBox({fieldLabel:Locale.ImageEditor.Format,store:fileFormatsDS,displayField:'Name',valueField:'FormatId',selectOnFocus:true,editable:false,width:200,triggerAction:'all',value:1,mode:'local'});fileFormat.on('select',function(combo,record,index){if(record.get('Name')=='PNG')
colorSpacesDS.loadData({colorspaces:[{Name:'RGB',ColorSpaceId:1}]});else
colorSpacesDS.loadData(colorSpaces);},this);var colorSpaces={colorspaces:[{Name:'RGB',ColorSpaceId:1},{Name:'CMYK',ColorSpaceId:2}]};var colorSpacesDS=new Ext.data.Store({proxy:new Ext.data.MemoryProxy(colorSpaces),reader:new Ext.data.JsonReader({root:'colorspaces'},[{name:'Name',mapping:'Name'},{name:'ColorSpaceId',mapping:'ColorSpaceId'}])});colorSpacesDS.load();var colorSpace=new Ext.form.ComboBox({fieldLabel:Locale.ImageEditor.ColorSpace,store:colorSpacesDS,displayField:'Name',valueField:'ColorSpaceId',selectOnFocus:true,editable:false,width:200,triggerAction:'all',value:1,mode:'local'});colorSpace.on('select',function(combo,record,index){if(record.get('Name')=='RGB')
{colorProfilesDS.loadData(colorProfilesRGB);colorProfile.setValue(1);}
else
{colorProfilesDS.loadData(colorProfilesCMYK);colorProfile.setValue(9);}},this);var colorProfilesRGB={colorprofiles:[{Name:'sRGB',ProfileId:6},{Name:'AdobeRGB1998',ProfileId:1},{Name:'EciRGBv1',ProfileId:4},{Name:'EciRGBv2',ProfileId:5}]};var colorProfilesCMYK={colorprofiles:[{Name:'EuroscaleCoated',ProfileId:9},{Name:'ICOCoated',ProfileId:11},{Name:'ISOCoatedECIv2',ProfileId:11},{Name:'USWebCoatedSWOP',ProfileId:19},{Name:'USWebUncoated',ProfileId:20}]};var colorProfilesDS=new Ext.data.Store({proxy:new Ext.data.MemoryProxy(colorProfilesRGB),reader:new Ext.data.JsonReader({root:'colorprofiles'},[{name:'Name',mapping:'Name'},{name:'ProfileId',mapping:'ProfileId'}])});colorProfilesDS.load();var colorProfile=new Ext.form.ComboBox({fieldLabel:Locale.ImageEditor.Profile,store:colorProfilesDS,displayField:'Name',valueField:'ProfileId',selectOnFocus:true,editable:false,width:200,triggerAction:'all',value:6,mode:'local'});var resolutions={resolutions:[{Name:Locale.ImageEditor.OriginalImage+' ('+imageEditor.getOriginalFileInfo().Dpi+')',Resolution:imageEditor.getOriginalFileInfo().Dpi},{Name:Locale.ImageEditor.ScreenDPI+' (72)',Resolution:72},{Name:Locale.ImageEditor.PrintDPI+' (150)',Resolution:150},{Name:Locale.ImageEditor.PressDPI+' (300)',Resolution:300}]};var resolutionsDS=new Ext.data.Store({proxy:new Ext.data.MemoryProxy(resolutions),reader:new Ext.data.JsonReader({root:'resolutions'},[{name:'Name',mapping:'Name'},{name:'Resolution',mapping:'Resolution'}])});resolutionsDS.load();var resolution=new Ext.form.ComboBox({fieldLabel:Locale.ImageEditor.Resolution,store:resolutionsDS,displayField:'Name',valueField:'Resolution',selectOnFocus:true,width:200,triggerAction:'all',value:imageEditor.getOriginalFileInfo().Dpi,mode:'local'});var saveForm=new Ext.form.FormPanel({border:false,region:'center',bodyStyle:'padding:5px',labelWidth:70,defaultType:'textfield',items:[fileFormat,colorSpace,colorProfile,resolution]});saveDialog=new Ext.Window({title:Locale.ImageEditor.Save,width:350,height:200,resizable:false,modal:true,layout:'border',items:[saveForm],buttons:[{text:Locale.ImageEditor.OK,handler:function(){var extension=fileFormatsDS.getById(fileFormat.getValue()).get("Name");var imageResolution=isNaN(resolution.getRawValue())?resolution.getValue():resolution.getRawValue();if(type=="download")
imageEditor.download(extension,fileFormat.getValue(),colorSpace.getValue(),colorProfile.getValue(),imageResolution);else if(type=="replace")
imageEditor.replace(extension,fileFormat.getValue(),colorSpace.getValue(),colorProfile.getValue(),imageResolution);else if(type=="save"){var oBrowseCategories=new PP.category.SelectionDialog({controller:config.controller,multiSelect:false},this);oBrowseCategories.show(Locale.ImageEditor.SaveIn,"x");oBrowseCategories.on("selected",function(selectedNode){imageEditor.save(extension,fileFormat.getValue(),colorSpace.getValue(),colorProfile.getValue(),imageResolution,selectedNode[0].attributes.CategoryId);},this);}
saveDialog.close();}},{text:Locale.ImageEditor.Cancel,handler:function(){saveDialog.close();}}]});saveDialog.show();}
this.rotateLeft=function()
{imageEditor.rotateLeft();}
this.rotateRight=function()
{imageEditor.rotateRight();}
this.flipVertically=function()
{imageEditor.flipVertically();}
this.flipHorizontally=function()
{imageEditor.flipHorizontally();}
this.undo=function()
{imageEditor.undoOperation();}
this.showResizeDlg=function(){var fieldWidth,fieldHeight;var fileFormat=new Ext.data.Store({})
var resizeForm=new Ext.form.FormPanel({border:false,region:'center',bodyStyle:'padding:5px',labelWidth:50,defaultType:'textfield',items:[fieldWidth=new Ext.form.NumberField({fieldLabel:Locale.ImageEditor.Width,name:'width',allowBlank:false,value:imageEditor.getOriginalFileInfo().Width}),fieldHeight=new Ext.form.NumberField({fieldLabel:Locale.ImageEditor.Height,name:'height',allowBlank:false,value:imageEditor.getOriginalFileInfo().Height})]});fieldWidth.on('change',function(field,newValue,oldValue){fieldHeight.setValue(parseInt(fieldHeight.getValue()*(newValue/oldValue)));},this);fieldHeight.on('change',function(field,newValue,oldValue){fieldWidth.setValue(parseInt(fieldWidth.getValue()*(newValue/oldValue)));},this);resizeDialog=new Ext.Window({title:Locale.ImageEditor.Resize,width:220,height:145,resizable:false,modal:true,layout:'border',items:[resizeForm],buttons:[{text:Locale.ImageEditor.OKResize,handler:function(){imageEditor.resize(fieldWidth.value,fieldHeight.value);resizeDialog.close();}},{text:Locale.ImageEditor.Cancel,handler:function(){resizeDialog.close();}}]});resizeDialog.show();}
this.showCropDlg=function(){var selectedFormat;if(!config.selectedDynamicFormat)
{dynamicFormats.formats=[{Index:0,Name:Locale.ImageEditor.None,FixedSize:false,Custom:false,Width:0,Height:0,ColorSpace:'rgb',ColorProfile:'sRGB.icm',Resolution:66},{Index:-1,Name:Locale.ImageEditor.Custom,FixedSize:false,Custom:true,Width:0,Height:0,ColorSpace:'rgb',ColorProfile:'sRGB.icm',Resolution:66}];};for(var i=0;i<config.dynamicFormats.getTotalCount();i++)
{dynamicFormats.formats.push({Name:config.dynamicFormats.getAt(i).get("Name"),Index:config.dynamicFormats.getAt(i).get("Index"),FixedSize:true,Custom:false,Width:config.dynamicFormats.getAt(i).get("PixelWidth"),Height:config.dynamicFormats.getAt(i).get("PixelHeight"),ColorSpace:'rgb',ColorProfile:'sRGB.icm',TrackUsagePurpose:config.dynamicFormats.getAt(i).get("TrackUsagePurpose"),Resolution:config.dynamicFormats.getAt(i).get("Resolution")});}
var dynamicImageFormats=new Ext.data.Store({proxy:new Ext.data.MemoryProxy(dynamicFormats),reader:new Ext.data.JsonReader({root:'formats',id:'Index'},[{name:'Name',mapping:'Name'},{name:'Index',mapping:'Index'},{name:'FixedSize',mapping:'FixedSize'},{name:'Custom',mapping:'Custom'},{name:'Width',mapping:'Width'},{name:'Height',mapping:'Height'},{name:'TrackUsagePurpose',mapping:'TrackUsagePurpose'},{name:'Resolution',mapping:'Resolution'}])});dynamicImageFormats.load();var aspect=new Ext.form.ComboBox({fieldLabel:Locale.ImageEditor.Aspect,store:dynamicImageFormats,displayField:'Name',selectOnFocus:true,autoHeight:true,editable:false,valueField:'Index',width:180,triggerAction:'all',mode:'local',plugins:new PP.widget.FieldTooltipPlugin({header:false,position:'bottom',title:false,html:Locale.ImageEditor.tt_Aspect})});aspect.on('select',function(combo,record,index){selectedFormat=record;if(record.get("Custom"))
customAspect.expand(true);else
if(!customAspect.collapsed)
customAspect.collapse(true);imageEditor.SetAspectRatio(selectedFormat);},this);var customWidth,customHeight;var customAspect=new Ext.Panel({layout:'column',width:270,autoHeight:true,collapsed:true,border:false,items:[{layout:'form',border:false,width:180,items:[customWidth=new Ext.form.TextField({fieldLabel:Locale.ImageEditor.Custom,allowBlank:false,name:'width',msgTarget:'qtip',autoScroll:false,value:'0',width:50,plugins:new PP.widget.FieldTooltipPlugin({header:false,position:'bottom',title:false,html:Locale.ImageEditor.tt_Custom})})]},{layout:'form',width:90,border:false,items:[customHeight=new Ext.form.TextField({style:'margin-left:2px;',allowBlank:false,name:'height',hideLabel:true,msgTarget:'qtip',hideLabel:true,value:'0',width:60,plugins:new PP.widget.FieldTooltipPlugin({header:false,position:'bottom',title:false,html:Locale.ImageEditor.tt_Custom2})})]}]});var table=new Ext.Panel({title:Locale.ImageEditor.CropDimensions,layout:'table',autoHeight:true,defaults:{bodyStyle:'padding:2px; margin: 2px'},layoutConfig:{columns:4},items:[{html:Locale.ImageEditor.Left,width:45},{html:'0',id:'left',width:90},{html:Locale.ImageEditor.Width,width:50},{html:'0',id:'width',width:85},{html:Locale.ImageEditor.Top,width:45},{html:'0',id:'top',width:90},{html:Locale.ImageEditor.Height,width:50},{html:'0',id:'height',width:85}]});imageEditor.on('croppositionchange',function(position){table.getComponent('left').body.update(position.left+"");table.getComponent('width').body.update(position.width+"");table.getComponent('top').body.update(position.top+"");table.getComponent('height').body.update(position.height+"");},this);customWidth.on('change',function(field,newValue,oldValue){selectedFormat.set("Width",newValue);imageEditor.SetAspectRatio(selectedFormat);},this);customHeight.on('change',function(field,newValue,oldValue){selectedFormat.set("Height",newValue);imageEditor.SetAspectRatio(selectedFormat);},this);cropDialog=new Ext.Window({title:Locale.ImageEditor.Crop,width:310,autoHeight:true,resizeable:false,items:{xtype:'form',autoHeight:true,border:false,bodyStyle:'padding:5px',labelWidth:100,items:[{frame:true,autoHeight:true,html:Locale.ImageEditor.CropMessage},{border:false,height:10},aspect,customAspect,table]},buttons:[{text:Locale.ImageEditor.OKCrop,scope:this,handler:function(){imageEditor.crop(selectedFormat);cropDialog.close();}},{text:Locale.ImageEditor.Cancel,scope:this,handler:function(){if(cropDialog)
cropDialog.close();}}]});cropDialog.on("close",function(){if(config.showToolbox)
toolbox.enable();if(config.showToolbar)
tb.enable();imageEditor.getCrop().turnOffCrop();},this)
if(config.showToolbox)
toolbox.disable();if(config.showToolbar)
tb.disable();var pos=contentPanel.getPosition()
cropDialog.setPosition(pos[0]+480,pos[1]+120);cropDialog.show();imageEditor.cropScript();imageEditor.getCrop().turnOnCrop();if(config.selectedDynamicFormat)
{aspect.setValue(config.selectedDynamicFormat);aspect.fireEvent("select",aspect,dynamicImageFormats.getById(config.selectedDynamicFormat),1);}}
this.showBlurDlg=function(){var slider=null;slider=new Ext.Slider({name:'slider1',minValue:1,hideLabel:true,value:40,maxValue:100});blurDialog=new Ext.Window({title:Locale.ImageEditor.Blur,width:270,height:100,resizeable:false,modal:true,layout:'border',items:{xtype:'form',region:'center',border:false,bodyStyle:'padding:5px',defaults:{width:240},labelWidth:60,items:[slider]},buttons:[{text:Locale.ImageEditor.OK,scope:this,handler:function(){imageEditor.blur(slider.getValue(),0);blurDialog.close();}},{text:Locale.ImageEditor.Cancel,scope:this,handler:function(){blurDialog.close();}}]});blurDialog.show();}
this.showSharpenDlg=function(){var slider=null;slider=new Ext.Slider({name:'slider1',minValue:1,hideLabel:true,value:30,maxValue:100});sharpenDialog=new Ext.Window({title:Locale.ImageEditor.Sharpen,width:270,height:100,resizeable:false,modal:true,layout:'border',items:{xtype:'form',region:'center',border:false,bodyStyle:'padding:5px',labelWidth:60,defaults:{width:240},items:[slider]},buttons:[{text:Locale.ImageEditor.OK,scope:this,handler:function(){imageEditor.sharpen(slider.getValue());sharpenDialog.close();}},{text:Locale.ImageEditor.Cancel,scope:this,handler:function(){sharpenDialog.close();}}]});sharpenDialog.show();}
this.showBrightnessDlg=function(){var slider=null;slider=new Ext.Slider({name:'slider1',minValue:0,hideLabel:true,value:50,maxValue:100});brightnessDlg=new Ext.Window({title:Locale.ImageEditor.Brightness,width:270,height:100,shadow:true,resizable:false,modal:true,layout:'border',items:{xtype:'form',region:'center',bodyStyle:'padding:5px',border:false,defaults:{width:240},items:[slider]},buttons:[{text:Locale.ImageEditor.OK,scope:this,handler:function(){imageEditor.brightness(slider.getValue());brightnessDlg.hide();}},{text:Locale.ImageEditor.Cancel,scope:this,handler:function(){brightnessDlg.hide();}}]});brightnessDlg.show();}
this.showSaturationDlg=function(){var slider=null;slider=new Ext.Slider({name:'slider1',minValue:0,hideLabel:true,value:50,maxValue:100});saturationDlg=new Ext.Window({title:Locale.ImageEditor.Saturation,width:270,height:100,shadow:true,resizable:false,modal:true,layout:'border',items:{xtype:'form',region:'center',bodyStyle:'padding:5px',border:false,defaults:{width:240},items:[slider]},buttons:[{text:Locale.ImageEditor.OK,scope:this,handler:function(){imageEditor.saturation(slider.getValue());saturationDlg.hide();}},{text:Locale.ImageEditor.Cancel,scope:this,handler:function(){saturationDlg.hide();}}]});saturationDlg.show();}
this.showContrastDlg=function(){var slider=null;slider=new Ext.Slider({name:'slider1',minValue:0,hideLabel:true,value:50,maxValue:100});if(!contrastDlg){contrastDlg=new Ext.Window({title:Locale.ImageEditor.Contrast,closeAction:'hide',width:270,height:100,shadow:true,resizable:false,modal:true,items:{xtype:'form',border:false,bodyStyle:'padding:5px',defaults:{width:240},items:[slider]},buttons:[{text:Locale.ImageEditor.OK,scope:this,handler:function(){imageEditor.contrast(slider.getValue());contrastDlg.hide();}},{text:Locale.ImageEditor.Cancel,scope:this,handler:function(){contrastDlg.hide();}}]});}
contrastDlg.show();}}

Ext.ns("PP","PP.configuration");PP.configuration.RecipientManagementWindow=function(config){Ext.apply(this,config);this.addEvents('putinbasket');}
PP.configuration.RecipientManagementWindow=Ext.extend(PP.Window,{controller:null,l:null,initComponent:function(){this.l=Locale.configuration.RecipientManagementWindow;this.title=this.l.Title;this.closable=true;this.layout='fit';this.border=false;var items=[];var orderTypes=this.controller.getConfiguration().getOrderTypes();orderTypes.each(function(orderType){items.push(this.getGrid(orderType));},this);this.items=new Ext.TabPanel({activeItem:0,deferredRender:false,items:[new Ext.Panel({layout:'anchor',title:this.l.OrderRecipients,bodyStyle:'padding: 8px;',margins:'8 8 8 8',items:items}),new Ext.Panel({layout:'anchor',title:this.l.AdminRecipients,layout:'fit',html:'<iframe name="FrameBottom" src="OpenAdmin.aspx?goTo=/pp/edit_config.cfm" width="100%" height="100%" frameborder=0 border=0></iframe>',bodyStyle:'padding: 8px;',margins:'8 8 8 8'})]});PP.Window.prototype.initComponent.call(this);},getGrid:function(orderType){var store=new Ext.data.Store({url:'../Webservice/ConfigurationService.svc/Crud',baseParams:{crud:{CrudAction:1,ReadType:"System.Collections.Generic.List`1[[PP.Common.DataContract.Communication.OrderTypeRecipient, PP.Common]]"}},reader:new Ext.data.JsonReader({fields:[{name:'OrderTypeId',mapping:'OrderTypeId'},{name:'RecipientType',mapping:'RecipientType'},{name:'RecipientUserId',mapping:'RecipientUser.RecipientUserId'},{name:'Email',mapping:'RecipientUser.EmailAddress'}],root:'OrderTypeRecipients'}),listeners:{load:function(store){store.filterBy(function(item){if(item.get("OrderTypeId")==orderType.get("OrderTypeId"))
return true;});}}});store.load();var removeButton=new Ext.Button({text:this.l.Remove,scope:this,iconCls:"t-sprite x-toolbar-user-delete",handler:function(){var data=PP.common.Data.getJson(panel.getSelectionModel().getSelections());this.removeOrderTypeRecipients(data,store);}});var panel=new Ext.grid.GridPanel({tbar:[{text:this.l.AddTo,iconCls:"t-sprite x-toolbar-user-add",scope:this,handler:function(){this.addRecipientWindow(orderType,"To",store)}},{text:this.l.AddCC,iconCls:"t-sprite x-toolbar-user-add",scope:this,handler:function(){this.addRecipientWindow(orderType,"Cc",store)}},removeButton],height:160,style:'margin-bottom: 8px;',ds:store,anchor:'-20',columns:[{header:this.l.Email,dataIndex:'Email',width:200},{header:this.l.Type,dataIndex:'RecipientType'}],title:orderType.get("Translation").Title});return panel;},addRecipientWindow:function(orderType,type,store){var text=new Ext.form.Hidden({value:''});var addressBook=new MailingAddressbook(text);var win;addressBook.loadAddressBook(true,true);(function(){win=addressBook.getWindow();win.on("close",function(){this.addOrderTypeRecipients(orderType,type,addressBook.getRecords(),store);},this);}).defer(3000,this);},addOrderTypeRecipients:function(orderType,recipientType,records,store){var data=[];Ext.each(records,function(record){data.push({OrderTypeId:orderType.get("OrderTypeId"),RecipientType:recipientType,RecipientUser:{UserId:record.get("UserId")}});},this);Ext.Ajax.request({url:'../Webservice/ConfigurationService.svc/Crud',scope:this,params:{crud:{CrudAction:0,OrderTypeRecipients:data}},success:function(){store.reload();}});},removeOrderTypeRecipients:function(data,store){Ext.Ajax.request({url:'../Webservice/ConfigurationService.svc/Crud',scope:this,params:{crud:{CrudAction:3,OrderTypeRecipients:data}},success:function(){store.reload();}});}});

Ext.ns("PP","PP.communication");PP.communication.MailingDetailPanel=function(config){Ext.apply(this,config);this.addEvents('putinbasket','dblclickasset');}
PP.communication.MailingDetailPanel=Ext.extend(Ext.Panel,{controller:null,assetFieldGroup:null,assetFieldStore:null,imageFormats:null,mailingId:null,selectedSuborder:null,initComponent:function(){this.title=Locale.communication.MailingDetailPanel.Title.format(this.mailingId);this.closable=true;this.layout='fit';this.items=[{html:Locale.communication.MailingDetailPanel.Loading}];Ext.Panel.prototype.initComponent.call(this);this.loadMailing();},loadMailing:function(){var assetFieldIds=[];Ext.each(this.assetFieldGroup.get("AssetFields"),function(record){assetFieldIds.push(record.AssetFieldId);},this);var assetFields=[];Ext.each(this.assetFieldGroup.get("AssetFields"),function(record){assetFields.push(this.assetFieldStore.getById(record.AssetFieldId).get("Fieldname"));},this);var fields=[];var fieldIds=[];var defaultFields=['AssetId','AssetTypeId','URLThumbnail1','URLThumbnail2','URLThumbnail3','HideFormatFilter','IsEditable'];this.assetFieldStore.each(function(record){if(defaultFields.indexOf(record.get("Fieldname"))!=-1&&assetFieldIds.indexOf(record.get("AssetFieldId"))==-1)
{fields.push(record.get("Fieldname"));fieldIds.push(record.get("AssetFieldId"));}},this);Ext.Ajax.request({url:'../Webservice/CommunicationService.svc/GetMailing',params:{mailingId:this.mailingId,assetFieldIds:assetFieldIds.concat(fieldIds),assetFields:assetFields.concat(fields)},scope:this,success:function(r){var mailing=Ext.util.JSON.decode(r.responseText);var mailingStore=new Ext.data.Store({remoteSort:true,reader:new Ext.data.JsonReader({root:'MailingRecipients',id:'MailingRecipientId'},['MailingRecipientId','ReadReceiptTime','RecipientType','EmailAddress','Downloads'])});mailingStore.setDefaultSort('State','desc');this.mailingGridPanel=new Ext.grid.GridPanel({border:true,region:'north',margins:'2 2 0 2',stateId:"mailingManagerMailingGridState",stateful:true,selModel:new Ext.grid.RowSelectionModel({singleSelect:true}),split:true,height:94,store:mailingStore,columns:[{header:"E-Mail",width:250,dataIndex:'EmailAddress',renderer:function(value,cell,record){var mailClass=!record.get("ReadReceiptTime")?"x-toolbar-icon-mailing":"x-toolbar-icon-mailing-open";var returnString="<div class='t-sprite {0}' style='width: 16px; height: 16px;float:left;'>&nbsp;</div>&nbsp;".format(mailClass)+value;if(!record.get("ReadReceiptTime"))
returnString=returnString.bold();return returnString;},sortable:true},{header:"Type",width:120,dataIndex:'RecipientType',sortable:true},{header:"Read",width:120,dataIndex:'ReadReceiptTime',renderer:PP.common.Data.renderDateTime,sortable:true},{header:"Downloads",width:120,dataIndex:'Downloads',renderer:function(value){if(value)
return value.length;},sortable:true},{header:"History",width:120,dataIndex:'Downloads',renderer:function(value){return'<div class="t-sprite x-toolbar-report" style="width:16px;height:16px"></div>';},sortable:true}]});this.mailingGridPanel.on("rowdblclick",this.showDownloadDetails,this);this.mailingGridPanel.on("cellclick",function(grid,rowIndex,columnIndex,e){if(columnIndex==4)
this.showDownloadDetails(grid,rowIndex,e);},this);mailingStore.loadData(mailing);this.assetStore=new PP.asset.SelectionStore({controller:this.controller,imageFormats:this.imageFormats,additionalFields:assetFields,restrictFormats:[],allowHiddenFormats:false});this.assetGridPanel=new PP.asset.SelectionGridPanel({configuration:this.controller.getConfiguration(),assetFieldGroup:this.assetFieldGroup,renderSelectedOnly:false,border:true,view:new PP.widget.FitGridView({forceFit:true}),region:'center',selectToolbarItems:[{text:Locale.communication.MailingDetailPanel.Send,tooltip:Locale.communication.MailingDetailPanel.TT_Send,handler:this.sendMailing.createDelegate(this,[mailing]),iconCls:'t-sprite x-toolbar-mailing',cls:'x-btn-text-icon'},{text:Locale.communication.MailingDetailPanel.Download,tooltip:Locale.communication.MailingDetailPanel.TT_Download,handler:this.download.createDelegate(this,[mailing]),iconCls:'t-sprite x-toolbar-download',cls:'x-btn-text-icon'},{text:Locale.communication.MailingDetailPanel.Basket,tooltip:Locale.communication.MailingDetailPanel.TT_Basket,handler:this.putInBasket.createDelegate(this),iconCls:'t-sprite x-toolbar-basket-add',cls:'x-btn-text-icon'}],margins:'0 2 2 2',store:this.assetStore,enableDrag:true,ddGroup:'assetsDD',columns:[]});this.assetGridPanel.on("rowdblclick",function(grid,rowIndex,e){this.fireEvent("dblclickasset",grid,rowIndex,e);},this);var panel=new Ext.Panel({region:'center',layout:'border',border:false,items:[{region:'north',autoHeight:true,listeners:{resize:function(panel,adjWidth,adjHeight,rawWidth,rawHeight){if(rawHeight&&rawHeight>160)
{panel.autoHeight=false;panel.setHeight(160);}}},autoScroll:true,maxHeight:120,margins:'2 2 2 2',bodyStyle:'padding: 1px;',html:'<table><tr><td style="font-size: 11px;">'+Locale.communication.MailingDetailPanel.From+'</td><td style="font-size: 11px;"><span style="font-weight:bold;font-size:11px">'+mailing.SenderEmailAddress+"</span>, "+mailing.CreationDate.format(PP.common.Data.format)+"</td></tr>"+'<tr><td style="font-size: 11px;" valign=top>'+Locale.communication.MailingDetailPanel.Expiration+'</td><td style="font-size: 11px; color: red;">'+mailing.ExpirationDate.format(PP.common.Data.format)+"</td></tr>"+'<tr><td style="font-size: 11px;" valign=top>'+Locale.communication.MailingDetailPanel.Subject+'</td><td style="font-size: 11px;">'+mailing.Subject+"</td></tr>"+'<tr><td style="font-size: 11px;" valign=top>'+Locale.communication.MailingDetailPanel.Message+'</td><td style="font-size: 11px;">'+mailing.Message.replace(/\n/g,"<br>")+"</td></tr></table>"},{region:'center',border:false,layout:'border',items:[this.mailingGridPanel,this.assetGridPanel]}]});this.remove(0);this.add(panel);this.doLayout();this.showMailingDetails(mailing);}})},thumbnailRenderer:function(data)
{return"<img src='"+data+"'>";},download:function(mailing)
{var assets=this.assetStore.getSelectedAssets();var assetManager=new PP.asset.Manager({controller:this.controller});assetManager.download(assets);},putInBasket:function()
{var assets=[];var assetRange=this.assetStore.getRange();this.fireEvent("putinbasket",this,assetRange);},sendMailing:function(mailing)
{var assets=this.assetStore.getSelectedAssets();var mailingDialog=new PP.communication.MailingWindow({controller:this.controller,selectedAssets:assets,recipient:mailing.EmailAddress,subject:mailing.Subject});mailingDialog.show();},showMailingDetails:function(mailing){var data=mailing;this.selectedSuborder=data;for(var i=0;i<data.Assets.length;i++)
{data.Assets[i].SelectedFormats=[];Ext.each(data.SelectedAssets,function(selectedAsset){if(selectedAsset.AssetId==data.Assets[i].AssetId)
{if(data.Assets[i].AssetTypeId==1)
data.Assets[i].SelectedFormats.push(selectedAsset.ImageFormatId);else
data.Assets[i].SelectedFormats.push(true);}},this)}
this.assetStore.loadData(data.Assets,false);if(!this.assetStore.getCount())
{this.assetGridPanel.getTopToolbar().items.each(function(item){item.disable();},this);}},showDownloadDetails:function(grid,rowIndex,e){var recipient=grid.getStore().getAt(rowIndex);if(recipient.get("Downloads")){var gridPanel=new Ext.grid.GridPanel({store:new Ext.data.Store({reader:new Ext.data.JsonReader({fields:['AssetId','ImageFormatId','Language','DownloadTime']}),data:recipient.get("Downloads")}),columns:[{header:"Asset",width:120,sortable:true,dataIndex:'AssetId'},{header:"ImageFormat",width:80,sortable:true,dataIndex:'ImageFormatId'},{header:"Language",width:100,sortable:true,dataIndex:'Language'},{header:"DownloadTime",width:120,sortable:true,dataIndex:'DownloadTime',renderer:PP.common.Data.renderDateTime}]});var win=new Ext.Window({width:500,height:400,title:'Downloads',items:[gridPanel],layout:'fit'});win.show();}},closeSuborder:function(){Ext.Ajax.request({url:'../Webservice/CommunicationService.svc/UpdateSuborderState',params:{suborderId:this.selectedSuborder.Order2ResponsibleUserId,stateId:4},scope:this,success:function(r){this.loadOrder();}});}});

Ext.ns("PP","PP.communication");PP.communication.MailingDownload=function(config){Ext.apply(this,config);this.l=Locale.communication.MailingDownload;PP.communication.MailingDownload.superclass.constructor.call(this);}
Ext.extend(PP.communication.MailingDownload,Ext.util.Observable,{mailing:null,height:null,configuration:null,render:function(){var assetFieldGroups=this.configuration.getAssetFieldGroups();this.assetFieldGroup=assetFieldGroups.getAt(assetFieldGroups.findBy(function(r){if(r.get("Type")=="MailingDownloadListView")
return true;}));if(this.mailing.ExpirationDate)
this.mailing.ExpirationDate=PP.common.Data.convertWcfToDate(this.mailing.ExpirationDate);if(this.mailing.CreationDate)
this.mailing.CreationDate=PP.common.Data.convertWcfToDate(this.mailing.CreationDate);this.mailing.MailingDisclaimer=configuration.getCustomerSettingTranslation().MailingDisclaimer?configuration.getCustomerSettingTranslation().MailingDisclaimer:null;this.l.Header.overwrite(Ext.get("MailingHeader"),this.mailing);this.l.Message.overwrite(Ext.get("MailingMessage"),this.mailing);this.assetFieldStore=this.configuration.getAssetFields();var assetFields=[];Ext.each(this.assetFieldGroup.get("AssetFields"),function(record){assetFields.push(this.assetFieldStore.getById(record.AssetFieldId).get("Fieldname"));},this);this.assetStore=new PP.asset.SelectionStore({controller:this.controller,imageFormats:this.configuration.getImageFormats(),additionalFields:assetFields,restrictFormats:[],allowHiddenFormats:false});var assetGridPanel=new PP.asset.SelectionGridPanel({configuration:this.configuration,assetFieldGroup:this.assetFieldGroup,renderSelectedOnly:true,border:true,view:new PP.widget.FitGridView({forceFit:true,focusRow:Ext.emptyFn,ensureVisible:Ext.emptyFn}),height:300,autoHeight:true,region:'center',selectToolbarItems:[{text:'<span style="font-weight:bold;font-size:12px;font-family:verdana;">'+this.l.Download+'</span>',handler:this.download.createDelegate(this,[]),scope:this,scale:'medium',cls:'x-btn x-btn-text-icon x-btn-over',iconCls:'t-sprite x-toolbar-download-large'}],bbar:[{text:'<span style="font-weight:bold;font-size:12px;font-family:verdana;">'+this.l.Download+'</span>',handler:this.download.createDelegate(this,[]),scope:this,scale:'medium',cls:'x-btn x-btn-text-icon x-btn-over',iconCls:'t-sprite x-toolbar-download-large'}],margins:'0 2 2 2',store:this.assetStore,enableDrag:true,ddGroup:'assetsDD',columns:[]});assetGridPanel.on("rowdblclick",function(grid,rowIndex,e){var assetPreview=new PP.asset.PreviewWindow({controller:this.controller,restrictFormatsProperty:'AvailableFormats',mailingId:this.mailing.MailingId,mailingPassword:this.controller.url.PW,overviewConfig:{panels:['preview','metadata'],showUrl:false},toolbarConfig:[],tabConfig:['overview']});assetPreview.show(rowIndex,grid.getStore(),null);},this);assetGridPanel.on("rowcontextmenu",function(grid,row,e){e.stopEvent();if(!grid.getSelectionModel().isSelected(row))
grid.getSelectionModel().selectRow(row,e.ctrlKey);new Ext.menu.ContextMenu({items:[new Ext.menu.Item({text:this.l.Download,iconCls:'t-sprite x-toolbar-download',scope:this,handler:this.download.createDelegate(this,[assetGridPanel.getSelectionModel().getSelections()])})]},e);},this);if(this.mailing.ExpirationDate&&this.mailing.ExpirationDate<new Date()){this.l.Expired.overwrite(Ext.get("MailingAssets"),this.mailing);}else if(this.mailing.Deleted){this.l.Deleted.overwrite(Ext.get("MailingAssets"),this.mailing);}else{assetGridPanel.render("MailingAssets");this.showMailingDetails(this.mailing);}},showMailingDetails:function(mailing){var data=mailing;this.availableFormats={imageFormats:[],languageVersions:[]};this.selectedSuborder=data;for(var i=0;i<data.Assets.length;i++)
{data.Assets[i].SelectedFormats=[];Ext.each(data.SelectedAssets,function(selectedAsset){if(selectedAsset.AssetId==data.Assets[i].AssetId)
{if(data.Assets[i].AssetTypeId==1){data.Assets[i].SelectedFormats.push(selectedAsset.ImageFormatId);if(this.availableFormats.imageFormats.indexOf(selectedAsset.ImageFormatId)==-1)
this.availableFormats.imageFormats.push(selectedAsset.ImageFormatId);}
else
data.Assets[i].SelectedFormats.push(true);data.Assets[i].AvailableFormats=Ext.ux.clone(data.Assets[i].SelectedFormats);}},this)}
this.assetStore.loadData(data.Assets,false);},download:function(assetRange)
{var assets=this.assetStore.getSelectedAssets(assetRange);document.getElementById("Files2Download").value=Ext.util.JSON.encode(assets);var loadingBar=Ext.MessageBox.show({title:this.l.WaitTitle,msg:this.l.WaitDescription,width:300,buttonText:{ok:this.l.OK},buttons:Ext.MessageBox.OK,modal:true});window.onload=function(){alert("unload");}
document.forms["mailingForm"].submit();}});

Ext.ns("PP","PP.communication");PP.communication.MailingManagerWindow=function(config){Ext.apply(this,config);this.addEvents('putinbasket','dblclickasset');}
PP.communication.MailingManagerWindow=Ext.extend(PP.Window,{controller:null,assetFieldGroup:null,assetFieldStore:null,imageFormats:null,mailingId:null,limit:20,initComponent:function(){this.title=Locale.communication.MailingManagerWindow.Title;this.resizable=true;this.maximizable=true;this.minimizable=true;this.autoHeight=false;this.layout='fit';this.on("staterestore",function(){},this)
var store=new Ext.data.Store({url:'../Webservice/CommunicationService.svc/GetMailings',remoteSort:true,paramNames:{start:"startRow",limit:"limit",sort:"sortField",dir:"sortDirection"},reader:new Ext.data.JsonReader({root:'Mailings',id:'MailingId',totalProperty:'TotalMailings'},['MailingId','EmailAddress','RecipientEmailAddresses','CreationDate','State','Subject'])});store.setDefaultSort('CreationDate','desc');this.gridPanel=new Ext.grid.GridPanel({border:false,store:store,columns:[{header:Locale.communication.MailingManagerWindow.MailingId,width:70,dataIndex:'MailingId',sortable:true},{header:Locale.communication.MailingManagerWindow.CreationDate,width:120,dataIndex:'CreationDate',renderer:PP.common.Data.renderDateTime,sortable:true},{header:Locale.communication.MailingManagerWindow.MailingPerson,width:160,dataIndex:'EmailAddress',sortable:true},{header:Locale.communication.MailingManagerWindow.To,width:160,dataIndex:'RecipientEmailAddresses',renderer:function(values){return values.join(", ");},sortable:false},{header:Locale.communication.MailingManagerWindow.Subject,width:220,dataIndex:'Subject',sortable:true},{header:Locale.communication.MailingManagerWindow.State,width:140,dataIndex:'State',renderer:function(value){switch(value){case 1:return Locale.communication.MailingManagerWindow.StateOpen;break;case 2:return Locale.communication.MailingManagerWindow.StateExpired;break;case 3:return Locale.communication.MailingManagerWindow.StateDeleted;break;}},sortable:true}]});this.gridPanel.on("rowclick",function(grid){if(grid.getSelectionModel().getCount())
this.deleteSelected.enable();else
this.deleteSelected.disable();},this);store.baseParams.stateId=1;store.baseParams.searchString="";store.baseParams.onlyOwnMailings=!this.controller.hasRight("editAllMailings");store.load({params:{start:0,limit:this.limit}});this.gridPanel.on("rowdblclick",function(grid,rowIndex,e){this.showMailing(grid.store.getAt(rowIndex).get("MailingId"));},this);var statesStore=new Ext.data.SimpleStore({fields:['StateId','State'],data:[[null,Locale.communication.MailingManagerWindow.StateAll],[1,Locale.communication.MailingManagerWindow.StateOpen],[2,Locale.communication.MailingManagerWindow.StateExpired],[3,Locale.communication.MailingManagerWindow.StateDeleted]]});var combo=new Ext.form.ComboBox({store:statesStore,displayField:'State',width:100,valueField:'StateId',xtype:'combobox',typeAhead:true,editable:false,mode:'local',forceSelection:true,value:1,triggerAction:'all',emptyText:Locale.communication.MailingManagerWindow.State,selectOnFocus:true});combo.on("select",function(){store.baseParams.stateId=combo.getValue();store.reload({params:{start:0,limit:this.limit}});},this);var search=new Ext.SearchField({});search.on("search",function(searchString){store.baseParams.searchString=searchString;store.reload({params:{start:0,limit:this.limit}});},this)
if(this.controller.hasRight("editAllMailings")){this.showAll=new Ext.form.Checkbox({boxLabel:Locale.communication.MailingManagerWindow.ShowAllMailings,checked:true,handler:function(checkbox,checked){store.baseParams.onlyOwnMailings=!checked;store.reload({params:{start:0,limit:this.limit}});},scope:this});}
else
this.showAll="";this.overviewPanel=new Ext.Panel({title:Locale.communication.MailingManagerWindow.Overview,border:false,layout:'fit',items:this.gridPanel,tbar:new PP.widget.SliderPagingToolbar({pageSize:this.limit,store:store,displayInfo:true,itemsBefore:[Locale.communication.MailingManagerWindow.State+': ',combo,'-',Locale.communication.MailingManagerWindow.Search,search,'-',' ',this.showAll,new Ext.Toolbar.Fill()]})});this.overviewPanel.on("render",function(panel){var tb2=new Ext.Toolbar({renderTo:panel.tbar,items:[this.deleteSelected=new Ext.Toolbar.Button({text:Locale.communication.MailingManagerWindow.DeleteSelected,tooltip:Locale.communication.MailingManagerWindow.TT_DeleteSelected,disabled:true,iconCls:'t-sprite x-toolbar-mailing-delete',cls:'x-btn-text-icon',scope:this,handler:function(){Ext.Ajax.request({url:'../Webservice/CommunicationService.svc/DeleteMailings',params:{mailingIds:this.getSelectedIds()},scope:this,success:function(response){store.reload();}});}})]});tb2.render();panel.syncSize();},this);this.tabPanel=new Ext.TabPanel({region:'center',xtype:'tabpanel',activeItem:0,border:false,title:'Mailings',items:[this.overviewPanel]});var contentLayout=new Ext.Panel({layout:'border',border:false,items:[this.tabPanel]});this.items=contentLayout;this.on("show",function(){if(this.mailingId)
this.showMailing(this.mailingId);},this)
Ext.Window.prototype.initComponent.call(this);},showMailing:function(mailingId){var panel=new PP.communication.MailingDetailPanel({controller:this.controller,assetFieldGroup:this.assetFieldGroup,assetFieldStore:this.assetFieldStore,imageFormats:this.imageFormats,mailingId:mailingId});panel.on("putinbasket",function(detailPanel,assets){this.fireEvent("putinbasket",this,assets);},this);panel.on("dblclickasset",function(grid,rowIndex,e){this.fireEvent("dblclickasset",grid,rowIndex,e);},this);this.tabPanel.add(panel);this.tabPanel.setActiveTab(panel);},getSelectedIds:function()
{var mailings=[];Ext.each(this.gridPanel.getSelectionModel().getSelections(),function(item){mailings.push(item.data.MailingId);},this);return mailings;}});

Ext.ns("PP","PP.communication");PP.communication.MailingWindow=function(config){Ext.apply(this,config);this.addEvents('send');}
PP.communication.MailingWindow=Ext.extend(PP.Window,{controller:null,selectedAssets:null,recipient:"",subject:"",closable:true,resizable:true,width:690,height:484,border:false,layout:'border',initComponent:function(){var guiLanguages=this.controller.getConfiguration().getGuiLanguages();var userSettings=this.controller.getConfiguration().getUserSettings();if(!this.title)
this.title=Locale.Mailing.Mailing;this.recipientButton;this.fieldRecipient=new Ext.form.TextField({name:'To',hideLabel:true,vtype:'multiemail',border:false,value:this.recipient,anchor:"100%",allowBlank:false,plugins:new PP.widget.FieldTooltipPlugin({header:false,position:'bottom',html:Locale.Mailing.tt_To})});if(this.controller.hasRight("sendMailingsToGroups")||this.controller.hasRight("sendMailingsToAll")){this.recipientButton=new Ext.Button({text:Locale.Mailing.To,hideLabel:true,width:100,style:'margin-right:70px;',handler:function()
{var mab=new MailingAddressbook(this.fieldRecipient);mab.loadAddressBook(this.controller.hasRight("sendMailingsToGroups"),this.controller.hasRight("sendMailingsToAll"));},scope:this,tooltip:Locale.Mailing.tt_TO});}else{this.recipientButton=new Ext.Button({xtype:'button',text:Locale.Mailing.To,hideLabel:true,width:100,style:'margin-right:50px;',disabled:true,tooltip:Locale.Mailing.tt_InsufficientRights});}
this.availabilityStore=new Ext.data.SimpleStore({fields:['Name','Caption'],data:Locale.Mailing.AvailabilityOptions});this.fieldSubject=new Ext.form.TextField({fieldLabel:Locale.Mailing.Subject,name:'Subject',value:this.subject,allowBlank:false,anchor:"100%",plugins:new PP.widget.FieldTooltipPlugin({header:false,position:'bottom',html:Locale.Mailing.tt_Subject})});this.fieldMessage=new Ext.form.HtmlEditor({border:false,labelAlign:'top',xtype:'htmleditor',colspan:2,hideLabel:true,anchor:"100%",height:200,plugins:new PP.widget.FieldTooltipPlugin({header:false,position:'bottom',html:Locale.Mailing.tt_htmleditor})});this.fieldAvailability=new Ext.form.ComboBox({store:this.availabilityStore,displayField:'Caption',valueField:'Name',mode:'local',fieldLabel:Locale.Mailing.AvailableUntil,name:'Availability',editable:false,triggerAction:'all',value:'7d',plugins:new PP.widget.FieldTooltipPlugin({header:false,position:'bottom',html:Locale.Mailing.tt_AvailableUntil}),width:200});this.fieldSend=new Ext.form.Checkbox({boxLabel:Locale.Mailing.SendMail,labelSeparator:'',hideLabel:true,name:'SendOrNot',checked:true,plugins:new PP.widget.FieldTooltipPlugin({html:Locale.Mailing.tt_SendMail})});this.fieldSendCopy=new Ext.form.Checkbox({layout:'form',boxLabel:Locale.Mailing.SendCopyToSender,hideLabel:true,labelSeparator:'',name:'sendToSender',checked:false,plugins:new PP.widget.FieldTooltipPlugin({html:Locale.Mailing.tt_SendCopyToSender})});this.languageCombo=new Ext.form.ComboBox({store:guiLanguages,displayField:'LanguageTranslation',valueField:'Abbreviation',mode:'local',fieldLabel:Locale.Mailing.Language,name:'Language',editable:false,triggerAction:'all',value:'en',plugins:new PP.widget.FieldTooltipPlugin({header:false,position:'bottom',html:Locale.Mailing.tt_Language}),width:200});this.formPanel=new Ext.form.FormPanel({labelAlign:'left',region:'center',border:false,bodyStyle:'padding: 8px',items:[{layout:'column',border:false,items:[{width:105,layout:'form',border:false,items:this.recipientButton},{columnWidth:1,layout:'form',border:false,items:this.fieldRecipient}]},{border:false,colspan:2,width:40,height:8},this.fieldSubject,{border:false,colspan:2,width:40,height:8},this.fieldMessage,{border:false,colspan:2,width:40,height:8},{layout:'column',border:false,items:[{columnWidth:.6,layout:'form',border:false,items:[{border:false,width:400,height:30,colspan:2,layout:'form',items:this.languageCombo},{border:false,width:400,height:30,colspan:2,layout:'form',items:[this.fieldAvailability]}]},{columnWidth:.4,layout:'form',border:false,items:[{width:400,height:30,labelWidth:160,colspan:2,layout:'form',border:false,items:[this.fieldSend]},{width:400,height:30,labelWidth:160,colspan:2,layout:'form',border:false,items:[this.fieldSendCopy]}]}]}]});this.items=[{border:false,region:'north',autoHeight:true,bodyStyle:'padding: 8px',items:{frame:true,autoHeight:true,html:'<html><table><tr><td width="20px" height="5px" class="x-mailing_selection_textlogo"></td><td>&nbsp;</td><td><b>'+Locale.Mailing.MailingText+'</b><br>'+Locale.Mailing.MailingDescription+'</td></tr></table>'}},this.formPanel];this.buttons=[{text:Locale.Mailing.OK,tooltip:Locale.Mailing.tt_OK,handler:this.sendMailing,scope:this},{text:Locale.Mailing.Cancel,tooltip:Locale.Mailing.tt_Cancel,scope:this,handler:function(){this.close();}}];this.on('show',function(){var f=this.fieldRecipient;if(this.recipient.length&&this.subject.length)
f=this.fieldMessage;else if(this.recipient.length)
f=this.fieldSubject;this.languageCombo.setValue(userSettings.LanguageAbbreviation);f.focus.defer(400,f);}.createDelegate(this),this);Ext.Window.prototype.initComponent.call(this);},sendMailing:function(){var userSettings=this.controller.getConfiguration().getUserSettings();var to=this.fieldRecipient.getValue();var sendToSender=this.fieldSendCopy.getValue();if(sendToSender)
to=to+";"+userSettings.Email
var receivers=[];Ext.each(to.split(";"),function(mail){if(receivers.indexOf(mail)==-1)
receivers.push(mail);},this);var frm=this.formPanel.getForm();if(frm.isValid())
{var date=new Date();switch(this.fieldAvailability.getValue())
{case"0":date=new Date(2222,0,1);break;case"3d":date=date.add(Date.DAY,3);break;case"7d":date=date.add(Date.DAY,7);break;case"14d":date=date.add(Date.DAY,14);break;case"1m":date=date.add(Date.MONTH,1);break;}
Ext.Ajax.request({url:'../Webservice/CommunicationService.svc/SendMailing',success:this.mailingSuccess,scope:this,params:{assetSelection:this.selectedAssets,mailingOptions:{MailingReceivers:receivers,Subject:this.fieldSubject.getValue(),Message:this.fieldMessage.getValue(),ValidUntil:date,MailingLanguage:this.languageCombo.getValue(),SendMails:this.fieldSend.getValue()}}});}
else
{Ext.MessageBox.alert(Locale.Mailing.Failure,Locale.Mailing.MsgAllFields);}},mailingSuccess:function(r)
{this.fireEvent("send",this);this.close();var fieldset=new Ext.form.FieldSet({xtype:'fieldset',title:Locale.Mailing.Recipients,collapsible:true,collapsed:true,autoHeight:true,defaults:{width:500},defaultType:'textfield'});fieldset.on("expand",function(panel){var height=134+panel.getSize().height;if(height>400)
height=400;successDialog.setHeight(height);},this);fieldset.on("collapse",function(panel){var height=134+panel.getSize().height;if(height>400)
height=400;successDialog.setHeight(height);},this);var mailingResult=Ext.util.JSON.decode(r.responseText);var successFormPanel=new Ext.form.FormPanel({labelAlign:'top',bodyStyle:'padding:10px 10px 0',border:false,width:'100%',items:[{html:Locale.Mailing.DisplayTextMailSending,width:'100%',height:40,border:false},{columnWidth:2,layout:'form',border:false,anchor:'100%',items:fieldset}]});for(var i=0;i<mailingResult.LinksToMailings.length;i++)
{fieldset.add(new Ext.form.TriggerField({id:'username'+i,name:'username'+i,itemCls:'x-mailing-users',readOnly:true,triggerClass:'mail_img',labelStyle:'margin-left:20px;',fieldLabel:mailingResult.LinksToMailings[i].Key,value:mailingResult.LinksToMailings[i].Value,onTriggerClick:function(){newWindow=window.open(this.value,"");if(window.focus)newWindow.focus();},plugins:new PP.widget.FieldTooltipPlugin({header:false,position:'bottom',html:Locale.Mailing.tt_Link})}));}
var successDialog=new Ext.Window({title:Locale.Mailing.MailingSentSuccess,width:600,autoScroll:true,resizable:false,height:250,maxHeight:500,items:successFormPanel,buttons:[{text:Locale.Mailing.Close,tooltip:Locale.Mailing.tt_Close,handler:function(){successDialog.close();}}]});successDialog.show();}});

Ext.ns("PP","PP.communication");PP.communication.MessageReader=function(config){this.messages=[];this.readMessages=function(){Ext.Ajax.request({url:'../Webservice/CommunicationService.svc/GetMessages',scope:this,params:{},success:this.checkMessages});};this.checkMessages=function(response){var messages=Ext.decode(response.responseText);if(messages.length){this.messages=messages;this.showNotification(messages);}
else
this.readMessages.defer(5000,this);};this.showNotification=function(messages){var from=[];Ext.each(messages,function(message){from.push(new Ext.Button({text:message.SenderEmail,message:message,handler:this.readMessage,scope:this}));},this);var messageWindow=new Ext.ux.window.MessageWindow({title:'Messages',autoDestroy:true,autoHeight:true,autoHide:true,closable:false,help:false,items:{border:false,items:{border:false,bodyStyle:'margin: 12px',items:[{border:false,html:'<b>You have {0} new messages.</b><br><br>From:<br>'.format(messages.length)},{border:false,items:from}],buttons:[{text:"Read"}]}},bodyStyle:'padding: 0px;',origin:{el:Ext.getDoc(),pos:"br-br",offX:-30,offY:-60,spaY:5},iconCls:'t-sprite x-window-mailing',pinState:'pin',showFx:{duration:0.25,mode:'standard',useProxy:false},width:250});messageWindow.show(Ext.getDoc());messageWindow.on("close",this.readMessages,this);}
this.showMessage=function(button){if(button.message){}}
this.readMessages();}

Ext.ns("PP","PP.communication");PP.communication.MessageWindow=function(config){Ext.apply(this,config);this.addEvents('send');var panelItems=[];var formItems=[];if(this.message.length)
{panelItems.push({style:'text-align:left; padding-bottom: 14px',html:this.message,width:'100%',frame:true,border:false});}
if(this.showFrom)
{formItems.push({xtype:'textfield',fieldLabel:Locale.communication.MessageWindow.YourEmail+"*",name:'mailFrom',vtype:'email',value:this.mailFrom,allowBlank:false,anchor:'100%'});}
if(!this.showTo&&this.mailTo.length)
{formItems.push({xtype:'hidden',name:'mailTo',value:this.mailTo});}
if(!this.showTo&&this.send2Admins)
{formItems.push({xtype:'hidden',name:'send2Admins',value:true});}
if(this.subject)
{formItems.push({xtype:'textfield',name:'subject',fieldLabel:Locale.communication.MessageWindow.Subject,anchor:'100%'});}
if(this.mailToGroup)
{formItems.push({xtype:'hidden',name:'mailToGroup',value:this.mailToGroup});}
if(this.mailByState)
{formItems.push({xtype:'hidden',name:'mailByState',value:this.mailByState});}
formItems.push({xtype:'textarea',fieldLabel:Locale.communication.MessageWindow.Message+"*",name:'message',grow:true,growMin:80,growMax:300,allowBlank:false,anchor:'100%'});panelItems.push({layout:'form',border:false,autoScroll:false,anchor:'100%',items:formItems})
this.formPanel=new Ext.form.JsonFormPanel({border:false,labelAlign:'left',labelWidth:100,autoScroll:false,autoHeight:true,region:'center',bodyStyle:'padding: 10px 10px 10px 10px',items:panelItems});this.window=new Ext.Window({title:this.title,closable:true,shadow:true,modal:true,resizable:true,width:this.width,autoHeight:true,layout:'fit',border:false,items:[this.formPanel],buttons:[{text:Locale.communication.MessageWindow.Ok,handler:this.submitForm,scope:this},{text:Locale.communication.MessageWindow.Cancel,handler:function(){this.window.close();},scope:this}]});this.window.on('show',function(){var f=this.formPanel.getForm().items.items[0];f.focus.defer(600,f);},this);this.window.on("beforehide",function(e){this.formPanel.destroy(true);},this);this.window.show();}
Ext.extend(PP.communication.MessageWindow,Ext.util.Observable,{message:'',width:400,title:"",showTo:"",showFrom:true,mailFrom:'',mailTo:"",send2Admins:"",subject:false,mailToGroup:false,mailByState:false,submitForm:function(){if(this.formPanel.getForm().isValid())
Ext.Ajax.request({url:'../Webservice/CommunicationService.svc/SendMessage',success:this.success,scope:this,params:this.formPanel.getForm().getValues()});},success:function(form,action){this.window.close();this.fireEvent('send');}});

Ext.ns("PP","PP.communication");PP.communication.MovieOrderFormPanel=function(config){Ext.apply(this,config);this.addEvents('putinbasket','dblclickasset');}
PP.communication.MovieOrderFormPanel=Ext.extend(Ext.Panel,{controller:null,orderId:new Date().format('YmdHis'),assets:[],layout:'fit',border:false,initComponent:function(){this.createForm();Ext.Panel.prototype.initComponent.call(this);},createForm:function(){var deliverByData=[['Fedex'],['DHL'],['Regular Post Service']];var deliverByStore=new Ext.data.Store({reader:new Ext.data.ArrayReader({},[{name:'deliverBy'}])});deliverByStore.loadData(deliverByData);this.deliverByCombo=new Ext.form.ComboBox({store:deliverByStore,displayField:'deliverBy',triggerAction:'all',mode:'local',typeAhead:true,forceSelection:true,fieldLabel:"Deliver By / Number*",allowBlank:false,name:'deliverBy',anchor:'95%'});this.deliverByCombo.on('select',function(c,r,i){if(r.get('deliverBy')=="Regular Post Service")
{deliveryNumber.hide();deliveryNumber.allowBlank=true;this.postServiceCombo.show();this.postServiceCombo.allowBlank=false;}
else
{deliveryNumber.show();deliveryNumber.allowBlank=false;this.postServiceCombo.hide();this.postServiceCombo.allowBlank=true;}},this);var postServiceData=[['A'],['B'],['Post Express']];var postServiceStore=new Ext.data.Store({reader:new Ext.data.ArrayReader({},[{name:'Service'}])});postServiceStore.loadData(postServiceData);this.postServiceCombo=new Ext.form.ComboBox({store:postServiceStore,displayField:'Service',triggerAction:'all',mode:'local',typeAhead:true,forceSelection:true,hideLabel:true,hidden:true,name:'userPostService',width:145});var usageForData=[['TV Commercial'],['Cinema'],['POS Video'],['Presentation'],['Other (please specify)']];var usageForStore=new Ext.data.Store({reader:new Ext.data.ArrayReader({},[{name:'usageFor'}])});usageForStore.loadData(usageForData);this.usageForCombo=new Ext.form.ComboBox({store:usageForStore,displayField:'usageFor',triggerAction:'all',autoScroll:false,mode:'local',typeAhead:true,forceSelection:true,fieldLabel:"Usage For*",allowBlank:false,name:'usageFor',width:160,listeners:{'select':function(c,r,i){if(r.get('usageFor')=="Other (please specify)")
{otherUsage.show();otherUsage.allowBlank=false;}
else
{otherUsage.hide();otherUsage.allowBlank=true;}}}});this.personContact=this.getDetailsForm('Order Person Details',true);this.isSameCheckbox=new Ext.form.Checkbox({fieldLabel:'same as Order Person Details',height:20,width:10});this.isSameCheckbox.on('check',function(cb,checked){if(checked)
this.deliveryContact.hide();else
this.deliveryContact.show();},this);this.deliveryContact=this.getDetailsForm('');var deliveryDetails=new Ext.form.FieldSet({title:'Delivery Details',autoHeight:true,layout:'form',width:450,border:false,items:[{layout:'column',border:false,items:[{layout:'form',columnWidth:.64,border:false,anchor:'95%',items:this.deliverByCombo},{layout:'form',columnWidth:.36,height:25,border:false,items:[deliveryNumber=new Ext.form.TextField({allowBlank:false,hideLabel:true,name:'deliveryNumber',maxLength:20,anchor:'95%'}),{border:false,style:'top:0px; position:absolute;',items:this.postServiceCombo,anchor:'95%'}]}]},deliveryDate=new Ext.form.DateField({allowBlank:false,fieldLabel:'Delivery Date',format:'d.m.Y',name:'deliveryDate',minValue:new Date(),anchor:'95%'})]});var mediaDetails=new Ext.form.FieldSet({title:'Media Details',autoHeight:true,layout:'form',width:450,border:false,items:[this.usageForCombo,{border:false,style:'padding-left:130px',items:[otherUsage=new Ext.form.TextField({name:'otherUsage',hidden:true,maxLength:100,width:300})]}]});var autoValidate=function(tf,nv,ov){var siblings=this.formPanel.findBy(function(c,con){if(c.name&&c.name.indexOf(tf.name.split("_")[1])!=-1&&c.name!=tf.name)
return true;else
return false;});for(var i=0;i<siblings.length;i++)
{if(nv>0)
siblings[i].allowBlank=false;else
siblings[i].allowBlank=true;}
if(tf.name.split("_")[1]=="BroadcastFile")
{if(nv>0)
{broadcastFileInfo.show();broadcastFileInfo.allowBlank=false;}
else
{broadcastFileInfo.hide();broadcastFileInfo.allowBlank=true;}}}
this.formPanel=new Ext.form.FormPanel({labelAlign:'left',labelWidth:125,bodyStyle:'padding:10px 10px 0',autoScroll:true,border:false,layout:'form',items:[this.personContact,{layout:'form',labelWidth:180,border:false,items:[{xtype:'fieldset',title:'Delivery Contact Details',autoHeight:true,border:false,items:this.isSameCheckbox}]},this.deliveryContact,deliveryDetails,mediaDetails,{html:'<hr>',border:false},{layout:'column',border:false,items:[{xtype:'label',text:'Number of copies',style:'font-weight:bold; padding-left:10px',height:20,width:175},{xtype:'label',text:'Format',style:'font-weight:bold; padding-left:10px',height:20,width:85},{xtype:'label',text:'Aspect Ratio',style:'font-weight:bold; padding-left:10px',height:20,width:150}]},{layout:'column',style:'padding-left:10px',border:false,items:[{columnWidth:0.06,border:false,layout:'form',items:[{xtype:'textfield',width:30,name:'count_BetacamSP',hideLabel:true,value:0,listeners:{change:autoValidate,scope:this}}]},{layout:'form',style:'padding-left:10px',border:false,columnWidth:0.38,width:80,items:this.getFormatCombo('Betacam SP','format_BetacamSP')},{style:'padding-left:10px',border:false,columnWidth:.56,items:this.getAspectRatioCombo('aspectRatio_BetacamSP')}]},{layout:'column',style:'padding-left:10px',border:false,items:[{columnWidth:0.06,border:false,layout:'form',items:[{xtype:'textfield',width:30,name:'count_DigiBeta',hideLabel:true,value:0,listeners:{change:autoValidate,scope:this}}]},{layout:'form',style:'padding-left:10px',border:false,columnWidth:0.38,width:80,items:this.getFormatCombo('DigiBeta','format_DigiBeta')},{style:'padding-left:10px',border:false,width:150,columnWidth:.56,items:this.getAspectRatioCombo('aspectRatio_DigiBeta')}]},{layout:'column',style:'padding-left:10px',border:false,items:[{columnWidth:0.06,border:false,layout:'form',items:[{xtype:'textfield',width:30,name:'count_DVDSinglePlay',hideLabel:true,value:0,listeners:{change:autoValidate,scope:this}}]},{layout:'form',style:'padding-left:10px',border:false,columnWidth:0.38,width:80,items:this.getFormatCombo('DVD Single Play','format_DVDSinglePlay')},{style:'padding-left:10px',border:false,width:150,columnWidth:.56,items:this.getAspectRatioCombo('aspectRatio_DVDSinglePlay')}]},{layout:'column',style:'padding-left:10px',border:false,items:[{columnWidth:0.06,border:false,layout:'form',items:[{xtype:'textfield',width:30,name:'count_DVDEndless',hideLabel:true,value:0,listeners:{change:autoValidate,scope:this}}]},{layout:'form',style:'padding-left:10px',border:false,columnWidth:0.38,width:80,items:this.getFormatCombo('DVD endless','format_DVDEndless')},{style:'padding-left:10px',border:false,width:150,columnWidth:.56,items:this.getAspectRatioCombo('aspectRatio_DVDEndless')}]},{layout:'column',style:'padding-left:10px',border:false,items:[{columnWidth:0.06,border:false,layout:'form',items:[{xtype:'textfield',width:30,hideLabel:true,name:'count_BroadcastFile',value:0,listeners:{change:autoValidate,scope:this}}]},{layout:'form',style:'padding-left:10px',border:false,columnWidth:0.38,width:80,items:this.getFormatCombo('Broadcast File','format_BroadcastFile')},{style:'padding-left:10px',border:false,width:150,columnWidth:.56,items:this.getAspectRatioCombo('aspectRatio_BroadcastFile')}]},{style:'padding-left:10px',border:false,items:[broadcastFileInfo=new Ext.form.TextField({xtype:'textfield',width:450,hidden:true,hideLabel:true})]},{html:'<hr>',border:false},{layout:'column',style:'padding-left:10px',width:450,border:false,items:[{columnWidth:.64,layout:'form',border:false,items:[{xtype:'radio',fieldLabel:'Media',checked:true,boxLabel:'All on one tape',id:'media1',name:'media'}]},{columnWidth:.36,layout:'form',border:false,items:[{xtype:'radio',hideLabel:true,boxLabel:'Per version - single tape',id:'media2',name:'media'}]}]},{html:'<hr>',border:false},{style:'padding-left:10px',layout:'form',width:600,border:false,items:[remarks=new Ext.form.TextArea({name:'remarks',maxLength:200,fieldLabel:'Remarks',anchor:'95%'})]},{border:false,html:'* Mandatory Fields'}]});this.items=this.formPanel;this.buttons=[{xtype:'button',buttonAlign:"left",text:'Place Order',scope:this,handler:function(){if(this.formPanel.getForm().isValid())
this.placeOrder();else
Ext.MessageBox.alert('Error','Please fill all mandatory fields');}}];},placeOrder:function(){var metadataStore;var fields=['AssetId','AssetTypeId','OriginalFilename','AssetDescription','AssetName','Copyright','CDF26'];var assetIds=[];Ext.each(this.assets,function(asset){assetIds.push(asset.get("AssetId"));},this);Ext.Ajax.request({url:'../Webservice/AssetService.svc/GetAssetsMetadata',scope:this,params:{assetIds:assetIds,selectedFields:fields},success:function(r){var response=Ext.util.JSON.decode(r.responseText);var metadataArray=[];var filenamesArray=[];for(var i=0;i<this.assets.length;i++)
{metadataArray[i]=new Object();var isVideo=this.assets[i].get("AssetTypeId")==9;for(var j=0;j<response[i].MetadataFields.length;j++)
{metadataArray[i][response[i].MetadataFields[j].AssetFieldName]=response[i].MetadataFields[j].Values[0].Value;if(response[i].MetadataFields[j].AssetFieldName=="OriginalFilename")
filenamesArray.push(response[i].MetadataFields[j].Values[0].Value);}
if(isVideo==false)
{Ext.Msg.alert('Failure','Only video files can be placed in this order. Make sure that the basket has only video files');return;}}
this.createOrder(this,metadataArray,filenamesArray,assetIds);},scope:this});},getDetailsForm:function(formName,fillUser)
{var firstName,lastName,zip,city;var user=this.controller.getConfiguration().getUserDetails();var countryListCombo=new PP.widget.CountryComboBox({displayField:'Country',valueField:'CountryId',triggerAction:'all',mode:'local',typeAhead:true,forceSelection:true,fieldLabel:"Country*",allowBlank:false,name:'userCountry',anchor:'98%'});countryListCombo.mon(countryListCombo.store,"load",function(){countryListCombo.setValue(fillUser?user.Country:'');},this);var orderDetails=new Ext.form.FieldSet({title:formName,autoHeight:true,width:450,border:false,items:[{xtype:'textfield',fieldLabel:"Company*",allowBlank:false,name:'userCompany',value:fillUser?user.Company:'',maxLength:64,anchor:'98%'},{layout:'column',border:false,items:[{layout:'form',columnWidth:.64,border:false,items:[firstName=new Ext.form.TextField({fieldLabel:"Name, Prename*",allowBlank:false,value:fillUser?user.Firstname:'',name:'userFirstname',maxLength:30,anchor:'95%',autoScroll:false})]},{layout:'form',columnWidth:.36,border:false,items:[lastName=new Ext.form.TextField({allowBlank:false,value:fillUser?user.Lastname:'',name:'userLastname',maxLength:30,anchor:'95%',hideLabel:true})]}]},{xtype:'textfield',columnWidth:.7,fieldLabel:"Email*",value:fillUser?user.EmailAddress:'',allowBlank:false,name:'userEmail',maxLength:64,anchor:'98%'},{xtype:'textfield',fieldLabel:"Phone incl Country*",allowBlank:false,value:fillUser?user.Tel:'',maxValue:9999999999,minValue:0,name:'userTelephone',maxLength:20,allowDecimals:false,anchor:'98%'},{xtype:'textfield',fieldLabel:"Addressline1*",allowBlank:false,value:fillUser?user.Street:'',name:'userAddress1',maxLength:64,anchor:'98%'},{xtype:'textfield',fieldLabel:"Addressline2",name:'userAddress2',value:fillUser?user.Address2:'',maxLength:64,anchor:'98%'},{layout:'column',border:false,items:[{layout:'form',columnWidth:.64,border:false,items:[zip=new Ext.form.TextField({fieldLabel:"Zip / City*",value:fillUser?user.Zip:'',allowBlank:false,name:'userZip',maxLength:10,autoScroll:false,anchor:'95%'})]},{layout:'form',columnWidth:.36,border:false,items:[city=new Ext.form.TextField({allowBlank:false,hideLabel:true,name:'userCity',value:fillUser?user.City:'',maxLength:30,anchor:'95%'})]}]},{layout:'form',border:false,items:countryListCombo}],listeners:{hide:function(f){f.items.each(function(i){checkFunction(i,true);});firstName.allowBlank=true;lastName.allowBlank=true;zip.allowBlank=true;city.allowBlank=true;countryListCombo.allowBlank=true;},show:function(f){f.items.each(function(i){checkFunction(i,false);});firstName.allowBlank=false;lastName.allowBlank=false;zip.allowBlank=false;city.allowBlank=false;countryListCombo.allowBlank=false;}}});var checkFunction=function(i,state)
{if(i instanceof Ext.Component)
i.setDisabled(state);else if(i.items instanceof Ext.util.MixedCollection)
i.items.each(checkFunction,this,state);}
return orderDetails;},getAspectRatioCombo:function(fName)
{var aspectRatioData=[['4:3'],['4:3 LB (Letterbox)'],['16:9 FHA (Full Hight Anamorph)'],['4:3 Time code imposed'],['4:3 LB (Letterbox) Time code imposed'],['16:9 FHA (Full Hight Anamorph) Time code imposed']];var aspectRatioStore=new Ext.data.Store({reader:new Ext.data.ArrayReader({},[{name:'AspectRatio'}])});aspectRatioStore.loadData(aspectRatioData);var aspectRatioListCombo=new Ext.form.ComboBox({store:aspectRatioStore,displayField:'AspectRatio',hiddenName:'aspectRatio_hidden',triggerAction:'all',mode:'local',typeAhead:true,forceSelection:true,name:fName,hideLabel:true,width:310});return aspectRatioListCombo;},getFormatCombo:function(fLabel,fName)
{var formatData=[['PAL'],['NTSC'],['SECAM']];var formatStore=new Ext.data.Store({reader:new Ext.data.ArrayReader({},[{name:'Format'}])});formatStore.loadData(formatData);var formatListCombo=new Ext.form.ComboBox({fieldLabel:fLabel,labelSeparator:'',store:formatStore,displayField:'Format',triggerAction:'all',mode:'local',typeAhead:true,forceSelection:true,width:70,name:fName});return formatListCombo;},createOrder:function(x,metadataArray,filenamesArray,assetIds)
{var tempVideoSelection=this.getVideoSelectionDetails();if(tempVideoSelection.length==0)
{Ext.MessageBox.alert('Error','No copies for videos! Atleast one should be greater than 0.');return;}
var getContactValues=function(c,con){if(c.name&&c.name.indexOf('user')!=-1)
return true;else
return false;};var tpl=new Ext.XTemplate("Order Id: {orderId}","<br>-----------------------<br>","<br>Order/Billing Contact Details: ","<br>       {swatch_userFirstname}","<br>       {swatch_userLastname}","<br>       {swatch_userCompany}","<br>       {swatch_userEmail}","<br>       {swatch_userTelephone}","<br>       {swatch_userAddress1}","<br>       {swatch_userAddress2}","<br>       {swatch_userZip} {swatch_userCity}","<br>       {swatch_userCountry}","<br>-----------------------<br>","<br>Delivery contact: Details","<br>       {delivery_userFirstname}","<br>       {delivery_userLastname}","<br>       {delivery_userCompany}","<br>       {delivery_userEmail}","<br>       {delivery_userTelephone}","<br>       {delivery_userAddress1}","<br>       {delivery_userAddress2}","<br>       {delivery_userZip} {delivery_userCity}","<br>       {delivery_userCountry}","<br>------------------------<br>","<br>Delivery Details:","<br>{deliveryDetails}","<br>Date: {delivery_date}","<br>------------------------<br>","<br>Usage for: {usageFor}","<br>------------------------<br>","<br>Video selection<br>","{videoSelection}<br>","<br>------------------------<br>","<br>Media: {media}","<br>------------------------<br>","Remarks:<br> {remarks}","<br>------------------------<br>","<br>Ordered Items:<br>");var data={};data.orderId=this.orderId;var swatchContactDetails=this.personContact.findBy(getContactValues);for(var i=0;i<swatchContactDetails.length;i++)
{var fname='swatch_'+swatchContactDetails[i].name;var fvalue=swatchContactDetails[i].getValue();data[fname]=fvalue;}
var deliveryContactDetails;if(this.isSameCheckbox.checked==true)
deliveryContactDetails=swatchContactDetails;else
deliveryContactDetails=this.deliveryContact.findBy(getContactValues);for(var i=0;i<deliveryContactDetails.length;i++)
{var fname='delivery_'+deliveryContactDetails[i].name;var fvalue=deliveryContactDetails[i].getValue();data[fname]=fvalue;}
data.usageFor=this.usageForCombo.getValue()=="Other (please specify)"?otherUsage.getValue():this.usageForCombo.getValue();data.videoSelection=tempVideoSelection;if(Ext.getCmp('media1').checked)
data.media=Ext.getCmp('media1').boxLabel;else
data.media=Ext.getCmp('media2').boxLabel;data.remarks=remarks.getValue();data.delivery_date=deliveryDate.getValue().format("d.m.Y");strDeliveryMethod=this.deliverByCombo.getValue()+" - Billing: ";if(deliveryNumber.hidden)
strDeliveryMethod+=this.postServiceCombo.getValue();else
strDeliveryMethod+=deliveryNumber.getValue();data.deliveryDetails=strDeliveryMethod;var str=new Ext.Window();tpl.overwrite(str,data);strRemarks=str.innerHTML;for(var f=0;f<metadataArray.length;f++)
{strRemarks+='Title:       '+metadataArray[f].AssetName+'<br>';strRemarks+='Filename:    '+metadataArray[f].OriginalFilename+'<br>';strRemarks+='Copyright:   '+metadataArray[f].Copyright+'<br>';strRemarks+='Duration:    '+metadataArray[f].CDF26+'<br>';strRemarks+='Description: <br>'+metadataArray[f].AssetDescription+'<br><br>';}
var selectedAssets=[];Ext.each(this.assets,function(asset){selectedAssets.push({AssetId:asset.get("AssetId")});},this);Ext.Ajax.request({url:'../Webservice/CommunicationService.svc/CreateOrder',success:function(){x.fireEvent("formSubmit");Ext.Msg.alert('Success','Order successfully placed');},params:{assetSelection:selectedAssets,orderOptions:{Message:strRemarks,Subject:"Video Order: "+this.orderId,Delivery:strDeliveryMethod,EmailAddress:data.swatch_userEmail}},scope:this});},getVideoSelectionDetails:function(){this.arrayVideoSelection=[];var xx=this.formPanel.findBy(function(c,con){if(c.name&&c.name.indexOf('count_')!=-1)
return true;else
return false;});var tempStr="";var j=0;for(var i=0;i<xx.length;i++)
{if(xx[i].getValue()>0)
{var yy=this.formPanel.findBy(function(c,con){if(c.name&&(c.name=='format_'+xx[i].name.split("_")[1]||c.name=='aspectRatio_'+xx[i].name.split("_")[1]))
return true;else
return false;});this.arrayVideoSelection[j]={Copies:xx[i].getValue(),FileType:yy[0].fieldLabel,Format:yy[0].getValue(),AspectRatio:yy[1].getValue()};j++;tempStr+="<br>"+xx[i].getValue()+" x "+yy[0].fieldLabel+", "+yy[0].getValue()+", "+yy[1].getValue();if(xx[i].name.split("_")[1]=="BroadcastFile")
tempStr+=", "+broadcastFileInfo.getValue();}}
return tempStr;}});

Ext.ns("PP","PP.communication");PP.communication.OrderDetailPanel=function(config){Ext.apply(this,config);this.addEvents('putinbasket','dblclickasset');}
PP.communication.OrderDetailPanel=Ext.extend(Ext.Panel,{controller:null,assetFieldGroup:null,assetFieldStore:null,imageFormats:null,orderId:null,suborderId:null,selectedSuborder:null,initComponent:function(){this.title=Locale.communication.OrderDetailPanel.Title.format(this.orderId);this.closable=true;this.layout='fit';this.items=[{html:Locale.communication.OrderDetailPanel.Loading}];Ext.Panel.prototype.initComponent.call(this);this.loadOrder();},loadOrder:function(){var assetFields=[];Ext.each(this.assetFieldGroup.get("AssetFields"),function(record){assetFields.push(this.assetFieldStore.getById(record.AssetFieldId).get("Fieldname"));},this);var fields=[];var fieldIds=[];var defaultFields=['AssetId','AssetTypeId','URLThumbnail1','URLThumbnail2','URLThumbnail3','HideFormatFilter','IsEditable'];this.assetFieldStore.each(function(record){if(defaultFields.indexOf(record.get("Fieldname"))!=-1)
{fields.push(record.get("Fieldname"));}},this);Ext.Ajax.request({url:'../Webservice/CommunicationService.svc/GetOrder',params:{orderId:this.orderId,assetFields:assetFields.concat(fields)},scope:this,success:function(r){var order=Ext.util.JSON.decode(r.responseText);var orderStore=new Ext.data.Store({remoteSort:true,reader:new Ext.data.JsonReader({root:'Order2ResponsibleUser',id:'Order2ResponsibleUserId'},['Order2ResponsibleUserId','ClosedDateTime','RejectedDateTime','State','ResponsibleUserData','Assets','SelectedAssets'])});orderStore.setDefaultSort('State','desc');this.orderGridPanel=new Ext.grid.GridPanel({border:true,region:'north',margins:'2 2 0 2',stateId:"orderManagerOrderGridState",stateful:true,selModel:new Ext.grid.RowSelectionModel({singleSelect:true}),split:true,height:130,store:orderStore,tbar:[{text:Locale.communication.OrderDetailPanel.SendAndClose,tooltip:Locale.communication.OrderDetailPanel.TT_SendAndClose,handler:this.sendMailing.createDelegate(this,[order,true]),iconCls:'t-sprite x-toolbar-order-approve',cls:'x-btn-text-icon'},{text:Locale.communication.OrderDetailPanel.Reject,tooltip:Locale.communication.OrderDetailPanel.TT_Reject,iconCls:'t-sprite x-toolbar-order-delete',cls:'x-btn-text-icon',handler:this.rejectWindow,scope:this},{text:Locale.communication.OrderDetailPanel.Close,tooltip:Locale.communication.OrderDetailPanel.TT_Close,iconCls:'t-sprite x-toolbar-order',cls:'x-btn-text-icon',handler:this.closeSuborder,scope:this}],columns:[{header:Locale.communication.OrderDetailPanel.Responsible,width:250,dataIndex:'ResponsibleUserData',renderer:function(value){return"<img src='"+Ext.BLANK_IMAGE_URL+"' width=16' height=16 class='t-sprite x-toolbar-user' align=absmiddle>&nbsp;"+value.EmailAddress;},sortable:true},{header:Locale.communication.OrderDetailPanel.State,width:100,dataIndex:'State',sortable:true,renderer:function(value){switch(value){case 1:return Locale.communication.OrderDetailPanel.StateOpen;break;case 2:return Locale.communication.OrderDetailPanel.StateDelivered;break;case 3:return Locale.communication.OrderDetailPanel.StateRejected;break;case 4:return Locale.communication.OrderDetailPanel.StateClosed;break;}}},{header:Locale.communication.OrderDetailPanel.Closed,width:120,dataIndex:'ClosedDateTime',renderer:PP.common.Data.renderDateTime,sortable:true},{header:Locale.communication.OrderDetailPanel.Rejected,width:120,dataIndex:'RejectedDateTime',renderer:PP.common.Data.renderDateTime,sortable:true}]});this.orderGridPanel.getSelectionModel().on("rowselect",this.showSubOrder,this);orderStore.loadData(order);this.assetStore=new PP.asset.SelectionStore({controller:this.controller,imageFormats:this.controller.getConfiguration().getImageFormats(),additionalFields:assetFields,restrictFormats:[],allowHiddenFormats:false});var assetGridPanel=new PP.asset.SelectionGridPanel({configuration:this.controller.getConfiguration(),assetFieldGroup:this.assetFieldGroup,renderSelectedOnly:false,border:true,view:new PP.widget.FitGridView({forceFit:true}),region:'center',selectToolbarItems:[{text:Locale.communication.OrderDetailPanel.Send,tooltip:Locale.communication.OrderDetailPanel.TT_Send,handler:this.sendMailing.createDelegate(this,[order]),iconCls:'t-sprite x-toolbar-mailing',cls:'x-btn-text-icon'},{text:Locale.communication.OrderDetailPanel.Download,tooltip:Locale.communication.OrderDetailPanel.TT_Download,handler:this.download.createDelegate(this,[order]),iconCls:'t-sprite x-toolbar-download',cls:'x-btn-text-icon'},{text:Locale.communication.OrderDetailPanel.Basket,tooltip:Locale.communication.OrderDetailPanel.TT_Basket,handler:this.putInBasket.createDelegate(this),iconCls:'t-sprite x-toolbar-basket-add',cls:'x-btn-text-icon'}],margins:'0 2 2 2',store:this.assetStore,enableDrag:true,ddGroup:'assetsDD',columns:[]});assetGridPanel.on("rowdblclick",function(grid,rowIndex,e){this.fireEvent("dblclickasset",grid,rowIndex,e);},this);var panel=new Ext.Panel({region:'center',layout:'border',border:false,items:[this.orderGridPanel,{region:'center',border:false,layout:'border',items:[{region:'north',autoHeight:true,listeners:{resize:function(panel,adjWidth,adjHeight,rawWidth,rawHeight){if(rawHeight&&rawHeight>160){panel.autoHeight=false;panel.setHeight(160);}}},autoScroll:true,maxHeight:120,margins:'0 2 2 2',bodyStyle:'padding: 1px;',html:'<table><tr><td style="font-size: 11px;">'+Locale.communication.OrderDetailPanel.From+'</td><td style="font-size: 11px;"><span style="font-weight:bold;font-size:11px">'+order.EmailAddress+"</span>, "+order.OrderDate.format(PP.common.Data.format)+"</td></tr>"+'<tr><td style="font-size: 11px;" valign=top>'+Locale.communication.OrderDetailPanel.Subject+'</td><td style="font-size: 11px;">'+order.Subject+"</td></tr>"+'<tr><td style="font-size: 11px;" valign=top>'+Locale.communication.OrderDetailPanel.Message+'</td><td style="font-size: 11px;">'+order.Message.replace(/\n/g,"<br>")+"</td></tr></table>"},assetGridPanel]}]});this.remove(0);this.add(panel);this.doLayout();(function(){if(this.suborderId)
{var record=this.orderGridPanel.getStore().getById(this.suborderId);this.orderGridPanel.getSelectionModel().selectRecords([record]);}
else
{var record=this.orderGridPanel.getStore().getAt(0);this.orderGridPanel.getSelectionModel().selectRecords([record]);}}).defer(100,this);}})},download:function(order)
{var assets=this.assetStore.getSelectedAssets();var assetManager=new PP.asset.Manager({controller:this.controller});assetManager.download(assets);},putInBasket:function()
{var assets=[];var assetRange=this.assetStore.getRange();this.fireEvent("putinbasket",this,assetRange);},sendMailing:function(order,closeAfterSend)
{var assets=this.assetStore.getSelectedAssets();var mailingDialog=new PP.communication.MailingWindow({controller:this.controller,selec