function toggle(el) { WSDOM.Element.toggleClass(el, "collapsed"); } function expand(el) { WSDOM.Element.removeClass(el, "collapsed"); } function collapse(el) { WSDOM.Element.addClass(el, "collapsed"); } var contentEl = WSDOM.Element.get("content"); var iframeUpload = WSDOM.Element.get("iframeUpload"); function initAllEvents() { var articleEls = WSDOM.Element.parseSelector("div.article", contentEl); for(var i = 0, len = articleEls.length; i < len; i++) { attachAdminEvents(articleEls[i]); } var monthEls = WSDOM.Element.parseSelector("h3[id^='month_']", WSDOM.Element.get('right-column')); attachMonthChooserEvents(monthEls); } function attachMonthChooserEvents(monthEls){ if(monthEls && monthEls.length){ for(var i=0; iCancel', popup); var point = getMousePos(e); WSDOM.Element.setXY(popup, point.x, point.y) content.appendChild(popup); WSDOM.Events.add(WSDOM.Element.parseSelector('input,a,div.closer', popup), "click", confirmButtons, null, data); return false; } function confirmButtons(e, el, data){ e.cancel(); if (el && el.value) { if (el.value == "CONFIRM DELETE") removeArticle(data.id); else if (el.value == "CONFIRM ARCHIVE") archiveArticle(data.id); } killPopup(data); } function killPopup(data){ var el = WSDOM.Element.get('popup' + data.id); if(el) WSDOM.Element.remove(el); } function validateSave(form, data){ var formEls = WSDOM.Element.parseSelector('textarea,input[name!="author"][type!="hidden"]', form) var errorsContainer = WSDOM.Element.parseSelector('div[errorcontainer]', form) var errorUL = WSDOM.Element.parseSelector('ul', errorsContainer)[0]; var valid = true; WSDOM.Element.remove(WSDOM.Element.parseSelector('li', errorUL)); WSDOM.Element.addClass(errorsContainer, 'collapsed'); for(var i=0; i10000){ data.text = data.text.substr(0, 10000); } r.load({ url: "NewsBuffer.asp?action=Save", method: "post", onload: saveComplete, data: data }); } function saveComplete(r) { //TODO: get this working ajaxy-like with the month chooser window.location.reload(true); /*var id = r.contentPackage.data.id; if(id == "new") { var el = getArticlesContainer(); var div = WSDOM.Element.create("div"); WSDOM.Element.setHTML(div, r.getResult()); WSDOM.Element.insertBefore(div, el.firstChild); attachAdminEvents(WSDOM.Element.parseSelector("div.article", div)[0]); } else { var el = getContentContainer(id); // TODO: make sure that we found a matching element WSDOM.Element.setHTML(el, r.getResult()); } hideEditForm(id); */ } function iframeSaveComplete() { // TODO: check for valid result? var r = iframeUpload.contentWindow.document.getElementById('response'); var id = r.getAttribute('article_id'); if(id == "new") { var el = getArticlesContainer(); var div = WSDOM.Element.create("div"); WSDOM.Element.setHTML(div, r.innerHTML); WSDOM.Element.insertBefore(div, el.firstChild); attachAdminEvents(WSDOM.Element.parseSelector("div.article", div)[0]); } else { var el = getContentContainer(id); // TODO: make sure that we found a matching element WSDOM.Element.setHTML(el, r.innerHTML); } hideEditForm(id); } function getMousePos(e){ var posx = 0; var posy = 0; if (!e) var e = window.event; if (e.pageX || e.pageY) { posx = e.pageX; posy = e.pageY; } else if (e.clientX || e.clientY) { posx = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft; posy = e.clientY + document.body.scrollTop + document.documentElement.scrollTop; } return {x: posx, y: posy}; } initAllEvents();