webmaster@0: var arLIMenu = new Array(); webmaster@0: var curBPShown = 0; webmaster@0: var wEdit, wBr, dp; webmaster@0: webmaster@0: var xmlRequest = { webmaster@0: init: function() { webmaster@0: try { webmaster@0: xmlRequest.obj = new XMLHttpRequest(); webmaster@0: } catch(e) { webmaster@0: xmlRequest.obj = new ActiveXObject("Msxml2.XMLHTTP"); webmaster@0: } webmaster@0: }, webmaster@0: webmaster@0: get: function(url) { webmaster@0: xmlRequest.obj.open("GET", url, false); webmaster@0: xmlRequest.obj.send(null); webmaster@0: webmaster@0: return xmlRequest.obj.responseXML; webmaster@0: }, webmaster@0: webmaster@0: send: function(url, data) { webmaster@0: try { webmaster@0: xmlRequest.obj.open("POST", url, false); webmaster@0: xmlRequest.obj.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded') webmaster@0: xmlRequest.obj.send(data); webmaster@0: return true; webmaster@0: } catch(e) { webmaster@0: return false; webmaster@0: } webmaster@0: } webmaster@0: webmaster@0: }; webmaster@0: webmaster@0: var t = { webmaster@0: evtListener:function(elt, evt, func, useCpt) { webmaster@0: if(elt.addEventListener) webmaster@0: elt.addEventListener(evt, func, useCpt); webmaster@0: else if(elt.attachEvent) webmaster@0: elt.attachEvent("on" + evt, func); webmaster@0: else webmaster@0: elt["on" + evt] = func; webmaster@0: } webmaster@0: } webmaster@0: webmaster@0: t.evtListener(window, "load", xmlRequest.init, false); webmaster@0: t.evtListener(window, "load", hideForms, false); webmaster@0: webmaster@0: var editFilter = { webmaster@0: acceptNode: function(node) { webmaster@52: if(node.nodeName == 'a' && node.firstChild && node.firstChild.nodeValue == 'Editer') webmaster@52: return NodeFilter.FILTER_ACCEPT; webmaster@0: return NodeFilter.FILTER_SKIP; webmaster@0: } webmaster@0: } webmaster@0: webmaster@0: var brouillonsFilter = { webmaster@0: acceptNode:function(node) { webmaster@0: if(node.nodeName == 'a' && node.firstChild && ( webmaster@0: node.firstChild.nodeValue == 'Editer' || webmaster@0: node.firstChild.nodeValue == 'Publier' || webmaster@0: node.firstChild.nodeValue == 'Supprimer')) webmaster@0: return NodeFilter.FILTER_ACCEPT; webmaster@0: return NodeFilter.FILTER_SKIP; webmaster@0: } webmaster@0: } webmaster@0: webmaster@0: webmaster@0: webmaster@0: window.onload=function() { webmaster@0: var ar=document.getElementsByTagName('li'); webmaster@0: for(var i=0; i" + data.getElementsByTagName("contenu")[0].firstChild.data + "", "text/xml"); webmaster@0: var parserErrors = doc.getElementsByTagName('parsererror'); webmaster@0: if(parserErrors.length > 0) { webmaster@0: pubComment.textContent = ""; webmaster@0: pubComment.appendChild(doc.firstChild); webmaster@0: } webmaster@0: else { webmaster@0: pubComment.textContent = "Le post est fait de XML valide, bon pour être poster"; webmaster@0: whichVersion.pubButton.disabled = false; webmaster@0: } webmaster@0: } else { webmaster@0: curBPShown = 0; webmaster@0: el.parentNode.parentNode.className = ''; webmaster@0: hideForms(); webmaster@0: el.pubIsShown = false; webmaster@0: } webmaster@0: return false; webmaster@0: } webmaster@0: webmaster@0: function editBrouillon(e) { webmaster@0: edit(e, "brouillon"); webmaster@0: } webmaster@0: webmaster@0: function editPubl(e) { webmaster@0: edit(e, "post"); webmaster@0: } webmaster@0: webmaster@0: function edit(e, type) { webmaster@0: var editPost = document.getElementById("editPost"); webmaster@0: editPost.type = type; webmaster@0: var el = bpEvt(e).rTarget; webmaster@0: if(el.editPostIsShown !=1) { webmaster@0: var id = el.href.substring(el.href.indexOf("#") + 4, el.href.length); webmaster@0: var data = xmlRequest.get("admin_xml.php?type=" + type + "&id=" + id); webmaster@0: el.parentNode.appendChild(editPost); webmaster@0: el.editPostIsShown = 1; webmaster@52: el.parentNode.parentNode.className = 'Pinned'; webmaster@0: editPost.style.display = 'block'; webmaster@0: editPost.Titre.value = data.getElementsByTagName('titre')[0].textContent; webmaster@0: editPost.Contenu.value = data.getElementsByTagName('contenu')[0].firstChild.data; webmaster@0: if(type == 'post') { webmaster@0: editPost.mood.style.display = ''; webmaster@0: editPost.mood.value = data.getElementsByTagName('mood')[0].textContent; webmaster@0: editPost.Tags.style.display = ''; webmaster@0: editPost.Tags.value = ''; webmaster@0: var tags = data.getElementsByTagName('tag'); webmaster@0: for(var i = 0; i < tags.length; i++) webmaster@0: { webmaster@0: if(tags[i].textContent.indexOf(' ') > -1) webmaster@0: { webmaster@0: editPost.Tags.value += '"' + tags[i].textContent + '"'; webmaster@0: } else { webmaster@0: editPost.Tags.value += tags[i].textContent; webmaster@0: } webmaster@0: editPost.Tags.value += ' '; webmaster@0: } webmaster@0: } else { webmaster@0: editPost.mood.style.display = 'none'; webmaster@0: editPost.Tags.style.display = 'none'; webmaster@0: } webmaster@0: webmaster@0: } else { webmaster@52: hideForms(); webmaster@52: el.parentNode.parentNode.className = ''; webmaster@52: el.editPostIsShown = 0; webmaster@0: } webmaster@0: } webmaster@0: webmaster@0: function showAddForm(e) { webmaster@0: var targetAc = bpEvt(e, "a").rTarget; webmaster@0: while(targetAc.nodeName.toLowerCase()!='form') targetAc=targetAc.nextSibling; // Permet d'avoir eventuellement des espaces webmaster@0: targetAc.style.display = (targetAc.style.display=='block')?'none':'block'; webmaster@0: } webmaster@0: webmaster@0: function saveFormContent(e) { webmaster@0: var el = e.target.form; // Should be the form... webmaster@0: var toggleLink = el.parentNode.firstChild; webmaster@0: var id=toggleLink.href.substring(toggleLink.href.indexOf("#") + 4, toggleLink.href.length); webmaster@0: if(xmlRequest.send('admin_xml.php?id=' + id + '&mode=edit&type=' + el.type, webmaster@0: 'title=' + postValue(el.Titre.value) + webmaster@0: '&content=' + postValue(el.Contenu.value) + webmaster@0: '&mood=' + postValue(el.mood.value) + webmaster@0: '&tags=' + postValue(el.Tags.value))) webmaster@0: { webmaster@0: toggleLink.editPostIsShown = 0; webmaster@56: toggleLink.parentNode.parentNode.className = ''; webmaster@0: hideForms(); webmaster@0: } else { webmaster@0: el.submit(); webmaster@0: } webmaster@0: return true; webmaster@0: } webmaster@0: webmaster@0: function hideForms() { webmaster@0: document.getElementById('whichVersion').style.display='none'; webmaster@0: document.getElementById('editPost').style.display='none'; webmaster@0: } webmaster@0: webmaster@0: /* Bullet-Proofing of the event variable... Needed because of the huge mess out there */ webmaster@0: function bpEvt(eIni, tag) { webmaster@0: var e = (eIni)?eIni:window.event; webmaster@0: e.rTarget = (e.target)?e.target:e.srcElement; webmaster@0: if(tag != undefined) webmaster@0: while(e.rTarget.parentNode && e.rTarget.nodeName.toLowerCase() != tag) e.rTarget = e.rTarget.parentNode; webmaster@0: return e; webmaster@0: } webmaster@0: webmaster@0: function postValue(str) webmaster@0: { webmaster@0: str = str.replace(/&/g, "%26"); webmaster@0: str = str.replace(/\+/g, "%2B"); webmaster@0: return str; webmaster@29: }