/**
* app.js
*
* $Id:$
*/
App = Class.create();
Object.extend(Object.extend(App.prototype, Bear.prototype), {
    /**
    * コンストラクタ
    */
    initialize: function()
    {
    },
    /**
    * bear.jsからajaxリクエスト毎に呼ばれるイニシャライザ
    */
    _refresh: function()
    {
    },
    /**
    * AJAXリクエスト直前に呼ばれるコールバック関数
    */
    _preAction: function(link)
    {
    },
    /**
    * AJAXリクエスト直後に呼ばれるコールバック関数
    */
    _postAction: function(req, json)
    {
    },
    /**
    * AJAX QuickFormのエラー処理用コールバック関数
    */
    _formError: function(json)
    {
    },
    /**
     * AJAX QuickFormのエラーエフェクト処理用コールバック関数
     */
    _formErrorEffect: function(div_error, div_sign)
    {
        //サイン
        new Effect.Pulsate($(div_sign));
        //エラー
        new Effect.Highlight($(div_error));
    },
    /**
    * DOMウィンドウを開く
    */
    window:function (url, title)
    {
        var win = new Window(this.getNewWindowId(),
        {
            //className: "mac_os_x",
            title: title,
            width:800,
            height:400,
            resizable: true,
            url: url,
            showEffect:Effect.Appear,
            hideEffect: Effect.SwitchOff
        });
        win.toFront();
        win.setDestroyOnClose();
        win.show();
    },
    /**
    * DOMダイアログを開く
    */
    dialog: function (url,title)
    {
        Dialog.info({url: url, options: {asynchronous: false}},
        {windowParameters: {
            className: "dialog",
            width: 500,
            height: 240,
            title: title       },
            okLabel: "キャンセル"
        });
        /**
        * 非同期リクエストにしてBearを再イニシャライズ
        */
        initBear();
    },

   /*
	* フォームウインドウを閉じる
	*/
	closeForm: function(msg){
		Dialog.closeInfo();
		//window.status = (msg);
		//		alert(msg);
	},


    /**
    * app定義のエフェクト grow
    */
    _effect_grow: function(div_id, div_html)
    {
        this.initEffect(div_id);
        $(div_id).innerHTML = div_html;
        new Effect.Grow($(div_id));
    },
    /**
    * app定義のエフェクト2
    */
    _effect_pulsate: function(div_id, div_html)
    {
        this.initEffect(div_id);
        $(div_id).innerHTML = div_html;
        new Effect.Pulsate($(div_id));
    }
});

/*  initApp - App initializer
/*--------------------------------------------------------------------------*/
app = new App();
