function initSelectedCalendarsFromCookie(){
  //取用户选中的日历id。
  var selIds = getSelectedCookieIds();
  //根据id判断日历是否被load，如果没有则主动load
  for(var i=0;i<selIds.length;i++){
    if(!CalendarData.loadedClds[selIds[i]]&&!g_user)
      continue;
    CalendarData.selectCalendar(selIds[i]);
    refreshCheckbox(selIds[i],true);
  }
  CalendarData.drawCalendarData();
}

//点击某一个日历以后重新刷新日历数据
function refreshSelectedCalendars_withoutTab(vcheckbox){
  var _selectedID = parseFloat(vcheckbox.value);
  //如果是新选择日历
  if(vcheckbox.checked){
    //addSelectedCalendar(_selectedID);
    CalendarData.selectCalendar(_selectedID);    
     //更新最近浏览日历的cookie
    updateRecentCalendars(vcheckbox);
  }
   //如果是取消选择某日历，则从inCookie_selectedClds里面去掉id
  else{
     //removeSelectedCalendar(_selectedID);
    CalendarData.unselectCalendar(_selectedID);
  }

   //刷新日历数据
  CalendarData.drawCalendarData();
   //刷新checkbox的选择
 // refreshCheckbox(_selectedID,vcheckbox.checked);
  //更新cookie
 // refreshSelectedCookie();
}


//点击某一个日历以后重新刷新日历数据
function refreshSelectedCalendars(vcheckbox){
  var _selectedID = parseFloat(vcheckbox.value);
  //如果是新选择日历
  if(vcheckbox.checked){
    //addSelectedCalendar(_selectedID);
    CalendarData.selectCalendar(_selectedID);    
     //更新最近浏览日历的cookie
    updateRecentCalendars(vcheckbox);
  }
   //如果是取消选择某日历，则从inCookie_selectedClds里面去掉id
  else{
     //removeSelectedCalendar(_selectedID);
    CalendarData.unselectCalendar(_selectedID);
  }

   //刷新日历数据
  CalendarData.drawCalendarData();
   //刷新checkbox的选择
  refreshCheckbox(_selectedID,vcheckbox.checked);
  //更新cookie
  refreshSelectedCookie();
}

function refreshSelectedCookie(){
  var calendars = CalendarData.selectedClds;
  var rs = new Array();
  for(var i in calendars){
    if(!calendars[i])
      continue;
    rs[rs.length] = calendars[i].calendarID;
  }
  var cookieStr = JSON.stringify(rs);
  if(!!cookieStr)
    setCookie('SelectedCookie', cookieStr,365*10);
}

//从cookie中读取最近浏览日历数组
function getRecentCldArray(){
  var recentCookie = getCookie('RecentCookie');
  if(recentCookie == null || recentCookie == '')
    return [];
  else 
    return JSON.parse(recentCookie);
}

//更新recentCookie
function setRecentCldArray(recentArray){
  var recentCookie = JSON.stringify(recentArray);
   setCookie('RecentCookie', recentCookie,365*10);//name, value, days, path, domain, secure  
}

//更新最近浏览日历的cookie
function updateRecentCalendars(vcheckbox){
  var id = parseFloat(vcheckbox.value);
  var recentArray = getRecentCldArray();
  if(!recentArray)
    return;
    
  //判断是最近浏览里面是否已经存在此id，如果存在则删除
  for(var i = 0; i < recentArray.length; i++){
    if(recentArray[i] == id){
      for(var k = i;k<recentArray.length-1;k++)
        recentArray[k] = recentArray[k+1];
      recentArray = recentArray.slice(0,recentArray.length-1);//删除最后一个
      break;
    }
  }
  
  //如果最近浏览数少于20个，则直接加到最后
  if(recentArray.length < 20){
    recentArray[recentArray.length] = id;
  }
  //如果已经20个满了，则去掉第一个，最新的加入到最后
  else{
    for(var i = 0; i < recentArray.length-1; i++){
      recentArray[i] = recentArray[i+1];
    }
    recentArray[recentArray.length] = id;    
   }
   //更新recentCookie
   setRecentCldArray(recentArray);
}

//从最近浏览里面删除一个日历
function removeRecentCalendar(cldId){
  var recentArray = getRecentCldArray();
  if(!recentArray)
    return;

  //判断是最近浏览里面是否已经存在此id，如果存在则删除
  for(var i = 0; i < recentArray.length; i++){
    if(recentArray[i] == cldId){
      for(var k = i;k<recentArray.length-1;k++)
        recentArray[k] = recentArray[k+1];
      recentArray = recentArray.slice(0,recentArray.length-1);//删除最后一个
      break;
    }
  }
   //更新recentCookie
   setRecentCldArray(recentArray);  
}

//实现点击日历名称时相当于点击日历的checkbox
function selectCalendar(id){
  if(MzBrowser.ie){
    if(event.button==2){
      window.alert(id);
    }
  }
  var vcheckbox = document.getElementById(id);
  if(!vcheckbox)
    return false;
  if(vcheckbox.checked){
    vcheckbox.checked = false;
  }else{
    vcheckbox.checked = true;
  }
  vcheckbox.onclick();
  //return false;
}

//根据id将页面上全部checkbox取消选择
function unSelectAllCheckboxById(id){
  var form = document.getElementById('calendarIdForm');
  if(form != null){
    for (i=0;i<form.elements.length;i++){
      if (parseFloat(form.elements[i].value) == parseFloat(id)){
        form.elements[i].checked = false;
      }
      }
  }
}

//将页面上全部checkbox取消选择
function clearAllSelectedCalendarIDs(){
  var form = document.getElementById('calendarIdForm');
  if(form != null){
    for (i=0;i<form.elements.length;i++){
      if (form.elements[i].checked){
        form.elements[i].checked = false;
      }
    }
  }
}


//返回cookie中已选日历id的数组
function getSelectedCookieIds(){
  var cookie = getCookie('SelectedCookie');
  if(cookie == null || cookie == '')
    return [];
  else
    return JSON.parse(cookie);
}
