﻿// JScript ファイル
var CDManager = "";
$addHandler(window, 'load', function(){
    CDManager = $create(MobileSystem.UI.DemoDataManager, {}, null, null, null);
    CDManager.initContents();
});

Type.registerNamespace("MobileSystem.UI");

MobileSystem.UI.DemoDataManager = function(){
    MobileSystem.UI.DemoDataManager.initializeBase(this); 
    this._widgetClassName;          //Widgetエリア（最上位）のクラス名（固定）
    this._contentsComData=null;     //Contents全体のデータ（サーバ側と共有）
    this._widgetIDIndex="";         //WidgetDataの最大Index値を格納
    this._widgetDataList = null;    //WidgetData格納リスト
    this._currentEditData = null;   //編集対象のデータ
    this._editStatus = "";          //データの編集ステータス('new' or 'mod' or 'none')
    this._modifyState=false;        //データ更新状態（保存する必要があるか否か）
    this._currentEditorMode="";     //Editorの起動時のmode
    this._bPhysicalTitleChange;     //物理サイト名変更フラグ
    this._tmpQRUrl="";              //QRコード画像作成用テンポラリ変数
    
    
    this._editorManager=null;       //EditorManager
//    this._widgetManager=null;       //WidgetManager
//    this._lineManager=null;         //LineManager
//    this._imgManager=null;          //ImageManager
//    this._imgWindow=null;           //ImageListWindow
//    this._previewManager=null;      //PreviewManager
    this._pictDataManager=null;     //PictDataManager
//    this._validationManager=null;   //ValidationManager
//    this._tabContainer = null;      //TabContainer
    this._tmpSubInfoList=null;      //サーバにデータ送信する際に利用する一時領域
//    this._lnkWindow = null;         //Linkデータをプレビューする為のウィンドウ
//    this._lnkPrevieWindow = null;   //プレビュー画面用のリンクデータ表示ウィンドウ
    
    this.ckbxOpenContentsElm = null;
    this.ckbxEnableContentsElm = null;
    
    this._onCompleteGetComponentHandler=null;   //WebService用ハンドラー（ページデータ取得用）
    this._onWebServiceErrHandler = null;        //WebService用ハンドラー（エラー用）
    this._onWebServiceTimeoutHandler = null;    //WebService用ハンドラー（タイムアウト用）
    this._initDataHandler = null;
};

MobileSystem.UI.DemoDataManager.prototype ={
    initialize:function() {
        MobileSystem.UI.DemoDataManager.callBaseMethod(this,'initialize');
        
        this._widgetClassName = "widget_area";
        this._widgetIDIndex = 0;
        
        this._editStatus = MobileSystem.UI.DataEditStatus.NONE;
//        this._widgetDataList = new Array();
//        //登録するハンドラを作成
//        this._onDropWidgetHandler = Function.createDelegate(this, this._onDropWidgetData);
//        this._onModifyWidgetHandler = Function.createDelegate(this, this._onModifyWidgetData);
//        this._onDeleteWidgetHandler = Function.createDelegate(this, this._onDeleteWidgetData);
//        //Webサービス用のハンドラを作成
//        this._onCompleteGetComponentHandler = Function.createDelegate(this,this._onCompleteGetContensComponentData);
//        this._onWebServiceErrHandler = Function.createDelegate(this,this._onWebServiceErr);
//        this._onWebServiceTimeoutHandler = Function.createDelegate(this,this._onWebServiceTimeout);
        
        //初期処理用のハンドラーを作成
        this._initDataHandler = Function.createDelegate(this, this._DemoDataManagerInitData);
//        //クローズ処理用のハンドラーを作成
//        this._closeWindowHandler = Function.createDelegate(this, this._onClose);
//        $addHandler(window, 'beforeunload', this._closeWindowHandler);
        
        this._contentsComData = new MobileLibrary.Framework.Web.ContentsCommonData();
        
//        //公開情報タブのエレメントを設定
//        this.ckbxOpenContentsElm = $get("ctl00_ContentPlaceHolder1_ContentsTabContainer_subInfoTab_ckbxOpenContents");//一覧公開チェックボックス
//        this.ckbxEnableContentsElm = $get("ctl00_ContentPlaceHolder1_ContentsTabContainer_subInfoTab_ckbxEnableContents");//サイト公開チェックボックス
//        this.txtOpenDateElm = $get("ctl00_ContentPlaceHolder1_ContentsTabContainer_subInfoTab_txtOpenDate");//公開開始日
//        this.txtOpenTimeElm = $get("ctl00_ContentPlaceHolder1_ContentsTabContainer_subInfoTab_txtOpenTime");//公開開始時間
//        this.txtCloseDateElm = $get("ctl00_ContentPlaceHolder1_ContentsTabContainer_subInfoTab_txtCloseDate");//公開終了日
//        this.txtCloseTimeElm = $get("ctl00_ContentPlaceHolder1_ContentsTabContainer_subInfoTab_txtCloseTime");//公開開始時間
    },
    /*********コンテンツエディタ画面の初期処理****************
    ・ページ情報をロードする（Webサービス利用）
    ・取得したデータを画面に設定する。
    */
    initContents : function(){
        //サーバ側との通信を伴う初期化処理を行う。処理が完了するまでループします。
        this._DemoDataManagerInitData();
        
    },
    /********Waiting処理************/
    _wait:function(func,waitTime){
        var f = function(){
            func();
        };
        setTimeout(f,waitTime);
    },
    /*********DemoDataManagerが取り扱うデータの初期化処理**************
    この処理が完了しなければ、コンテンツの作成機能は利用できません。
    WebServerを介した処理を行うので、処理完了まで数回コールされます。
    */
    _DemoDataManagerInitData :function(){
        
        
        //PictDataManagerを生成し、絵文字データを作成する。
        if(null==this._pictDataManager){
            this._pictDataManager = $create(MobileSystem.UI.PictDataManager, {}, null, null, null);
        }
        if(this._pictDataManager.getStatus()==0){
            this._wait(this._initDataHandler,100);
            //処理が未完了の場合100mmsec後に再度自身をコールする。
            return;
        }
        //DemoEditroManagerを生成する。（これはPictDataManagerに依存しています）
        if(null==this._editorManager){
            this._editorManager = $create(MobileSystem.UI.DemoEditorManager, {"editorBehaviorID":"ModalBehaviour"}, null, null, null);
            this._editorManager.openEditorForDemo();
        }
//        //WidgetManagerを生成する。
//        if(null==this._widgetManager){
//            this._widgetManager = $create(MobileSystem.UI.WidgetManager, {}, null, null, null);
//        }
//        //LineManagerを生成する。
//        if(null==this._lineManager){
//            this._lineManager = $create(MobileSystem.UI.LineManager, {}, null, null, null);
//        }
//        //ImageManagerを生成する。
//        if(null==this._imgManager){
//            this._imgManager = $create(MobileSystem.UI.ImageManager, {"imgPanelBehaviorID":"ImagePanelBehaviour","imgPreviewAreaID":"imgPreview"}, null, null, null);
//        }
//        //PreviewManagerを生成する。
//        if(null==this._previewManager){
//            this._previewManager=$create(MobileSystem.UI.PreviewManager, {"previewFrameID":"previewFrame"}, null, null, null);
//        }
//        //ValidationManagerを生成する。
//        if(null==this._validationManager){
//            this._validationManager=$create(MobileSystem.UI.ValidationManager, {}, null, null, null);
//            if(!this._validationManager.registValidatorCallout("rvePhysicalSiteNameBehavior"))alert("Validator regisit err!");
//            if(!this._validationManager.registValidatorCallout("rveLinkUrlBehavior"))alert("Validator regisit err!");
//            if(!this._validationManager.registValidatorCallout("reveLinkUrlBehavior"))alert("Validator regisit err!");
//            if(!this._validationManager.registValidatorCallout("rveLinkTelBehavior"))alert("Validator regisit err!");
//            if(!this._validationManager.registValidatorCallout("rveLinkMailBehavior"))alert("Validator regisit err!");
//            if(!this._validationManager.registValidatorCallout("reveLinkMailBehavior"))alert("Validator regisit err!");
//        }
//        //Tab切り替え時のハンドラを定義
//        if(null==this._tabContainer){
//            this._preTabIndex = 0;
//            this._tabContainer = $find("ctl00_ContentPlaceHolder1_ContentsTabContainer");
//            this._onTabChangeHandler = Function.createDelegate(this, this._onTabChange);
//            this._tabContainer.add_activeTabChanged(this._onTabChangeHandler);
//            
//            //this._initialTabHeight = this._tabContainer._body.style.height;
//            var tabHeight = this._tabContainer._body.style.height;
//            if(tabHeight.match(/(\d+)px/)){
//                this._initialTabHeight = this._canvasTabHeight = parseInt(RegExp.$1,10);
//            }else{
//                this._initialTabHeight = this._canvasTabHeight = tabHeight;
//            }
//            //this._initialTabHeight = this._canvasTabHeight = this._tabContainer._body.style.pixelHeight;
//        }
        
//        //コンテンツのデータを読み込む
//        ContentsAdminService.GetContentsComponentData(this._onCompleteGetComponentHandler
//                                                      ,this._onWebServiceErrHandler
//                                                      ,this._onWebServiceTimeoutHandler);
                                                    
    },
    getEditorManager :function(){
        return this._editorManager;
    },
    getPictDataManager : function(){
        return this._pictDataManager;
    },
//    /**********コンテンツデータの初期ロード処理成功時処理****************
//    ContentsCommonDataを設定する。
//    UIWidgetを作成し、キャンバス及びwidgetDataListに登録する。
//    */
//    _onCompleteGetContensComponentData : function(response){
//        if(null==response){
//            //err
//            this._bRidirectErrPage = true;
//            location.href="../ErrorPage.aspx";
//            return;
//        }
//        if(null!=response.CommonData){
//            this._contentsComData = response.CommonData;
//            
//            if(this._contentsComData.ErrCode!=0){
//                //err
//                this._bRidirectErrPage = true;
//                if(this._contentsComData.ErrCode==3){
//                    //Sessionタイムアウト
//                    location.href="../SessionTimeout.aspx";
//                }else{
//                    location.href="../ErrorPage.aspx";
//                }
//                return;
//            }
//            
//            if(this._contentsComData.PageID==-1){
//                //新規データ作成時
//            }else{
//                //WidgetDataをロードする。
//                this.loadInitialWidgetData(this._contentsComData,response.WigetDatas);
//            }
//            //基本情報を設定する。
//            this._setBasicInfo(this._contentsComData);
//        }
//        
//    },
    _onWebServiceTimeout : function(err){
    },
    _onWebServiceErr : function(err){
        var errMessage = err.get_message();//Server側のExceptionのメッセージが取得できます。
        alert("サーバとの通信時にエラーが発生しました。\nエラーメッセージ："+ errMessage); 
    },
//    /************コンテンツの基本情報とQRコードを設定します***************/
//    _setBasicInfo :function(comndata){
//        this._setQRData(comndata.QRCodeUrl);
//        //ページタイトルと物理名と背景色を設定する。(WaterMarkを利用する場合、WaterMarkに設定する）
//        $find("ContentsWatermark").set_Text(comndata.ContentsTitle);
//        $find("SiteNameWatermark").set_Text(comndata.ContentsPhysicalName);
//        this._previewManager.setBackgroundColor(comndata.BackColor);
//        
//        //コンテンツ公開情報を設定する。
//        this.ckbxOpenContentsElm.checked = !comndata.IsPrivateContents;
//        this.ckbxEnableContentsElm.checked = comndata.IsEnableContents;
//        this.txtOpenDateElm.value = comndata.OpenContentsDate;
//        this.txtOpenTimeElm.value = comndata.OpenContentsTime;
//        this.txtCloseDateElm.value = comndata.CloseContentsDate;
//        this.txtCloseTimeElm.value = comndata.CloseContentsTime;
//        //メモ情報と紹介情報を設定
//        $find("MemoWatermark").set_Text(comndata.SiteMemo);
//        $find("IntroductionWatermark").set_Text(comndata.SiteIntroduction);
//    },
//    /********QRデータの設定処理**********/
//    _setQRData :function(qrUrl){
//        if(qrUrl==null || qrUrl=="")return;
//        var qrarea = $get("qrArea");
//        var qrimg = $get("qrimg");
//        if(qrimg=='undefined' || null==qrimg){
//            qrimg = document.createElement("img");
//            qrimg.id="qrimg";
//            qrimg.setAttribute("src",qrUrl);
//            qrimg.style.width = qrimg.style.height = 76;
//            qrimg.setAttribute("width","76");
//            qrimg.setAttribute("height","76");
//            qrarea.appendChild(qrimg);
//            qrarea.className="qrArea";
//        }else{
//            qrimg.setAttribute("src",qrUrl);
//        }
//    },
    /*******ページコンテンツの共通データを管理する変数の取得処理******/
    getContentsComData:function(){
        return this._contentsComData;
    },
    getStatus:function(){
        return this._modifyState;
    },
//    getValidatorManager :function(){
//        return this._validationManager;
//    },
//    /********EditorのOpen処理（外部からはコールしないで下さい）********/
//    _openEditor:function(editorMode){
//        this._currentEditorMode = editorMode;
//        //Validatorを全て無効にする。
//        this._validationManager.InvalidAllValidator();
//        this.getEditorManager().openEditor(editorMode);
//    },
//    /********Widgetデータの新規作成処理（外部からコールされます）********/
//    newCreatWidgetData :function(type){
//        
//        //データを生成する。
//        this._currentEditData = new MobileLibrary.Framework.Web.ContentsWidgetData();
//        this._currentEditData.WidgetDataType = type;//Serverサイドの定義値を設定する。
//        this._currentEditData.WidgetIndex = this._widgetIDIndex;
//        this._currentEditData.WidgetSubInfo = $create(MobileSystem.UI.WidgetSubInfo, {}, null, null, null);
//        
//        this._widgetIDIndex++;
//        //新規作成ステータスに設定。
//        this._editStatus = MobileSystem.UI.DataEditStatus.NEW;
//        
//        if(type==MobileSystem.UI.WidgetType.LITERAL){
//            this.getEditorManager().setEditorAlign(MobileSystem.UI.AlignType.NOSET);
//            this.getEditorManager().setReturnCodeEnable(false);
//            this.getEditorManager().setReturnCodeToEnd(true);
//            this._openEditor(MobileSystem.UI.EditorMode.EDITOR_LITERAL);
//        }else if(type==MobileSystem.UI.WidgetType.LINE){
//            this._lineManager.openLinePanel();
//            //先にパネルを開いておかないとスライダーの値が設定できない
//            this._lineManager.setData(1,100,MobileSystem.UI.AlignType.NOSET,"#000000");//Default値を設定
//        }else if(type==MobileSystem.UI.WidgetType.MARQUE){
//            this.getEditorManager().setMarqueeData2MarqueeManager(MobileSystem.UI.MarqueeDirection.R2L,"#ffffff");
//            this._openEditor(MobileSystem.UI.EditorMode.EDITOR_MARQUEE);
//        }else if(type==MobileSystem.UI.WidgetType.IMAGE){
//            this._imgManager.openImagePanel(true);
//        }else if(type==MobileSystem.UI.WidgetType.LINK){
//            this.getEditorManager().setEditorAlign(MobileSystem.UI.AlignType.NOSET);
//            this.getEditorManager().setReturnCodeEnable(false);
//            this.getEditorManager().setReturnCodeToEnd(true);
//            this._openEditor(MobileSystem.UI.EditorMode.EDITOR_LINK);
//            this.getEditorManager().setLinkData2LinkManager(MobileSystem.UI.LinkType.URL,"");
//        }
//    },
//    /********データの登録処理*******
//    * 内部管理用のデータを生成しリストに登録する。
//    * UI用のWidgetパネルを生成し、UIリスト領域に登録する。
//    */
//    registWidgetData:function(widgetData,bPreview,bLoadData){
//        //ページが新規の場合、WidgetDataリストの最後尾に追加する。
//        if(this._editStatus == MobileSystem.UI.DataEditStatus.NEW){
//            //UI用のWidgetDataを作成する。
//            var uiWidget = this._widgetManager.createUIWidget(widgetData
//                                                            ,this._onDropWidgetHandler
//                                                            ,this._onDeleteWidgetHandler
//                                                            ,this._onModifyWidgetHandler);
//            //WidgetDataListへの登録処理
//            this._widgetDataList.push(uiWidget);
//            
//            
//            //キャンバス領域を調整
//            this._adjustCanvasSize();
//            
//        }else if(this._editStatus == MobileSystem.UI.DataEditStatus.MOD){
//            //該当のUIWidget取得し、表示を更新する。
//            var uiWidget = this._getWidgetDataByIndex(widgetData.WidgetIndex);
//            if(null!=uiWidget)uiWidget.updateData();
//        }
//        //ステータスを変更する。
//        this._currentEditData = null;
//        this._editStatus = MobileSystem.UI.DataEditStatus.NONE; //編集ステータスを変更
//        if(!bLoadData){
//            this._modifyState = true;                               //データ保存可否ステータスを変更
//        }
//        //プレビュー処理
//        if(bPreview){
//            this._previewManager.setPreviewData(this._widgetDataList); 
//        }
//    },
//    /********WidgetのIndex値よりWidgetDataListよりUIWidgetを取得する*************/
//    _getWidgetDataByIndex :function(index){
//        for(var i=0;i<this._widgetDataList.length;i++){
//            if(index==this._widgetDataList[i].getWidgetData().WidgetIndex){
//                return this._widgetDataList[i];
//            }
//        }
//        return null;
//    },
    _getWidgetEventElement :function(widgetElm,eventElmClassName){
        for(var i=0;i<widgetElm.childNodes.length;i++){
            if(widgetElm.childNodes[i].className=="widget_event"){
                var eventElmNodes = widgetElm.childNodes[i];
                for(var j=0;j<eventElmNodes.childNodes.length;j++){
                    if(eventElmNodes.childNodes[j].className==eventElmClassName){
                        return eventElmNodes.childNodes[j];
                    }
                }
                break;
            }
        }
        return null;
    },
//    /************UIWidgetデータの再編集処理****************
//    UIWidgetの編集処理を実施した時にコールされます。
//    */
//    _onModifyWidgetData :function(e){
//        //編集対象のデータのindexIDを取得する。
//        var widgetElm = e.target;
//        while(true){
//            if(widgetElm.className!=CDManager._widgetClassName){
//                //widgetElm = widgetElm.parentElement;
//                widgetElm = widgetElm.parentNode;
//            }else{
//                break;
//            }
//        }
//        var dataindex = widgetElm.id;
//        var widget = null;
//        for(var i=0;i<CDManager._widgetDataList.length;i++){
//            if(dataindex==CDManager._widgetDataList[i].getWidgetIndex()){
//                widget = this._widgetDataList[i];
//                //編集対象のWidgetDataを設定する。
//                this._currentEditData = this._widgetDataList[i].getWidgetData();
//                break;
//            }
//        }
//        //編集モードを更新（MOD）に設定する。
//        this._editStatus = MobileSystem.UI.DataEditStatus.MOD;
//        //this.loadWidgetData(CDManager._currentEditData,true);
//        this.loadWidgetDataForModify(widget);   //Widgetを引数に渡すように変更（メソッド名も変更）
//        
//        //不具合83対応
//	    this.setNoCloseFlg(true);
//    },
//    /********保存データ（登録済みコンテンツデータ）の一括ロード処理********/
//    loadInitialWidgetData:function(contentsCmnData,contentsWidgetDatas){
//        if(contentsWidgetDatas==null || contentsWidgetDatas=="" || contentsWidgetDatas=='undefined')return;
//        for(var i=0;i<contentsWidgetDatas.length;i++){
//            var widgetData = contentsWidgetDatas[i];
//            widgetData.WidgetIndex = this._widgetIDIndex;
//            if(null==widgetData.WidgetSubInfo || widgetData.WidgetSubInfo==""){
//                //ImageWidgetの場合はサーバ側で作成されているので作る必要はない
//                widgetData.WidgetSubInfo = $create(MobileSystem.UI.WidgetSubInfo, {}, null, null, null);
//            }
//            this._editStatus = MobileSystem.UI.DataEditStatus.NEW;
//            var bPreview = false;
//            if(i==contentsWidgetDatas.length-1)bPreview = true;
//            this.registWidgetData(widgetData,bPreview,true);
//            
//            this._widgetIDIndex++;
//        }
//    },
//    /*************************データのロード処理**************************
//    Widgetのデータを各エディタに設定しエディタを開きます。
//    引数のデータ型をWidgetBaseに変更　070531
//    */
//    loadWidgetDataForModify:function(widget){
//        
//        //FirefoxではエディタOpen後に取得したdocumentしか利用できないので、エディタをOpenしてから情報を設定するように処理を変更する。
//        //また保存データをロード後のWidgetが保有するNodeはWidgetの初期処理で生成していたが、それではdocumentが利用できないので、
//        //このタイミングでNodeを生成するように処理を変更
//        
//        var widgetItemData = widget.getWidgetData();
//        var dataType = widgetItemData.WidgetDataType;
//        var editorMan = this.getEditorManager();
//        if(dataType==MobileSystem.UI.WidgetType.LITERAL){
//            //LiteralWidgetの場合
//            this._openEditor(MobileSystem.UI.EditorMode.EDITOR_LITERAL);
//            //WidgetよりNodeデータを取得し、EditorにNodeデータと位置情報を設定する。
//            var widgetNode = widget.getEditorNode();
//            editorMan.setHTMLNode(widgetNode);
//            editorMan.setEditorAlign(widgetItemData.Align);
//            editorMan.setReturnCodeEnable(widgetItemData.EnableRetCode);
//            editorMan.setReturnCodeToEnd(widgetItemData.AddReturnCodeToEnd);
//        }else if(dataType==MobileSystem.UI.WidgetType.LINE){
//            //LineWidgetの場合、先にパネルを開く事
//            this._lineManager.openLinePanel();
//            this._lineManager.setData(widgetItemData.Size,
//                                widgetItemData.Width,
//                                widgetItemData.Align,
//                                widgetItemData.BackColor);
//        }else if(dataType==MobileSystem.UI.WidgetType.MARQUE){
//            //MarqueeWidgetの場合
//            this._openEditor(MobileSystem.UI.EditorMode.EDITOR_MARQUEE);
//            var widgetNode = widget.getEditorNode();
//            editorMan.setHTMLNode(widgetNode);
//            editorMan.setMarqueeData2MarqueeManager(widgetItemData.Direction,widgetItemData.BackColor);
//            
//        }else if(dataType==MobileSystem.UI.WidgetType.IMAGE){
//            //ImageWidgetの場合
//            var subInfo = widgetItemData.WidgetSubInfo;
//            this._imgManager.setData(widgetItemData.ImageID,
//                                    subInfo.imgTitle,
//                                    subInfo.imgWidth,
//                                    subInfo.imgHeight,
//                                    subInfo.imgUrl,
//                                    widgetItemData.Align,
//                                    widgetItemData.AddReturnCodeToEnd);
//            this._imgManager.openImagePanel(false);
//        }else if(dataType==MobileSystem.UI.WidgetType.LINK){
//            //LinkWidgetの場合
//            this._openEditor(MobileSystem.UI.EditorMode.EDITOR_LINK);
//            var widgetNode = widget.getEditorNode();
//            editorMan.setHTMLNode(widgetNode);
//            editorMan.setEditorAlign(widgetItemData.Align);
//            editorMan.setReturnCodeEnable(widgetItemData.EnableRetCode);
//            editorMan.setReturnCodeToEnd(widgetItemData.AddReturnCodeToEnd);
//            
//            editorMan.setLinkData2LinkManager(widgetItemData.LinkType,widgetItemData.LinkNavigateData);
//        }
//        
//    },
//    /***********UIWidget削除時処理********************/
//    _onDeleteWidgetData :function(e){
//        //不具合83対応
//	    this.setNoCloseFlg(true);
//	    
//        var conf = confirm("このアイテムを削除します。宜しいですか？");
//        if(!conf)return;
//        
//        var widgetElm = e.target;
//        while(true){
//            if(widgetElm.className!=CDManager._widgetClassName){
//                //widgetElm = widgetElm.parentElement;
//                widgetElm = widgetElm.parentNode;
//            }else{
//                break;
//            }
//        }
//        var dataindex = widgetElm.id;
//        delete widgetElm;
//        //widgetDataListから除いたリストを作成する。
//        var newlist = new Array();
//        for(var i=0;i<this._widgetDataList.length;i++){
//            if(dataindex==this._widgetDataList[i].getWidgetIndex()){
//                var uiWidget = this._widgetDataList[i];
//                var widgetData = uiWidget.getWidgetData();
//                delete widgetData;
//                delete uiWidget;
//            }else{
//                newlist.push(this._widgetDataList[i]);
//            }
//        }
//        delete this._widgetDataList;
//        this._widgetDataList = newlist;
//        
//        //キャンバス領域を調整
//        this._adjustCanvasSize();
//        
//        //プレビュー処理
//        this._previewManager.setPreviewData(this._widgetDataList);
//    },
//    /********EditorパネルでのOK時処理********/
//    editorOK:function(){
//        //Link入力データの検証を行う。
//        var retValidate = true;
//        if(this._currentEditorMode==MobileSystem.UI.EditorMode.EDITOR_LINK){
//            var linkType = this._editorManager.getLinkType();
//            if(linkType==MobileSystem.UI.LinkType.URL){
//                retValidate = this._validationManager.Validate("EditorLinkUrl");
//            }else if(linkType==MobileSystem.UI.LinkType.TEL){
//                retValidate = this._validationManager.Validate("EditorLinkTel");
//            }else if(linkType==MobileSystem.UI.LinkType.MAIL){
//                retValidate = this._validationManager.Validate("EditorLinkMail");
//            }
//        }
//        if(!retValidate)return;
//        
//        //Editorから値を取得する前にEditorデータのチェック処理をコールする。
//        this.getEditorManager().checkEditorData();
//        //エディタ部の入力データの検証を行う。
//        if(this._currentEditorMode==MobileSystem.UI.EditorMode.EDITOR_LITERAL ||
//            this._currentEditorMode==MobileSystem.UI.EditorMode.EDITOR_MARQUEE){
//            var inputdata = this.getEditorManager().getEditorDataCount();
//            if(inputdata==0){
//                if(confirm("有効な登録情報がありません。処理を終了しても宜しいですか？")){
//                    this._editorManager.closeEditor();
//                }
//                return;
//            }
//        }
//        
//        //Editorを明示的にCloseする。
//        this._editorManager.closeEditor();
//        
//        //Editorからデータを取得し、_currentEditDataに設定する。
//        var editorbody = this.getEditorManager().getEditorDocument().body;
//        //改行の可否情報を設定する。
//        this._currentEditData.EnableRetCode = this.getEditorManager().isEnableReturnCode();
//        //末尾への改行付加情報を設定
//        this._currentEditData.AddReturnCodeToEnd = this.getEditorManager().isAddReturnCodeToEnd();
//        
//        var nodesData = editorbody.childNodes;
//        //保存対象のNodeのCloneを作成し、編集対象のデータにNode配列を登録する。
//        var tmplist = new Array();
//        for(var i=0;i<nodesData.length;i++){
//            tmplist.push(nodesData[i].cloneNode(true));
//        }
//        this._currentEditData.WidgetSubInfo.editorNodesData = tmplist;
//        
//        if(this._currentEditData.WidgetDataType==MobileSystem.UI.WidgetType.LITERAL){
//            //Literalの場合
//            this._currentEditData.Align = this.getEditorManager().getEditorAlign();
//            this.registWidgetData(this._currentEditData,true,false);
//        }
//        else if(this._currentEditData.WidgetDataType==MobileSystem.UI.WidgetType.MARQUE){
//            //Marqueeモードの場合、Marquee情報を取得し、設定する。
//            this._currentEditData.Direction = this.getEditorManager().getMarqueeDirection();
//            this._currentEditData.BackColor = this.getEditorManager().getMarqueeBackColor();
//            this.registWidgetData(this._currentEditData,true,false);
//        }
//        else if(this._currentEditData.WidgetDataType==MobileSystem.UI.WidgetType.LINK){
//            //Linkモードの場合、Link情報を取得し、設定する。
//            this._currentEditData.Align = this.getEditorManager().getEditorAlign();
//            this._currentEditData.LinkType = this.getEditorManager().getLinkType();
//            this._currentEditData.LinkNavigateData = this.getEditorManager().getLinkNavigateData();
//            this.registWidgetData(this._currentEditData,true,false);
//        }
//        //エディタの入力値をクリアする。
//        this.getEditorManager().clearHTMLNode();
//        
//    },
//    /********EditorパネルでのCancel処理********/
//    editorCancel:function(){
//        var editor = this.getEditorManager();
//        editor.clearHTMLNode();
//        editor.closeContentsLinkListWindow();
//    },
    
//    /*****************WidgetのDrop時処理***********************/
//    _onDropWidgetData :function(e){
//        //var parent = e.target.parentElement;
//        var parent = e.target.parentNode;
//        //データのIDを取得する。
//        //var parent = e.target.parentElement;
//        var parent = e.target.parentNode;
//        while(true){
//            if(parent.className!=CDManager._widgetClassName){
//                //parent = parent.parentElement;
//                parent = parent.parentNode;
//            }else{
//                break;
//            }
//        }
//        var dataindex = parent.id;
//        Sys.Debug.trace("ID"+dataindex+"のWidgetがDropされました。");
//        CDManager._synchroListData(parent);
//        //変更フラグを設定
//        this._modifyState = true;
//        //プレビュー処理
//        this._previewManager.setPreviewData(this._widgetDataList);
//    },
//    /*********キャンバスエリアの縦サイズを調整します*******/
//    _adjustCanvasSize : function(){
//        var totalHeight = 0;
//        for(var i=0;i<this._widgetDataList.length;i++){
//            var uiWidget = this._widgetDataList[i];
//            var widgetElm = uiWidget.getWidgetElement();
//            totalHeight += widgetElm.offsetHeight;
//            totalHeight += 3;//マージン分だけ足す。
//        }
//        //TabContainerのサイズも調整する
//        var dif = totalHeight - this._canvasDefaultHeight;
//        this._canvasTabHeight = this._initialTabHeight;
//        if(dif>0){
//            this._canvasTabHeight = this._initialTabHeight + dif;
//        }
//        if(Sys.Browser.agent == Sys.Browser.Firefox){
//            this._tabContainer._body.style.height = this._canvasTabHeight + 'px';
//        }else{
//            this._tabContainer._body.style.height = this._canvasTabHeight;
//        }

//        
//    },
//    /*************************************
//    画面上のCanvas領域のWidgetエレメントとWidgetデータ格納リストの順番の同期をとる。
//    *************************************/
//    _synchroListData:function(dragElm){
//        //Dropイベントではドラッグ中のITEMはリストから削除されている。
//        //DropEndイベントより先にコールされる為だと思う。
//        
//        //ドラッグターゲットのドロップされたY位置を取得
//        var dragItemY = Sys.UI.DomElement.getLocation(dragElm).y;
//        
//        var children = CDManager._widgetUIList.children;
//        var index = 0;
//        for(var i = 0;i<children.length;i++){
//            if(children[i].className==CDManager._widgetClassName){
//                if(children[i]!=dragElm){
//                    if(dragItemY < Sys.UI.DomElement.getLocation(children[i]).y){
//                        //このElementの前に挿入された事になる。
//                        break;
//                    }
//                }
//                index++;
//            }
//        }
//        //DragされているItemを除いたリストに対してindexの位置にDragアイテムが挿入された事になる。
//        //まずDragされているアイテムを除いたリストを生成する。
//        var tmplist1 = new Array();
//        for(var i=0;i<children.length;i++){
//            if(children[i].className==CDManager._widgetClassName){
//                tmplist1.push(children[i]);
//            }
//        }
//        //次にindexの場所にDragTargetを挿入したリストを作成する。（これがDrag終了時のリスト順になる）
//        var tmplist2 = new Array();
//        for(var i=0;i<=tmplist1.length;i++){
//            if(i==index){
//                tmplist2.push(dragElm);
//            }
//            if(i!=tmplist1.length){
//                tmplist2.push(tmplist1[i]);
//            }
//        }
//        //Widgetデータリストの位置も変更する。
//        var tmplist3 = new Array();
//        for(var i=0;i<tmplist2.length;i++){
//            for(j=0;j<CDManager._widgetDataList.length;j++){
//                //if(tmplist2[i].id==CDManager._widgetDataList[j].WidgetIndex){
//                if(tmplist2[i].id==CDManager._widgetDataList[j].getWidgetIndex()){
//                    tmplist3.push(CDManager._widgetDataList[j]);
//                    break;
//                }
//            }
//        }
//        //WidgetDataリストを取り替える
//        CDManager._widgetDataList = tmplist3;
//    },
//    /********************コンテンツの保存処理*******************
//    コンテンツ基本情報、Widgetのデータをサーバに送信し、保存する。    
//    ***********************************************************/
//    saveWidgetData:function(){
//        
//        //メインタブの補足情報（メモ情報）のチェック＆格納処理
//        if(!this._checkAndRegistMainInfoTabData()){
//            return;
//        }
//        //コンテンツ公開情報の入力データをチェックする。（不正な場合処理終了）
//        if(!this._checkAndRegistOpenInfoTabData()){
//            return;
//        }
//        //コンテンツ基本情報（物理名）の入力チェックを行う。
//        var retValidate = this._validationManager.Validate("SaveContents");
//        //if(!retValidate)return;
//        //※WaterMarkExtenderとRequiredFieldValidatorの組み合わせではバグっているので手動でチェックする。
//        var physicalSiteName = $find("SiteNameWatermark").get_Text();
//        if(physicalSiteName=="" || physicalSiteName.length==0){
//            alert("サイトのファイル名（物理名）は必ず設定する必要があります。");
//            $find("rvePhysicalSiteNameBehavior").show();
//            return;
//        };
//        //物理サイト名が以前と変更されていれば、フラグをOnにする
//        if(physicalSiteName!=this._contentsComData.ContentsPhysicalName){
//            this._bPhysicalTitleChange = true;
//            //ダミー画像を設定する
//            this._setQRData("../img/creating_qr.gif");
//        }else{
//            this._bPhysicalTitleChange = false;
//        }
//        
//        //送信前処理
//        this._preSendData(this._widgetDataList);
//        //サーバ送信用のデータを作成する。(ContentsCommonDataのリスト）
//        var tmpSendDataList = new Array();
//        for(var i=0;i<this._widgetDataList.length;i++){
//            tmpSendDataList.push(this._widgetDataList[i].getWidgetData());
//        }
//        //サーバ送信処理
//        ContentsAdminService.SaveWidgetData(this._contentsComData,tmpSendDataList
//                                            ,Function.createDelegate(this, this._onCompleteSaveData)
//                                            ,Function.createDelegate(this, this._onErr)
//                                            ,Function.createDelegate(this, this._onTimeOut));
//        //送信後処理
//        this._afterSendData(this._widgetDataList);
//    },
//    /*****サーバにデータを送信する前にコールします*******/
//    _preSendData:function(widgetList){
//        //基本情報を設定します。
//        this._contentsComData.ContentsTitle = $find("ContentsWatermark").get_Text();
//        this._contentsComData.ContentsPhysicalName = $find("SiteNameWatermark").get_Text();
//        this._contentsComData.BackColor = this._previewManager.getBackgroundColor();//背景色
//        
//        if(null!=widgetList){
//            //EditorのNodeデータよりサーバ側で解析できる構造のデータを作成する
//            this._tmpSubInfoList=new Array();
//            for(var i=0;i<widgetList.length;i++){
//                //ContentsWidgetData内のWidgetSubInfoはJSONシリアライズ不可な為、送信前に一時退避する。
//                var subInfo = widgetList[i].getWidgetData().WidgetSubInfo;
//                this._tmpSubInfoList.push(subInfo);
//                widgetList[i].getWidgetData().WidgetSubInfo = null;
//            }
//        }
//        Sys.Debug.trace("■保存前処理を実行しました。");
//    },
//     /*****サーバにデータを送信した後にコールします*******/
//    _afterSendData:function(widgetList){
//        //サーバ送信前に退避したWidgetSubInfoを元に戻す
//        if(null!=this._tmpSubInfoList){
//            if(null!=widgetList){
//                for(var i=0;i<widgetList.length;i++){
//                    //var tmpdata = widgetList[i];
//                    var tmpdata = widgetList[i].getWidgetData();
//                    tmpdata.WidgetSubInfo=this._tmpSubInfoList[i];
//                    //■■■■■■■■■■■■■Debugコード■■■■■■■■■■■■■■■■■
//                    if(tmpdata.WidgetDataType!=1 && tmpdata.WidgetDataType!=3 && tmpdata.WidgetDataType!=5){
//                        if(tmpdata.WidgetSubInfo.editorNodesData!=null && tmpdata.WidgetSubInfo.editorNodesData!=""){
//                            alert("Data Missmatch!!");
//                        }
//                    }
//                    //■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
//                }
//                this._tmpSubInfoList = null;
//            }
//        }
//        Sys.Debug.trace("■保存後処理を実行しました。");
//    },
//    /***********サーバへのデータ保存処理完了時処理*******
//    result:CommonData
//    */
//    _onCompleteSaveData:function(result){
//        if(result.ErrCode!=0){
//            //保存エラー
//            if(this._bPhysicalTitleChange){
//                //元のQR画像を設定する。
//                this._setQRData(this._contentsComData.QRCodeUrl);
//            }
//            var msg = result.ErrMessage + "\n" + "保存処理は中断されました。";
//            alert(msg);
//            return;
//        }
//        //PageIDを更新する。
//        this._contentsComData.PageID = result.PageID;
//        if(this._bPhysicalTitleChange){
//            //物理名が変更されていればQR画像を変更する。
//            this._contentsComData.QRCodeUrl = result.QRCodeUrl;
//            this._setQRData(this._contentsComData.QRCodeUrl);
//        }
//        //データ保存ステータスを変更する。
//        this._modifyState = false;
//    },
    /***********サーバへのデータ保存処理エラー処理処理********/
    _onErr:function(err){
        if(this._bPhysicalTitleChange){
            //QR変更処理が実施されていれば、元のQR画像を設定する。
            this._setQRData(this._contentsComData.QRCodeUrl);
        }
        alert(err.get_message());
    },
    /***********サーバへのデータ保存処理タイムアウト時処理********/
    _onTimeOut:function(){
        
        if(this._bPhysicalTitleChange){
            //QR変更処理が実施されていれば、元のQR画像を設定する。
            this._setQRData(this._contentsComData.QRCodeUrl);
        }
        alert("タイムアウトが発生しました。サーバアクセスが集中していますので暫くしてから再実行して下さい。");
    },
//    /***********LinePanel処理***************/
//    linePanelOK :function(){
//        //データを設定する
//        this._currentEditData.BackColor = this._lineManager.getLineColor();
//        this._currentEditData.Size = this._lineManager.getLineSize();
//        this._currentEditData.Width = this._lineManager.getLineWidth();
//        this._currentEditData.Align = this._lineManager.getLineAlign();
//        
//        this.registWidgetData(this._currentEditData,true,false);
//    },
//    linePanelCancel :function(){
//    },
//    /*************ImagePanelのOK時処理****************/
//    imagePanelOK :function(){
//        var imgid = this._imgManager.getImgID();
//        if(imgid==-1){
//            if(confirm("画像が選択されていません。処理を終了しても宜しいですか？")){
//                this._imgManager.closeImagePanel();
//                return;
//            }else{
//                return;
//            }
//        }
//        
//        var title = this._imgManager.getImgTitle();
//        var width = this._imgManager.getImgWidth();
//        var height = this._imgManager.getImgHeight();
//        var imgUrl = this._imgManager.getImgUrl();
//        var imgalign=this._imgManager.getImgAlign();
//        this._currentEditData.ImageID = imgid;
//        this._currentEditData.Align = imgalign;
//        //UIWidget生成時に必要な補足情報を登録する。
//        var subInfo = this._currentEditData.WidgetSubInfo;
//        subInfo.imgUrl      = imgUrl;
//        subInfo.imgWidth    = width;
//        subInfo.imgHeight   = height;
//        subInfo.imgTitle    = title;
//        //末尾への改行付加情報を設定
//        this._currentEditData.AddReturnCodeToEnd = this._imgManager.isAddRetCodeToEnd();
//        
//        this.registWidgetData(this._currentEditData,true,false);
//        
//        //ImagePanelのClose時処理をコールする。
//        this._imgManager.closeImagePanel();
//        
//    },
//    imagePanelCancel :function(){
//        //ImagePanelのClose時処理をコールする。
//        this._imgManager.closeImagePanel();
//    },
//    /********Tab切り替え後処理**************/
//    _onTabChange : function(e){
//        var curTabIndex = this._tabContainer.get_activeTabIndex();
//        if(curTabIndex!=this._preTabIndex && curTabIndex==0){
//            //タブが切り替わった場合（Index1から0へ）、入力データを検証する
//            this._checkAndRegistOpenInfoTabData();
//            //タブ画面のサイズをキャンバスサイズに連動した値に設定する。
//            if(Sys.Browser.agent == Sys.Browser.Firefox){
//                this._tabContainer._body.style.height = this._canvasTabHeight + 'px';
//            }else{
//                this._tabContainer._body.style.height = this._canvasTabHeight;
//            }
//        }else if(curTabIndex!=this._preTabIndex && curTabIndex==1){
//            //タブが切り替わった場合（Index0から1へ）、入力データを検証する
//            this._checkAndRegistMainInfoTabData();
//            //タブ画面のサイズを初期値に設定する。
//            if(Sys.Browser.agent == Sys.Browser.Firefox){
//                this._tabContainer._body.style.height = this._initialTabHeight + 'px';
//            }else{
//                this._tabContainer._body.style.height = this._initialTabHeight;
//            }
//        }
//        this._preTabIndex = curTabIndex;
//    },
//    /************コンテンツ公開タブ情報の入力チェック＆格納処理******************/
//    _checkAndRegistOpenInfoTabData : function(){

//        //Validatorを取得（MaskedEditValidatorはバグっていてvalid値が正確に取得できないので独自メソッドを利用）
//        var startDateVal = $get("ctl00_ContentPlaceHolder1_ContentsTabContainer_subInfoTab_revStartDate");
//        //var startTimeVal = $get("ctl00_ContentPlaceHolder1_ContentsTabContainer_subInfoTab_OpentimeMaskedEditValidator");
//        var closeDateVal = $get("ctl00_ContentPlaceHolder1_ContentsTabContainer_subInfoTab_revCloseDate");
//        //var closeTimeVal = $get("ctl00_ContentPlaceHolder1_ContentsTabContainer_subInfoTab_ClosetimeMaskedEditValidator");
//        var siteIntroWmBehavior = $find("IntroductionWatermark");//サイト紹介情報(WaterMark)

//        var openTimeValid = this._isValidTimeValue(this.txtOpenTimeElm.value);
//        var closeTimeValid = this._isValidTimeValue(this.txtCloseTimeElm.value);
//        
//        var bErr = false;
//        this.txtOpenDateElm.className="";
//        this.txtOpenTimeElm.className="";
//        this.txtCloseDateElm.className="";
//        this.txtCloseTimeElm.className="";
//        //日付を検証
//        if(this.txtOpenDateElm.value!=""){
//            var openCalender = $find("calenderOpenDateBehavior");
//            if(null==openCalender.get_selectedDate()){
//                bErr = true;
//                this.txtOpenDateElm.className="TextBoxError";
//            }
//        }
//        if(this.txtCloseDateElm.value!=""){
//            var closeCalender = $find("calenderCloseDateBehavior");
//            if(null==closeCalender.get_selectedDate()){
//                bErr = true;
//                this.txtCloseDateElm.className="TextBoxError";
//            }
//        }
//        if(!openTimeValid){
//            this.txtOpenTimeElm.className="TextBoxError";
//        }
//        if(!closeTimeValid){
//            this.txtCloseTimeElm.className="TextBoxError";
//        }
//        //エラーがある場合は、メッセージボックスを表示
//        if(!startDateVal.isvalid || !openTimeValid || !closeDateVal.isvalid || !closeTimeValid || bErr){
//            this._tabContainer.set_activeTabIndex(1);
//            alert("入力された公開情報に不正な値が設定されています。");
//            return false;
//        }
//        //時間が入力されて日付がない場合はエラーとする。
//        if(this.txtOpenTimeElm.value!="" && this.txtOpenDateElm.value==""){
//            this.txtOpenDateElm.className="TextBoxError";
//            bErr=true;
//        }
//        if(this.txtCloseTimeElm.value!="" && this.txtCloseDateElm.value==""){
//            this.txtCloseDateElm.className="TextBoxError";
//            bErr=true;
//        }
//        if(bErr){
//            this._tabContainer.set_activeTabIndex(1);
//            alert("時刻を設定する場合は、日付も入力する必要があります。");
//            return false;
//        }
//        //公開設定になっている場合は更に入力チェックを行う。    
//        if(this.ckbxEnableContentsElm.checked){
//            
//            //日付と時刻の整合性チェック（※公開期間を制限する場合はここに追加）
//            if(this.txtOpenDateElm.value!="" && this.txtCloseDateElm.value!=""){
//                var difDays = this._calcDaysBetween(this.txtOpenDateElm.value,this.txtCloseDateElm.value);
//                if(difDays<0){
//                    this.txtOpenDateElm.className = this.txtCloseDateElm.className = "TextBoxError";
//                    this._tabContainer.set_activeTabIndex(1);
//                    alert("開始日は終了日より前に設定する必要があります。");
//                    return false;
//                }
//                if(difDays==0 && this.txtOpenTimeElm.value!="" && this.txtCloseTimeElm.value!=""){
//                    this.txtOpenTimeElm.value.match(/(\d{1,2}):(\d{1,2})/);
//                    var openMin = parseInt(RegExp.$1,10) * 60 + parseInt(RegExp.$2,10);
//                    this.txtCloseTimeElm.value.match(/(\d{1,2}):(\d{1,2})/);
//                    var closeMin = parseInt(RegExp.$1,10) * 60 + parseInt(RegExp.$2,10);
//                    if(openMin>closeMin){
//                        this.txtOpenTimeElm.className = this.txtCloseTimeElm.className = "TextBoxError";
//                        this._tabContainer.set_activeTabIndex(1);
//                        alert("開始時刻は終了時刻より前に設定する必要があります。");
//                        return false;
//                    }
//                }
//            }
//        }
//        
//        //紹介文の文字長をチェックする。
//        if(siteIntroWmBehavior.get_Text().length>200){
//            this._tabContainer.set_activeTabIndex(1);
//            alert("サイト紹介欄に登録した内容が最大登録データ長（200文字）を超えています。");
//            return false;
//        }
//        //日付が入力されていて時刻がない場合は、システムで時刻を設定する。
//        if(this.txtOpenDateElm.value!="" && this.txtOpenTimeElm.value==""){
//            this.txtOpenTimeElm.value = "00:00";
//        }
//        if(this.txtCloseDateElm.value!="" && this.txtCloseTimeElm.value==""){
//            this.txtCloseTimeElm.value = "23:59";
//        }
//        //データ格納前に情報が変更されているかチェックする。
//        if(!this._modifyState){
//            this._modifyState = this._checkOpenTabInfoModify();
//        }
//        //入力データを格納
//        this._contentsComData.IsPrivateContents = !this.ckbxOpenContentsElm.checked;
//        this._contentsComData.IsEnableContents = this.ckbxEnableContentsElm.checked;
//        this._contentsComData.OpenContentsDate = this.txtOpenDateElm.value;
//        this._contentsComData.OpenContentsTime = this.txtOpenTimeElm.value;
//        this._contentsComData.CloseContentsDate = this.txtCloseDateElm.value;
//        this._contentsComData.CloseContentsTime = this.txtCloseTimeElm.value;
//        
//        this._contentsComData.SiteIntroduction = siteIntroWmBehavior.get_Text();
//        return true;
//    },
//    /******公開情報タブで登録されている情報が保存後変更されているかチェックする*****/
//    _checkOpenTabInfoModify : function(){
//        var bModify = false;
//        if(this._contentsComData.IsPrivateContents != !this.ckbxOpenContentsElm.checked ||
//            this._contentsComData.IsEnableContents != this.ckbxEnableContentsElm.checked ||
//            this._contentsComData.OpenContentsDate != this.txtOpenDateElm.value ||
//            this._contentsComData.OpenContentsTime != this.txtOpenTimeElm.value ||
//            this._contentsComData.CloseContentsDate != this.txtCloseDateElm.value ||
//            this._contentsComData.CloseContentsTime != this.txtCloseTimeElm.value ||
//            this._contentsComData.SiteIntroduction != $find("IntroductionWatermark").get_Text()){
//            bModify = true;
//        }
//        return bModify;
//    },
//    /************メインタブ情報（メモ情報）のチェック＆格納処理******************/
//    _checkAndRegistMainInfoTabData :function(){
//        var memoWmBehavior = $find("MemoWatermark");//メモ情報(WaterMark)
//        //メモの文字長をチェックする。
//        if(memoWmBehavior.get_Text().length>250){
//            this._tabContainer.set_activeTabIndex(0);
//            alert("メモ欄に登録した内容が最大登録データ長（250文字）を超えています。");
//            return false;
//        }
//        //情報が変更状況を格納する
//        if(!this._modifyState){
//            this._modifyState = this._checkMainTabInfoModify();
//        }
//        this._contentsComData.SiteMemo = memoWmBehavior.get_Text();
//        return true;
//    },
//    /***メインタブ情報（メモ）が保存後変更されているかチェックする***/
//    _checkMainTabInfoModify : function(){
//        var bModify = false;
//        if(this._contentsComData.SiteMemo!=$find("MemoWatermark").get_Text()){
//            bModify = true;
//        }
//        return bModify;
//    },
//    /************引数の日付（フォーマットはyyyy/MM/ddの文字列）の間の日数を計算する。**************/
//    _calcDaysBetween : function(date1,date2){
//        var fromDate = new Date(date1);
//        var toDate = new Date(date2);
//        oneMinutes = 1000*60;
//        var oneDay = oneMinutes * 60 * 24;
//        var diff = Math.ceil((toDate.getTime() - fromDate.getTime()) / oneDay);
//        return diff;
//    },
//    /********MaskedEditValidatorのisvalidがバグっているのでこのメソッドで検証する*******
//    引数:文字列(hh:mm)
//    */
//    _isValidTimeValue : function(time){
//        if(time==null || time=="")return true;
//        if(time.match(/(\d{1,2}):(\d{1,2})/)){
//            var hour = parseInt(RegExp.$1,10);
//            var min = parseInt(RegExp.$2,10);
//            if(hour<=23 && min<=59)return true;
//        }
//        return false;
//    },
//    /*****リンクウィジェット用のリンク表示用画面の表示(Open)処理********/
//    openLinkWindow :function(url){
//        if(null==this._lnkWindow || this._lnkWindow.closed){
//            this._lnkWindow=window.open(url,null,'left=100, top=100, height=500, width= 570, status=no, resizable= yes, scrollbars= yes, toolbar= no,location= no, menubar= no');    
//        }
//        //Windowを前面に移動する。
//        this._lnkWindow.focus();
//    },
//    /*****プレビュー画面用のリンク表示画面のOpen処理********/
//    openLinkPreviewWindow :function(url){
//        if(null==this._lnkPrevieWindow || this._lnkPrevieWindow.closed){
//            this._lnkPrevieWindow=window.open(url,null,'left=100, top=100, height=230, width= 175, status=no, resizable= no, scrollbars= yes, toolbar= no,location= no, menubar= no');    
//        }
//        //Windowを前面に移動する。
//        this._lnkPrevieWindow.focus();
//    },
//    showLinkMailMessage :function(mailaddr){
//        var message = mailaddr+"宛にメールを作成します。";
//        alert(message);
//    },
//    showLinkTelMessage :function(telno){
//        var message = telno + "に電話をします。";
//        alert(message);
//    },
//    /***********ブラウザ終了時前処理************
//    登録内容が変更されていれば、終了確認メッセージを出力します
//    */
//    _onClose : function(e){
//        //不具合83対応
//        if(this._noCloseFlg){
//            this._noCloseFlg = false;
//            return;
//        }
//        
//        var mod = this._modifyState;
//        if(!mod){
//            if(!this._checkMainTabInfoModify()){
//                mod = this._checkOpenTabInfoModify();
//            }else{
//                mod = true;
//            }
//        }
//        if(!mod){
//            //タイトルとファイル名と背景色が変更されているかチェックする。
//            if(this._contentsComData.ContentsTitle != $find("ContentsWatermark").get_Text() ||
//                this._contentsComData.ContentsPhysicalName != $find("SiteNameWatermark").get_Text() ||
//                this._contentsComData.BackColor != this._previewManager.getBackgroundColor()){
//                mod = true;
//            }
//        }
//        if(mod){
//            var message = "入力されたデータに未保存のデータがあります。データを破棄し処理を終了しますか？";
//            //保存後からデータが変更されている。
//            if(Sys.Browser.agent === Sys.Browser.InternetExplorer || Sys.Browser.agent === Sys.Browser.Firefox){
//                if(!this._bRidirectErrPage){
//                    e.rawEvent.returnValue = message;
//                }
//            }
//        }
//    },
//    /**絵文字パネルやWidgetのイベント部などをAタグに変更してhrefにJavaScript:void(0)を
//    設定することにより絵文字を選択するだけでbeforeunloadイベントが発生するようになったので、
//    beforeunloadイベントでこのフラグを見て処理の続行を決定する。
//    **/
//    setNoCloseFlg :function(b){
//        this._noCloseFlg = b;
//    },
    dispose: function() {
        MobileSystem.UI.DemoDataManager.callBaseMethod(this, 'dispose');
        
//        //データの明示的削除
//        for(var i=0;i<this._widgetDataList.length;i++){
//            delete this._widgetDataList[i];
//        }
//        //タブコンテナーのハンドラーを削除
//        if(null!=this._tabContainer && null!=this._onTabChangeHandler){
//            this._tabContainer.remove_activeTabChanged(this._onTabChangeHandler);
//        }
//        //Windowのbeforeunloadハンドラーを削除
//        $removeHandler(window, 'beforeunload', this._closeWindowHandler);
    }
};

MobileSystem.UI.DemoDataManager.registerClass('MobileSystem.UI.DemoDataManager', Sys.Component);


/*Editorで入力されたデータをサーバ送信用に解析した結果を格納するデータ形式*/
MobileSystem.UI.HtmlPartsData = function(){
    this.Type;  //データ種別
    this.Value; //データ種別に対応した値
    this.Status;//Fontタグの場合は（S or E）
};

if (typeof(Sys) !== 'undefined')
   Sys.Application.notifyScriptLoaded(); 
