/**
*	A LouGIS library by Lounaispaikka.
*	@copyright Lounaispaikka, www.lounaispaikka.fi <CC BY-SA 3.0>
*	@version 2011-12-19T13:32:34+02:00
*/
Ext.namespace("Ext.ux.LouGIS.Panel");
Ext.ux.LouGIS.Panel.Structure=Ext.extend(Ext.ux.LouGIS.Panel,{constructor:function(b){this.formType="Structure";Ext.ux.LouGIS.Panel.Structure.superclass.constructor.call(this,b);this.setTitle(t(""))},loadContent:function(){Ext.ux.LouGIS.Panel.Structure.superclass.loadContent.call(this);this.requestFormData();this.on("contentloaded",function(b,d){b.enableTreeModification(d)})},processButtons:function(b,d,g){Ext.ux.LouGIS.Panel.Structure.superclass.processButtons.call(this,b,d,g);this.saveButton=g},
saveContent:function(){function b(a){var c=[];if(a.hasChildNodes()){c.id=a.id;c.text=a.text;c.isLeaf=false;for(var e=0;e<a.childNodes.length;++e)c.push(b(a.childNodes[e]))}else{c.id=a.id;c.text=a.text;c.isLeaf=true}return c}function d(a,c){var e="";if(a.isLeaf)e+='{ "id": "'+a.id+'", "group": "'+c+'", "text": "'+a.text+'", "isLeaf": '+a.isLeaf+"}";else{e+='{ "id": "'+a.id+'", "group": "'+c+'", "text": "'+a.text+'", "isLeaf": '+a.isLeaf+', "children": [';for(var h=0;h<a.length;++h){e+=d(a[h],a.text);
if(h<a.length-1)e+=","}e+="] }"}return e}var g=this,f=Ext.getCmp("structureTreePanel");if(f==null)Ext.ux.LouGIS.Panel.Structure.superclass.saveContent.call(this);else{f=f.root.childNodes[0].childNodes;for(var i="[ [",j=0;j<f.length;++j){var k=d(b(f[j]),null);i+=k;if(j<f.length-1)i+=","}i+="] ]";growlRequest({url:"/run/dataset/saveStructure/",method:"POST",params:{layers:i},success:function(a){a=Ext.decode(a.responseText);if(a.success){notify(t(""),a.msg);Ext.ux.LouGIS.Panel.Structure.superclass.saveContent.call(g)}else Ext.Msg.alert(t(""),
a.msg)}})}},enableTreeModification:function(b){if(Ext.getCmp("structureTreePanel")!=null)if(Ext.getCmp("folderName")==null){var d=new Ext.form.TextField({id:"folderName",hideLabel:false,fieldLabel:t(""),emptyText:t(""),width:"200"}),g=new Ext.Button({id:"folderButton",text:t(""),cls:"folderButton",icon:"/img/silkicons/silk/folder_add.png",handler:function(){var f=d.getValue();d.setValue("");f!=""&&Ext.getCmp("structureTreePanel").getRootNode().childNodes[0].appendChild({id:f,text:f,leaf:false,disabled:false,
loaded:true,draggable:true,expandable:true})}});b.add(d);b.add(g);b.doLayout()}}});

