function newPage(category) {
    pagetitle = prompt("Wat wordt de titel van de nieuwe pagina?");

    if (pagetitle && pagetitle.length > 1) {
        var url = 'index.php?m=page&class=editor&event=newPage';
        var pars = "title=" + escape(pagetitle) + "&category=" + escape(category);
        var myAjax = new Ajax.Request(
            url,
            {
                method: 'post',
                postBody: pars,
                onComplete: processResult
            }
        );
    }

    return false;
}

function addPage(category, pagenum, title) {
    try {
        myLi = Builder.node('li', {className:'page',
                                   style:'display: none',
                                   id:'page_'+pagenum
                                  },' ');
        mySpan1 = Builder.node('span', {onMouseOver:'showOptions("options_'+pagenum+'")',
                                        onMouseOut:'hideOptions("options_'+pagenum+'")'
                                       },' ');

        myA = Builder.node('a', {id:'link_'+pagenum, href:'index.php?m=page&c=editor&pid='+pagenum}, title);
        myImg1 = Builder.node('img', {className:'handle', src:'images/icons/htmlfile.gif'});
        mySpan2 = Builder.node('span', {style:'display: none', id:'options_'+pagenum}, ' ');
        myImg2 = Builder.node('img', {id:'img_edit_'+pagenum, src:'images/icons/edit.gif', onclick:'editPage('+pagenum+',"'+title+'")'});
        myImg3 = Builder.node('img', {id:'img_del_'+pagenum, src:'images/icons/delete.gif', onclick:'deletePage('+pagenum+',"'+title+'")'});

        mySpan2.appendChild(myImg2);
        mySpan2.appendChild(myImg3);

        mySpan1.appendChild(myImg1);
        mySpan1.appendChild(myA);
        mySpan1.appendChild(mySpan2);

        myLi.appendChile(mySpan1);
        $('list_'+category).appendChild(myLi);
        Effect.BlindDown('page_'+pagenum, {duration:0.2});
    } catch(err) {
        location.reload();
    }
}


function editPage(pid, title) {
    pagetitle = prompt("Via deze weg kunt u de titel van deze pagina wijzigen. Wat wordt de nieuwe titel van deze pagina?", unescape(title));

    if (pagetitle && pagetitle.length > 1) {
        var url = 'index.php?m=page&class=editor&event=updatePage';
        var pars = "pid=" + escape(pid) + "&pagetitle=" + escape(pagetitle);
        var myAjax = new Ajax.Request(
            url,
            {
                method: 'post',
                postBody: pars,
                onComplete: processResult
            }
        );
    }
}

function pageEdited(pagenum, title) {
   $('link_'+pagenum).innerHTML = title;
}

function deletePage(pid, title) {
    if (confirm('Weet u heel zeker dat u de pagina "'+unescape(title)+'" wilt verwijderen?')) {
        var url = 'index.php?m=page&class=editor&event=deletePage';
        var pars = "pid=" + escape(pid);
        var myAjax = new Ajax.Request(
            url,
            {
                method: 'post',
                postBody: pars,
                onComplete: processResult
            }
        );
    }
}

function pageDeleted(pid) {
    Effect.BlindUp('page_'+pid,{duration: 0.3, afterFinish: function() {$('page_'+pid).remove();}});
}

function saveOrder(category) {
    var list = escape(Sortable.sequence('menulist')); 
    sorted_ids = unescape(list).split(','); 
    var url = 'index.php?m=page&class=editor&event=saveOrder';
    var pars = "category=" + escape(category) + "&order=" + escape(sorted_ids);
    var myAjax = new Ajax.Request(
        url,
        {
            method: 'post',
            postBody: pars,
            onComplete: processResult
        }
    );

}

function showOptions(myElement) {
    if ($(myElement)) {
        if ($(myElement).title == 'display2') {
             $(myElement).title = 'display';
        }
        if ($(myElement).title != 'display') {
            Effect.Appear(myElement, {duration: 0.2});
            $(myElement).title = 'display';
        }
    } 
}

function hideOptions(myElement) {
    if ($(myElement)) {
        $(myElement).title = 'display2';
        setTimeout("FadeOptions('"+myElement+"')", 200);
    }
}

function FadeOptions(myElement) {
    if ($(myElement)) {
        if ($(myElement).title == 'display2') {
            $(myElement).title = 'display3';
            Effect.Fade(myElement, {duration: 0.2});
        }
    }
}


