/**
*	A LouGIS library by Lounaispaikka.
*	@copyright Lounaispaikka, www.lounaispaikka.fi <CC BY-SA 3.0>
*	@version 2011-12-19T20:49:18+02:00
*/
Ext.namespace("Ext.ux.LouGIS.Window");
Ext.ux.LouGIS.Window.VisualizeDataset=Ext.extend(Ext.Window,{constructor:function(a){addMapDataset(a,null,true);var c=this,d=viewportSize(),e=d.width-290;d=d.height;var j,q,r,s,w;Ext.ux.LouGIS.Window.VisualizeDataset.superclass.constructor.call(this,{id:"visualizeDatasetWindow",title:t(""),layout:"auto",width:290,height:d,x:e,plain:true,border:false,resizable:true,maximizable:true,collapsible:true,closable:true,buttonAlign:"left"});this.on("close",function(){rmMapDataset(a)});e=new Ext.data.JsonStore({url:"/run/visualize/getLayersOfDataset/",
baseParams:{datasetId:a},storeId:"layerStore",autoLoad:true,root:"LayersOfDataset",fields:[{name:"id",type:"int"},{name:"name",type:"string"},{name:"type",type:"int"},{name:"icon",type:"string"}]});var k=new Ext.form.ComboBox({fieldLabel:t(""),name:"layer",store:e,mode:"local",displayField:"name",valueField:"id",triggerAction:"all",anchor:"100%",editable:false,tpl:'<tpl for="."><div class="x-combo-list-item"><img src="{icon}" />{name}</div></tpl>'}),o=new Ext.data.JsonStore({url:"/run/visualize/getClassesOfLayer/",
baseParams:{layerId:null},storeId:"classStore",root:"ClassesOfLayer",fields:[{name:"id",type:"int"},{name:"name",type:"string"}]}),h=new Ext.form.ComboBox({fieldLabel:t(""),name:"class",store:o,mode:"local",displayField:"name",valueField:"id",triggerAction:"all",anchor:"100%",editable:false}),m=new Ext.data.JsonStore({url:"/run/visualize/getStylesOfClass/",baseParams:{classId:null},storeId:"styleStore",root:"StylesOfClass",fields:[{name:"id",type:"int"},{name:"name",type:"string"}]}),n=new Ext.form.ComboBox({fieldLabel:t(""),
name:"style",store:m,mode:"local",displayField:"name",valueField:"id",triggerAction:"all",anchor:"100%",editable:false});e=new Ext.form.FormPanel({monitorValid:false,bodyStyle:"padding: 5px 5px 0 5px;",border:false,items:k});var u=new Ext.form.FormPanel({monitorValid:false,hidden:true,bodyStyle:"padding: 5px 5px 0 5px",border:false,items:h});d=new Ext.Button({text:t(""),handler:function(){var b=h.getValue();c.removeClass(b,a);k.fireEvent("select",k,j,q)}});var v=new Ext.Button({text:t(""),handler:function(){var b=
k.getValue();l.getForm().submit({method:"POST",url:"/run/visualize/saveClass/",submitEmptyText:false,params:{layer_id:b,datasetId:a},waitMsg:t(""),success:function(f,g){Ext.decode(g.response.responseText).success?notify(t(""),t("")):Ext.Msg.alert(t(""),t(""));k.fireEvent("select",k,j,q)}})}}),l=new Ext.form.FormPanel({id:"classEditor",monitorValid:false,hidden:true,border:false,labelWidth:70,bodyStyle:"padding: 0px 5px 0 15px;",buttons:[d,v]}),p=new Ext.form.FormPanel({monitorValid:false,hidden:true,
bodyStyle:"padding: 5px 5px 0 5px",border:false,items:n});d=new Ext.Button({text:t(""),handler:function(){var b=n.getValue();c.removeStyle(b,a);h.fireEvent("select",h,r,s)}});v=new Ext.Button({text:t(""),handler:function(){var b=h.getValue();i.getForm().submit({method:"POST",url:"/run/visualize/saveStyle/",params:{class_id:b,datasetId:a},waitMsg:t(""),submitEmptyText:false,success:function(f,g){Ext.decode(g.response.responseText).success?notify(t(""),t("")):Ext.Msg.alert(t(""),t(""));h.fireEvent("select",
h,r,s)}})}});var i=new Ext.form.FormPanel({id:"styleEditor",monitorValid:false,hidden:true,border:false,labelWidth:70,bodyStyle:"padding: 0px 5px 0 15px;",buttons:[d,v]});d=new Ext.Button({id:"updateView",text:t(""),icon:"/img/silkicons/silk/arrow_refresh.png",iconAlign:"top",height:45,cls:"dataset-button",handler:function(){rmMapDataset(a);addMapDataset(a,null,true)}});this.add(e);this.add(u);this.add(l);this.add(p);this.add(i);this.addButton(d);this.doLayout();k.on("select",function(b,f,g){j=f;
q=g;w=f.get("type");p.setVisible(false);u.setVisible(false);l.setVisible(false);l.removeAll();i.setVisible(false);i.removeAll();m.removeAll();o.removeAll();h.clearValue();n.clearValue();b=f.get("id");if(b!=null){o.setBaseParam("layerId",b);o.load();u.show()}});h.on("select",function(b,f,g){r=f;s=g;l.setVisible(false);l.removeAll();i.setVisible(false);i.removeAll();p.setVisible(false);m.removeAll();n.clearValue();b=f.get("id");if(b!=null){m.setBaseParam("classId",b);m.load();p.setVisible(true);c.createClassEditor(b,
l)}});n.on("select",function(b,f){i.setVisible(false);i.removeAll();var g=f.get("id");g!=null&&c.createStyleEditor(g,i,w)})},createClassEditor:function(a,c){c.show();var d=this;Ext.Ajax.request({url:"/run/visualize/classEditorForm/",params:{classId:a},success:function(e){e=Ext.decode(e.responseText);c.add(e.items);c.doLayout();d.doLayout()}})},createStyleEditor:function(a,c,d){c.show();var e=this;Ext.Ajax.request({url:"/run/visualize/styleEditorForm/",params:{styleId:a,selectedLayerType:d},success:function(j){j=
Ext.decode(j.responseText);c.add(j.items);c.doLayout();e.doLayout()}})},removeClass:function(a,c){a>-1&&Ext.Ajax.request({url:"/run/visualize/removeClass/",params:{classId:a,datasetId:c}})},removeStyle:function(a,c){a>-1&&Ext.Ajax.request({url:"/run/visualize/removeStyle/",params:{styleId:a,datasetId:c}})}});

