function focusHide(e){
    if(e.value == "请输入朋友的恒知ID或者电子邮件，使用逗号分隔"){
        e.value = "";
        e.style.color="#000";
    }
}

function focusShow(e){
    if(e.value == ""){
        e.style.color="#999";
        e.value = "请输入朋友的恒知ID或者电子邮件，使用逗号分隔";
    }
}

function focusNotesHide(e){
    if(e.value == "请输入更改状态的原因"){
        e.style.color="#000";
        e.value = "";        
    //$("statusMsg").style.display="none";
    }
}

function focusNotesShow(e){
    if(e.value == ""){
        e.style.color="#999";
        e.value = "请输入更改状态的原因";        
    }
}

var EventQuickInvite = {
    _timer : null,
    
    invite : function(){
        if($F("inviteTo").strip() == "" || $F("inviteTo").strip() == "请输入朋友的恒知ID或者电子邮件，使用逗号分隔"){
            this._setInviteMessage("请输入朋友的恒知ID或者电子邮件", false);
            this._timer = setTimeout(function(){
                $("eventInviteMsg").update("");
                $("eventInviteMsg").className = "clear";
                $("eventInviteLoading").className = "clear";
            },3000);
            return false;
        }
        new Ajax.Request("/Event.do?action=EVENT_INVITE", {
            parameters : {
                "inviteTo" : $F("inviteTo").strip(),
                "url" : $("url").getValue()
            },
            requestHeaders : {
                Accept: 'application/json'
            },
            onCreate : function(){
                $("eventInviteLoading").className = "";
                $("eventInviteLoading").update('<img src="/images/loading.gif">');
            },
            onSuccess : function(transport){
                var json = transport.responseText.evalJSON(true);
                if(json.RETURN){
                    this._setInviteMessage("邀请已发送", true);
                    $("inviteTo").value = "请输入朋友的恒知ID或者电子邮件，使用逗号分隔";
                    $("inviteTo").style.color="#999";
                }else{
                    this._setInviteMessage(json.MESSAGE, false);
                }
                
                this._timer = setTimeout(function(){
                    $("eventInviteMsg").update("");
                    $("eventInviteMsg").className = "clear";
                    $("eventInviteLoading").className = "clear";
                },3000);
            }.bind(this),
            onComplete : function(){
                $("eventInviteLoading").update("");
            }
        })
    },

    _setInviteMessage : function(msg, type){
        $("eventInviteMsg").update(msg);
        if(type){
            $("eventInviteMsg").className = "ok_message";
        }else{
            $("eventInviteMsg").className = "wrong_message";
        }
    }
}
var EventQuickSetStatus = {
    initStatus : function(status,first){
        if(first != null){            
            focusNotesHide($('notes'));
            focusNotesShow($('notes'));
        }
        var intiStatus = $('status_radio').select('input');
        intiStatus.each(function(s){
            if(s.value == status){
                s.checked = true;
                //$('tr'+status).className="EventReply";
                $('tr'+status).style.display="none";
                var str = "";
                if(status == 100)
                    str = "确定参加";
                if(status == 0)
                    str = "可能参加";
                if(status == -100)
                    str = "不参加";
                $('attend_status').update(str);
            }else{
                if($('tr'+s.value) != null){
                    $('tr'+s.value).style.display="";
                }
            }

        });
     
        
    },
    cleanColor : function(status){
        var intiStatus = $('status_radio').select('td');
        intiStatus.each(function(s){
            if(s.className == "EventReply"){
                s.className="";
            }
        });
    },
    setStatus : function(url,userid){

        var status =null;
        var notes = null;
        if($('notes').value != "请输入更改状态的原因")
            notes = $F('notes');
        var event_divStatus = $('status_radio').select('input');
        event_divStatus.each(function(s){
            if(s.checked == true){
                status = s.value;
            }
            
        });
       
        new Ajax.Request("/Event.do?action=SET_STATUS",{
            parameters:{
                "status":status,
                "url":url,
                "notes":notes,
                "userid":userid
            },
            requestHeaders : {
                Accept:'application/json'
            },
            onCreate : function(){
                $("statusLoading").update('<img src="/images/loading.gif">');
                $('statusMsg').style.display="none";
            },
            onSuccess : function(transport){
                var json = transport.responseText.evalJSON(true);
                if(json.RETURN){
                    //this._setInviteMessage("修改成功", true);
                    this.cleanColor(status);
                    this.initStatus(status);
                }else{
            //this._setInviteMessage(json.MESSAGE, false);
            }
            }.bind(this),
            onComplete : function(){
                $("statusLoading").update();
            }
        })
    },
    _setInviteMessage : function(msg, type){
        $("statusMsg").update(msg);
        $("statusMsg").style.display="";
        if(type){
            $("statusMsg").className = "ok_message";
        }else{
            $("statusMsg").className = "wrong_message";
        }
    }
}

var EventBasicInfo ={
    org_announcement : null,
    
    _setMessage : function(msg, type){
        document.location.href="#eventBasicForm";
        $("message").update(msg);
        if(type){
            $("message").className = "ok_message";
        }else{
            $("message").className = "wrong_message";
        }
    },
    updateDescription : function(url){
         var description = $("descript_event").getValue();

        //if(description.trim().length ==0 ){
          //  show_error_msg('descript_error','公告不能为空');
          //  return;
       // }
        if(description.trim().length > 2000 ){
            show_error_msg('descript_error','简介过长');
            return;
        }
        EventBasicInfo.org_description = description;
       // if(announcement == oldAnnouncement){
        //    return;
        //}
        new Ajax.Request("/Event.do?action=SET_DESCRIPT",
        {
            parameters : {
                "url" : url,
                "description" : description
            },
            requestHeaders : {
                Accept: 'application/json'
            },
            onCreate : function(){
               $("descript_error").style.display="";
               $("descript_error").update("<img src='/images/032.gif'>");
            },
            onSuccess : function(transport){
                var json = transport.responseText.evalJSON(true);
                if(json.RETURN){
                    document.location.href="/events/"+url;
                    //alert(json.announcementDate);
                    //$('descript_content').update(URLReplace(TextReplace(description)));
                    //$("descript_event").update(description);
                    //$("announcement_date").update(json.announcementDate);
                    //$("announcement_date").style.display="";
                    //$('descript_div').style.display ="none";
                    //$('descript_content').style.display ="";
                }else{
             show_error_msg('descript_error',json.MESSAGE);
            }
            }
        });
    },
     copy_code : function(copyText){
     if (window.clipboardData){
        copyText.select();
        window.clipboardData.setData("Text", copyText.value);
     }
     else {
        var flashcopier = 'flashcopier';
        if(!document.getElementById(flashcopier)){
            var divholder = document.createElement('div');
            divholder.id = flashcopier;
            document.body.appendChild(divholder);
        }
        document.getElementById(flashcopier).innerHTML = '';
        copyText.select();
        var divinfo = '<embed src="/swf/_clipboard.swf" FlashVars="clipboard='+encodeURIComponent(copyText.value)+'" width="0" height="0" type="application/x-shockwave-flash"></embed>';
        document.getElementById(flashcopier).innerHTML = divinfo;
    }
  },
    descript : function(content,is_div,error_div){
        $(content).style.display ="none";
        $(is_div).style.display="";
        $(error_div).style.display ="none";
    },
    checkForm: function(isCreate){
       
        
        if($F("title").strip() == ""){
            this._setMessage("活动名称为空", false);
            return;
        }
        if($F("address").strip() == ""){
            this._setMessage("活动地点为空", false);
            return;
        }
        if($("description").innerHTML.strip().length > 10000){
            this._setMessage("简介过长", false);
            return;
        }
        if($F("startDate").strip() == "" || $F("endDate").strip() == "" || $F("startDate").strip()=="yyyy/mm/dd" || $F("endDate").strip()=="yyyy/mm/dd"){
            this._setMessage("请输入时间", false);
            return;
        }
        
        if(!EventBasicInfo.checkDateFormat($F("endDate").strip()) || !EventBasicInfo.checkDateFormat($F("startDate").strip())){
            this._setMessage("请输入正确的时间格式,如:2009/03/09", false);
            return;
        }
       
        if(!compareFourDate($F("startDate"),$F("endDate"),$F("startTime"),$F("endTime"))){
            this._setMessage("开始时间必须小于结束时间",false);
            return;
        }
        var isOk = true;
        var init = $("limittable").select("input");
        init.each(function(s){
            if( s.checked == true && s.value=="true"){
                if($F("memberAttendLimit").strip()==""){
                    EventBasicInfo._setMessage("请输入限制人数", false);
                    isOk = false;
                    throw $break;
                }
                if(isNaN($F("memberAttendLimit").strip())){
                    EventBasicInfo._setMessage("人数限制输入有误", false);
                    isOk = false;
                    throw $break;
                }

                if($F("memberAttendLimit")<="1"){
                    EventBasicInfo._setMessage("人数限制须大于1", false);
                    isOk = false;
                    throw $break;
                }
            }
        });

        if(!isOk){
            return;
        }
        
        var notes = $F("repeatExplainNotes");
        if(isCreate =="create" && (notes == null || (notes != null && notes.trim().length == 0))){
            updateRepeatExplainNotes('1');
        }
        
        $("eventBasicForm").submit();
        return;
    },   
    setCheck: function(is){
        if(is=="false"){
            $('memberAttendLimit').disable();
        }else if( is=="true"){
            $('memberAttendLimit').enable();
        }
        var init = $("limittable").select("input");
        init.each(function(s){
            if(is == s.value){
                s.checked = true;
                s.value=is;
                throw $break;
            }
        });
    },
    checkDateFormat: function(dateStr){
        var dd = dateStr.toString().split("/");
        if(dd.size()!=3 || dd[0].length != 4 || dd[1].length != 2 || dd[2].length != 2|| dateStr.length !=10){
            return false;
        }else{
            return true;
        }
    },

    updateAnnouncement : function(url){
        //var oldAnnounce = $("issuance_content").getValue();
        var announcement = $("announcement").getValue();

        if(announcement.trim().length ==0 ){
            show_error_msg('issuance_error','公告不能为空');
            return;
        }
        if(announcement.trim().length > 2000 ){
            show_error_msg('issuance_error','公告过长');
            return;
        }
        this.org_announcement = announcement;
        // if(announcement == oldAnnouncement){
        //    return;
        //}
        new Ajax.Request("/Event.do?action=SET_ANNOUNCE",
        {
            parameters : {
                "url" : url,
                "announcement" : announcement
            },
            requestHeaders : {
                Accept: 'application/json'
            },
            onCreate : function(){
               $("issuance_error").style.display="";
               $("issuance_error").update("<img src='/images/032.gif'>");
            },
            onSuccess : function(transport){
                var json = transport.responseText.evalJSON(true);
                if(json.RETURN){
                    document.location.href="/events/"+url;
                    //alert(json.announcementDate);
                    //$('issuance_content').update(URLReplace(TextReplace(announcement)));
                    //$("announcement").update(announcement);
                    //$("announcement_date").update(json.announcementDate);
                    //$("announcement_date").style.display="";
                    //$('issuance_div').style.display ="none";
                    //$('issuance_content').style.display ="";
                }else{
            //$("announcement").setValue(oldAnnouncement);
            }
            }
        });
    },
    issuance : function(content,is_div,error_div,time_div){
        $(content).style.display ="none";
        $(is_div).style.display="";
        $(error_div).style.display ="none";
        if(time_div !=null){
            $(time_div).style.display="none";
        }
        if(time_div == null){
            $("announcement_date").style.display="";
        }
    },
     issuance_no_content : function(content,is_div,error_div,time_div,no_content){
        $(content).style.display ="none";
        $(is_div).style.display="";
        $(error_div).style.display ="none";
        $(time_div).style.display="none";
        $(no_content).style.display="none";
    },
    issuance_content_concal : function(content,is_div,error_div,no_content){
        $(content).style.display ="none";
        $(is_div).style.display="";
        $(error_div).style.display ="none";
        $("announcement_date").style.display="";
        $(no_content).style.display="";
    },
    updateJoinInfo : function(url){
        //new PeriodicalExecuter(function(pe) {
            new Ajax.Request("/Event.do?action=JOIN_EVENT",
            {
                parameters: {
                    "url":url
                },
                requestHeaders : {
                    Accept:'application/json'
                },
                onCreate: function(){
                    $('joinInfo').update("<img src='/images/loading.gif' border='0'>");
                },
                onSuccess : function(transport){
                    var json = transport.responseText.evalJSON(true);
                    //alert(json.RETURN);
                    if(json.RETURN){
                        $('joinInfo').className="ok_message";
                        $('joinInfo').update("成功加入活动");
                        //pe.stop();
                        document.location.href ="/events/" + url;
                    }else{
                        $('joinInfo').className="wrong_message";
                        $('joinInfo').update(json.MESSAGE);
                    }
                }
            });
        //}, 3);
    },
    quitEvent : function(url){
        if(!confirm("确定退出?")){
            return;
        }
        document.location.href = "/Event.do?action=QUIT_EVENT&&url=" + url;
    },

    removeEvent : function(url){
        if(!confirm("确定删除?")){
            return;
        }
        document.location.href = "/Event.do?action=REMOVE_EVENT&&url=" + url;
    },
    event_onmouseover: function(id){
        $(id).style.display ="block";
    },
    event_onmouseout: function(id){
        $(id).style.display ="none";
    },
    redirectPage : function(url){
        document.location.href ="/events/"+url;
    },
    btnClick : function(url){
        document.location.href =url;
    },
    pagination: function(page){
        $("event_page_num").value = page;
        $("event_search_form").submit();
    },
    deleteEventMember:function(memberId,url,pagetype){
        if(!confirm("确定删除?")){
            return;
        }
        document.location.href = "/Event.do?action=REMOVE_EVENTMEMBER&memberId="+memberId+"&url="+url+"&pagetype="+pagetype;
    },
    setStatus : function(userid,eventUrl,status,pagetype){
        document.location.href = "/Event.do?action=SET_STATUS&userid="+userid+"&url="+eventUrl+"&status="+status+"&pagetype="+pagetype;
    },    
    rejectEventMember : function(memberId,url,pagetype){
        if(!confirm("确定拒绝?")){
            return;
        }

        document.location.href = "/Event.do?action=REJECT_MEMBER&memberId="+memberId+"&url="+url+"&pagetype="+pagetype;
    },
    memberInvite : function(title,url){
        document.location.href ="/mail.jsp?title="+title+"&event="+url+"&action=invite#compose";
    }
}


var EventSlide = {
    deleteSlide : function(eventUrl, slideId){
        //alert("Delete event="+eventUrl+" slideId="+slideId);
        if(!confirm("确定删除?")){
            return;
        }
        document.location.href = "/Event.do?action=DELETE_EVENTSLIDE&url="+eventUrl+"&slideId="+slideId;
    }
}

var daynotes = null;
var m_d_notes = null;
var m_w_d_notes = null
var y_w_d_notes = null;
function get_calendar(id){

    YAHOO.util.Event.onDOMReady(function(){
        var Event = YAHOO.util.Event,
        Dom = YAHOO.util.Dom,
        dialog,
        calendar;
        var select_date="";
        var showBtn = Dom.get(id);

        Event.on(showBtn, "focus", function() {
            var bStr = $F(id);
            var date = new Date($F(id));
            // Lazy Dialog Creation - Wait to create the Dialog, and setup document click listeners, until the first time the button is clicked.
            if (!dialog) {
                // Hide Calendar if we click anywhere in the document other than the calendar
                Event.on(document, "focus", function(e) {
                    var el = Event.getTarget(e);
                    var dialogEl = dialog.element;
                    if (el != dialogEl && !Dom.isAncestor(dialogEl, el) && el != showBtn && !Dom.isAncestor(showBtn, el)) {
                        dialog.hide();
                    }
                });

                function resetHandler() {
                    // Reset the current calendar page to the select date, or
                    // to today if nothing is selected.
                    var selDates = calendar.getSelectedDates();
                    var resetDate;

                    if (selDates.length > 0) {
                        resetDate = selDates[0];
                    } else {
                        resetDate = calendar.today;
                    }
                    calendar.cfg.setProperty("pagedate", resetDate);
                    calendar.render();
                }

                function closeHandler() {
                    dialog.hide();
                }

                dialog = new YAHOO.widget.Dialog("container"+id, {
                    visible:false,
                    context:[id, "tl", "bl"],    
                    draggable:false,
                    close:true
                });
                  
                dialog.setHeader('请选择一个日期');
                
                dialog.setBody('<div id='+"cal"+id+'></div>');
                dialog.render(document.body);
                //set show date 
                dialog.showEvent.subscribe(function() {
                    if(($F(id)).length>=10){
                        var selD = ($F(id)).split("/");      
                        if(selD.size()==3){
                            seldate = YAHOO.widget.DateMath.getDate(selD[0],selD[1]-1,selD[2]);
                            calendar.cfg.setProperty("pagedate", seldate);
                            calendar.render();
                        }
                    }

                    if (YAHOO.env.ua.ie) {
                        // Since we're hiding the table using yui-overlay-hidden, we
                        // want to let the dialog know that the content size has changed, when
                        // shown
                        dialog.fireEvent("changeContent");
                    }
                });
            }
           
            // Lazy Calendar Creation - Wait to create the Calendar until the first time the button is clicked.
            if (!calendar) {
                calendar = new YAHOO.widget.Calendar("cal"+id, {
                    iframe:false,          // Turn iframe off, since container has iframe support.
                    hide_blank_weeks:true  // Enable, to demonstrate how we handle changing height, using changeContent
                });
              
                //标题中年份在第一位
                calendar.cfg.setProperty("MY_LABEL_YEAR_POSITION", 1);
                //标题中月份在第二位
                calendar.cfg.setProperty("MY_LABEL_MONTH_POSITION", 2);
                //标题中年份的后缀为"年"
                calendar.cfg.setProperty("MY_LABEL_YEAR_SUFFIX", "年");
                //标题中月份的后缀为"月"
                calendar.cfg.setProperty("MY_LABEL_MONTH_SUFFIX", "月");
                calendar.cfg.setProperty("MONTHS_LONG", ["一", "二", "三", "四", "五", "六", "七", "八", "九", "十", "十一", "十二"]);
                //星期的短名为"日", "一", "二", "三"(注意“日”在第一个)
                calendar.cfg.setProperty("WEEKDAYS_SHORT", ["日", "一", "二", "三", "四", "五", "六"]);

                calendar.render();
                calendar.selectEvent.subscribe(function() {
                    if (calendar.getSelectedDates().length > 0) {
                        var selDate = calendar.getSelectedDates()[0];                        
                        var wStr = calendar.cfg.getProperty("WEEKDAYS_SHORT")[selDate.getDay()];
                        var dStr = selDate.getDate();
                        var mStr = selDate.getMonth()+1;
                        var yStr = selDate.getFullYear();
                        var week = selDate.getDay();
                        dStr = dStr<10?"0"+dStr:dStr;
                        mStr = mStr<10?"0"+mStr:mStr;
                        var weekOfMonth = getMonthWeek(yStr,mStr,dStr);
                        select_date = yStr+"/"+mStr+"/"+dStr;
                        Dom.get(id).value = select_date;
                        if(Dom.get("endDate").value=="" || !compareTwoDate($F("startDate"),$F("endDate"))){
                            Dom.get("endDate").value = select_date;
                        }
                       
                        if(!compareTwoDate($F("startDate"),$F("endDate"))){
                            alert("开始时间大于结束时间");
                            Dom.get("endDate").value= $F("startDate");
                        }

                        if($("startDate").value != null && ($("startDate").value).length>=10){
                            getNoRepeateStr("no");
                        }
                        if(id=="startDate"){
                            var weekday = "w 1 "+(week+1);
                            var monthday = "MD 1 "+selDate.getDate();
                            var monthweekday = "MW 1 "+weekOfMonth+" "+(week+1);
                            var yearmonthday = "y 1 "+selDate.getMonth()+" "+selDate.getDate();
                            daynotes    ="每周的星期"+wStr;
                            m_d_notes   ="每月的"+dStr+"日";
                            m_w_d_notes ="每月的第"+weekOfMonth+"星期"+wStr;
                            y_w_d_notes = "每年的"+mStr+"月"+dStr+"日";
                            var intiStatustt = $('repeat_redio').select('input');
                            intiStatustt.each(function(s){
                                if(s.id=="repeatExpression"){
                                    if(s.value == "1" || (s.value).toString().indexOf("w 1 ")!=-1){
                                        s.value = weekday;
                                        if(s.checked == true){
                                            Dom.get("repeatExplainNotes").value =daynotes;
                                        }
                                    }else if(s.value == "2" ||(s.value).toString().indexOf("MD 1 ")!=-1){
                                        s.value = monthday;
                                        if(s.checked == true){
                                            Dom.get("repeatExplainNotes").value = m_d_notes;
                                        }
                                    }else if(s.value == "3" ||(s.value).toString().indexOf("MW 1 ")!=-1){
                                        s.value = monthweekday;
                                        if(s.checked == true){
                                            Dom.get("repeatExplainNotes").value = m_w_d_notes;
                                        }
                                    }else if(s.value == "4" ||(s.value).toString().indexOf("y 1 ")!=-1){
                                        s.value = yearmonthday;
                                        if(s.checked == true){
                                            Dom.get("repeatExplainNotes").value =y_w_d_notes;
                                        }
                                    }
                                }
                            });
                            $("id_weekday").update(wStr);
     
                            $("id_monthday").update(dStr);
                            $("id_weekofmonth").update(weekOfMonth);
  
                            $("id_weekofmonth_day").update(wStr);
                            $("id_yearmonth").update(mStr);
                            $("id_yearmonthday").update(dStr);

                        }
                    //alert("weekday="+weekday+"   monthday="+monthday+"  monthweekday="+monthweekday+" yearmonthday="+yearmonthday);
                    } else {
                        Dom.get(id).value = "";
                    }
                    dialog.hide();
                });

                calendar.renderEvent.subscribe(function() {
                    // Tell Dialog it's contents have changed, which allows
                    // container to redraw the underlay (for IE6/Safari2)
                    if(id=="startDate"){
                        var eStr = $F(id);
                        var cell = calendar.cells[calendar.getCellIndex(date)];
                        if(!compareTwoDateEqual(bStr,eStr)){
                            if(Dom.hasClass(cell, calendar.Style.CSS_CELL_SELECTED))
                                Dom.removeClass(cell, calendar.Style.CSS_CELL_SELECTED);
                        }else{
                            if(!Dom.hasClass(cell, calendar.Style.CSS_CELL_SELECTED))
                                Dom.addClass(cell, calendar.Style.CSS_CELL_SELECTED);
                        }
                    }else{
                        var eStr1 = $F(id);
                        var date2 = new Date(eStr1);
                        var cell1 = calendar.cells[calendar.getCellIndex(date2)];
                        if(!Dom.hasClass(cell1, calendar.Style.CSS_CELL_SELECTED))
                            Dom.addClass(cell1, calendar.Style.CSS_CELL_SELECTED);
                    }
                    dialog.fireEvent("changeContent");
                });
            }

            //seldate = YAHOO.widget.DateMath.getDate("2009","3","25"); //seldate = calendar.getSelectedDates();
            if(($F(id)).length>=10){
                var selD = ($F(id)).split("/");
                if(selD.size()==3){
                    seldate = YAHOO.widget.DateMath.getDate(selD[0],selD[1]-1,selD[2]);
                    calendar.cfg.setProperty("pagedate", seldate[0]);
                    calendar.render();
                }
            }
             
            dialog.show();
        });
    });
}

function updateTimeDate(timeStr,express,repeable,startTime,endTime){
    var selDate = new Date(timeStr);
    //alert("sss ="+express+ " repeable="+repeable);
    var wStr = parseToWeek(selDate.getDay()+"");//calendar.cfg.getProperty("WEEKDAYS_SHORT")[selDate.getDay()];
    var dStr = selDate.getDate();
    var mStr = selDate.getMonth()+1;
    var yStr = selDate.getFullYear();
    var week = selDate.getDay();
    dStr = dStr<10?"0"+dStr:dStr;
    mStr = mStr<10?"0"+mStr:mStr;
    var weekOfMonth = getMonthWeek(yStr,mStr,dStr);

    var weekday = "w 1 "+(week+1);
    var monthday = "MD 1 "+selDate.getDate();
    var monthweekday = "MW 1 "+weekOfMonth+" "+(week+1);
    var yearmonthday = "y 1 "+selDate.getMonth()+" "+selDate.getDate();
    daynotes    ="每周的星期"+wStr;
    m_d_notes   ="每月的"+dStr+"日";
    m_w_d_notes ="每月的第"+weekOfMonth+"星期"+wStr;
    y_w_d_notes = "每年的"+mStr+"月"+dStr+"日";

    var intiStatustt = $('repeat_redio').select('input');
    intiStatustt.each( function(s){
           
        if(s.id=="repeatExpression"){
            if(repeable && express.toString().indexOf("w 1 ")!=-1 && s.value=="1"){
                updateTimeDateInnerFun(s,weekday,daynotes,startTime,endTime);
                updateRadioValue(weekday,monthday,monthweekday,yearmonthday);
                throw $break;
            }else if(repeable && express.toString().indexOf("MD 1 ")!=-1 && s.value=="2"){
                updateTimeDateInnerFun(s,monthday,m_d_notes,startTime,endTime);
                updateRadioValue(weekday,monthday,monthweekday,yearmonthday);
                throw $break;
            }else if(repeable && express.toString().indexOf("MW 1 ")!=-1 && s.value=="3"){
                updateTimeDateInnerFun(s,monthweekday,m_w_d_notes,startTime,endTime);
                updateRadioValue(weekday,monthday,monthweekday,yearmonthday);
                throw $break;
            }else if(repeable && express.toString().indexOf("y 1 ")!=-1 && s.value=="4"){
                updateTimeDateInnerFun(s,yearmonthday,y_w_d_notes,startTime,endTime);
                updateRadioValue(weekday,monthday,monthweekday,yearmonthday);
                throw $break;
            }else if(!repeable){
                if(s.value=="0"){
                    s.checked =true;
                    $("repeatExplainNotes").value ="";
                    updateRadioValue(weekday,monthday,monthweekday,yearmonthday);
                    setRepeat(false);
                    getNoRepeateStr("init",startTime,endTime);
                }
            }
        }
    });

    $("id_weekday").update(wStr);
    $("id_monthday").update(dStr);
    $("id_weekofmonth").update(weekOfMonth);
    $("id_weekofmonth_day").update(wStr);
    $("id_yearmonth").update(mStr);
    $("id_yearmonthday").update(dStr);

}
function updateTimeDateInnerFun(s,redio_value,notes,startTime,endTime){
    s.value = redio_value;
    s.checked =true;
    $("repeatable_true").checked=true;
    isHide(true);
    getNoRepeateStr("init",startTime,endTime);
    $("repeatExplainNotes").value =notes;
}
function updateRadioValue(weekday,monthday,monthweekday,yearmonthday){
    var intiStatustt = $('repeat_redio').select('input');
    intiStatustt.each( function(s){
        if(s.id=="repeatExpression"){
            if(s.value=="1"){
                s.value = weekday;
            }else if( s.value=="2"){
                s.value = monthday;  
            }else if( s.value=="3"){
                s.value = monthweekday;
            }else if(s.value=="4"){
                s.value = yearmonthday;
            }
        }
    });
}

function setRepeat(is){
    if(is){
        $("repeatable_true").checked=true;
        var intiStatustt = $('repeat_redio').select('input');
        intiStatustt.each( function(o){
            if(o.id=="repeatExpression" ){
                if(o.value=="1" || (o.value).indexOf("w 1 ")!=-1){
                    o.checked=true;
                }
                if(o.value=="0" ){
                    o.checked = false;
                    isHide(true);
                }
            }
        });
    }else if(!is ){
        $("repeatable_true").checked=false;
        var intiStatustt1 = $('repeat_redio').select('input');
        intiStatustt1.each( function(s){
            if(s.id=="repeatExpression" ){
                if(s.value=="0"){
                    s.checked = true;;
                    isHide(false);
                    throw $break;
                }
            }
        });
    }

    
}
function isHide(is){
    if(is){
        $("norepeatStr").style.display="none";
        $("repeatExpression_tr1").style.display="";
        $("repeatExpression_tr2").style.display="";
        $("repeatExpression_tr3").style.display="";
        $("repeatExpression_tr4").style.display="";
    }else{
        $("norepeatStr").style.display="";
        $("repeatExpression_tr1").style.display="none";
        $("repeatExpression_tr2").style.display="none";
        $("repeatExpression_tr3").style.display="none";
        $("repeatExpression_tr4").style.display="none";
    }
}
function parseToWeek(type){
    switch(type){
        case "0":
            return "日";
            break;
        case "1":
            return "一";
            break;
        case "2":
            return "二";
            break;
        case "3":
            return "三";
            break;
        case "4":
            return "四";
            break;
        case "5":
            return "五";
            break;
        case "6":
            return "六";
            break;        
    }
}
function compareTwoDate(bStr,eStr){
    var bb = bStr.toString().split("/");
    var ee = eStr.toString().split("/");
    if(bb[0]>ee[0] || bb[0]==ee[0]&&bb[1]>ee[1]|| bb[0]==ee[0]&& bb[1]==ee[1] && bb[2]>ee[2] ){
        return false;
    }else{
        return true;
    }
}
function compareTwoDateEqual(bStr,eStr){
    if(bStr==null || eStr==null)return;
    if(bStr.length!=10 || eStr.length!=10)return;
    var bb = bStr.toString().split("/");
    var ee = eStr.toString().split("/");
    if( bb[0]==ee[0]&& bb[1]==ee[1] && bb[2]==ee[2] ){
        return true;
    }else{
        return false;
    }
}
function compareFourDate(bStr,eStr,bTime,eTime){
    var bb = bStr.toString().split("/");
    var ee = eStr.toString().split("/");
    var bt = bTime.toString().split(":");
    var et = eTime.toString().split(":");
    if(bb[0]>ee[0] || bb[0]==ee[0]&&bb[1]>ee[1]|| bb[0]==ee[0]&& bb[1]==ee[1] && bb[2]>ee[2] || bb[0]==ee[0]&& bb[1]==ee[1] && bb[2]==ee[2]&& bt[0]>et[0] || bb[0]==ee[0]&& bb[1]==ee[1] && bb[2]==ee[2]&&bt[0]==et[0]&& bt[1]>et[1]|| bb[0]==ee[0]&& bb[1]==ee[1] && bb[2]==ee[2]&&bt[0]==et[0]&& bt[1]==et[1]){
        return false;
    }else{
        return true;
    }
}
function updateRepeatExplainNotes(type){
    switch(type){
        case "0":
            $("repeatExplainNotes").value="0";
            break;
        case "1":
            $("repeatExplainNotes").value= daynotes;
            break;
        case "2":
            $("repeatExplainNotes").value= m_d_notes;
            break;
        case "3":
            $("repeatExplainNotes").value= m_w_d_notes;
            break;
        case "4":
            $("repeatExplainNotes").value= y_w_d_notes;
            break;
    }
}

function getNoRepeateStr(init,startTime,endTime,startDate,endDate,eventId){
    var date1 = null;//"2009/03/20";
    var date2 = null;
    var time1 = null;//"10:00";
    var time2 = null;//"09:00";
    var eId   = null;
    if(init=="detail" || init=="list"){
        if(init=="list")
            eId = eventId;
        date1 = startDate;
        date2 = endDate;
        time1 = startTime;
        time2 = endTime;
    }else{
        date1 = $F("startDate");
        date2 = $F("endDate");
        time1 = $F("startTime");
        time2 = $F("endTime");
    }
    var d1 = date1.split("/");
    var d2 = date2.split("/");
    if(date1.length <10 || date2.length <10 )
        return;
    if(date1.length >10 || date2.length >10){
        alert("输入时间格式错误!");
        //$("startDate").value=date1
        return;
    }

    var weekday1 = parseToWeek((new Date(date1)).getDay()+"");
    var weekday2 = parseToWeek((new Date(date2)).getDay()+"");
    var Str = "";    
    var t1 = time1.split(":");
    var t2 = time2.split(":");
    if(init=="init"){
        time1 = startTime;
        time2 = endTime;
    }
    if(d1[0] != d2[0] ){
        if(init=="detail"){
            //Str = d1[0]+"年"+d1[1]+"月"+d1[2]+"日 星期"+weekday1+" 至"+d2[0]+"年"+d2[1]+"月"+d2[2]+"日 星期"+weekday2;
            Str = d1[0]+"年"+d1[1]+"月"+d1[2]+"日 星期"+weekday1+" "+time1+" 至"+d2[0]+"年"+d2[1]+"月"+d2[2]+"日 星期"+weekday2+" "+time2;
        }else{
            Str = d1[0]+"年"+d1[1]+"月"+d1[2]+"日 星期"+weekday1+" "+time1+" 至"+d2[0]+"年"+d2[1]+"月"+d2[2]+"日 星期"+weekday2+" "+time2;
        }
    }
    if(d1[0] == d2[0] && d1[1] != d2[1]){
        if(init=="detail"){
            //Str = d1[0]+"年"+d1[1]+"月"+d1[2]+"日 星期"+weekday1+" 至 "+d2[1]+"月"+d2[2]+"日 星期"+weekday2;
            Str = d1[0]+"年"+d1[1]+"月"+d1[2]+"日 星期"+weekday1+" "+time1+" 至 "+d2[1]+"月"+d2[2]+"日 星期"+weekday2+" "+time2;
        }else{
            Str = d1[0]+"年"+d1[1]+"月"+d1[2]+"日 星期"+weekday1+" "+time1+" 至 "+d2[1]+"月"+d2[2]+"日 星期"+weekday2+" "+time2;
        }        
    }
    if(d1[0] == d2[0] && d1[1] == d2[1] && d1[2] != d2[2]){
        if(init=="detail"){
            //Str = d1[0]+"年"+d1[1]+"月"+d1[2]+"日 星期"+weekday1+" 至 "+d2[2]+"日 星期"+weekday2;
            Str = d1[0]+"年"+d1[1]+"月"+d1[2]+"日 星期"+weekday1+" "+time1+" 至 "+d2[2]+"日 星期"+weekday2+" "+time2;
        }else{
            Str = d1[0]+"年"+d1[1]+"月"+d1[2]+"日 星期"+weekday1+" "+time1+" 至 "+d2[2]+"日 星期"+weekday2+" "+time2;
        }
        
    }
    if(d1[0] == d2[0] && d1[1] == d2[1] && d1[2] == d2[2]){
//        if(t1[0]>t2[0] || t1[0]==t2[0] && t1[1]>t2[1]){
//
//            alert("开始时间大于结束时间");
//            $("norepeatStr").update("开始时间大于结束时间");
//            return;
//        }else if(init=="no" && t1[0]==t2[0] && t1[1]==t2[1]){
//            alert("开始时间等于结束时间");
//            $("norepeatStr").update("开始时间等于结束时间");
//            return;
//        }
        if(init=="detail"){
            //Str = d1[0]+"年"+d1[1]+"月"+d1[2]+"日 星期"+weekday1;
            Str = d1[0]+"年"+d1[1]+"月"+d1[2]+"日 星期"+weekday1+" "+time1+" 至 "+time2;
        }else{
            Str = d1[0]+"年"+d1[1]+"月"+d1[2]+"日 星期"+weekday1+" "+time1+" 至 "+time2;
        }
        
    }
    if(init=="list"){
        $("norepeatStr"+eId).update(Str);
    }else{
        $("norepeatStr").update(Str);
    }
   
    return Str;
}
var previousRedio = null;
function savePreviousStatus(first){
    var intiStatustt4 = $('repeat_redio').select('input');
    intiStatustt4.each( function(s){
        //alert("s.id="+s.id+" s.value="+s.value);
        if(s.id=="repeatExpression" && s.value !="0"){
            if( first=="first" && (s.value).indexOf("w 1 ") !=-1){
                updateRepeatExplainNotes("1");
            }else{
                if(s.checked){
                    previousRedio = s;
                }
            }
        }
    });
//alert(previousRedio);
}

function setPreviousStatus(){

    var intiStatustt5= $('repeat_redio').select('input');
    intiStatustt5.each( function(s){
        if(s.id=="repeatExpression" ){
            if( previousRedio != null && s.value==previousRedio.value){
                s.checked=true;
            }
        }
    });
}

function getMonthWeek(a, b, c) {
    /*
a = d = 当前日期
b = 6 - w = 当前周的还有几天过完（不算今天）
a + b 的和在除以7 就是当天是当前月份的第几周
*/
    var date = new Date(a, parseInt(b) - 1, c), w = date.getDay(), d = date.getDate();
    //alert("w="+w+" d="+d+" d+6-w="+(d+6-w));
    return Math.ceil(
        (d + 6 - w) / 7
        );
};

function getYearWeek(a, b, c) {
    /*
date1是当前日期
date2是当年第一天
d是当前日期是今年第多少天
用d + 当前年的第一天的周差距的和在除以7就是本年第几周
*/
    var date1 = new Date(a, parseInt(b) - 1, c), date2 = new Date(a, 0, 1),
    d = Math.round((date1.valueOf() - date2.valueOf()) / 86400000);
    return Math.ceil(
        (d + ((date2.getDay() + 1) - 1)) / 7
        );
};
/*
document.write(
    "今天是本月的第 ", getMonthWeek(2007, 10, 17), " 周<br \/>"
    , "今天是本年的第 ", getYearWeek(2007, 10, 17), " 周"
);
*/

function showjoinEventDialog(joinType, groupUrl, eventUrl){
    if(joinType == 200 || joinType == 300){
        new Ajax.Request("/Group.do?action=JOIN_GROUP",
            {
                parameters: {
                    "url":groupUrl
                },
                requestHeaders : {
                    Accept:'application/json'
                },
                onCreate: function(){
//                    $('joinInfo').update("<img src='/images/loading.gif' border='0'>");
                },
                onSuccess : function(transport){
                    var json = transport.responseText.evalJSON(true);
                    //alert(json.RETURN);
                    if(json.RETURN){
                        if(joinType == 200){
                            show();
                        }else if(joinType == 300){
                            //show();
                        }
                        
                    }else{
                        $('joinInfo').className="wrong_message";
                        $('joinInfo').update(json.MESSAGE);
                    }
                }
            });
    }else if(joinType == 100){
        new Ajax.Request("/Group.do?action=JOIN_GROUP",
            {
                parameters: {
                    "url":groupUrl
                },
                requestHeaders : {
                    Accept:'application/json'
                },
                onCreate: function(){
                    $('joinInfo').update("<img src='/images/loading.gif' border='0'>");
                },
                onSuccess : function(transport){
                    var json = transport.responseText.evalJSON(true);
                    //alert(json.RETURN);
                    if(json.RETURN){
                        EventBasicInfo.updateJoinInfo(eventUrl);
                    }else{
                        $('joinInfo').className="wrong_message";
                        $('joinInfo').update(json.MESSAGE);
                    }
                }
            });
    }
}