
/**********************************************************************
 * DYNAJAX Project - code by Benoit BEGUIN
 * first release: october 2007
 * last update: february 2008
 * Paris, France
 * 
 * DynAjax web site: http://www.dynajax.org/
 * Any question: mailto:admin@dynajax.org
 * Company support: http://www.odesys.fr
 **********************************************************************/

/* ------- GENERIC CONTENT ------- */
var DynAjaxManager = Class.create();

DynAjaxManager.prototype = {
    initialize: function() {},
    getDynaData: function(classId, methodName, args, callBackMethod) {
        var dynaResult = null;
        var asyncCall = false;
        if (callBackMethod && typeof callBackMethod == "function") {
            asyncCall = true;
        }
        
        new Ajax.Request('AjaxDataHandlers/DynAjaxHandler.aspx',
            {   method: "post",
                asynchronous: asyncCall,
                parameters: "classId=" + encodeURIComponent(classId) + "&methodName=" + encodeURIComponent(methodName) + "&methodArgs=" + encodeURIComponent(Object.toJSON(args)),
                onSuccess: function(request){
                    dynaResult = request.responseText.evalJSON();
                    if (callBackMethod) {
                        callBackMethod(dynaResult);
                    }
                },
                onException: function(e) {
                    dynaResult = null;
                    if (callBackMethod) {
                        callBackMethod(dynaResult);
                    }
                }
            });
        return dynaResult;
    }
};
var dynAjaxManager = new DynAjaxManager();
/* ------- END OF GENERIC CONTENT ------- */

/* ------- DYNAMIC CONTENT ------- */
var SessionManagerClass = Class.create();
SessionManagerClass.prototype = {
  initialize: function() {},

  checkAuthentication: function(callBackMethod) {
    var args = [];
    return dynAjaxManager.getDynaData('SessionManager', 'checkAuthentication', args, callBackMethod);
  }, 
  loginUser: function(login, password, callBackMethod) {
    var args = [login, password];
    return dynAjaxManager.getDynaData('SessionManager', 'loginUser', args, callBackMethod);
  }, 
  GetChildCatalogSysById: function(catalogid, callBackMethod) {
    var args = [catalogid];
    return dynAjaxManager.getDynaData('SessionManager', 'GetChildCatalogSysById', args, callBackMethod);
  }, 
  GetFilesByCatalogId: function(catalogid, userid, callBackMethod) {
    var args = [catalogid, userid];
    return dynAjaxManager.getDynaData('SessionManager', 'GetFilesByCatalogId', args, callBackMethod);
  }, 
  GetFileByCaption: function(caption, callBackMethod) {
    var args = [caption];
    return dynAjaxManager.getDynaData('SessionManager', 'GetFileByCaption', args, callBackMethod);
  }, 
  DeleCatalogById: function(catalogid, callBackMethod) {
    var args = [catalogid];
    return dynAjaxManager.getDynaData('SessionManager', 'DeleCatalogById', args, callBackMethod);
  }, 
  CreatCatalogNode: function(nodename, parentnodeid, description, callBackMethod) {
    var args = [nodename, parentnodeid, description];
    return dynAjaxManager.getDynaData('SessionManager', 'CreatCatalogNode', args, callBackMethod);
  }, 
  UpdateCatalogNode: function(nodeid, nodename, parentnodeid, description, callBackMethod) {
    var args = [nodeid, nodename, parentnodeid, description];
    return dynAjaxManager.getDynaData('SessionManager', 'UpdateCatalogNode', args, callBackMethod);
  }, 
  GetAllFileTypes: function(callBackMethod) {
    var args = [];
    return dynAjaxManager.getDynaData('SessionManager', 'GetAllFileTypes', args, callBackMethod);
  }, 
  UpLoadFile: function(caption, filename, imagefilename, filesize, catalogid, updateuserid, filetypeid, issystemfile, description, callBackMethod) {
    var args = [caption, filename, imagefilename, filesize, catalogid, updateuserid, filetypeid, issystemfile, description];
    return dynAjaxManager.getDynaData('SessionManager', 'UpLoadFile', args, callBackMethod);
  }, 
  DeleteFileByCapiton: function(caption, callBackMethod) {
    var args = [caption];
    return dynAjaxManager.getDynaData('SessionManager', 'DeleteFileByCapiton', args, callBackMethod);
  }, 
  UpdateFile: function(fileid, caption, filename, imagefilename, filesize, catalogid, updateuserid, filetypeid, issystemfile, description, callBackMethod) {
    var args = [fileid, caption, filename, imagefilename, filesize, catalogid, updateuserid, filetypeid, issystemfile, description];
    return dynAjaxManager.getDynaData('SessionManager', 'UpdateFile', args, callBackMethod);
  }, 
  CreateUser: function(ucode, uname, upassword, utel, ufax, umobiletelephone, uemail, ucompanyname, ucompanyaddress, utype, umemo, parentid, callBackMethod) {
    var args = [ucode, uname, upassword, utel, ufax, umobiletelephone, uemail, ucompanyname, ucompanyaddress, utype, umemo, parentid];
    return dynAjaxManager.getDynaData('SessionManager', 'CreateUser', args, callBackMethod);
  }, 
  GetUserByCode: function(usercode, callBackMethod) {
    var args = [usercode];
    return dynAjaxManager.getDynaData('SessionManager', 'GetUserByCode', args, callBackMethod);
  }, 
  UpdateUserInfo: function(ucode, uname, utel, ufax, umobiletelephone, uemail, ucompanyname, uaddress, umemo, password, newpswd, affirmpswd, ispass, nopasscause, callBackMethod) {
    var args = [ucode, uname, utel, ufax, umobiletelephone, uemail, ucompanyname, uaddress, umemo, password, newpswd, affirmpswd, ispass, nopasscause];
    return dynAjaxManager.getDynaData('SessionManager', 'UpdateUserInfo', args, callBackMethod);
  }, 
  GetChildUserById: function(userid, uwhere, callBackMethod) {
    var args = [userid, uwhere];
    return dynAjaxManager.getDynaData('SessionManager', 'GetChildUserById', args, callBackMethod);
  }, 
  UpdateUserDescription: function(usercode, description, callBackMethod) {
    var args = [usercode, description];
    return dynAjaxManager.getDynaData('SessionManager', 'UpdateUserDescription', args, callBackMethod);
  }, 
  DeleteUser: function(usercode, callBackMethod) {
    var args = [usercode];
    return dynAjaxManager.getDynaData('SessionManager', 'DeleteUser', args, callBackMethod);
  }, 
  GetUserPowerByUserId: function(userid, catalogsysid, callBackMethod) {
    var args = [userid, catalogsysid];
    return dynAjaxManager.getDynaData('SessionManager', 'GetUserPowerByUserId', args, callBackMethod);
  }, 
  CreatUserCatalog: function(userid, catalogid, callBackMethod) {
    var args = [userid, catalogid];
    return dynAjaxManager.getDynaData('SessionManager', 'CreatUserCatalog', args, callBackMethod);
  }, 
  DeleUserCatalog: function(userid, callBackMethod) {
    var args = [userid];
    return dynAjaxManager.getDynaData('SessionManager', 'DeleUserCatalog', args, callBackMethod);
  }, 
  CreateUserPower: function(userid, catalogid, allowadd, allowdel, allowedit, allowdownload, description, callBackMethod) {
    var args = [userid, catalogid, allowadd, allowdel, allowedit, allowdownload, description];
    return dynAjaxManager.getDynaData('SessionManager', 'CreateUserPower', args, callBackMethod);
  }, 
  GetCurrentUserCode: function(callBackMethod) {
    var args = [];
    return dynAjaxManager.getDynaData('SessionManager', 'GetCurrentUserCode', args, callBackMethod);
  }, 
  GetCurrentUserType: function(callBackMethod) {
    var args = [];
    return dynAjaxManager.getDynaData('SessionManager', 'GetCurrentUserType', args, callBackMethod);
  }, 
  GetCurrentUserName: function(callBackMethod) {
    var args = [];
    return dynAjaxManager.getDynaData('SessionManager', 'GetCurrentUserName', args, callBackMethod);
  }, 
  GetCurrentUserId: function(callBackMethod) {
    var args = [];
    return dynAjaxManager.getDynaData('SessionManager', 'GetCurrentUserId', args, callBackMethod);
  }, 
  logoutCurrentUser: function(callBackMethod) {
    var args = [];
    return dynAjaxManager.getDynaData('SessionManager', 'logoutCurrentUser', args, callBackMethod);
  }, 
  GetUserCatalogTreeBYUserId: function(userid, callBackMethod) {
    var args = [userid];
    return dynAjaxManager.getDynaData('SessionManager', 'GetUserCatalogTreeBYUserId', args, callBackMethod);
  }, 
  InitialPassword: function(usercode, callBackMethod) {
    var args = [usercode];
    return dynAjaxManager.getDynaData('SessionManager', 'InitialPassword', args, callBackMethod);
  }, 
  GetNoPassUsers: function(callBackMethod) {
    var args = [];
    return dynAjaxManager.getDynaData('SessionManager', 'GetNoPassUsers', args, callBackMethod);
  }, 
  GetNOIsSystemFile: function(UserId, callBackMethod) {
    var args = [UserId];
    return dynAjaxManager.getDynaData('SessionManager', 'GetNOIsSystemFile', args, callBackMethod);
  }, 
  UpdateFileState: function(fileid, issystemfile, callBackMethod) {
    var args = [fileid, issystemfile];
    return dynAjaxManager.getDynaData('SessionManager', 'UpdateFileState', args, callBackMethod);
  }, 
  GetNOIsSystemFileCount: function(UserId, callBackMethod) {
    var args = [UserId];
    return dynAjaxManager.getDynaData('SessionManager', 'GetNOIsSystemFileCount', args, callBackMethod);
  }, 
  GetNoPassUsersCount: function(callBackMethod) {
    var args = [];
    return dynAjaxManager.getDynaData('SessionManager', 'GetNoPassUsersCount', args, callBackMethod);
  }, 
  GetPassUsersPageCount: function(pagesize, callBackMethod) {
    var args = [pagesize];
    return dynAjaxManager.getDynaData('SessionManager', 'GetPassUsersPageCount', args, callBackMethod);
  }
};
var SessionManager = new SessionManagerClass();


/* ------- END OF DYNAMIC CONTENT ------- */