/**
*	A LouGIS library by Lounaispaikka.
*	@copyright Lounaispaikka, www.lounaispaikka.fi <CC BY-SA 3.0>
*	@version 2011-12-19T13:32:16+02:00
*/
Ext.namespace("Ext.ux.LouGIS.Window");
Ext.ux.LouGIS.Window.AddUsers=Ext.extend(Ext.Window,{constructor:function(d){Ext.apply(this,d);this.id="addUsersWindow"+this.source;if(this.createGroupEnabled==null)this.createGroupEnabled=true;if(!this.windowTitle)this.windowTitle=t("",this.source);if(!this.title)this.title=t("");if(!this.help)this.help=t("");if(this.groupsOnly===null)this.groupsOnly=false;if(empty(this.inviteEnabled))this.inviteEnabled=true;if(Ext.get(this.id)==null){Ext.ux.LouGIS.Window.AddUsers.superclass.constructor.call(this,{id:this.id,
title:this.windowTitle,layout:"form",layoutConfig:{align:"stretch",pack:"start",animate:true},width:maxElementWidth(450),height:maxElementHeight(600),plain:true,border:false,resizable:true,maximizable:true,collapsible:true,buttonAlign:"left",closable:true,bodyStyle:"padding: 10px;",plugins:[new Ext.ux.plugins.WindowDrawer({xtype:"windowdrawer",side:"e",animate:true,resizable:true,width:320,minWidth:150,height:300,header:false,bodyStyle:"padding: 4px;"})]});var e=this;this.add(new Ext.Panel({header:false,
html:this.help,border:false}));var c=new Ext.data.JsonStore({url:"/run/ug/getGroupsAndUsersByName/",baseParams:{groupsOnly:this.groupsOnly},storeId:"groups",root:"roles",fields:[{name:"group_id",type:"string"},{name:"user_id",type:"string"},{name:"name",type:"string"},{name:"details",type:"string"}],autoLoad:true,sortInfo:{field:"name",direction:"ASC"}});this.inviteEnabled&&this.addButton(new Ext.Button({text:t(""),icon:"/img/silkicons/silk/email_go.png",handler:function(){new Ext.ux.LouGIS.Window.InviteUsers({source:e.source,
inviteHandler:function(a,h,f,j){a=new c.recordType({group_id:"",user_id:a,name:h+" "+f,details:j});c.add(a);e.addHandler([a])}})}}));this.createGroupEnabled&&this.addButton(new Ext.Button({text:t(""),icon:"/img/silkicons/silk/group_add.png",handler:function(){showNewGroupWindow();Ext.getCmp("newGroupWin").on("close",function(){c.load()})}}));var b=new Ext.form.TriggerField({hideLabel:true,triggerConfig:{tag:"img",src:"/img/silkicons/silk/cross.png",cls:"x-form-trigger clearSearch"},anchor:"100%",
emptyText:t(""),enableKeyEvents:true,listeners:{keyup:{fn:function(){e.drawers.e.hide();var a=b.getValue();a.length<1?b.setHideTrigger(true):b.setHideTrigger(false);c.setBaseParam("query",a);c.load()},buffer:200}}});b.setHideTrigger(true);b.onTriggerClick=function(){b.setHideTrigger(true);b.reset();c.setBaseParam("query",null);c.load()};this.add(b);var g=new Ext.grid.GridPanel({id:"addUsersGrid",store:c,boxMaxHeight:420,border:false,autoExpandColumn:"details",style:{marginBottom:"10px"},colModel:new Ext.grid.ColumnModel({defaults:{sortable:true},
columns:[{header:t(""),id:"name",dataIndex:"name",renderer:function(a,h,f){a=f.get("group_id");f=f.get("name");return'<img src="'+(a==""?"/img/silkicons/silk/user.png":"/img/silkicons/silk/group.png")+'" class="gridIcon"/>'+f}},{dataIndex:"details",id:"details"}]}),viewConfig:{forceFit:true,autoFill:true},height:420,autoScroll:true});g.on("rowdblclick",function(a,h){var f=a.getStore().getAt(h);e.addHandler([f])});var i=new Ext.Button({text:t(""),icon:"/img/silkicons/silk/add.png",disabled:true,handler:function(){e.addHandler(g.getSelectionModel().getSelections());
e.close()}});this.addButton(new Ext.Toolbar.Fill);this.addButton(i);g.on("rowclick",function(a,h){i.enable();this.loadDrawer(a.getStore().getAt(h))},this);this.add(g);this.show()}},loadDrawer:function(d){if(this.activeRecord!=d){var e=d.get("user_id"),c=d.get("name");empty(e)||(c+=" &lt;"+d.get("details")+"&gt;");this.activeRecord=d;var b=this.drawers.e;b.hide();b.removeAll();Ext.Ajax.request({url:"/run/ug/htmlUserInfo/",method:"POST",params:{userId:d.get("user_id"),groupId:d.get("group_id")},success:function(g){g=
new Ext.Panel({title:c,border:false,html:g.responseText,cls:"userInfoPanel"});b.add(g);b.show()}})}}});

