$(function() {

var <%= name.camelize(:lower) %> = new <%= name.camelize %>Main();
<%= name.camelize(:lower) %>.init();

$('.editable-div').addClass("ui-corner-all");

cpnyInit();

});

function <%= name.camelize %>Main() {

var self = this;

<%= name.camelize %>Main.prototype.init = function() {
    if (!cpny.actions) {
        cpny.actions = new <%= name.camelize %>Actions();
        cpny.actions.setOwner(self);
    }
    if (!cpny.event) {
        cpny.event = new <%= name.camelize %>Events();
        cpny.event.setOwner(self);
    }
};
this.endDefine();

} inherits(<%= name.camelize %>Main, CpnyObject);

function <%= name.camelize %>Actions() {

var self = this;

<%= name.camelize %>Actions.prototype.setOwner = function(owner) {
    self.owner = owner;
};

function makeLoadParam(methodname) {
    var param = {};
    param.methodname = methodname;
    param.serviceNm = cpny.utils.serviceNm();
    param.funcNm = cpny.utils.baseFuncNm();
    param.cond = {};
    return param;
}

<%= name.camelize %>Actions.prototype.serverCheck = function() {
    var deferred = $.Deferred();

    return deferred.promise();
};

<%= name.camelize %>Actions.prototype.doSave = function() {
    var deferred = $.Deferred();

    return deferred.promise();
};

<%= name.camelize %>Actions.prototype.doLoad = function() {
    var deferred = $.Deferred();

    return deferred.promise();
};

<%= name.camelize %>Actions.prototype.doLoadCount = function() {
    return cpny.rpc.callProcedure({
        rpcName : '<%= func_name %>_ri',
        param : JSON.stringify(makeLoadParam('getListCount')),
        splashType : 'load',
        splashGoOn : false
    });
};

<%= name.camelize %>Actions.prototype.doDelete = function() {
    var deferred = $.Deferred();

    return deferred.promise();
};

<%= name.camelize %>Actions.prototype.doRefer = function() {
    var deferred = $.Deferred();

    return deferred.promise();
};

<%= name.camelize %>Actions.prototype.doAdd = function() {
};

<%= name.camelize %>Actions.prototype.setModeForAdd = function() {

};

<%= name.camelize %>Actions.prototype.makeSaveParam = function(methodname) {
    var param = {};

    return param;
};

this.endDefine();

} inherits(<%= name.camelize %>Actions, CpnyActions);

function <%= name.camelize %>Events() {

var self = this;
<%= name.camelize %>Events.prototype.setOwner = function(owner) {
    self.owner = owner;
};

<%= name.camelize %>Events.prototype.beforeOnReady = function() {

};

<%= name.camelize %>Events.prototype.afterOnReady = function() {
    return this.inherited.afterOnReady();
};

this.endDefine();

} inherits(<%= name.camelize %>Events, CpnyEvent);