﻿function ShowAddPageDialog(parentID, dialogTitle, parentDisplayName, parentURL) 
{
    if(window.WPCAPI)
    {     
        WPCAPI.showAddPageDialog(parentID, dialogTitle, parentDisplayName, parentURL);
    }
}

function OnCreateWikiPage(OnCreatePageURL)
{
    if( window.WPCAPI ) 
    {
        WPCAPI.onpagecreate = function( parentID, title, tags, cellID, cellURL  ) 
        {               
            var params = "title=" + encodeURIComponent(title) + "&Action=Create";;         
            
            var request = new XMLHttpRequest();
            request.open( "GET", OnCreatePageURL + "?" + params, true );
            request.onreadystatechange = function() 
            {
                if( request.readyState == 4 )
                {
                    WPCAPI.onpagecreate_Callback( request.status == 200, "A Wiki page of this name aleady exists. please choose another title." );
                }
            };
            request.send(null);
            
            return null;
        };
    }
}

function OnRenamePage()
{
    if(window.WPCAPI)
    { 
        WPCAPI.onpagerename = function( cellID, title, message ) 
        {           
            return "/path/renamepage?cell=" + cellID;
        }     
    } 
}

function OnRenamePageAsync(OnCreatePageURL)
{
    if( WPCAPI ) 
    {
        WPCAPI.onpagerename = function( cellID, title, message ) 
        {            
            var params = "title=" + encodeURIComponent(title) + 
                            "&cellID=" + encodeURIComponent(cellID) + 
                            "&Action=Rename";    
            
            var request = new XMLHttpRequest();
            request.open( "GET", OnCreatePageURL + "?" + params, true );
            
            request.onreadystatechange = function() 
            {                
                if( request.readyState == 4)
                {
                    WPCAPI.onpagerename_Callback( request.status == 200, "A Wiki page of this name aleady exists. please choose another title." );
                }                
            };
            request.send(null);
            
            return null;
        };     
    }
}

function DeleteWikiPageAsync(deletePageURL)
{
    if( window.WPCAPI ) 
    {       
        WPCAPI.onpagedelete = function(cellID, message) 
        {        
            if(deletePageURL != 'undefined' || deletePageURL != '')
            { 
                var params ="cellID=" + encodeURIComponent(cellID) + "&Action=Delete"; //+ "&message=" + encodeURIComponent(message)

                var request = new XMLHttpRequest();
                request.open( "GET", deletePageURL + "?" + params, true );
                
                request.onreadystatechange = function() 
                {
                    if( request.readyState == 4)
                    {
                        WPCAPI.onpagedelete_Callback( request.status == 200, "Home Page can't be deleted." );
                    }
                };
            
                request.send(null);
            }
            
            return null;
        };
    }
}

function OnRestorePageAsync(restorePageURL)
{
    if( window.WPCAPI ) 
    {
        WPCAPI.onpagerestore = function( cellID, message ) 
        {
            var params ="cellID=" + encodeURIComponent(cellID) + "&Action=Restore"; //+ "&message=" + encodeURIComponent(message)

            var request = new XMLHttpRequest();
            request.open( "GET", restorePageURL + "?" + params, true );

            request.onreadystatechange = function() 
            {
                if( request.readyState == 4 )
                {
                    WPCAPI.onpagerestore_Callback( request.status == 200, "Page can not be restored. There is some problem in restoring this page." );                   
                }
            };
            
            request.send(null);
            
            return null;
        };
    }
}