var CodexController=new Class({initialize:function(){this.ref={};this.set_reference()},set_reference:function(){request_ref=new Request.JSON({url:"/codex/list/all",data:"request_via=js&render_as=json",onSuccess:function(c,d){codex.ref=c}});request_ref.post()},load_menu:function(b){if(!b){b=$("menu-codex")}request_menu=new Request.HTML({url:"/codex/list/menu",data:"request_via=js&render_as=xhtml",update:b});request_menu.post()},load_ref:function(){if($$(".rmstext").length>0){for(i=0;i<$$(".rmstext").length;i++){new_text=$$(".rmstext")[i].innerHTML;for(j in codex.ref){codex_ref=codex.ref[j].word;reg_codex=new RegExp("\\b"+codex_ref+"\\b","gi");matched_codex=new_text.match(reg_codex);if(matched_codex!=null){last_position=0;for(k=0;k<matched_codex.length;k++){reg_codex=new RegExp("\\b"+matched_codex[k]+"\\b","g");replaced_text='<a class="codex_ref" href="/codex/'+codex_ref+'" onClick="javascript: page.load(\'/codex/'+codex_ref+"'); return false;\">"+matched_codex[k]+"</a>";last_position=new_text.indexOf(matched_codex[k],last_position+replaced_text.length);new_text_start=new_text.substring(0,last_position);new_text_end=new_text.substring((last_position+matched_codex[k].length),new_text.length);new_text=new_text_start+replaced_text+new_text_end}}}$$(".rmstext")[i].innerHTML=new_text}}},add_reference:function(m){if(m=="ce mot existe déjà"||m=="erreur de saisie"||m=="saisissez un mot"||m==""){$("definition_word").value="saisissez un mot"}else{var h=m;h=h.substr(0,1).toUpperCase()+h.substr(1,h.length);var n="admin";var g=session.get("lang");$("definition_word").value=h;$("definition_author").value=n;$("definition_lang").value=g;var l=new Element("div",{id:"upload_result","class":"result"}).inject($("admin-menu"));var o=new Request.HTML({url:"/codex/add",update:$("upload_result"),onComplete:function(){if($("upload_result").innerHTML=="success"){$("definition_word").value="";page.msgConfirm("Définition ajoutée");page.refresh()}else{if($("upload_result").innerHTML=="cancel"){$("definition_word").value="ce mot existe déjà"}else{$("definition_word").value="erreur de saisie"}}$("upload_result").destroy()}});o.post($("definition"))}},edit_reference:function(q,l,n){var p=session.get("user");var h=session.get("lang");var o=new Element("div",{id:"upload_result","class":"result"}).inject($("admin-menu"));var m=new Request.HTML({url:"/codex/"+q.toLowerCase()+"/edit",update:$("upload_result"),data:"word="+l+"&definition="+n+"&author="+p+"&lang="+h,onComplete:function(){if($("upload_result").innerHTML=="success"){page.msgConfirm("Définition modifiée")}else{page.msgConfirm("Erreur")}$("upload_result").destroy()}});m.post()},delete_reference:function(h){var e=session.get("lang");var g=new Element("div",{id:"upload_result","class":"result"}).inject($("admin-menu"));var f=new Request.HTML({url:"/codex/"+h.toLowerCase()+"/delete",update:$("upload_result"),data:"lang="+e,onComplete:function(){if($("upload_result").innerHTML=="success"){page.msgConfirm("Définition supprimée");page.refresh()}else{page.msgConfirm("Erreur")}$("upload_result").destroy()}});f.post()},format_reference:function(t,p,o){var s=editPanel.currentElement;if(s.getAttribute("class")=="rmscodexword"){var u=s.parentNode}else{var u=s.parentNode.parentNode}var r=u.getAttribute("id");var m=tinyMCE.get("tinyTextArea").getContent();tinyMCE.execCommand("mceFocus",false,"tinyTextArea");tinyMCE.execCommand("mceRemoveControl",false,"tinyTextArea");$("tinyForm").destroy();s.set("html",m);(function(){editPanel.setCurrent(null)}).delay(100);if(s.innerHTML.substr(0,1)=="- "&&s.getAttribute("class")=="rmscodexword"){s.set("html",s.innerHTML.substr(2,s.innerHTML.length-1))}if(s.innerHTML==""){if(s.getAttribute("class")=="rmscodexword"){this.delete_reference(r)}else{if(s.getAttribute("class")=="rmscodexdef"){s.set("html","Veuillez saisir une description");var n=s.innerHTML;this.edit_reference(r,r,n)}}}else{if(s.getAttribute("class")=="rmscodexword"){var q=s.innerHTML;if(q.substr(0,0)!=r.substr(0,0)){q=r.substr(0,0)+s.innerHTML.substr(1,s.innerHTML.length-1)}var n=u.childNodes[1].firstChild.innerHTML}else{if(s.getAttribute("class")=="rmscodexdef"){var q=r;var n=s.innerHTML}}this.edit_reference(r,q,n)}}});
