/*@cc_on _d=document;eval('var document=_d')@*/

var win;
if (typeof(EventContoroller) == 'undefined') {
    EventContoroller ={};
}

//FormType:1 new
//             :2copy
//             :3 up
EventContoroller.FormType = 1;


EventContoroller.EVENT_REMIND_MAX_SET = 5;
EventContoroller.EVENT_REMIND_DEFAULT_MAX_SET = 1;

EventContoroller.InitRegInputForm = function()
{
    //init
    $('event_title').value = '';
    $('url').value = '';
    $('description').value = '';
    $('event_title_cnt').innerHTML = 0;
    $('description_cnt').innerHTML = 0;
    $('upInfo').innerHTML = '';
    $('newInfo').innerHTML = '';
    $('event_start_date').value = '';
    $('event_end_date').value = '';
    $('event_start_time').value = '';
    $('event_end_time').value = '';
    $('event_user_category').value = '';
    $('url').value = '';
    $('calendar_picture').value = '';
    $('public_start_date').value = '';
    $('public_start_time').value = '';
    $('event_time_term_err').value = '';
    $('spaceimgpreview').innerHTML = '';
    $('event_category').value = '';
    $('event_category_name').value = '';
    $('event_category_required_mess').innerHTML = '';
    $('mailInfo').innerHTML = '';
    $('eventImgUrl').innerHTML = '';
    $('event_time_term_err').innerHTML = '';
    $('description_err').innerHTML = '';
    $('url_err').innerHTML = '';
    $('event_mail_off_err').innerHTML = '';

    $('relation').options[0].selected = true;
    $('event_interval').options[0].selected = true;

    //通知設定のデフォルト設定
    document.eventRemind.event_mail_sts[0].checked = true;
    for (var mailStsCnt = 1 ; mailStsCnt <= EventContoroller.EVENT_REMIND_MAX_SET; mailStsCnt++) {
        $('event_mail_sts_detail' + mailStsCnt).checked = false;
        if (mailStsCnt == 1) {
            $('remind_day' + mailStsCnt).options[1].selected = true;
            $('remind_time' + mailStsCnt).options[12].selected = true;
        } else if (mailStsCnt == 2) {
            $('remind_day' + mailStsCnt).options[2].selected = true;
            $('remind_time' + mailStsCnt).options[12].selected = true;
        } else if (mailStsCnt == 3) {
            $('remind_day' + mailStsCnt).options[3].selected = true;
            $('remind_time' + mailStsCnt).options[12].selected = true;
        } else if (mailStsCnt == 4) {
            $('remind_day' + mailStsCnt).options[4].selected = true;
            $('remind_time' + mailStsCnt).options[12].selected = true;
        } else if (mailStsCnt == 5) {
            $('remind_day' + mailStsCnt).options[5].selected = true;
            $('remind_time' + mailStsCnt).options[12].selected = true;
        }
        $('remind_type' + mailStsCnt).options[0].selected = true;
    }

//    $('event_mail_sts_set_off').checked = true;
    $('event_mail_sts_set_on').checked = true;
    $('public_start_date_set_off').checked = true;
    $('event_interval_set_off').checked = true;

    $('title_err').innerHTML = '';
    $('event_start_date_err').innerHTML = '';
    $('event_end_date_err').innerHTML = '';
    $('event_date_term_err').innerHTML = '';
    $('event_start_time_err').innerHTML = '';
    $('event_end_time_err').innerHTML = '';
    $('public_start_date_err').innerHTML = '';
    $('public_start_time_err').innerHTML = '';
    $('event_mail_sts_set_err').innerHTML = '';
    $('calendar_picture_err').innerHTML = '';

    //通知メール設定エラーメッセージ初期化
    for (var cnt=1 ; cnt <=EventContoroller.EVENT_REMIND_MAX_SET ; cnt++) {
        $('event_mail_sts_set_err' + cnt).innerHTML = '';
    }

    $('event_category_err').innerHTML = '';
    $('event_user_category_err').innerHTML = '';

    $('all_day').disabled  = false;
    $('all_day').checked  = false;

    //イベントリンク作成部分
    Element.hide('eventUrlPart');
    Element.hide('eventUrl');
    Element.hide('eventUrlDetail');

    Form.enable('eventRemind');
    Form.enable('eventRemindSet');
    Form.disable('eventInterval');
    Form.enable('eventIntervalSet');
    Form.enable('eventBaseDate');
    Form.enable('eventPublic');

//    カテゴリツールチップの初期化
    Element.hide('category');
    for (var i = 1 ; i <= 10 ; i++) {
        Element.hide('category_detail'+i);
    }
//    タイムスケジュール
    Element.hide('timeSchedulte');

    Element.show('event_interval');

    //通知設定タブが選択されたかどうか
    this.MailInputControlSelected = false;
    toolCalInitInputWindow();
}


EventContoroller.ShowNewRegInputForm = function(dateId, calType, calendarId)
{

    //カレンダータイプの設定
    this.setCalTypeOptions(2);
    //カレンダー名の設定
    this.setCalNameOptions(InputFormCalendar_id, InputFormCalendar_name);

    this.InitRegInputForm();

    $('registType').innerHTML = 'イベントの新規登録';

    $('newInfo').innerHTML = '<ul class="newinfo_txt"><li>※通知メールの初期設定は、イベント登録日の「1日前の19時台に通知メールを受け取る」設定になっています。<br/>&nbsp;&nbsp;通知メールが不要な方は、Myカレンダー管理画面から「通知設定の一括停止」ボタンを押してください。</li></ul>';

//    開始日時・終了日時
//    $('event_start_date').value = DateUtil.getNowDate();
//    $('event_end_date').value = DateUtil.getNowDate();
    if (dateId != false) {
        $('event_start_date').value = dateId;
        $('event_end_date').value = dateId;
    }
    if (dateId != false && dateId <= DateUtil.getNowDate()) {
        $('event_mail_sts_set_off').checked = true;
    }

    if (calType !== false) {
        var calTypeOptions = $('calendar_type').options
        for (var typeCnt = 0 ; typeCnt < calTypeOptions.length ; typeCnt++) {
            if (calTypeOptions[typeCnt].value == calType) {
                calTypeOptions[typeCnt].selected = true;
            }
        }
    }

    //開始時刻・終了時刻のセット
    if (dateId != false) {
        var nowTime = DateUtil.getNowTime();
        var nowH = nowTime.slice(0, 2);
        var nowM = nowTime.slice(2, 4);
        if (nowM > 30) {
            var calM = '00';
            var calH = parseInt(nowH, 10) + 1;
            if (calH < 10) calH = '0' + calH;
        } else {
            var calM = '30';
            var calH = nowH;
        }
        $('event_start_time').value = calH + calM;
        $('event_end_time').value = calH + calM;
    }

    this.FormType = 1;

    this.CreateRegInputFormShow();

    if (typeof(win) != 'undefined') {
        win.buttons[0].setText('登録完了');
    }
}


EventContoroller.CreateRegInputForm = function()
{

    if (!win) {
        win = new Ext.Window({
            el:'event-win',
            layout:'fit',
            width:550,
            height:600,
            closeAction:'hide',
            plain: true,
            items: new Ext.TabPanel({
                el: 'event-tabs',
                autoTabs:true,
                activeTab:0,
                defaults: { autoWidth: true, autoHeight: true },
                deferredRender:false,
                border:false
            }),
            buttons: [{
                text:'登録完了',
                handler: function()
                {
                    var resValidate = false;
                    //修正の場合
                    if (EventContoroller.FormType == 3) {
                        if ($F('calendar_type') == 2) {
                            resValidate = EventContoroller.ValidateUpdatePublicEvent();
                        } else {
                            resValidate = EventContoroller.ValidateUpdatePrivateEvent();
                        }
                    } else {
                        resValidate = EventContoroller.ValidateRegistEvent();
                    }
                    if (resValidate == false) {
                        //regist
                        if (EventContoroller.FormType == 1) {
                            var regMes = '';
                            if ($F('calendar_type') == 2) {

                                regMes = 'こちらの内容でイベントを登録してもよろしいでしょうか？<br>'
                                            + '※一度登録すると、イベント登録日時と通知メールの受信日時を後から変更することはできませんのでご注意ください。';
                            } else {
                                regMes = 'こちらの内容で、イベントを登録してもよろしいでしょうか？';
                            }

                            Ext.MessageBox.show({
                                title: 'イベントの新規登録確認',
                                buttons: {yes:'はい', no:'いいえ'},
                                msg: regMes,
                                fn: function(btn)
                                {
                                    if (btn == 'yes') {
                                        EventContoroller.RegistEvent();
                                    }
                                }
                            });
                        //copy
                        } else if (EventContoroller.FormType == 2) {
                            Ext.MessageBox.show({
                                title: 'コピーしてイベント登録',
                                buttons: {yes:'はい', no:'いいえ'},
                                msg: 'コピーしてイベント登録してもよろしいですか？？',
                                fn: function(btn) {
                                    if (btn == 'yes') {
                                        EventContoroller.RegistCopyEvent();
                                    }
                                }
                            });
                        //up
                        } else if (EventContoroller.FormType == 3) {
                            var upMes = '';
                            //繰り返し設定がONの場合
                            if ($F('event_interval_set_on') == 1) {
                                upMes = '繰り返しイベントの場合、一連のイベントすべての内容が変更されます。<br>こちらの内容で、イベントの登録内容を変更してもよろしいでしょうか？';
                            } else {
                                upMes = 'こちらの内容で、イベントの登録内容を変更してもよろしいでしょうか？';
                            }
                            Ext.MessageBox.show({
                                title: 'イベント更新',
                                buttons: {yes:'はい', no:'いいえ'},
                                msg: upMes,
                                fn: function(btn) {
                                    if (btn == 'yes') {
                                        EventContoroller.UpdateEvent();
                                    }
                                }
                            });
                        }
                    }
                }
            },{
                text: 'キャンセル',
                handler: function(){
                    win.hide();
                }
            }]
         });

    } else {
        win.items.items[0].activate(0);
    }

    //    Event.observe($('calendar_type'), 'change',this.ChangeDispByCalPublic, false);
    Event.observe($('all_day'), 'change',this.ShowEventStartTime, false);
    //繰り返しの選択制御
    Event.observe($('event_interval_set_on'), 'click', this.ShowIntervalSet, false);
    Event.observe($('event_interval_set_off'), 'click', this.ShowIntervalSet, false);
    Event.observe($('event_interval'), 'change', this.ShowIntervalSet, false);

    Event.observe($('event_mail_sts_set_on'), 'click', this.MailInputControl, false);
    Event.observe($('event_mail_sts_set_off'), 'click', this.MailInputControl, false);

}


/*繰り返しの表示制御*/
EventContoroller.ShowIntervalSet = function() {
    //繰り返し設定がオンの場合
    if ($F('event_interval_set_on') == 1) {
        Form.enable('eventInterval');
    //繰り返し設定がオフの場合
    } else {
        Form.disable('eventInterval');
    }
}

//みんなのカレンダー時の表示切替
EventContoroller.ChangeDispByCalPublic = function() {

    var item = $('public_start_date_item');
    var calType = $F('calendar_type');

    //カレンダー名の変更
    EventContoroller.setCalNameSelectOptions(calType);

    if (calType == 2) {

        Element.show(item);
        $('event_category_required_mess').innerHTML = '（<strong>必須</strong>）';

    } else {
        //init
        $('event_category_required_mess').innerHTML = '';
        $('public_start_date').value = '';
        $('public_start_time').value = '';
        $('public_start_date_set_off').checked = true;
        Element.hide(item);
    }
}

/*終日設定の場合*/
EventContoroller.ShowEventStartTime = function() {
    var allDay = $F('all_day');
    if (allDay == 1) {
        $('event_start_time').disabled = true;
        $('event_end_time').disabled = true;
    } else {
        $('event_start_time').disabled = false;
        $('event_end_time').disabled = false;
    }
}

EventContoroller.showEventUrlDetail = function() {
    Element.toggle('eventUrlDetail');
}

EventContoroller.makeEventUrl = function(imgId) {

    var calType = $F('calendar_type');
    var evId = $F('ev_id');
    var eventImgUrl = $('eventImgUrl');

    var eventBaseImgUrl = "&lt;a href='https://my.calendar.rakuten.co.jp/event/confirm/?ev=" + evId + "&ct=" + calType+ "'&gt;"
    if (imgId == 1) {
        eventImgUrl.innerHTML = eventBaseImgUrl + "&lt;img src='http://my.calendar.rakuten.co.jp/img/icn_calendar_add01.gif' border='0'&gt;&lt;/a&gt;";
    } else if (imgId == 2) {
        eventImgUrl.innerHTML = eventBaseImgUrl + "&lt;img src='http://my.calendar.rakuten.co.jp/img/icn_calendar_add02.gif' border='0'&gt;&lt;/a&gt;";
    } else if (imgId == 3) {
        eventImgUrl.innerHTML = eventBaseImgUrl + "&lt;img src='http://my.calendar.rakuten.co.jp/img/icn_calendar_add03.gif' border='0'&gt;&lt;/a&gt;";
    }
}



EventContoroller.EventMailSts = false;

//イベントメールの設定が変更されたかどうか
EventContoroller.isChangeEventMailSts = false;


EventContoroller.ValidateRegistEvent = function() {

    /*
    *errPart = 1//基本情報
    *            2//詳細情報
    *            3//通知設定
    */
    var errPart = 1;
    var errFlg = false;

    var errPartFlg = Array();
    var errPartFlg0 = false;
    var errPartFlg1 = false;
    var errPartFlg2 = false;

    var eventTitle = $F('event_title');
    var eventStartDate = $F('event_start_date');
    var eventEndDate = $F('event_end_date');
    var publicStartDate = $F('public_start_date');
    var publicStartTime = $F('public_start_time');
    var nowDate = DateUtil.getNowDate();
    var nowDateTime = DateUtil.getNowDate() + DateUtil.getNowTime();

    $('title_err').innerHTML = '';
    $('event_start_date_err').innerHTML = '';
    $('event_end_date_err').innerHTML = '';
    $('event_date_term_err').innerHTML = '';
    $('event_start_time_err').innerHTML = '';
    $('event_end_time_err').innerHTML = '';
    $('public_start_date_err').innerHTML = '';
    $('public_start_time_err').innerHTML = '';
    $('url_err').innerHTML = '';
    $('calendar_picture_err').innerHTML = '';
    $('event_mail_sts_set_err').innerHTML = '';
    $('event_user_category_err').innerHTML = '';
    for (var cnt=1 ; cnt <=EventContoroller.EVENT_REMIND_MAX_SET ; cnt++) {
        $('event_mail_sts_set_err' + cnt).innerHTML = '';
    }
    $('event_category_err').innerHTML = '';
    $('event_time_term_err').innerHTML = '';
    $('description_err').innerHTML = '';
    $('event_mail_off_err').innerHTML = '';

    //タイトルをtrim
    eventTitle = eventTitle.replace(/[ 　\r\n]*/gim, "");
    $('event_title').value = eventTitle;
    $('event_title_cnt').innerHTML = getByteCnt(eventTitle);
    if (eventTitle.length == 0) {
        $('title_err').innerHTML = '<br/>' + this.Validate.ERR_MESS_TITLE_EMPTY;
        errFlg = true;
        errPart = 0;
        errPartFlg0 = true;
    } else if (getByteCnt(eventTitle) < 2 || getByteCnt(eventTitle) > 128) {
        $('title_err').innerHTML = '<br/>' + this.Validate.ERR_MESS_TITLE_LENGTH;
        errFlg = true;
        errPart = 0;
        errPartFlg0 = true;
    } else {
        if (this.Validate.checkDependStr(eventTitle)) {
            $('title_err').innerHTML = '<br/>' + this.Validate.ERR_MESS_DEPEND;
            errFlg = true;
            errPart = 0;
            errPartFlg0 = true;
        } else if (this.chkNgWord(eventTitle)) {
            $('title_err').innerHTML = '<br/>'  + this.Validate.ERR_MESS_NGWORD;
            errFlg = true;
            errPart = 0;
            errPartFlg0 = true;
        }
    }

    //第一カテゴリ
    //みんかれ時必須
    if ($F('calendar_type') == 2) {
        if ($F('event_category') == '') {
            $('event_category_err').innerHTML = '<br/>' + this.Validate.ERR_MESS_CATEGORY_EMPTY;
            errFlg = true;
            errPart = 0;
            errPartFlg0 = true;
        }
    }

    //第2ユーザカテゴリ
    var eventUserCategory = $F('event_user_category');
    if (eventUserCategory.length != 0) {
        eventUserCategory = eventUserCategory.replace(/[ 　]*/gim, "");
        $('event_user_category').value = eventUserCategory;
        if (getByteCnt(eventUserCategory) < 2 || getByteCnt(eventUserCategory) > 32) {
            $('event_user_category_err').innerHTML = '<br/>' + this.Validate.ERR_MESS_MYCATEGORY_LENGTH;
            errFlg = true;
            errPart = 0;
            errPartFlg0 = true;
        } else {
            if (this.Validate.checkDependStr(eventUserCategory)) {
                $('event_user_category_err').innerHTML = '<br/>' + this.Validate.ERR_MESS_DEPEND;
                errFlg = true;
                errPart = 0;
                errPartFlg0 = true;
            } else if (this.chkNgWord(eventUserCategory) && !errFlg) {
                $('event_user_category_err').innerHTML = '<br/>'  + this.Validate.ERR_MESS_NGWORD;
                errFlg = true;
                errPart = 0;
                errPartFlg0 = true;
            }
        }
    }


    var errFlgDate = false;
    var nowDate = DateUtil.getNowDate();

    //開始日
    if (eventStartDate.length == 0) {
        $('event_start_date_err').innerHTML = this.Validate.ERR_MESS_DATE_5 + '<br>';
        errFlg = true;
        errPart = 0;
        errPartFlg0 = true;
        errFlgDate = true;
    } else if (eventStartDate.length != 8
                || !DateUtil.checkDate(eventStartDate)) {
        $('event_start_date_err').innerHTML = this.Validate.ERR_MESS_DATE_3 + '<br>';
        errFlg = true;
        errPart = 0;
        errPartFlg0 = true;
        errFlgDate = true;
    }
/*
    else if (nowDate > eventStartDate) {
        $('event_start_date_err').innerHTML = this.Validate.ERR_MESS_DATE_2 + '<br>';
        errFlg = true;
        errPart = 0;
        errPartFlg0 = true;
        errFlgDate = true;
    }
*/
    //終了日
    if (eventEndDate.length == 0) {
        $('event_end_date_err').innerHTML = this.Validate.ERR_MESS_DATE_6;
        errFlg = true;
        errPart = 0;
        errPartFlg0 = true;
        errFlgDate = true;
    } else if (eventEndDate.length != 8
                || !DateUtil.checkDate(eventEndDate)) {
        $('event_end_date_err').innerHTML = this.Validate.ERR_MESS_DATE_7;
        errFlg = true;
        errPart = 0;
        errPartFlg0 = true;
        errFlgDate = true;
    } else {
        var eventEndYear = parseInt(eventEndDate.slice(0, 4));
        var nowYear = parseInt(nowDate.slice(0, 4));
        if ((parseInt(eventEndYear) - parseInt(nowYear)) > 10) {
            $('event_date_term_err').innerHTML = this.Validate.ERR_MESS_DATE_4;
            errFlg = true;
            errPart = 0;
            errPartFlg0 = true;
            errFlgDate = true;
        }
    }

    if (!errFlgDate) {
        if (eventStartDate > eventEndDate) {
            $('event_date_term_err').innerHTML = this.Validate.ERR_MESS_DATE_1;
            errFlg = true;
            errPart = 0;
            errPartFlg0 = true;
            errFlgDate = true;
        } else {
            var eventDateTermErrFlg = false;
            var esYear = parseInt(eventStartDate.slice(0, 4))
            var eeYear = parseInt(eventEndDate.slice(0, 4))
            var calDate = parseInt(eventEndDate) - parseInt(eventStartDate);
            if (esYear == eeYear) {
                if (calDate > this.Validate.EVENT_DATE_PERIOD) {
                    eventDateTermErrFlg = true;
                }
            } else {
                if (calDate > this.Validate.EVENT_DATE_PERIOD_OVER) {
                    eventDateTermErrFlg = true;
                }
            }
            if (eventDateTermErrFlg) {
                $('event_date_term_err').innerHTML = this.Validate.ERR_MESS_DATE_8;
                errFlg = true;
                errPart = 0;
                errPartFlg0 = true;
                errFlgDate = true;
            }
        }
    }

    var errFlgTime = false;
    var eventStartTime = '0000';
    var eventEndTime = '0000';
    if ($F('all_day') == null) {
        eventStartTime = $F('event_start_time');
        eventEndTime = $F('event_end_time');
        //開始時間
        if (eventStartTime.length == 0) {
            $('event_start_time_err').innerHTML = this.Validate.ERR_MESS_TIME_3 + '<br>';
            errFlg = true;
            errPart = 0;
            errPartFlg0 = true;
            errFlgTime = true;
        } else if (eventStartTime.length !=4) {
            $('event_start_time_err').innerHTML = this.Validate.ERR_MESS_TIME_4 + '<br>';
            errFlg = true;
            errPart = 0;
            errPartFlg0 = true;
            errFlgTime = true;
        } else if (!DateUtil.checkTime(eventStartTime)) {
            $('event_start_time_err').innerHTML = this.Validate.ERR_MESS_TIME_4 + '<br>';
            errFlg = true;
            errPart = 0;
            errPartFlg0 = true;
            errFlgTime = true;
        }

        //終了時間
        if (eventEndTime.length == 0) {
            $('event_end_time_err').innerHTML = this.Validate.ERR_MESS_TIME_5;
            errFlg = true;
            errPart = 0;
            errPartFlg0 = true;
            errFlgTime = true;
        } else if (eventEndTime.length !=4) {
            $('event_end_time_err').innerHTML = this.Validate.ERR_MESS_TIME_6;
            errFlg = true;
            errPart = 0;
            errPartFlg0 = true;
            errFlgTime = true;
        } else if (!DateUtil.checkTime(eventEndTime)) {
            $('event_end_time_err').innerHTML = this.Validate.ERR_MESS_TIME_6;
            errFlg = true;
            errPart = 0;
            errPartFlg0 = true;
            errFlgTime = true;
        }

        if (!errFlgDate && !errFlgTime) {
/*
            if ((eventStartDate + eventStartTime) < nowDateTime) {
                $('event_start_time_err').innerHTML = this.Validate.ERR_MESS_TIME_2;
                errFlg = true;
                errPart = 0;
                errPartFlg0 = true;
            } else
*/
            if ((eventStartDate + eventStartTime) > (eventEndDate + eventEndTime)) {
                $('event_time_term_err').innerHTML = this.Validate.ERR_MESS_TIME_1;
                errFlg = true;
                errPart = 0;
                errPartFlg0 = true;
            }
        }

    }

    //公開開始日設定がオンの場合
    if ($F('public_start_date_set_on') == 1) {
        //開始日
        if (publicStartDate.length == 0) {
            $('public_start_date_err').innerHTML = this.Validate.ERR_MESS_PUBLICDATE_2;
            errFlg = true;
            errPart = 0;
            errPartFlg0 = true;
        } else if (publicStartDate.length != 8
                    || !DateUtil.checkDate(publicStartDate)) {
            $('public_start_date_err').innerHTML = this.Validate.ERR_MESS_PUBLICDATE_3;
            errFlg = true;
            errPart = 0;
            errPartFlg0 = true;
        } else if (publicStartTime.length == 0) {
            $('public_start_time_err').innerHTML = this.Validate.ERR_MESS_PUBLICTIME_1;
            errFlg = true;
            errPart = 0;
            errPartFlg0 = true;
        } else if (publicStartTime.length !=4) {
            $('public_start_time_err').innerHTML = this.Validate.ERR_MESS_PUBLICTIME_2;
            errFlg = true;
            errPart = 0;
            errPartFlg0 = true;
        } else if (!DateUtil.checkTime(publicStartTime)) {
            $('public_start_time_err').innerHTML = this.Validate.ERR_MESS_PUBLICTIME_2;
            errFlg = true;
            errPart = 0;
            errPartFlg0 = true;
        } else if ((publicStartDate + publicStartTime) < nowDateTime) {
            $('public_start_date_err').innerHTML = this.Validate.ERR_MESS_PUBLICDATE_1;
            errFlg = true;
            errPart = 0;
            errPartFlg0 = true;
        } else {
            var publicYear = parseInt(publicStartDate.slice(0, 4));
            var nowYear = parseInt(nowDate.slice(0, 4));
            if ((parseInt(publicYear) - parseInt(nowYear)) > 10) {
                $('public_start_date_err').innerHTML = this.Validate.ERR_MESS_DATE_4;
                errFlg = true;
                errPart = 0;
                errPartFlg0 = true;
            }
        }
    }

    if (errPartFlg0) {
        errPartFlg.push(errPart);
    }

    //内容のチェック
    var description = $F('description');
    if (description.length != 0) {
        description = description.replace(/^[ 　]*/gim, "").replace(/[ 　]*$/gim, "");
        $('description').value = description;
        $('description_cnt').innerHTML = description.length;
        if (getByteCnt(description) < 2 || getByteCnt(description) > 2000) {
            $('description_err').innerHTML = '<br/>' + this.Validate.ERR_MESS_DESCRIPTION_LENGTH;
            errFlg = true;
            errPart = 1;
            errPartFlg1 = true;
        } else if (this.Validate.checkDependStr(description)) {
            $('description_err').innerHTML = '<br/>' + this.Validate.ERR_MESS_DEPEND;
            errFlg = true;
            errPart = 1;
            errPartFlg1 = true;
        } else if (this.chkNgWord(description) && !errFlg) {
            $('description_err').innerHTML = '<br/>' + this.Validate.ERR_MESS_NGWORD;
            errFlg = true;
            errPart = 1;
            errPartFlg1 = true;
        }
    }

    //関連サイト
    var url = $F('url');
    if (url.length != 0) {
        if (url.length > 255) {
            $('url_err').innerHTML = '<br/>' + this.Validate.ERR_MESS_URL_LENGTH;
            errFlg = true;
            errPart = 1;
            errPartFlg1 = true;
        } else {
            var reg = /^https?:\/\/[!#-9A-~]+\.+[a-z0-9]/i;
            if (!url.match(reg)) {
                $('url_err').innerHTML = '<br/>' + this.Validate.ERR_MESS_URL_PAT;
                errFlg = true;
                errPart = 1;
                errPartFlg1 = true;
            }
        }
    }

    var eventPicture = $F('calendar_picture');
    var regUrl = /^https?:\/\/([\w.]+)\/(\S*)\.(jpg|jpeg|png|gif)(\?.+)?$/i;
    if (eventPicture.length != 0) {
        if(eventPicture.length > 255){
            $("calendar_picture_err").innerHTML = this.Validate.ERR_MESS_PICURL_LENGTH;
            errFlg = true;
            errPart = 1;
            errPartFlg1 = true;
        }else{
            var result = eventPicture.match(regUrl);
            if(result == null){
                $("calendar_picture_err").innerHTML = this.Validate.ERR_MESS_PICURL_PAT;
                errFlg = true;
                errPart = 1;
                errPartFlg1 = true;
            }else{
                var host = result[1];      // www.isp.comを含む
                var hostreg = /(rakuten.co.jp|infoseek.co.jp)$/;
                result = host.match(hostreg);
                if(result == null){
                    $("calendar_picture_err").innerHTML = this.Validate.ERR_MESS_PICURL_PAT;
                    errFlg = true;
                    errPart = 1;
                    errPartFlg1 = true;
                }
            }
        }
    }

    if (errPartFlg1) {
        errPartFlg.push(errPart);
    }

    if (errPartFlg2) {
        errPartFlg.push(errPart);
    }


    if (!errFlgDate) {

        this.EventMailSts = false;

        //通知の設定タブが選択されていない場合、デフォルト設定をあてこんでから、チェックする
        EventContoroller.MailInputControlSelectSet();

        var eventMailStsDetailList = new Array();

        var mailStsCnt = 0;
        for (var cnt=1 ; cnt <= EventContoroller.EVENT_REMIND_MAX_SET ; cnt++) {

           if ($F('event_mail_sts_detail' + cnt) != null) {

               mailStsCnt ++;

               this.EventMailSts = true;

                var remindType = $F('remind_type' + cnt);
                var remindDay = $F('remind_day' + cnt);
                var remindTime = $F('remind_time' + cnt);
                if (remindTime < 10) {
                    remindTime = '0' + remindTime;
                }

                eventMailStsDetailList.push(remindType + remindDay + remindTime);

                //通知メール設定がonの場合,時間の整合性チェックを行う
                //受け取らない場合も行う
                var chk = true;
                var targDate;

                //繰り返し設定がオン
                if ($F('event_interval_set_on') == 1) {
                    chk = false;
                }

                if (remindType == 0) {
                    targDate = eventStartDate;
                } else {//終了
                    targDate = eventEndDate;
                }

                if (chk) {
                    //当日
                    if (remindDay == 1) {
                    } else if (remindDay == 2) {
                        targDate = DateUtil.calDate(targDate, -1);
                    //三日前
                    } else if (remindDay == 3) {
                        targDate = DateUtil.calDate(targDate, -3);
                    //一週間前
                    } else if (remindDay == 4) {
                        targDate = DateUtil.calDate(targDate, -7);
                    //二週間前
                    } else if (remindDay == 5) {
                        targDate = DateUtil.calDate(targDate, -14);
                    //一ヶ月前
                    } else if (remindDay == 6) {
                        targDate = DateUtil.calMonth(targDate, -1);
                    }

                    var tagDateTime = ''
                    if(remindTime == 99){
                        tagDateTime = targDate + '0900';
                    }else{
                        remindTime -= 2;
                        if (remindTime < 10) {
                            remindTime = '0' + remindTime;
                        }
                        tagDateTime = targDate + (remindTime) + '00';
                    }
                    if (tagDateTime < nowDateTime) {
                        $('event_mail_sts_set_err' + cnt).innerHTML = '<br/>' + this.Validate.ERR_MESS_REMINDMAIL_3;
                        errFlg = true;
                        errPart = 2;
                        errPartFlg2 = true;
                    }
                }
            }
        }

        //通知メール設定がonの場合
        if ($F('event_mail_sts_set_on') == 1) {
            if (eventMailStsDetailList.length == 0) {
                $('event_mail_sts_set_err').innerHTML = '<br/>' + this.Validate.ERR_MESS_REMINDMAIL_2;
                errFlg = true;
                errPart = 2;
                errPartFlg2 = true;
            }
        }

        if (eventMailStsDetailList.uniq().length !=  eventMailStsDetailList.length) {
            $('event_mail_sts_set_err').innerHTML = '<br/>' + this.Validate.ERR_MESS_REMINDMAIL_1;
            errFlg = true;
            errPart = 2;
            errPartFlg2 = true;
        }
    }

    if (errPartFlg2) {
        errPartFlg.push(errPart);
    }

    if (errFlg) {
        win.items.items[0].activate(errPart);
        if (errPartFlg.size() >= 2) {
            var errPopUpMess = '';
            if (errPartFlg0) {
                errPopUpMess += '「基本情報」';
            }

            if (errPartFlg1) {
                errPopUpMess += '「詳細情報」';
            }

            if (errPartFlg2) {
                errPopUpMess += '「通知設定」';
            }
            errPopUpMess += 'で入力エラーがありますのでご確認ください';

            Ext.MessageBox.alert('複数の入力エラーがあります', errPopUpMess);
        }
    }

    return errFlg;

}

EventContoroller.CreateRegInputFormShow = function() {

    if (winStatus == false) {

        EventContoroller.CreateRegInputForm();
        win.show();

        //タブのイベントを登録する
        win.items.items[0].items.items[0].on('activate',function(){EventContoroller.IntervalInputControl()});
        win.items.items[0].items.items[1].on('activate',function(){EventContoroller.DetailInputControl()});
        win.items.items[0].items.items[2].on('activate',function(){EventContoroller.MailInputControl()});

    }

}

EventContoroller.BaseInputControl = function() {
}


EventContoroller.DetailInputControl = function() {
}

//繰り返し設定のタブが押されたとき
EventContoroller.IntervalInputControl = function() {

    //繰り返し設定の制御
    this.ShowIntervalSet();

    //繰り返し設定時に通知メール設定のエラーメッセージを初期化する
    $('event_mail_off_err').innerHTML = '';

}


//通知設定のタブが押されたとき
EventContoroller.MailInputControl = function() {

    EventContoroller.MailInputControlSelectSet();

    var eventStartDate = $F('event_start_date');
    var eventEndDate = $F('event_end_date');

    //通知メールを受け取るの場合
    if ($F('event_mail_sts_set_on') == 1) {
       Form.enable('eventRemind');
       for (var cnt=1 ; cnt <= EventContoroller.EVENT_REMIND_MAX_SET ; cnt++) {
            if (eventStartDate != eventEndDate) {
                $('remind_type'+cnt).disabled  = false;
            } else {
                $('remind_type'+cnt).disabled  = true;
            }
        }
/*
        if ($F('event_interval_set_on') == 1 && $F('event_interval') != 5) {
            //設定の変更ができるのは一つのみ
            for (var mailStsCnt = 2 ; mailStsCnt <= EventContoroller.EVENT_REMIND_MAX_SET ; mailStsCnt++) {
                $('event_mail_sts_detail' + mailStsCnt).disabled = true;
                $('remind_type' + mailStsCnt).disabled  = true;
                $('remind_day' + mailStsCnt).disabled = true
                $('remind_time' + mailStsCnt).disabled = true;
            }
        }
*/
    //通知メールを受け取らない場合
    } else {
        //設定の変更ができるのは一つのみ
        for (var mailStsCnt = 1 ; mailStsCnt <= EventContoroller.EVENT_REMIND_MAX_SET ; mailStsCnt++) {
            $('event_mail_sts_detail' + mailStsCnt).disabled = true;
            $('remind_type' + mailStsCnt).disabled  = true;
            $('remind_day' + mailStsCnt).disabled = true
            $('remind_time' + mailStsCnt).disabled = true;
        }
    }
/*
    //繰り返し設定あり、毎年以外の場合
    if ($F('event_interval_set_on') == 1 && $F('event_interval') != 5) {
        var mailOffFlg = false;
        //設定の変更ができるのは一つのみ
        for (var mailStsCnt = 2 ; mailStsCnt <= EventContoroller.EVENT_REMIND_MAX_SET ; mailStsCnt++) {
            if ($('event_mail_sts_detail' + mailStsCnt).checked) {
                $('event_mail_sts_detail' + mailStsCnt).checked = false;
                mailOffFlg = true;
            }
        }
        //メール設定を消した場合
        if (mailOffFlg) {
            $('event_mail_off_err').innerHTML = this.Validate.ERR_MESS_REMINDMAIL_4;
        }
    }
*/
    this.MailInputControlSelected = true;

}

EventContoroller.MailInputControlSelected = false;
EventContoroller.MailInputControlSelectSet = function() {

    //通知設定タブが開かれていなかったら
    if (!this.MailInputControlSelected) {

        var eventStartDate = $F('event_start_date');
        var eventEndDate = $F('event_end_date');
        var nowDate = DateUtil.getNowDate();
        var nowDateTime = DateUtil.getNowDate() + DateUtil.getNowTime();

        for (var cnt = 1 ; cnt <= EventContoroller.EVENT_REMIND_DEFAULT_MAX_SET ; cnt++) {
            if ($F('event_interval_set_on') != 1) {
                //開始日
                var remindType = $F('remind_type' + cnt);
                //一日前とか
                var remindDay = $F('remind_day' + cnt);
                //時間
                var remindTime = $F('remind_time' + cnt);

                if (remindTime < 10) {
                    remindTime = '0' + remindTime;
                }
                if (remindType == 0) {
                    if (eventStartDate != '') {
                        targDate = eventStartDate;
                    } else {
                        break;
                    }
                } else {//終了
                    if (eventEndDate != '') {
                        targDate = eventEndDate;
                    } else {
                        break;
                    }
                }
                //当日
                if (remindDay == 1) {
                } else if (remindDay == 2) {
                    targDate = DateUtil.calDate(targDate, -1);
                //三日前
                } else if (remindDay == 3) {
                    targDate = DateUtil.calDate(targDate, -3);
                //一週間前
                } else if (remindDay == 4) {
                    targDate = DateUtil.calDate(targDate, -7);
                //二週間前
                } else if (remindDay == 5) {
                    targDate = DateUtil.calDate(targDate, -14);
                //一ヶ月前
                } else if (remindDay == 6) {
                    targDate = DateUtil.calMonth(targDate, -1);
                }

                remindTime -= 1;
                if (remindTime < 10) {
                    remindTime = '0' + remindTime;
                }
                var tagDateTime = targDate + (remindTime) + '00';
                if (tagDateTime >= nowDateTime) {
                    $('event_mail_sts_detail' + cnt).checked = true;
                }
            //繰り返し設定の場合
            } else {
                //毎年の場合
                if ($F('event_interval') == 5) {
                    $('event_mail_sts_detail' + cnt).checked = true;
                } else {
                    if (cnt == 1) {
                        $('event_mail_sts_detail' + cnt).checked = true;
                    } else {
                        $('event_mail_sts_detail' + cnt).checked = false;
                    }
                }
            }
        }
    }
}



EventContoroller.GetEventData = function(eventId, calType, calId) {

    var pars = 'calType=' + calType + '&eventId=' + eventId + '&calId=' + calId;
    var resEventData;
    new Ajax.Request(
    'https://my.calendar.rakuten.co.jp/ajax/getEventDataDetail/',
    {
        method: 'post',
        parameters: pars,
        asynchronous: false,
        onComplete: function(httpEventDataJson)
        {
            resEventData = eval('(' + httpEventDataJson.responseText + ')');
        }
    }
    );

    return resEventData;

}

EventContoroller.chkNgWord = function(text) {
    var pars = 'text=' + encodeURIComponent(text);
    new Ajax.Request(
    'http://calendar.rakuten.co.jp/ajax/chkNgWord/',
    {
        method: 'post',
        parameters: pars,
        asynchronous: false,
        onComplete: function(res)
        {
            resChkNg = eval('(' + res.responseText + ')');
        }
    }
    );

    if (resChkNg == '1') {
        return true;
    }

    return false;
}


/*イベント登録*/
EventContoroller.RegistEvent = function()
{
    var params = Form.serialize('eventBase');
    params += ('&' + Form.serialize('eventBaseDate'));
    params += ('&' + Form.serialize('eventPublic'));
    if ($F('public_start_date_set_on') == null) {
        params += '&public_start_date_set=0';
    } else {
        params += '&public_start_date_set=1';
    }

    if ($F('all_day') == null) {
        params += '&all_day=0';
    } else {
        params += '&all_day=1';
    }
    params += ('&' + Form.serialize('eventDetail'));

    //繰り返し
    var eventIntervalSet = $F('event_interval_set_on');
    if (eventIntervalSet == 1) {
        params += ('&event_interval_set=1&' + Form.serialize('eventInterval'));
    } else {
        params += ('&event_interval_set=0');
    }

    if ($F('event_mail_sts_set_on') == 1) {
        params += '&event_mail_sts_set=1&';
    } else {
        params += '&event_mail_sts_set=0&';
    }

    //通知メール設定がオンの場合
    if (this.EventMailSts == true) {
        for (var cnt=1 ; cnt <= EventContoroller.EVENT_REMIND_MAX_SET ; cnt++) {
            if ($F('event_mail_sts_detail' + cnt) != null) {
                params += 'event_mail_sts_detail' + cnt + '=1&';
                params += 'remind_type' + cnt + '=' + $F('remind_type' + cnt) + '&';
                params += 'remind_day' + cnt + '=' + $F('remind_day' + cnt) + '&';
                params += 'remind_time' + cnt + '=' + $F('remind_time' + cnt) + '&';
            }
        }
    }
    params += '&event_mail_sts=' + Form.serialize('eventRemind').toQueryParams()['event_mail_sts'];

    var regEvAjax = new Ajax.Request(
    'http://calendar.rakuten.co.jp/ajax/registEvent/',
    {
        method: 'post',
        parameters: params,
        onSuccess: function(regResult)
        {
            win.hide();
            //成功の場合
            if (eval('(' + regResult.responseText + ')') == 1)  {
                insertEventComp();
            } else if (eval('(' + regResult.responseText + ')') == 2)  {
                Ext.MessageBox.alert("ご注意ください", EventContoroller.ERR_MESS_NO_USER);
            } else {
                Ext.MessageBox.alert("イベント", EventContoroller.ERR_MESS_SYSETEM);
            }
        },
        onFailure: function()
        {
            win.hide();
        }
    }
    );
}



EventContoroller.setCalNameOptions = function(calId, calName) {

    var calSelectOptions = '<select name="calendar_id" id="calendar_id">';
    calSelectOptions +=  '<option value='  + calId  + '>' + calName + '</option>';
    calSelectOptions += '</select>'

    $('calendar_name_options').innerHTML = calSelectOptions;

}

EventContoroller.setCalTypeOptions = function(calType) {

    var calSelectOptions = '<select name="calendar_type" id="calendar_type">';

    var calTypeName;
    //プライベート
    if (calType == 0) {
       calTypeName = 'プライベートカレンダー(非公開)';
    //グループ
    } else if (calType== 1) {
        calTypeName = 'グループカレンダー';
    //共有
    } else if (calType == 2) {
        calTypeName = 'みんなのカレンダー(一般公開)';
    }
    calSelectOptions +=  '<option value='  + calType+ '>' + calTypeName + '</option>';
    calSelectOptions += '</select>'

    $('calendar_type_options').innerHTML = calSelectOptions;

}

EventContoroller.setCategoryId = function(id, categoryName) {

    //カテゴリ名のセット
    $('event_category_name').value = categoryName;
    //カテゴリ名のセット
    $('event_category').value = id;

    Element.show('event_interval');
    Element.hide('category');

}

EventContoroller.showTimeSchedule = function(elm, e) {

    if ($F('all_day') != 1 || elm == 'public_start_time') {
        $('targElm').value = elm;

        var timeTitle;
        var posleft = 150;
        var postop = 400;
        if (elm == 'event_start_time') {
            timeTitle = '開始時間'
        } else if (elm == 'event_end_time') {
            timeTitle = '終了時間'
            posleft += 150;
        } else if (elm == 'public_start_time') {
            timeTitle = '公開開始時間'
            posleft += 150;
            postop += 40;
        }
        Element.setStyle($('timeSchedulte'), {
            'left' : posleft + 'px',
            'top' : postop + 'px'
        });

        $('timeTiltle').innerHTML = timeTitle;
        Element.show('timeSchedulte');
    }
}

if (typeof(EventContoroller.Validate) == 'undefined') {
    EventContoroller.Validate = {};
}

EventContoroller.Validate.EVENT_DATE_PERIOD = 1130;       // ex. 20091231 - 20090101
EventContoroller.Validate.EVENT_DATE_PERIOD_OVER = 9999;  // ex. 20100330 - 20090331

EventContoroller.Validate.ERR_MESS_COM = '<br>以下の点をご確認の上、もう一度入力してください<br>';
EventContoroller.Validate.IMG_URL = '<img src="/img/event_icn001.gif" alt="エラー"/>';

EventContoroller.Validate.ERR_MESS_TITLE_EMPTY = EventContoroller.Validate.IMG_URL + 'イベント名は必須入力項目となるため、必ず入力してください';
EventContoroller.Validate.ERR_MESS_TITLE_LENGTH = EventContoroller.Validate.IMG_URL + 'イベント名の文字数は、2バイト以上128バイト以内にしてください';
EventContoroller.Validate.ERR_MESS_NGWORD = EventContoroller.Validate.IMG_URL + '不適切な文字列が入力されています';
EventContoroller.Validate.ERR_MESS_CATEGORY_EMPTY = EventContoroller.Validate.IMG_URL + 'カテゴリは必須入力項目となるため、必ず選択してください';
EventContoroller.Validate.ERR_MESS_MYCATEGORY_LENGTH = EventContoroller.Validate.IMG_URL + 'Myカテゴリに入力する文字数は、2バイト以上32バイト以内にしてください';

EventContoroller.Validate.ERR_MESS_DATE_COM = '1) 存在しない日付が入力されている<br>2) 日付以外の文字列が入力されている';
EventContoroller.Validate.ERR_MESS_DATE_1 = EventContoroller.Validate.IMG_URL + '開始日よりも終了日を未来に指定してください';
EventContoroller.Validate.ERR_MESS_DATE_2 = EventContoroller.Validate.IMG_URL + '過去の日付にイベントを登録することはできません';
EventContoroller.Validate.ERR_MESS_DATE_3 = EventContoroller.Validate.IMG_URL + '開始日に不正な日付が入力されています' + EventContoroller.Validate.ERR_MESS_COM + EventContoroller.Validate.ERR_MESS_DATE_COM;
EventContoroller.Validate.ERR_MESS_DATE_4 = EventContoroller.Validate.IMG_URL + '開始または終了日に指定できるのは10年以内です';
EventContoroller.Validate.ERR_MESS_DATE_5 = EventContoroller.Validate.IMG_URL + '開始日は必須入力項目となるため、必ず入力してください';
EventContoroller.Validate.ERR_MESS_DATE_6 = EventContoroller.Validate.IMG_URL + '終了日は必須入力項目となるため、必ず入力してください';
EventContoroller.Validate.ERR_MESS_DATE_7 = EventContoroller.Validate.IMG_URL + '終了日に不正な日付が入力されています' + EventContoroller.Validate.ERR_MESS_COM + EventContoroller.Validate.ERR_MESS_DATE_COM;
EventContoroller.Validate.ERR_MESS_DATE_8 = EventContoroller.Validate.IMG_URL + '1年以上のイベント開催期間は指定できません';


EventContoroller.Validate.ERR_MESS_TIME_COM = '1) 存在しない時間が入力されている<br>2) 時間以外の文字列が入力されている';
EventContoroller.Validate.ERR_MESS_TIME_1 = EventContoroller.Validate.IMG_URL + '終了時刻を、開始時刻の前に指定することはできません';
EventContoroller.Validate.ERR_MESS_TIME_2 = EventContoroller.Validate.IMG_URL + '過去の時間帯に、イベントを登録することはできません';
EventContoroller.Validate.ERR_MESS_TIME_3 = EventContoroller.Validate.IMG_URL + '開始時間を入力してください';
EventContoroller.Validate.ERR_MESS_TIME_4 = EventContoroller.Validate.IMG_URL + '開始時間に不正な時間が入力されています' + EventContoroller.Validate.ERR_MESS_COM + EventContoroller.Validate.ERR_MESS_TIME_COM;
EventContoroller.Validate.ERR_MESS_TIME_5 = EventContoroller.Validate.IMG_URL + '終了時間を入力してください';
EventContoroller.Validate.ERR_MESS_TIME_6 = EventContoroller.Validate.IMG_URL + '終了時間に不正な時間が入力されています' + EventContoroller.Validate.ERR_MESS_COM + EventContoroller.Validate.ERR_MESS_TIME_COM;

EventContoroller.Validate.ERR_MESS_PUBLICDATE_1 = EventContoroller.Validate.IMG_URL + '公開開始日を未来に指定してください';
EventContoroller.Validate.ERR_MESS_PUBLICDATE_2 = EventContoroller.Validate.IMG_URL + '公開開始日を入力してください';
EventContoroller.Validate.ERR_MESS_PUBLICDATE_3 = EventContoroller.Validate.IMG_URL + '公開開始日に不正な日付が入力されています' + EventContoroller.Validate.ERR_MESS_COM + EventContoroller.Validate.ERR_MESS_DATE_COM ;

EventContoroller.Validate.ERR_MESS_PUBLICTIME_1 = EventContoroller.Validate.IMG_URL + '公開開始時間を入力してください';
EventContoroller.Validate.ERR_MESS_PUBLICTIME_2 = EventContoroller.Validate.IMG_URL + '公開開始時間に不正な時間が入力されています' + EventContoroller.Validate.ERR_MESS_COM + EventContoroller.Validate.ERR_MESS_TIME_COM;


EventContoroller.Validate.ERR_MESS_URL_COM = '1) 半角英数字以外の文字が入力されている<br>2) http, https 以外の文字から始まっている';
EventContoroller.Validate.ERR_MESS_DESCRIPTION_LENGTH = EventContoroller.Validate.IMG_URL + '内容の文字数は、2バイオ以上2000バイト以内にしてください';
EventContoroller.Validate.ERR_MESS_URL_LENGTH = EventContoroller.Validate.IMG_URL + '関連サイトの文字数は、255バイト以内にしてください';
EventContoroller.Validate.ERR_MESS_URL_PAT = EventContoroller.Validate.IMG_URL + 'URLが正しくありません' + EventContoroller.Validate.ERR_MESS_COM + EventContoroller.Validate.ERR_MESS_URL_COM;

EventContoroller.Validate.ERR_MESS_PICURL_PAT = EventContoroller.Validate.IMG_URL + '画像URLが正しくありません' + EventContoroller.Validate.ERR_MESS_COM + EventContoroller.Validate.ERR_MESS_URL_COM + '<br>3)rakutenもしくはinfoseekドメイン以外の画像URLが入力されている';
EventContoroller.Validate.ERR_MESS_PICURL_LENGTH = EventContoroller.Validate.IMG_URL + '画像URLは、255バイト以内にしてください';

EventContoroller.Validate.ERR_MESS_INTERVALENDDATE_1= EventContoroller.Validate.IMG_URL + '繰り返しの終了日を入力してください';
EventContoroller.Validate.ERR_MESS_INTERVALENDDATE_2 = EventContoroller.Validate.IMG_URL + '繰り返しの終了日を、イベントの開始日よりも前に指定することはできません';
EventContoroller.Validate.ERR_MESS_INTERVALENDDATE_3 = EventContoroller.Validate.IMG_URL + '繰り返しの終了日に不正な日付が入力されています' + EventContoroller.Validate.ERR_MESS_COM + EventContoroller.Validate.ERR_MESS_DATE_COM;

EventContoroller.Validate.ERR_MESS_REMINDMAIL_1 = EventContoroller.Validate.IMG_URL + '同一の通知タイミングを設定することはできません';
EventContoroller.Validate.ERR_MESS_REMINDMAIL_2 = EventContoroller.Validate.IMG_URL + '通知日時を選択の上、チェックボックスにチェックを入れてください';
EventContoroller.Validate.ERR_MESS_REMINDMAIL_3 = EventContoroller.Validate.IMG_URL + 'すでに通知日が過ぎているか、通知メール設定の受付け時間が過ぎています';
EventContoroller.Validate.ERR_MESS_REMINDMAIL_4 = EventContoroller.Validate.IMG_URL + '繰り返しの設定をした場合(「毎年」以外)、通知メールを受け取るタイミングは一つまでしか選択できません';

EventContoroller.Validate.ERR_MESS_DEPEND = EventContoroller.Validate.IMG_URL +'機種依存文字は入力できません';

EventContoroller.Validate.checkDependStr = function(str) {

    if (typeof(calUtil.String.checkDependChar(str).std) == 'undefined') {
        return false;
    }

    return true;

}

EventContoroller.ERR_MESS_SYSETEM = '「システムエラー」<br>大変申し訳ございません。システムエラーのため、イベントの登録を継続することができません。もう一度、最初に戻ってお試しください。';
EventContoroller.ERR_MESS_NO_USER = 'イベント投稿するには、<a href="https://grp01.id.rakuten.co.jp/rms/nid/vc?__event=login&service_id=M11">こちら</a>から楽天カレンダーへのログインが必要となります。';

