/**
*	A LouGIS library by Lounaispaikka.
*	@copyright Lounaispaikka, www.lounaispaikka.fi <CC BY-SA 3.0>
*	@version 2011-12-19T20:49:21+02:00
*/
var adminWin,CMSpageEditor,CMSnewsEditor,CMSnewPageEditor,CMStranslateEditor,htmlContentEditor,siteContentNav,pageEditPanel,pageContent,pageInfo,newsContentNav,newsEditAccordion,newsEditPanel,newPageEditPanel,newPageInfoEditPanel,newPageAccordion,htmlInfoEditor,newsContentEditor,newPageContentEditor,pageInfoFieldSet,newPageInfoFieldSet,pubButton,saveButton,picMap,picPortal,picAdmin,lastActive;
Ext.apply(Ext.form.VTypes,{uniqueurl:function(c,b){var a=null;if(b.id=="cms_page_info_page_urlnew_page")var e=Ext.getCmp("cms_page_info_page_urlnew_page").getValue();else{e=Ext.getCmp("cms_page_info_page_urlpage").getValue();a=Ext.getCmp("cms_page_info_page_idpage").getValue()}growlRequest({url:"/run/admin/checkUniqueUrl/",method:"POST",params:{url:e,pageId:a},success:function(d){if((d=Ext.decode(d.responseText).success)&&b.id=="cms_page_info_page_urlnew_page")pubButton.enable();else if(d&&b.id==
"cms_page_info_page_urlpage")saveButton.enable();else!d&&b.id=="cms_page_info_page_urlnew_page"?pubButton.disable():saveButton.disable();return d}});if(b.id=="cms_page_info_page_urlnew_page"){pubButton.enable();CMSnewPageEditor.doLayout()}else{saveButton.enable();adminWin.doLayout()}return true},uniqueurlText:t("")});
function showMyDatasetsWindow(){Ext.Ajax.request({url:"/run/ug/isLogged/",method:"POST",success:function(c){c=Ext.decode(c.responseText);if(c.success)Ext.get("myDatasetsWindow")==null&&(new Ext.ux.LouGIS.Window.MyDatasets).show();else if(!c.success){showLoginAndRegistration(null,"myDatasetsWindow");Ext.Msg.alert("Status",t(""))}}})}
function showAdminWindow(){picPortal=Ext.get("picPortal");picMap=Ext.get("picMap");picAdmin=Ext.get("adminTools");adminWin=Ext.get("adminWin");langSelectWin=Ext.get("langSelectWin");if(langSelectWin==null){var c=new Ext.form.FieldSet({id:"languageFS",border:false,autoHeight:true});langSelectWin=new Ext.Window({id:"langSelectWin",title:t(""),width:maxElementWidth(350),height:maxElementHeight(150),layout:"fit",enableFx:true,maximizable:true,collapsible:true,closable:true,items:c});growlRequest({url:"/run/admin/getLanguagesToCombo/",
method:"POST",success:function(a){a=Ext.decode(a.responseText);c.add(a.languages);langSelectWin.show();langSelectWin.doLayout()}});var b=new Ext.Button({text:t(""),icon:"/img/silkicons/silk/tick.png",formBind:true,handler:function(){var a=Ext.getCmp("comboLang");if(a!=null){a=a.getValue();langSelectWin.close();if(adminWin==null){lastActive=document.getElementById("picPortal").className.split(" ").join("")=="modActive"?"picPortal":"picMap";picMap.removeClass("modActive");picPortal.removeClass("modActive");
picAdmin.addClass("modActive");var e=new Ext.TabPanel({activeTab:0,id:"CMStab",stateEvents:["tabchange"],deferredRender:false,getState:function(){return{activeTab:this.items.indexOf(this.getActiveTab())}}});viewportSize();createPageEditor(a);e.add(CMSpageEditor);adminWin=(new Ext.Window({id:"adminWin",title:t(""),width:maxElementWidth(900),height:maxElementHeight(600),layout:"fit",enableFx:true,maximizable:true,collapsible:true,closable:true,items:e})).show()}adminWin.on("close",function(){picAdmin.removeClass("modActive");
lastActive=="picPortal"?picPortal.addClass("modActive"):picMap.addClass("modActive")})}}});langSelectWin.addButton(b)}}
function createPageEditor(c){CMSpageEditor=new Ext.Panel({title:t(""),id:"page",enableFx:true,collapsible:false,width:280,heigth:100,layout:"border"});siteContentNav=new Ext.tree.TreePanel({region:"west",id:"siteContent",title:t(""),useArrows:true,autoScroll:true,animate:false,enableDD:true,containerScroll:true,border:false,collapsible:true,width:200,minSize:100,maxSize:250,root:{id:"rootNode",nodeType:"async",text:t(""),draggable:false,expanded:true},dataUrl:"/run/admin/getPagesTree/?langId="+c,
listeners:{click:function(b){b.id!="rootNode"&&loadCmsEditor(b.attributes.url,c)},nodedrop:function(b){b.cancel=false;b=getJsonOfTree("siteContent");growlRequest({url:"/run/admin/reorderPages/",method:"POST",params:{json:b},success:function(){notify("Tila","Sivujen j\u00e4rjestyst\u00e4 muutettiin.");Ext.getCmp("siteContent").getRootNode().reload()},failure:function(a){Ext.decode(a.responseText);Ext.Msg.alert("Virhe","Sivujen j\u00e4rjestyst\u00e4 ei voitu muuttaa.")}})}}});createNewPageButton=new Ext.Button({text:t(""),
icon:"/img/silkicons/silk/page_add.png",handler:function(){newPageWin=Ext.get("newPage");newPageWin==null&&createNewPageEditor(c)}});pageEditAccordion=new Ext.Panel({region:"center",id:"peaccord",enableFx:true,collapsible:false,deferredRender:false,width:280,heigth:100,layout:"accordion"});pageEditPanel=new Ext.Panel({title:t(""),id:"peditor",enableFx:true,collapsible:false,width:280,heigth:100,border:false});pageContent=new Ext.form.FormPanel({id:"pageContent",title:t(""),enableFx:true,collapsible:false,
border:false,layout:"fit",items:{id:"htmlContentEdit",xtype:"ckeditor",fieldLabel:"Editor",name:"htmlContentEdit",language:c}});pageInfo=new Ext.form.FormPanel({id:"pageinfo",title:t(""),enableFx:true,collapsible:false,border:false,layout:"fit"});pageInfoFieldSet=new Ext.form.FieldSet({id:"pageInfoPage",labelWidth:150,defaults:{xtype:"textfield"},border:false,autoHeight:true});growlRequest({url:"/run/admin/getPagesToCombo/?lang_id="+c,method:"POST",params:{id:"Page",langId:c},success:function(b){b=
Ext.decode(b.responseText);pageInfoFieldSet.add(b.parents);adminWin.doLayout()}});saveButton=new Ext.Button({text:t(""),icon:"/img/silkicons/silk/disk.png",formBind:true});saveButton.on("click",function(){var b=CKEDITOR.instances.htmlContentEdit.getData();pageInfoFieldSet.remove("content");b=new Ext.form.Hidden({id:"content",value:b});pageInfoFieldSet.add(b);pageInfoFieldSet.doLayout();var a=Ext.getCmp("siteContent");a.expandAll();b=getJsonOfTree("siteContent");pageInfo.getForm().submit({method:"POST",
url:"/run/admin/savePage/?langId="+c,text:t(""),waitMsg:t(""),submitEmptyText:false,params:{json:b},success:function(e,d){var f=Ext.decode(d.response.responseText);if(f.success){notify(t(""),f.msg);siteContentNav.getRootNode().reload();a.expandAll()}else Ext.Msg.alert(t(""),f.ms+f.code)},failure:function(e,d){var f=Ext.decode(d.response.responseText);Ext.Msg.alert(t(""),f.msg+f.code)}})});delButton=new Ext.Button({text:t(""),icon:"/img/silkicons/silk/delete.png",formBind:true});delButton.on("click",
function(){Ext.Msg.confirm(t(""),t(""),function(b){b==="yes"?pageInfo.getForm().submit({method:"POST",url:"/run/admin/deletePage/?langId="+c,text:t(""),waitMsg:t(""),submitEmptyText:false,success:function(a,e){var d=Ext.decode(e.response.responseText);if(d.success){notify(t(""),d.msg);Ext.getCmp("comboPage").setValue(null);pageInfo.getForm().setValues({menu_title:null,browser_title:null,page_url:null,help:null,protected_page:false,published:false});CKEDITOR.instances.htmlContentEdit.setData("");siteContentNav.getRootNode().reload()}else Ext.Msg.alert(t(""),
d.ms+d.code)},failure:function(a,e){var d=Ext.decode(e.response.responseText);Ext.Msg.alert(t(""),d.msg+d.code)}}):Ext.Msg.alert(t(""),t(""))})});growlRequest({url:"/run/admin/getPageInfoFields/",params:{append:"page",pageId:1,langId:c},method:"POST",success:function(b){b=Ext.decode(b.responseText);pageInfoFieldSet.add(b.basicItems);loadCmsEditor(b.url,c);adminWin.doLayout()}});pageInfo.add(pageInfoFieldSet);pageEditAccordion.add(pageContent);pageEditAccordion.add(pageInfo);pageEditAccordion.addButton(saveButton);
siteContentNav.addButton(createNewPageButton);siteContentNav.addButton(delButton);CMSpageEditor.add(siteContentNav);CMSpageEditor.add(pageEditAccordion)}
function createNewsEditor(){CMSnewsEditor=new Ext.Panel({title:t(""),id:"news",enableFx:true,collapsible:false,width:280,heigth:100,layout:"border"});newsContentNav=new Ext.Panel({region:"west",id:"newsContentNav",enableFx:true,collapsible:true,width:200,heigth:100});newsEditAccordion=new Ext.Panel({region:"center",id:"neditor",enableFx:true,collapsible:false,width:280,heigth:100,layout:"accordion",buttons:[{text:"Publish"}]});newsContent=new Ext.Panel({title:t(""),id:"nContent",enableFx:true,collapsible:true,
width:280,heigth:100,layout:"fit",items:{id:"newsContentEdit",xtype:"ckeditor",fieldLabel:"Editor",name:"newsContentEdit"}});newsInfo=new Ext.Panel({title:t(""),id:"nInfo",enableFx:true,collapsible:true,width:280,heigth:100,layout:"fit",items:[{id:"newsmeta",title:t("")}]});newsEditAccordion.add(newsInfo);newsEditAccordion.add(newsContent);CMSnewsEditor.add(newsContentNav);CMSnewsEditor.add(newsEditAccordion)}
function createNewPageEditor(c){var b=Ext.get("adminWin").getXY();CMSnewPageEditor=new Ext.Window({title:t(""),id:"newPage",enableFx:true,height:800,width:800,x:b[0]+20,collapsible:true,maximizable:true,border:false,closable:true});newPageEditPanel=new Ext.form.FormPanel({id:"npeditor",enableFx:true,collapsible:false,border:false,layout:"fit",autoHeigth:true,items:{id:"newPageEdit",xtype:"ckeditor",fieldLabel:"Editor",name:"newPageEdit",language:c}});newPageInfoEditPanel=new Ext.form.FormPanel({id:"npinfoeditor",
enableFx:true,collapsible:false,border:false,layout:"fit",autoHeight:true});newPageInfoFieldSet=new Ext.form.FieldSet({id:"pageInfoNewPage",labelWidth:150,defaults:{xtype:"textfield"},border:false,autoHeight:true});growlRequest({url:"/run/admin/getPagesToCombo/?lang_id="+c,method:"POST",params:{id:"NewPage"},success:function(a){a=Ext.decode(a.responseText);newPageInfoFieldSet.add(a.parents);CMSnewPageEditor.doLayout()}});pubButton=new Ext.Button({text:t(""),icon:"/img/silkicons/silk/tick.png",formBind:true,
handler:function(){var a=CKEDITOR.instances.newPageEdit.getData();newPageInfoFieldSet.remove("content");a=new Ext.form.Hidden({id:"content",value:a});newPageInfoFieldSet.add(a);newPageInfoFieldSet.doLayout();newPageInfoEditPanel.getForm().submit({method:"POST",url:"/run/admin/createPage/?lang_id="+c,text:t(""),waitMsg:t(""),submitEmptyText:false,success:function(e,d){var f=Ext.decode(d.response.responseText);if(f.success){notify(t(""),t(""));CKEDITOR.instances.newPageEdit.setData("");Ext.getCmp("comboNewPage").setValue(null);
newPageInfoEditPanel.getForm().setValues({menu_title:null,browser_title:null,page_url:null,help:null,protected_page:false,published:false});siteContentNav.getRootNode().reload();adminWin.doLayout();CMSnewPageEditor.doLayout();newPageInfoFieldSet.doLayout();CMSnewPageEditor.close()}else Ext.Msg.alert(t(""),t("")+f.msg)},failure:function(e,d){var f=Ext.decode(d.response.responseText);Ext.Msg.alert(t(""),t("")+f.msg)}})}});b=new Ext.Button({text:t(""),icon:"/img/silkicons/silk/cancel.png",handler:function(){CMSnewPageEditor.close()}});
growlRequest({url:"/run/admin/getPageInfoFields/",method:"POST",params:{append:"new_page"},success:function(a){a=Ext.decode(a.responseText);newPageInfoFieldSet.add(a.basicItems);CMSnewPageEditor.doLayout()}});newPageInfoEditPanel.add(newPageInfoFieldSet);CMSnewPageEditor.add(newPageInfoEditPanel);CMSnewPageEditor.add(newPageEditPanel);CMSnewPageEditor.addButton(b);CMSnewPageEditor.addButton(pubButton);CMSnewPageEditor.doLayout();CMSnewPageEditor.show()}
function createTranslateEditor(){CMStranslateEditor=new Ext.Panel({title:t(""),id:"CMStranslations",enableFx:true,collapsible:false,width:280,heigth:100,layout:"fit"})}function sendTreeAsArray(){alert("Not Implemented")}
function loadCmsEditor(c,b){growlRequest({url:"/run/admin/loadPageToEditor/",method:"POST",text:t(""),params:{url:c,lang:b},success:function(a){a=Ext.decode(a.responseText);if(a.content!=null){CKEDITOR.instances.htmlContentEdit.setData(a.content);pageInfo.getForm().setValues(a.form);Ext.getCmp("comboPage").setValue(a.parent);var e=a.form.created,d=e.substring(0,10);Ext.getCmp("cms_page_info_createdpage")!=undefined&&e.setValue(d);e=Ext.getCmp("cms_page_info_protected_pagepage");a.form.protected_page==
"t"&&e!=undefined&&e.setValue(true);e=Ext.getCmp("cms_page_info_publishedpage");a.form.published=="t"&&e!=undefined&&e.setValue(true);adminWin.doLayout()}else Ext.Msg.alert(t(""),t(""))},failure:function(){Ext.Msg.alert(t(""),t(""))}})}function loadNewsEditor(c,b){growlRequest({url:"/run/admin/loadNews/",method:"POST",params:{urlname:c,lid:b},text:t(""),success:function(a){newsContentEditor.setValue(a.responseText)},failure:function(){Ext.Msg.alert(t(""),t(""))}})}
function createNewPage(c,b){growlRequest({url:"/run/admin/savePage/",method:"POST",params:{info:c,content:b},text:t(""),success:function(){Ext.Msg.alert(t(""),t(""))},failure:function(){Ext.Msg.alert(t(""),t(""))}})}
function urlUnique(c){Ext.apply(Ext.form.VTypes,{uniqueurl:function(b,a){var e=null;if(a.id=="cms_page_info_page_urlnew_page")var d=Ext.getCmp("cms_page_info_page_urlnew_page").getValue();else{d=Ext.getCmp("cms_page_info_page_urlpage").getValue();e=Ext.getCmp("cms_page_info_page_idpage").getValue()}growlRequest({url:"/run/admin/checkUniqueUrl/",method:"POST",params:{url:d,pageId:e},success:function(f){Ext.decode(f.responseText).success?urlUnique(true):urlUnique(false)}});if(c&&a.id=="cms_page_info_page_urlnew_page")pubButton.enable();
else if(c&&a.id=="cms_page_info_page_urlpage")saveButton.enable();else!c&&a.id=="cms_page_info_page_urlnew_page"?pubButton.disable():saveButton.disable();return c}})}function fixCKEditor(c){CKEDITOR.replace(c,{on:{instanceReady:function(){this.dataProcessor.writer.setRules("p",{indent:false,breakBeforeOpen:true,breakAfterOpen:false,breakBeforeClose:false,breakAfterClose:true})}}})};

