設置 | 登錄 | 註冊

目前共有4篇帖子。

【備份】目前/calendar.(cs|j)s/

1樓 巨大八爪鱼 2010-11-8 23:03

var calendar=new Object();
calendar.module=new Object();
calendar.module.mouse=new Object();
calendar.mouse=new Object();
calendar.left=new Object();
calendar.left.test=new Object();
calendar.server=new Object();
calendar.selectid=0;
calendar.dates=Array();
calendar.createpage=new Object();
calendar.canmove=true; //是否能夠移動日曆光標
calendar.left.actives=new Object();
calendar.classes=new Object();
calendar.server.date=function(){
 var ub=$_DOM('_cday').innerHTML.split(',');
 for (var i=0;i<ub.length;i++) ub[i]=Number(ub[i]);
 return ub;
}
calendar.date=function(){
 var ub=$_DOM('_cdate').innerHTML.replace(/月/gi,'').split('年');
 for (var i=0;i<ub.length;i++) ub[i]=Number(ub[i]);
 return ub;
}
calendar.module.mouse.out=function(t,fx){
 if (fx==0){
  t.className='left';
 }else if (fx==1){
  t.className='right';
 }
}
calendar.module.mouse.over=function(t,fx){
 if (fx==0){
  t.className='lefting';
 }else if (fx==1){
  t.className='righting';
 }
}
calendar.module.mouse.click=function(fx){
 var daf=$_DOM('_calendar_defaultdate').value.split('-');
 for (j=0;j<3;j++) daf[j]=Number(daf[j]);
 this.sunday=$_DOM('_calendar_date').value.split('-'); //切換前的星期日日期array(2010,10,25)
 var d=new Date(this.sunday[0],this.sunday[1]-1,this.sunday[2]);
 this.parameters="k="+$_DOM('boardid').value+"&f="+fx+"&ds="+$_DOM('_calendar_date').value;
 if (fx==1) d=new Date(d-(-7)*24*60*60*1000);
 else d=new Date(d-7*24*60*60*1000);
 
 //生成7個日期
 var ds=Array(),str,span,ek;
 for (var i=0;i<7;i++){
  ds[i]=new Date(d-(-i)*24*60*60*1000);
  ek=ds[i].getDate();
  if (ek<10) ek="0"+String(ek);
  else ek=String(ek);
  el=Number(ds[i].getMonth())+1;
  if (el<10) el="0"+String(el);
  else el=String(el);
  str=el+"-"+ek;
  span=$_DOM('calendar_module_listof'+i);
  span.innerHTML=str; //更新表格第一列的日期
  
  //將當前日期背景改為藍色
  span=$_DOM('calendar_module_tr'+i);
  span.className=(daf[0]==Number(ds[i].getFullYear()) && daf[1]==Number(ds[i].getMonth())+1 && daf[2]==Number(ds[i].getDate()))?'select':'';
 }
 $_DOM('rilicrrqi').innerHTML=String(ds[6].getFullYear())+"年"+String(Number(ds[6].getMonth())+1)+"月";
 $_DOM('_calendar_date').value=String(Number(d.getFullYear()))+"-"+String(Number(d.getMonth())+1)+"-"+String(Number(d.getDate()));
 this.sunday=$_DOM('_calendar_date').value.split('-');
}
calendar.onload=function(){
 this.left.update();
 this.onturnpage(4);
 document.onkeydown=function(event){
  if (!calendar.canmove) return;
  if (jswindow_id>0) return;
  if (calendar.classes.menu.opened) return;
  if (!event) event=window.event;
  var ckey=event.keyCode;
  //alert(ckey);
  var sid=calendar.selectid,sad;
  switch (ckey){
   case 13:
    calendar.create();
    return false;
   case 37: case 65:
    //left
    sad=sid-1;
    if (sad<0){
     with (calendar){
      onturnpage(1);
      select(41);
     }
    }else{
     calendar.select(sad);
    }
    return false;
   case 38: case 87:
    //up
    sad=sid-7;
    if (sad<0){
     with (calendar){
      onturnpage(1);
      select(41-(6-sid));
     }
    }else{
     calendar.select(sad);
    }
    return false;
   case 39: case 68:
    //right
    sad=sid+1;
    if (sad>41){
     with (calendar){
      onturnpage(2);
      select(0);
     }
    }else{
     calendar.select(sad);
    }
    return false;
   case 40: case 83:
    //down
    sad=sid+7;
    if (sad>41){
     with (calendar){
      onturnpage(2);
      select(sid-35);
     }
    }else{
     calendar.select(sad);
    }
    return false;
  }
 }
 document.search_form.text.onfocus=function(){calendar.canmove=false;};
 var xmlDoc=loadXML("../Ajax/calendar_colors.xml");
 var aitem=xmlDoc.documentElement.childNodes;
 var aitam=aitem.length;
 var sk,aitom;
 for (var i=0;i<aitam;i++){
  sk=aitem[i].childNodes;
  aitom=sk.length;
  calendar.classes.menu.colors[i]=Array();
  for (var j=0;j<aitom;j++){
   calendar.classes.menu.colors[i][j]=xmlvalue(sk[j]);
  }
 }
}
calendar.left.update=function(){
 var cd=calendar.date();
 var span,a,m,y;
 var myDate=new Date(cd[0],cd[1]-1,1);
 var gd=myDate.getDay(); //獲取這個月1日的星期數
 if (gd==1) gd=8;
 var v=24*60*60*1000;
 var start_date=new Date(myDate-gd*v);
 var cdk=calendar.server.date();
 var sban,vl=/color_gray/gi,swan,skan;
 
 for (var i=0;i<42;i++){
  a=start_date.getDate();
  calendar.dates[i]=start_date;
  span=$_DOM('__'+String(i));
  span.innerHTML='<a id="_a'+i+'" href="#">'+a+'</a>';
  swan=$_DOM('_d'+String(i));
  skan=$_DOM('_tdd'+String(i));
  swan.innerHTML=a;
  sban=$_DOM('_a'+i);
  m=start_date.getMonth()+1;
  sban.className="black";
  if (cd[1]!=m){
   swan.innerHTML='<span>'+a+'</span>';
   sban.className="gray";
  }
  //當前日高亮顯示
  y=start_date.getYear();
  if (y==Number(cdk[0]) && m==Number(cdk[1]) && a==Number(cdk[2])){
   span.className="istoday";
   swan.className="istoday";
   skan.className="istoday";
  }else{
   span.className="";
   swan.className="day";
   swan.style.color="";
   skan.className="";
  }
  sban.onclick=function(){calendar.onclick(this.id);return false;};
  start_date=new Date(start_date-(-1)*v);
  $_DOM('_actives'+String(i)).innerHTML=""; //刪除以前獲取的活動列表
 }
 
 span=$_DOM('today');
 span.disabled=(cd[0]==Number(cdk[0]) && cd[1]==Number(cdk[1]));
 
 //重新獲取每日活動列表
 this.actives.get();
}
calendar.onturnpage=function(ik){
 var cd=this.date();
 var cdk=this.server.date();
 if (ik!==4){
  if (ik==1){
   cd[1]--;
   if (cd[1]<1){
    cd[1]=12;
    cd[0]--;
   }
  }else if (ik==2){
   cd[1]++;
   if (cd[1]>12){
    cd[1]=1;
    cd[0]++;
   }
  }else if (ik==3){
   cd[0]=cdk[0];
   cd[1]=cdk[1];
  }
  
  var str=String(cd[0])+"年"+String(cd[1])+"月";
  sed($_DOM('_cdate'),str);
  sed($_DOM('__cdate'),str);
  this.left.update();
 }
 
 //選中今天
 var stf,i;
 if (ik==3 || ik==4){
  for (i=0;i<42;i++){
   stf=$_DOM("_a"+String(i));
   if (stf.innerHTML==cdk[2] && (!/gray/gi.test(stf.className))){
    this.select(i);
    break;
   }
  }
 }
 
 //若切換月份後光標指向了今天
 if (ik==1 || ik==2){
  for (i=0;i<42;i++){
   stf=$_DOM("_a"+String(i)); //當前節點
   //判斷日期是否為今天且不為灰色日期
   if (stf.innerHTML==cdk[2] && (!/gray/gi.test(stf.className))){
    stf=$_DOM("__"+i);
    if (classhave(stf.className,"istoday")){ //必須是當前年月
     //將背景設為深藍
     $_DOM(stf+i).className=classpast($_DOM(stf+i).className,"todayandselected");
    }
    
    break; //找到後退出循環
   }
  }
 }
}
calendar.onclick=function(ik){
 var span=$_DOM(ik);
 span.blur();
 if (/gray/.test(span.className)){
  var tunedid=Number(span.innerHTML);
  this.onturnpage((Number(ik.replace(/_a/gi,''))<20)?1:2);
  var str="_a",stt,stf;
  for (i=0;i<42;i++){
   stt=str+String(i);
   stf=$_DOM(stt);
   if (stf.innerHTML==tunedid && (!/gray/gi.test(stf.className))){
    this.select(i);
    break;
   }
  }
 }else{
  this.select(Number(ik.replace(/_a/gi,'')));
 }
}
calendar.mouse.over=function(t){
 t.className="hover";
}
calendar.mouse.out=function(t){
 t.className="";
}
calendar.select=function(tid){
 var span=$_DOM('_td'+tid);
 var spaned=$_DOM('_td'+this.selectid);
 var sban=$_DOM('__'+tid); //當前點擊的日期
 var sbaned=$_DOM('__'+this.selectid); //上次點擊的日期
 var styled=sban.className;
 var styled2=sbaned.className;
 var v=/haveactives/gi;
 
 span.className="selected";
 if (classhave(sban.className,"istoday") || classhave(sban.className,"todayandselected")){
  sban.className="todayandselected";
 }else{
  sban.className="selected";
 }
 
 if (tid!=this.selectid){
  spaned.className="";
  if (classhave(sbaned.className,"todayandselected")){
   sbaned.className="istoday";
  }else{
   sbaned.className="";
  }
 }
 //若當前日期有活動
 if (v.test(styled)) sban.className=classpast(sban.className,"haveactives");
 //若以前的日期有活動
 if (v.test(styled2)) sbaned.className=classpast(sbaned.className,"haveactives");
 sbaned.getElementsByTagName('a')[0].style.color=(classhave(sbaned.className,"istoday"))?"#FFFFFF":"";
 //更新當前表格id
 this.selectid=tid;
}
calendar.create=function(){
 var cdm=this.dates[this.selectid];
 var cdy=cdm.getFullYear();
 var cdmo=cdm.getMonth()+1;
 var cdd=cdm.getDate();
 var str=String(cdy)+'-'+String(cdmo)+'-'+String(cdd);
 var url="back/create_active.php?b="+$_URL('b')+"&d="+str;
 jswindow.open('新建活動',url,700,550);
}
calendar.createpage.onload=function(){
 this.starttimechange();
 var osp=$_DOM('textfield2').value.split('-');
 var odp=new Date(Number(osp[0]),Number(osp[1])-1,Number(osp[2]));
 odp=new Date(odp-(-7)*24*60*60*1000);
 $_DOM('textfield7').value=odp.getFullYear()+"-"+(odp.getMonth()+1)+"-"+odp.getDate();
 with (document.form1.textfield){
  if (Trim(value)==""){
   focus();
  }else{
   select();
  }
 }
}
calendar.createpage.starttimechange=function(){
 $_DOM('textfield6').value=$_DOM("textfield2").value;
 this.blur(2);
}
calendar.createpage.blur=function(t){
 switch (t){
  case 1:
   //全天
   if ($_DOM('checkbox').checked){
    $_DOM('textfield3').style.display='none';
    $_DOM('textfield5').style.display='none';
   }else{
    $_DOM('textfield3').style.display='';
    $_DOM('textfield5').style.display='';
   }
   break;
  case 2:
   //重複頻率
   var seled=Number($_DOM('select').value);
   var span=$_DOM('rep');
   if (seled>0){
    span.className='';
    span=$_DOM('repif').style;
    if (seled==2){
     span.display='';
    }else{
     span.display='none';
    }
    
    var ost="",r=$_DOM('textfield2').value.split('-');
    var until="";
    var rd=new Date(Number(r[0]),Number(r[1])-1,Number(r[2]));
    var rda="日,一,二,三,四,五,六".split(',');
    var osd=rda[rd.getDay()];
    switch (seled){
     case 1:
      ost="每周 在 星期"+osd;
      break;
     case 2:
      if ($_DOM('radio3').checked){
       ost=r[2]+"日";
      }else{
       var sd,j=0;
       for (var i=1;i<31;i++){
        sd=new Date(Number(r[0]),Number(r[1]-1),i);
        sds=sd.getDay();
        if (i==1 && sds!=1) j++;
        if (sds==1) j++;
        if (sd.getDate()==r[2]) break;
       }
       
       ost="第"+rda[j]+"周星期"+osd;
      }
      ost="每月 在 "+ost;
      break;
     case 3:
      ost="每年 在 "+r[1]+"月"+r[2]+"日";
      break;
    }
    
    if ($_DOM('radio2').checked){
     var osp=$_DOM('textfield7').value.split('-');
     until=",直到 "+osp[0]+"年"+osp[1]+"月"+osp[2]+"日";
    }
    
    $_DOM("frequency").innerHTML=ost+until;
   }else{
    span.className='disp';
   }
   
   break;
  case 3:
   var t=$_DOM('radio').checked;
   var u=$_DOM("textfield7");
   u.disabled=t;
   this.blur(2);
   break;
  default:
   alert('Error');
   break;
 }
}
calendar.createpage.submit=function(){
 $_DOM("button").disabled=true;
 var d=$_DOM('textfield8').value;
 if (Trim($_DOM('textfield').value)==""){
  Alert("創建失敗","請填寫活動主題",300,110,"calendar.createpage.error(1)");
  return false;
 }else if (Trim(d)==""){
  Alert("創建失敗","請填寫活動分類",300,110,"calendar.createpage.error(2)");
  return false;
 }
 
 $_DOM('actian').value="crcld_ca";
 $_DOM('form1').target="ifr";
 $_DOM('cot').value=$_DOM('editarea_base').innerHTML;
 
 var seled=Number($_DOM('select').value);
 var r=$_DOM('textfield2').value.split('-');
 var rd=new Date(Number(r[0]),Number(r[1])-1,Number(r[2]));
 var osd=Number(rd.getDay());
 var val="";
 
 switch (seled){
  case 1:
   val=String(osd);
   break;
  case 2:
   if ($_DOM('radio3').checked){
    //日期
    val=String(r[2]);
   }else{
    //星期
    var sd,j=0;
    for (i=1;i<31;i++){
     sd=new Date(Number(r[0]),Number(r[1]-1),i);
     sds=sd.getDay();
     if (i==1 && sds!=1) j++;
     if (sds==1) j++;
     if (sd.getDate()==r[2]) break;
    }
    val=String(j)+'|'+String(osd);
   }
  case 3:
   val=String(r[1])+'|'+String(r[2]);
 }
 
 $_DOM('unt').value=val;
 
 return true;
}
calendar.createpage.error=function(id){
 with ($_WIN(1)){
  $_DOM("button").disabled=false;
  switch (id){
   case 1:
    $_DOM('textfield').focus();
    break;
   case 2:
    $_DOM('textfield8').focus();
    break;
   case 3:
    $_DOM('textfield3').select();
    break;
   case 4:
    $_DOM('textfield5').select();
    break;
   case 5:
    $_DOM('textfield2').select();
    break;
   case 6:
    $_DOM('textfield4').select();
    break;
   case 7:
    $_DOM('textfield7').select();
    break;
  }
 }
 window_close();
}
calendar.createpage.iframeload=function(){
 var msg=window.frames['ifr'].document.getElementById('msg').innerHTML;
 if (msg=="default"){
  return false;
 }else if (msg=="OK"){
  top.document.location.reload();
  return true;
 }else{
  msd=msg.split(',');
  Alert("創建失敗",msd[1],300,110,"calendar.createpage.error("+msd[0]+")");
  return false;
 }
}
calendar.left.actives.get=function(){
 var a;
 var str="";
 var b=calendar.dates.length;
 for (var i=0;i<b;i++){
  a=calendar.dates[i];
  str+=String(a.getFullYear())+'-'+String(a.getMonth()+1)+'-'+String(a.getDate())+'-'+String(a.getDay());
  if (i+1!=b) str+=",";
 }
 this.parameters="dates="+str+"&action=getdata&b="+ajaxcode($_DOM('span_bn').innerHTML);
 this.url="../Ajax/calendardata.php";
 this.method="post";
 this.Ajax=new Ajax.Request(this.url,{method:this.method,parameters:this.parameters,onComplete:this.finish});
}
calendar.left.actives.finish=function(q){
 //copy(q.responseText);
 var ot=calendar.left.actives;
 ot.ids=Array();
 ot.xml=q.responseXML;
 var root=ot.xml.documentElement.childNodes; //根節點(data)
 ot.activedatenum=root.length; //有活動的日期數(data節點下的各item節點)
 //遍歷各日期
 var actives,itemid,activesnum,j,actclass,acttitle,span,allday,actcolor,actstarttime;
 var sast,amn=0,actdisp,actid,actlink,dds;
 for (var i=0;i<ot.activedatenum;i++){
  actives=root[i].childNodes;
  itemid=Number(root[i].getAttribute("id")); //當前item節點下的id屬性(表格號)
  span=$_DOM('_actives'+itemid);
  span.innerHTML='';
  //遍歷item節點下的全部活動數據
  activesnum=actives.length; //共有多少個活動
  //左側日曆加粗顯示有活動的日期
  if (activesnum>0){
   dds=$_DOM("__"+String(itemid));
   //若是今天則只加粗
   if (classhave(dds.className,"todayandselected")){
    dds.className=classpast(dds.className,"haveactivesbold");
   }else{
    dds.className=classpast(dds.className,"haveactives");
   }
  }
  
  for (j=0;j<activesnum;j++,amn++){
   actclass=Number(actives[j].getAttribute("class")); //當前活動所屬分類ID
   acttitle=actives[j].firstChild.nodeValue; //當前活動的標題
   allday=actives[j].getAttribute("allday"); //是否全天
   actcolor=actives[j].getAttribute("color"); //背景顏色
   actstarttime=actives[j].getAttribute("starttime"); //開始時間
   sast=actstarttime.split(' ');
   sast=sast[1].split(':');
   ot.ids[amn]=actclass; //ot.ids[活動id]=所屬分類id
   actid=actives[j].getAttribute("dataid");
   actlink='#" onclick="calendar.balloon.showactive(event,'+actid+','+itemid+');return false';
   
   //更新到表格
   if (allday=="true"){
    if ($_DOM('ccesc'+String(actclass)).checked) actdisp="";
    else actdisp=" style=\"display:none\"";
    span.innerHTML+='<li id="actidis'+String(amn)+'" class="uup"'+actdisp+'><a class="notallday" target="_blank" href="'+actlink+'" style="color:'+actcolor+'" title="'+acttitle+'">'+String(sast[0])+':'+String(sast[1])+'&nbsp;'+acttitle+'</a></li>';
   }else{
    if ($_DOM('ccesc'+String(actclass)).checked) actdisp="";
    else actdisp=";display:none";
    span.innerHTML+='<li id="actidis'+String(amn)+'" style="background-color:'+actcolor+actdisp+'"><span class="uul"></span><span class="uur"></span><span class="udl"></span><span class="udr"></span><a href="'+actlink+'" title="'+acttitle+'" target="_blank">'+acttitle+'</a></li>';
   }
  }
 }
}
calendar.classes.checkbox=function(u){
 var span=$_DOM('ccesc'+u);
 var val=span.checked;
 span.checked=(!val);
 span.onclick();
}
calendar.classes.checked=function(sta,id){
 //function(複選框狀態,複選框所屬分類id)
 var a=calendar.left.actives.ids; //已加載的全部活動的所屬分類id
 var dp=(sta)?'':'none';
 for (var i=0;i<a.length;i++){
  if (a[i]==id){
   $_DOM('actidis'+i).style.display=dp;
  }
 }
}
calendar.classes.menu=new Object();
calendar.classes.menu.opened=false;
calendar.classes.menu.colors=Array();

calendar.classes.menu.open=function(id){
 if (this.opened) this.close(); //若已打開菜單則關掉
 this.openedid=id;
 this.opened=true;
 var span=$_DOM("_rlof"+id);
 var sdan=span.style;
 var cih=Number($_DOM("_colorof"+id).innerHTML);
 sdan.display='';
 sdan.background=this.colors[1][cih];
 sdan.border="1px solid "+this.colors[2][cih];
 this.eventstring='onmouseover="this.style.background=\''+this.colors[3][cih]+'\'" onmouseout="this.style.background=\'\'"';
 span.innerHTML='<ul class="menul"><li '+this.eventstring+' onclick="calendar.classes.menu.click(1,'+id+')">只顯示此分類</li><li '+this.eventstring+' onclick="calendar.classes.menu.click(2,'+id+')">重命名</li></ul><div class="div_line" style="background-color:'+this.colors[2][cih]+'"><div></div></div>';
 var n='<div class="zfxd"><table width="140" border="0" cellspacing="0" cellpadding="0">',j=0,k=0;
 for (var i=0;i<3;i++){
  n+='<tr>';
  for (j=0;j<7;j++){
   n+='<td><div class="zfxk" style="background-color:'+this.colors[0][k]+'" onmouseover="this.style.border=\'1px solid #000000\'" onmouseout="this.style.border=\'1px solid #FFFFFF\'" onclick="calendar.classes.menu.selectedcolor('+k+','+id+')">';
   if (cih==k) n+='<img src="../Images/board/right.gif" />';
   n+='</div></td>';
   k++;
  }
  n+='</tr>';
 }
 n+='</table></div>';
 span.innerHTML+=n;
}
calendar.classes.menu.close=function(){
 var id=this.openedid;
 this.openedid=null;
 this.opened=false;
 var span=$_DOM("_rlof"+id);
 span.style.display='none';
 span.innerHTML="";
}
calendar.classes.menu.click=function(keyid,val){
 var kcu,kcuid;
 switch (keyid){
  case 1:
   //只顯示此分類
   var span=$_DOM("checkboxesarea").getElementsByTagName('input');
   for (var i=0;i<span.length;i++){
    kcu=span[i];
    if (kcu.type!="checkbox") continue; //若不是複選框
    kcuid=Number(kcu.id.replace(/^ccesc/gi,''));
    kcu.checked=(kcuid==val);
    calendar.classes.checked(kcu.checked,kcuid);
   }
   break;
  case 2:
   //重命名
   jswindow.open("重命名","Include/calendarclassname.php?i="+val,400,105);
   break;
 }
 this.close(); //關閉菜單
}
calendar.classes.editname=function(){
 $_DOM('button').disabled=true;
 this.editnameid=Trim($_DOM('_ccidf').innerHTML);
 this.value=$_DOM("textfield").value;
 this.method="post";
 this.url="../Ajax/calendardata.php";
 this.parameters="action=editclassname&id="+this.editnameid+"&val="+ajaxcode(this.value);
 this.Ajax=new Ajax.Request(this.url,{method:this.method,parameters:this.parameters,onComplete:this.editnamefinish});
}
calendar.classes.editnamefinish=function(q){
 var root=q.responseXML.documentElement;
 var msg=root.firstChild.childNodes.firstChild.nodeValue;
 if (msg=="OK"){
  var span=$_DAM('_ddd'+calendar.classes.editnameid);
  span.innerHTML=calendar.classes.value;
  span.title=span.innerHTML;
  top.window_close();
 }else{
  top.Alert("操作失敗",msg,400,110,"calendar.classes.editnameerror()");
  return false;
 }
}
calendar.classes.editnameerror=function(){
 $_WIN(1).$_DOM('button').disabled=false;
 window_close();
}
calendar.classes.menu.selectedcolor=function(colorid,classid){
 this.close();
 var col=this.colors[0][colorid];
 var cii=-colorid*15;
 $_DOM('classes_item_of'+classid).style.background=col; //更新分類名div背景顏色
 $_DOM('rightlof'+classid).style.backgroundPosition=cii+"px -79px"; //更新下拉按鈕顏色
 $_DOM('_colorof'+classid).innerHTML=colorid; //更新菜單背景顏色
 var a=calendar.left.actives.ids,b; //已加載的全部活動的所屬分類id
 for (var i=0;i<a.length;i++){
  if (a[i]==classid){
   b=$_DOM('actidis'+i);
   if (b.style.backgroundColor==""){
    b.getElementsByTagName("a")[0].style.color=col;
   }else{
    b.style.backgroundColor=col;
   }
  }
 }
 this.url="../Ajax/calendardata.php";
 this.method="post";
 this.parameters="classid="+classid+"&colorid="+colorid+"&action=setclasscolor";
 this.Ajax=new Ajax.Request(this.url,{method:this.method,parameters:this.parameters});
}

2樓 巨大八爪鱼 2010-11-8 23:04
.board_rili img.icon {
 background-image: url(../Images/board/modIcon.gif);
 background-repeat: no-repeat;
 background-position: -12px -391px;
 height: 15px;
 width: 15px;
}
.board_rili div.title {
 margin-bottom: 6px;
 background-color: #E6E6E6;
 height: 17px;
 padding-top: 3px;
}
.board_rili div.mouse div.left {
 float: left;
 background-image: url(../Images/board/modIcon.gif);
 background-repeat: no-repeat;
 background-position: -36px -31px;
 height: 17px;
 width: 20px;
 cursor: pointer;
}
.board_rili div.contenthead {
 padding-top: 6px;
}
.board_rili div.mouse div.lefting {
 float: left;
 background-image: url(../Images/board/modIcon.gif);
 background-repeat: no-repeat;
 background-position: -56px -31px;
 height: 17px;
 width: 20px;
 cursor: pointer;
}
.board_rili div.mouse div.right {
 float: right;
 background-image: url(../Images/board/modIcon.gif);
 background-repeat: no-repeat;
 background-position: -36px -11px;
 height: 17px;
 width: 20px;
 cursor: pointer;
}
.board_rili div.mouse div.righting {
 float: right;
 background-image: url(../Images/board/modIcon.gif);
 background-repeat: no-repeat;
 background-position: -56px -11px;
 height: 17px;
 width: 20px;
 cursor: pointer;
}
#calendar_module_list tr {
 height: 19px;
 color: #808080;
}
#calendar_module_list tr.select {
 background-color: #D6E5F0;
 color: #0080FF;
 font-weight: bold;
}
.board_rili div.xline {
 margin-top: 4px;
 margin-right: 9px;
 margin-bottom: 6px;
 margin-left: 5px; 
}
.board_rili div.openallrili {
 margin-right: 9px;
 margin-bottom: 3px;
}
.calendarpage #righthead {
 margin-top: 5px;
}
.calendarpage #righthead img {
 background-image: url(../Images/board/iconsp.png);
 background-repeat: no-repeat;
 height: 16px;
 width: 30px;
 cursor: pointer;
}
.calendarpage #righthead #a {
 background-position: -77px -124px;
}
.calendarpage #righthead #a.disabled {
 background-position: -77px -155px;
}
.calendarpage #righthead #b {
 background-position: -131px -124px;
}
.calendarpage #righthead #b.disabled {
 background-position: -131px -155px;
}
.calendarpage #righthead #d {
 float: left;
}
.calendarpage #righthead #e {
 float: right;
}
.calendarpage #righthead #e ul {
 list-style-type: none;
 margin-right: 2px;
 margin-top: 4px;
}
.calendarpage #righthead #e ul li {
 background-image: url(../Images/board/iconsp.png);
 background-repeat: no-repeat;
 background-position: -138px -18px;
 height: 16px;
 width: 40px;
 display: inline;
 margin-right: 1px;
 float: right;
 padding-top: 6px;
 cursor: pointer;
 text-align: center;
 color: #3B525D;
}
.calendarpage #righthead #e ul li.focus {
 background-position: -78px -18px;
 font-weight: bold;
}
.calendarpage #righttabledays {
 text-align: center;
 background-color: #B7D4F0;
 color: #1146BB;
}
.calendarpage #righttabledays td.roundtopleft{
 background-image: url(../Images/board/iconsp.png);
 background-repeat: no-repeat;
 background-position: 0px -126px;
}
.calendarpage div.LB{
 background-image: url(../Images/board/iconsp.png);
 background-repeat: no-repeat;
 background-position: 0px -126px;
 margin-top: 18px;
 font-weight: bold;
 margin-left: 6px;
}
.calendarpage div.LB #left1 {
 background-color: #B7D4F0;
 padding-top: 7px;
 margin-left: 4px;
}
.calendarpage div.LB #left1 #head {
 text-align: center;
 height: 17px;
 color: #1159BB;
}
.calendarpage div.LB #left1 #head img {
 margin-top: 2px;
 background-image: url(../Images/board/iconsp.png);
 background-repeat: no-repeat;
 height: 14px;
 width: 20px;
 border: 0px;
}
.calendarpage div.LB #left1 #head #left {
 float: left;
 background-position: -56px -311px;
 margin-left: 2px;
}
.calendarpage div.LB #left1 #head #right {
 float: right;
 background-position: -56px -343px;
 margin-right: 5px;
}
.calendarpage div.LB #left1 #head #left.hover {
 background-position: -76px -310px;
}
.calendarpage div.LB #left1 #head #right.hover {
 background-position: -76px -342px;
}
.calendarpage div.LB #left1 #center {
 background-color: #B7D4F0;
 margin-left: -4px;
 font-weight: normal;
 padding-right: 4px;
 padding-left: 6px;
}
.calendarpage div.LB #left1 #center #viewday {
 border-top-width: 1px;
 border-right-width: 1px;
 border-bottom-width: 1px;
 border-left-width: 1px;
 border-top-style: solid;
 border-right-style: solid;
 border-bottom-style: solid;
 border-left-style: solid;
 border-top-color: #A2C7DD;
 border-right-color: #A2C7DD;
 border-bottom-color: #FFFFFF;
 border-left-color: #A2C7DD;
}
.calendarpage div.LB #left1 #center .istoday {
 color: #FFFFFF;
 background-color: #99AABB;
 border-top-width: 1px;
 border-right-width: 1px;
 border-bottom-width: 1px;
 border-left-width: 1px;
 border-top-style: solid;
 border-right-style: solid;
 border-bottom-style: solid;
 border-left-style: solid;
 border-top-color: #2A2E33;
 border-left-color: #2A2E33;
 border-right-color: #AABBCC;
 border-bottom-color: #AABBCC;
}
.calendarpage div.LB #left1 #center .istoday a {
 color: #FFFFFF;
}
.calendarpage div.LB #left1 #foot {
 height: 9px;
}
.calendarpage div.LB #left1 #leftroundhorn {
 background-image: url(../Images/board/iconsp.png);
 background-repeat: no-repeat;
 background-position: 0px -149px;
 height: 9px;
 width: 4px;
 margin-left: -4px;
}
.calendarpage #showtagslink {
 margin-top: 7px;
 margin-left: 6px;
}
.calendarpage #calendar_root div.day {
 background-color: #E8F0F7;
 height: 16px;
 color: #666666;
 font-family: Arial, Helvetica, sans-serif;
 font-size: 11px;
 padding-right: 5px;
}
.calendarpage #calendar_root td.istoday {
 background-color: #FFFFE8;
}
.calendarpage #calendar_root div.istoday {
 background-color: #BBD2DD;
 height: 16px;
 color: #666666;
 font-family: Arial, Helvetica, sans-serif;
 font-size: 11px;
 padding-right: 5px;
}
.calendarpage #calendar_root div.day span {
 color: #C9C9C9;
}
.calendarpage #calendar_root2 {
 text-align: left;
}
.calendarpage #calendar_root2 div.leftr {
 background-image: url(../Images/board/iconsp.png);
 background-repeat: no-repeat;
 background-position: 0px -152px;
 height: 6px;
 width: 6px;
}
.calendarpage #calendar_root div.selected {
 border: 2px solid #6FAFD6;
 height: 71px;
 width: 112px;
 position: absolute;
}
.calendarpage div.LB #left1 #center td.todayandselected {
 border-top-width: 1px;
 border-right-width: 1px;
 border-bottom-width: 1px;
 border-left-width: 1px;
 border-top-style: solid;
 border-right-style: solid;
 border-bottom-style: solid;
 border-left-style: solid;
 border-top-color: #000000;
 border-right-color: #065B9D;
 border-bottom-color: #065B9D;
 border-left-color: #000000;
 background-color: #065B9D;
}
.calendarpage div.LB #left1 #center td.todayandselected a {
 color: #FFFFFF;
}
.calendarpage div.LB #left1 #center td.selected {
 background-color: #AACCEE;
}
.createactivepage {
 margin-top: 15px;
}
.createactivepage #frequency {
 background-color: #B0D4B0;
 border: 1px solid #737B73;
 padding-left: 6px;
 padding-top: 6px;
 padding-bottom: 5px;
 width: 294px;
 margin-top: 5px;
 margin-bottom: 5px;
}
.createactivepage #rep span #repif {
 margin-bottom: 5px;
 display: block;
}
.calendarpage #classes {
 margin-left: 6px;
 margin-top: 8px;
 background-color: #B7D4F0;
 margin-right: 11px;
}
.calendarpage #classes .head {
 text-align: center;
}
.calendarpage #classes .head span[from=title] {
 font-size: 14px;
 font-weight: bold;
 display: block;
 padding-top: 3px;
}
.calendarpage #classes .head div {
 background-image: url(../Images/board/iconsp.png);
 background-repeat: no-repeat;
 height: 4px;
 width: 4px;
 background-color: #FFFFFF;
}
.calendarpage #classes .head div[from=left] {
 float: left;
 background-position: 0px -192px;
}
.calendarpage #classes .head div[from=right] {
 float: right;
 background-position: -156px -192px;
}
.calendarpage #classes div.foot {
 height: 20px;
 margin: 0px;
 padding: 0px;
}
.calendarpage #classes div.foot div {
 background-image: url(../Images/board/iconsp.png);
 background-repeat: no-repeat;
 height: 20px;
 width: 4px;
 background-color: #FFFFFF;
}
.calendarpage #classes div.foot div[from=left] {
 background-position: 0px -263px;
 float: left;
}
.calendarpage #classes div.foot div[from=right] {
 background-position: -156px -263px;
 float: right;
}
.calendarpage #classes div.foot span.addcommoncalendar {
 display: block;
 margin-top: 3px;
 text-align: right;
}
.calendarpage #classes div.center {
 margin: 0px;
 padding: 0px;
}
.calendarpage #classes div.center div.base {
 background-color: #FFFFFF;
 height: 200px;
 overflow: auto;
 margin-top: 2px;
 margin-right: 6px;
 margin-bottom: 0px;
 margin-left: 6px;
 padding-top: 4px;
 padding-right: 0px;
 padding-bottom: 0px;
 padding-left: 4px;
 width: 137px;
}
.calendarpage #classes div.center div.base span {
 display: block;
 font-size: 13px;
}
.calendarpage #classes div.center div.base div.classes_item {
 height: 20px;
 width: 78px;
 padding-left: 3px;
 overflow: hidden;
 line-height: 20px;
}
.calendarpage #classes div.center div.base div.classes_item a {
 color: #FFFFFF;
 text-decoration: none;
}
.calendarpage #classes div.center div.base div.classes_item a:hover {
 text-decoration: underline;
}
.calendarpage #calendar_root ul.activelist {
 list-style-type: none;
 text-align: left;
 margin: 0px;
 padding: 0px;
}
.calendarpage #calendar_root ul.activelist li {
 height: 17px;
 padding-top: 1px;
 overflow: hidden;
 line-height: 16px;
}
.calendarpage #calendar_root ul.activelist li.uup {
 padding-left: 2px; 
}
.calendarpage #calendar_root ul.activelist li a {
 color: #FFFFFF;
 text-decoration: none;
}
.calendarpage #calendar_root ul.activelist li a:hover {
 text-decoration: underline;
}
.calendarpage #calendar_root ul.activelist li span {
 height: 4px;
 width: 4px;
 background-image: url(../Images/board/roundangle.gif);
 background-repeat: no-repeat;
}
.calendarpage #calendar_root ul.activelist li span.uul {
 float: left;
 margin-top: -1px;
}
.calendarpage #calendar_root ul.activelist li span.uur {
 float: left;
 margin-top: 13px;
 background-position: 0px -4px;
 margin-left: -4px;
}
.calendarpage #calendar_root ul.activelist li span.udl {
 float: right;
 background-position: -4px 0px;
 margin-top: -1px;
}
.calendarpage #calendar_root ul.activelist li span.udr {
 float: right;
 background-position: -4px -4px;
 margin-top: 13px;
 margin-right: -4px;
}
.calendarpage #classes div.center div.base div.rightl{
 background-image: url(../Images/board/iconsp.png);
 background-repeat: no-repeat;
 height: 14px;
 width: 15px;
 cursor: pointer;
}
.calendarpage #classes div.center div.base div.rightl div.menu {
 position: absolute;
 height: 140px;
 width: 173px;
 cursor: default;
 margin-top: 15px;
}
.calendarpage #classes div.center div.base div.rightl div.menu ul.menul {
 margin: 0px;
 list-style-type: none;
 padding-top: 5px;
 padding-right: 0px;
 padding-bottom: 0px;
 padding-left: 0px;
}
.calendarpage #classes div.center div.base div.rightl div.menu ul.menul li {
 height: 21px;
 padding-left: 6px;
 padding-top: 2px;
 color: #261CDC;
 text-decoration: underline;
}
#calendarclassname {
 padding: 0px;
 margin-top: 10px;
 margin-right: 0px;
 margin-bottom: 0px;
 margin-left: 0px;
}
#calendarclassname dd {
 margin-right: 0px;
 margin-bottom: 0px;
 margin-left: 10px;
}
.calendarpage #classes div.center div.base div.rightl div.menu div.zfxk {
 height: 14px;
 width: 14px;
 border: 1px solid #FFFFFF;
 margin-bottom: 5px;
 margin-right: 5px;
}
.calendarpage #classes div.center div.base div.rightl div.menu div.zfxd {
 margin-top: 18px;
 text-align: center;
 cursor: pointer;
}
#_csa_base {
 position: absolute;
 width: 355px;
}
#_csa_base #_csa_head {
 background-image: url(../Images/board/eventPopup.png);
 background-repeat: no-repeat;
 height: 14px;
}
#_csa_base #_csa_center {
 border-right-width: 1px;
 border-left-width: 1px;
 border-right-style: solid;
 border-left-style: solid;
 border-right-color: #787877;
 border-left-color: #787877;
 background-color: #FFFFFF;
 font-size: 12px;
 padding-right: 12px;
 padding-left: 12px;
}
#_csa_base #_csa_center dl {
 padding-right: 20px;
}
#_csa_base #_csa_center dl dt {
 font-weight: bold;
 font-size: 14px;
 height: 32px;
 padding-left: 3px;
}
#_csa_base #_csa_foot {
 background-image: url(../Images/board/eventPopup.png);
 background-repeat: no-repeat;
 height: 16px;
 background-position: 0px -134px;
}
#_csa_base #_csa_from.left {
 background-image: url(../Images/board/eventPopup.png);
 background-repeat: no-repeat;
 background-position: -248px -201px;
 height: 73px;
 width: 74px;
 margin-top: -1px;
 margin-left: 122px;
}
#_csa_base #_csa_from.right {
 background-image: url(../Images/board/eventPopup.png);
 background-repeat: no-repeat;
 background-position: -248px -201px;
 height: 73px;
 width: 74px;
 margin-top: -1px;
 margin-left: 265px;
}
#_csa_base #_csa_closediv {
 position: absolute;
 top: 13px;
 right: 14px;
}
#_csa_base #_csa_closediv img {
 background-image: url(../Images/board/iconsp.png);
 background-repeat: no-repeat;
 background-position: -10px -18px;
 height: 13px;
 width: 13px;
 border: none;
}
.calendarpage div.LB #left1 #center .haveactives {
 font-weight: bold;
}
.calendarpage div.LB #left1 #center .haveactives a {
 color: #1A95C3;
}
.calendarpage div.LB #left1 #center .haveactivesbold {
 font-weight: bold;
}
3樓 巨大八爪鱼 2010-11-8 23:04
var xmlDoc;
/*--------------------------------------------------------------------------
  ● 字符串相關函數
--------------------------------------------------------------------------*/
function Trim(s){
 return s.replace(/(^\s*)|(\s*$)/g,"");
}
function True(s){
 var reg=/^[\w\u4e00-\u9fa5ⅠⅡⅢⅣⅤⅥⅦⅧ·ⅨⅩⅪⅫ\+\-]+$/;
 return reg.test(s);
}
function Length(s){
 var d=0;
 var a=s.split("");
 for (i=0;i<a.length;i++){
  if (a[i].charCodeAt(0)<299){
   d++;
  }else{
   d+=2;
  }
 }
 return d;
}
function is_number(n){
 //判斷是否為有理數(不是循環小數)
 var reg=/^[\-\+]?[1-9]*\d(\.\d+)?$/;
 return reg.test(n);
}
/*--------------------------------------------------------------------------
  ● 驗證碼
--------------------------------------------------------------------------*/
var captcha_id=0;
function captcha_update(name,kongjianname){
 if (name=="") name='captcha_image';
 if (kongjianname=="") kongjianname='captcha_val';
 captcha_id++;
 var url=currentaddress+'Include/Captcha.php?k='+captcha_id;
 $_DOM(name).src=url;
 $_DOM(kongjianname).value='';
 $_DOM(kongjianname).focus();
 return false;
}
function captcha_true(kongjianname,baocuospan){
 if (kongjianname=="") kongjianname='captcha_val';
 if (baocuospan=="") baocuospan='captcha_error_span';
 $_DOM(kongjianname).value=Trim($_DOM(kongjianname).value);
 if ($_DOM(kongjianname).value==""){
  $_DOM(baocuospan).innerHTML='請輸入驗證碼';
  return false;
 }else{
  $_DOM(baocuospan).innerHTML='';
  return true;
 }
}
/*--------------------------------------------------------------------------
  ● 表單相關函數
--------------------------------------------------------------------------*/
function value_radio(id){
 // 獲得單選框的值
 var val=$_DOM(id);
 for (var i=0;i<val.length;i++){
  if (val[i].checked) return val[i].value;
 }
}
function value_checkbox(id,explode){
 // 獲得複選框的值
 var val=$_DOM(id);
 var ret="";
 for (var i=0;i<val.length;i++){
  if (val[i].checked){
   if (ret==""){
    ret=val[i].value;
   }else{
    ret=ret+explode+val[i].value;
   }
  }
 }
 return ret;
}
function formarea_loaded(){
 //處理IFRAME方式提交的帖子數據
 try{
  var msg=window.frames['form_area'].document.getElementById('msg').innerHTML;
  if (msg=="default") return false;
  else if (msg=="created") F5();
  else if (msg=="OK") window.frames['form_area'].document.location='Include/default2.php';
  else topic_alert(msg,(msg=="驗證碼輸入錯誤" || msg=="驗證碼超時,請重新輸入")?'topic_alerted_yzm':'topic_alerted_else');
 }catch(e){
  alert('無法連接到伺服器,請檢查您的網絡連接');
  document.form1.button3.disabled=false;
  return false;
 }
}
/*--------------------------------------------------------------------------
  ● 搜索框
--------------------------------------------------------------------------*/
function search_submit(){
 var span=document.search_form.text;
 span.value=Trim(span.value);
 if (span.value==""){
  span.focus();
  return false;
 }else{
  return true;
 }
}
function set_searchtext(str){
 document.search_form.text.value=str;
 return true;
}
function search_start(){
 document.search_form.text.focus();
 return true;
}
/*--------------------------------------------------------------------------
  ● 模態窗口函數
--------------------------------------------------------------------------*/
function diag_close(){
 try{
  top.window_close();
 }catch(e){
  return false;
 }
}
function window_open(tit,url,wid,hei,userdefined){
 top.jswindow.open(tit,url,wid,hei);
}
function window_close(){
 top.jswindow.close();
}
function Alert(title,msg,w,h,fun){
 if (fun==undefined) fun='';
 var ru='../Include/Alert.php?t='+title+'&m='+msg+'&fun='+fun;
 window_open(title,ru,w,h,true);
}
function Confirm(title,msg,w,h,func){
 window_open(title,'../Include/Confirm.php?t='+title+'&m='+msg+'&u='+func,w,h);
}
function window_info(){
 var ret=Array();
 var scrollX=0,scrollY=0,width=0,height=0,contentWidth=0,contentHeight=0;
 
 if (typeof(window.pageXOffset)=="number"){
  scrollX=window.pageXOffset;
  scrollY=window.pageYOffset;
 }else if (document.body&&(document.body.scrollLeft||document.body.scrollTop)){
  scrollX=document.body.scrollLeft;
  scrollY=document.body.scrollTop;
 }else if (document.documentElement&&(document.documentElement.scrollLeft||document.documentElement.scrollTop)){
  scrollX=document.documentElement.scrollLeft;
  scrollY=document.documentElement.scrollTop;
 }
 
 if (typeof(window.innerWidth)=="number"){
  width=window.innerWidth;
  height=window.innerHeight;
 }else if (document.documentElement&&(document.documentElement.clientWidth||document.documentElement.clientHeight)){
  width=document.documentElement.clientWidth;
  height=document.documentElement.clientHeight;
 }else if (document.body&&(document.body.clientWidth||document.body.clientHeight)){
  width=document.body.clientWidth;
  height=document.body.clientHeight;
 }
 
 if (document.documentElement&&(document.documentElement.scrollHeight||document.documentElement.offsetHeight)){
  if (document.documentElement.scrollHeight>document.documentElement.offsetHeight){
   contentWidth=document.documentElement.scrollWidth;
   contentHeight=document.documentElement.scrollHeight;
  }else{
   contentWidth=document.documentElement.offsetWidth;
   contentHeight=document.documentElement.offsetHeight;
  }
 }else if (document.body&&(document.body.scrollHeight||document.body.offsetHeight)){
  if (document.body.scrollHeight>document.body.offsetHeight){
   contentWidth=document.body.scrollWidth;
   contentHeight=document.body.scrollHeight;
  }else{
   contentWidth=document.body.offsetWidth;
   contentHeight=document.body.offsetHeight;
  }
 }else{
  contentWidth=width;
  contentHeight=height;
 }
 if (height>contentHeight) height=contentHeight;
 if (width>contentWidth) width=contentWidth;
 
 ret['ScrollX']=scrollX;
 ret['ScrollY']=scrollY;
 ret['Width']=width;
 ret['Height']=height;
 ret['ContentWidth']=contentWidth;
 ret['ContentHeight']=contentHeight;
 
 return ret;
}
/*--------------------------------------------------------------------------
  ● 文檔對象操作函數
--------------------------------------------------------------------------*/
function $_DOM(id){
 return document.getElementById(id);
}
function $_DAM(obj){
 return top.document.getElementById(obj);
}
function dom_delete($ob){
 document.body.removeChild($_DOM($ob));
 return true;
}
function createNode(ikk,lable_name,weizhi){
 var nod=top.document.createElement(lable_name);
 nod.id=ikk;
 weizhi.appendChild(nod);
 return nod; //返回創建的節點
}
function createAttribute(name,value,weizhi){
 var nod=top.document.createAttribute(name);
 nod.value=value;
 weizhi.setAttributeNode(nod);
 return nod;
}
function window_setTitle(s){
 $_DOM('window_title').innerHTML=s;
}
function dropNode(id){
 id=id.split(',');
 for (i=0;i<id.length;i++) dom_delete(id[i]);
}
function drapNode(id){
 id=id.split(',');
 for (i=0;i<id.length;i++) top.document.body.removeChild($_DAM(id[i]));
}
function divPosition(e){
 var x=e.offsetLeft;
 var y=e.offsetTop;
 while(e=e.offsetParent){
  x+=e.offsetLeft;
  y+=e.offsetTop;
 }
 var t=Array();
 t['x']=x;
 t['y']=y;
 return t;
}
function sed(obj,con){
 try{
  obj.innerHTML=con;
  return true;
 }catch(e){
  return false;
 }
}
function $_URL(id){
 //獲取url變量的值
 var qs=document.location.search.replace(/\?/gi,'').split('&');
 var ds=Array();
 for (var i=0;i<qs.length;i++){
  qs[i]=qs[i].split('=');
  ds[qs[i][0]]=qs[i][1];
 }
 if (ds[id]==undefined) ds[id]='';
 return ds[id];
}
/*--------------------------------------------------------------------------
  ● Cookie函數
--------------------------------------------------------------------------*/
function Cookie(id){
 var cookies=document.cookie();
 cookies=cookies.split(';');
 for (i=0;i<cookies.length;i++) cookies[i]=cookies[i].split('=');
 for (var i=0;i<cookies.length;i++) if (cookies[i][0]==id) return unescape(cookies[i][1]);
}
function setCookie(name,val){
 document.cookie=name+"="+escape(val);
}
/*--------------------------------------------------------------------------
  ● XML
--------------------------------------------------------------------------*/
function loadXML(xmlFile){
 var _xmlDoc=null;
 if (window.ActiveXObject) _xmlDoc=new ActiveXObject('Microsoft.XMLDOM');
 else{
  try{
   _xmlDoc=document.implementation.createDocument('','',null);
  }catch(ex){
   alert(ex.message);
   _xmlDoc=null;
  }
 }
 
 if (_xmlDoc!=null){
  _xmlDoc.async=false;
  try{
   _xmlDoc.load(xmlFile);
  }catch(ex){
   alert(ex.message);
   _xmlDoc=null;
  }
  return _xmlDoc;
 }
}
function xmlvalue(obj){
 return obj.firstChild.nodeValue;
}
/*--------------------------------------------------------------------------
  ● Ajax
--------------------------------------------------------------------------*/
function ajaxcode(str){
 var regs=[[],['*0','*1','*2','*3','*4','*5','*6']];
 regs[0][0]=/\*/gi;
 regs[0][1]=/\+/gi;
 regs[0][2]=/\//gi;
 regs[0][3]=/\?/gi;
 regs[0][4]=/&/gi;
 regs[0][5]=/#/gi;
 regs[0][6]=/%/gi;
 for (var i=0;i<regs[0].length;i++) str=str.replace(regs[0][i],regs[1][i]);
 return str;
}
/*--------------------------------------------------------------------------
  ● 其他函數
--------------------------------------------------------------------------*/
function classpast(obj,cla){
 if (classhave(obj,cla)) return obj; //若字符串中已有相同的類
 if (Trim(obj)==""){
  obj=cla;
 }else{
  obj+=" "+cla;
 }
 return obj;
}
function classhave(obj,cla){
 var abj=obj.split(" ");
 for (var i=0;i<abj.length;i++){
  if (abj[i]==cla){
   return true;
  }
 }
 return false;
}
function copy($str){
 window.clipboardData.setData("Text",$str);
 return true;
}
function wait(z){
 var j=0;
 z*=100000;
 for (var i=0;i<z;i++) j++;
 alert(z);
 return true;
}
function blank(){};
function Escape(str){
 return escape(str);
}
function F5(){
 document.location=window.location.href;
 return true;
}
function browser_ie(){
 return window.attachEvent&&(!window.opera);
}
function spali(){
 var msg=top.window.frames['newiframe'].document.getElementById('msg').innerHTML;
 if (msg=="default") return false;
 var stt="OK(name=";
 var str=msg.substring(0,stt.length);
 if (msg=="") msg="未知錯誤";
 else if (str==stt){
  var file_name=msg.split('=');
  file_name=file_name[1].split(')');
  file_name=file_name[0];
  var cot='<img src="'+file_name+'" border="0" onload="if (this.height>428) this.height=428;if (this.width>570) this.width=570" />';
  editor_insert(cot);
  top.window_close();
 }else Alert('上傳失敗',msg,400,110,'spalierrored()');
}
function $_DAMW(obj){
 if (obj=="window_close_img") obj="window_closeimg"; //舊版本兼容代碼
 return $_DAM("js"+obj+String(top.jswindow_id));
}
function $_WIN(fx){
 if (fx==undefined) fx=0;
 var ob=window.frames['jswindow_iframe'+String(top.jswindow_id-fx)];
 return ob;
}
function redir(url){
 document.location=url;
}
function isundefined(v){
 return (v=="undefined");
}
function past_class(vari,name){
 if (Trim(vari)==""){
  return vari;
 }else{
  return vari+' '+name;
 }
}
/*--------------------------------------------------------------------------
  ● 通用函數
--------------------------------------------------------------------------*/
function spalierrored(){
 with($_WIN(1)){
  document.getElementById('button').disabled=false;
  document.getElementById('fileField').focus();
 }
 diag_close();
}
function show_membertequans(){
 window_open('會員特權','Include/membertequan.php',542,205);
 return false;
}
function bdkjdgyj_play(fstr){
 window_open('百度空間動感影集',fstr,480,394);
}
/*--------------------------------------------------------------------------
  ● 獲取數據
--------------------------------------------------------------------------*/
xa=loadXML("../fictitious/Ajax/website.xml"); //讀取虛擬目錄中的xml數據文件
xn=xa.documentElement; //website根節點
var website_address=xn.getAttribute('address'); //網站根地址
var website_name=xn.getAttribute('name'); //網站名稱
io=xn.childNodes[1].childNodes; //產品目錄
ion=io.length; //產品數量
var website_products=Array();
for (i=0;i<ion;i++) website_products[io[i].getAttribute('comment')]=io[i].getAttribute('address'); //循環遍歷各產品
var tieba_address=website_products['貼吧'];
websiteaddress=tieba_address;
var currentaddress='http://'+document.location.hostname+"/";
4樓 巨大八爪鱼 2010-11-9 22:14

var calendar=new Object();
calendar.module=new Object();
calendar.module.mouse=new Object();
calendar.mouse=new Object();
calendar.left=new Object();
calendar.left.test=new Object();
calendar.server=new Object();
calendar.selectid=0;
calendar.dates=Array();
calendar.createpage=new Object();
calendar.canmove=true; //是否能夠移動日曆光標
calendar.left.actives=new Object();
calendar.classes=new Object();
calendar.server.date=function(){
 var ub=$_DOM('_cday').innerHTML.split(',');
 for (var i=0;i<ub.length;i++) ub[i]=Number(ub[i]);
 return ub;
}
calendar.date=function(){
 var ub=$_DOM('_cdate').innerHTML.replace(/月/gi,'').split('年');
 for (var i=0;i<ub.length;i++) ub[i]=Number(ub[i]);
 return ub;
}
calendar.module.mouse.out=function(t,fx){
 if (fx==0){
  t.className='left';
 }else if (fx==1){
  t.className='right';
 }
}
calendar.module.mouse.over=function(t,fx){
 if (fx==0){
  t.className='lefting';
 }else if (fx==1){
  t.className='righting';
 }
}
calendar.module.mouse.click=function(fx){
 var daf=$_DOM('_calendar_defaultdate').value.split('-');
 for (j=0;j<3;j++) daf[j]=Number(daf[j]);
 this.sunday=$_DOM('_calendar_date').value.split('-'); //切換前的星期日日期array(2010,10,25)
 var d=new Date(this.sunday[0],this.sunday[1]-1,this.sunday[2]);
 this.parameters="k="+$_DOM('boardid').value+"&f="+fx+"&ds="+$_DOM('_calendar_date').value;
 if (fx==1) d=new Date(d-(-7)*24*60*60*1000);
 else d=new Date(d-7*24*60*60*1000);
 
 //生成7個日期
 var ds=Array(),str,span,ek;
 for (var i=0;i<7;i++){
  ds[i]=new Date(d-(-i)*24*60*60*1000);
  ek=ds[i].getDate();
  if (ek<10) ek="0"+String(ek);
  else ek=String(ek);
  el=Number(ds[i].getMonth())+1;
  if (el<10) el="0"+String(el);
  else el=String(el);
  str=el+"-"+ek;
  span=$_DOM('calendar_module_listof'+i);
  span.innerHTML=str; //更新表格第一列的日期
  
  //將當前日期背景改為藍色
  span=$_DOM('calendar_module_tr'+i);
  span.className=(daf[0]==Number(ds[i].getFullYear()) && daf[1]==Number(ds[i].getMonth())+1 && daf[2]==Number(ds[i].getDate()))?'select':'';
 }
 $_DOM('rilicrrqi').innerHTML=String(ds[6].getFullYear())+"年"+String(Number(ds[6].getMonth())+1)+"月";
 $_DOM('_calendar_date').value=String(Number(d.getFullYear()))+"-"+String(Number(d.getMonth())+1)+"-"+String(Number(d.getDate()));
 this.sunday=$_DOM('_calendar_date').value.split('-');
}
calendar.onload=function(){
 this.left.update();
 this.onturnpage(4);
 document.onkeydown=function(event){
  if (!calendar.canmove) return;
  if (jswindow_id>0) return;
  if (calendar.classes.menu.opened) return;
  if (!event) event=window.event;
  var ckey=event.keyCode;
  //alert(ckey);
  var sid=calendar.selectid,sad;
  switch (ckey){
   case 13:
    calendar.create();
    return false;
   case 37: case 65:
    //left
    sad=sid-1;
    if (sad<0){
     with (calendar){
      onturnpage(1);
      select(41);
     }
    }else{
     calendar.select(sad);
    }
    return false;
   case 38: case 87:
    //up
    sad=sid-7;
    if (sad<0){
     with (calendar){
      onturnpage(1);
      select(41-(6-sid));
     }
    }else{
     calendar.select(sad);
    }
    return false;
   case 39: case 68:
    //right
    sad=sid+1;
    if (sad>41){
     with (calendar){
      onturnpage(2);
      select(0);
     }
    }else{
     calendar.select(sad);
    }
    return false;
   case 40: case 83:
    //down
    sad=sid+7;
    if (sad>41){
     with (calendar){
      onturnpage(2);
      select(sid-35);
     }
    }else{
     calendar.select(sad);
    }
    return false;
  }
 }
 document.search_form.text.onfocus=function(){calendar.canmove=false;};
 var xmlDoc=loadXML("../Ajax/calendar_colors.xml");
 var aitem=xmlDoc.documentElement.childNodes;
 var aitam=aitem.length;
 var sk,aitom;
 for (var i=0;i<aitam;i++){
  sk=aitem[i].childNodes;
  aitom=sk.length;
  calendar.classes.menu.colors[i]=Array();
  for (var j=0;j<aitom;j++){
   calendar.classes.menu.colors[i][j]=xmlvalue(sk[j]);
  }
 }
}
calendar.left.update=function(){
 var cd=calendar.date();
 var span,a,m,y;
 var myDate=new Date(cd[0],cd[1]-1,1);
 var gd=myDate.getDay(); //獲取這個月1日的星期數
 if (gd==1) gd=8;
 var v=24*60*60*1000;
 var start_date=new Date(myDate-gd*v);
 var cdk=calendar.server.date();
 var sban,vl=/color_gray/gi,swan,skan;
 
 for (var i=0;i<42;i++){
  a=start_date.getDate();
  calendar.dates[i]=start_date;
  span=$_DOM('__'+String(i));
  span.innerHTML='<a id="_a'+i+'" href="#">'+a+'</a>';
  swan=$_DOM('_d'+String(i));
  skan=$_DOM('_tdd'+String(i));
  swan.innerHTML=a;
  sban=$_DOM('_a'+i);
  m=start_date.getMonth()+1;
  sban.className="black";
  if (cd[1]!=m){
   swan.innerHTML='<span>'+a+'</span>';
   sban.className="gray";
  }
  //當前日高亮顯示
  y=start_date.getYear();
  if (y==Number(cdk[0]) && m==Number(cdk[1]) && a==Number(cdk[2])){
   span.className="istoday";
   swan.className="istoday";
   skan.className="istoday";
  }else{
   span.className="";
   swan.className="day";
   swan.style.color="";
   skan.className="";
  }
  sban.onclick=function(){calendar.onclick(this.id);return false;};
  start_date=new Date(start_date-(-1)*v);
  $_DOM('_actives'+String(i)).innerHTML=""; //刪除以前獲取的活動列表
 }
 
 span=$_DOM('today');
 span.disabled=(cd[0]==Number(cdk[0]) && cd[1]==Number(cdk[1]));
 
 //重新獲取每日活動列表
 this.actives.get();
}
calendar.onturnpage=function(ik){
 var cd=this.date();
 var cdk=this.server.date();
 if (ik!==4){
  if (ik==1){
   cd[1]--;
   if (cd[1]<1){
    cd[1]=12;
    cd[0]--;
   }
  }else if (ik==2){
   cd[1]++;
   if (cd[1]>12){
    cd[1]=1;
    cd[0]++;
   }
  }else if (ik==3){
   cd[0]=cdk[0];
   cd[1]=cdk[1];
  }
  
  var str=String(cd[0])+"年"+String(cd[1])+"月";
  sed($_DOM('_cdate'),str);
  sed($_DOM('__cdate'),str);
  this.left.update();
 }
 
 //選中當前光標
 if (!isNaN(this.selectid)){
  this.select(this.selectid);
 }
 //選中今天(符合條件的話)
 var stf,i;
 if (ik==3 || ik==4){
  for (i=0;i<42;i++){
   stf=$_DOM("_a"+String(i));
   if (stf.innerHTML==cdk[2] && (!/gray/gi.test(stf.className))){
    this.select(i);
    break;
   }
  }
 }
 
 
 //若切換月份後光標指向了今天
 if (ik==1 || ik==2){
  for (i=0;i<42;i++){
   stf=$_DOM("_a"+String(i)); //當前節點
   //判斷日期是否為今天且不為灰色日期
   if (stf.innerHTML==cdk[2] && this.selectid==i && (!/gray/gi.test(stf.className))){
    //this.selectid==i用於判斷是否選中了今天
    stf=$_DOM("__"+i);
    if (classhave(stf.className,"istoday")){ //必須是當前年月
     //將背景設為深藍
     stf.className=classpast(stf.className,"todayandselected");
    }
    break; //找到後退出循環
   }
  }
 }
}
calendar.onclick=function(ik){
 var span=$_DOM(ik);
 span.blur();
 if (/gray/.test(span.className)){
  var tunedid=Number(span.innerHTML);
  this.onturnpage((Number(ik.replace(/_a/gi,''))<20)?1:2);
  var str="_a",stt,stf;
  for (i=0;i<42;i++){
   stt=str+String(i);
   stf=$_DOM(stt);
   if (stf.innerHTML==tunedid && (!/gray/gi.test(stf.className))){
    this.select(i);
    break;
   }
  }
 }else{
  this.select(Number(ik.replace(/_a/gi,'')));
 }
}
calendar.mouse.over=function(t){
 t.className="hover";
}
calendar.mouse.out=function(t){
 t.className="";
}
calendar.select=function(tid){
 var span=$_DOM('_td'+tid);
 var spaned=$_DOM('_td'+this.selectid);
 var sban=$_DOM('__'+tid); //當前點擊的日期
 var sbaned=$_DOM('__'+this.selectid); //上次點擊的日期
 var styled=sban.className;
 var styled2=sbaned.className;
 
 span.className="selected";
 if (classhave(sban.className,"istoday") || classhave(sban.className,"todayandselected")){
  sban.className="todayandselected";
 }else{
  sban.className="selected";
 }
 
 if (tid!=this.selectid){
  spaned.className="";
  if (classhave(sbaned.className,"todayandselected")){
   sbaned.className="istoday";
  }else{
   sbaned.className="";
  }
 }
 //若當前日期有活動
 //判斷class屬性中有沒有應用某個css類,應使用classhave函數,不能用正則表達式
 if (classhave(styled,"haveactives")){
  sban.className=classpast(sban.className,"haveactives");
 }else if (classhave(styled,"haveactivesbold")){
  sban.className=classpast(sban.className,"haveactivesbold");
 }
 //若以前的日期有活動
 if (classhave(styled2,"haveactives")){
  sbaned.className=classpast(sbaned.className,"haveactives");
 }else if (classhave(styled2,"haveactivesbold")){
  sbaned.className=classpast(sbaned.className,"haveactivesbold");
 }
 sbaned.getElementsByTagName('a')[0].style.color=(classhave(sbaned.className,"istoday"))?"#FFFFFF":"";
 //更新當前表格id
 this.selectid=tid;
}
calendar.create=function(){
 var cdm=this.dates[this.selectid];
 var cdy=cdm.getFullYear();
 var cdmo=cdm.getMonth()+1;
 var cdd=cdm.getDate();
 var str=String(cdy)+'-'+String(cdmo)+'-'+String(cdd);
 var url="back/create_active.php?b="+$_URL('b')+"&d="+str;
 jswindow.open('新建活動',url,700,550);
}
calendar.createpage.onload=function(){
 this.starttimechange();
 var osp=$_DOM('textfield2').value.split('-');
 var odp=new Date(Number(osp[0]),Number(osp[1])-1,Number(osp[2]));
 odp=new Date(odp-(-7)*24*60*60*1000);
 $_DOM('textfield7').value=odp.getFullYear()+"-"+(odp.getMonth()+1)+"-"+odp.getDate();
 with (document.form1.textfield){
  if (Trim(value)==""){
   focus();
  }else{
   select();
  }
 }
}
calendar.createpage.starttimechange=function(){
 $_DOM('textfield6').value=$_DOM("textfield2").value;
 this.blur(2);
}
calendar.createpage.blur=function(t){
 switch (t){
  case 1:
   //全天
   if ($_DOM('checkbox').checked){
    $_DOM('textfield3').style.display='none';
    $_DOM('textfield5').style.display='none';
   }else{
    $_DOM('textfield3').style.display='';
    $_DOM('textfield5').style.display='';
   }
   break;
  case 2:
   //重複頻率
   var seled=Number($_DOM('select').value);
   var span=$_DOM('rep');
   if (seled>0){
    span.className='';
    span=$_DOM('repif').style;
    if (seled==2){
     span.display='';
    }else{
     span.display='none';
    }
    
    var ost="",r=$_DOM('textfield2').value.split('-');
    var until="";
    var rd=new Date(Number(r[0]),Number(r[1])-1,Number(r[2]));
    var rda="日,一,二,三,四,五,六".split(',');
    var osd=rda[rd.getDay()];
    switch (seled){
     case 1:
      ost="每周 在 星期"+osd;
      break;
     case 2:
      if ($_DOM('radio3').checked){
       ost=r[2]+"日";
      }else{
       var sd,j=0;
       for (var i=1;i<31;i++){
        sd=new Date(Number(r[0]),Number(r[1]-1),i);
        sds=sd.getDay();
        if (i==1 && sds!=1) j++;
        if (sds==1) j++;
        if (sd.getDate()==r[2]) break;
       }
       
       ost="第"+rda[j]+"周星期"+osd;
      }
      ost="每月 在 "+ost;
      break;
     case 3:
      ost="每年 在 "+r[1]+"月"+r[2]+"日";
      break;
    }
    
    if ($_DOM('radio2').checked){
     var osp=$_DOM('textfield7').value.split('-');
     until=",直到 "+osp[0]+"年"+osp[1]+"月"+osp[2]+"日";
    }
    
    $_DOM("frequency").innerHTML=ost+until;
   }else{
    span.className='disp';
   }
   
   break;
  case 3:
   var t=$_DOM('radio').checked;
   var u=$_DOM("textfield7");
   u.disabled=t;
   this.blur(2);
   break;
  default:
   alert('Error');
   break;
 }
}
calendar.createpage.submit=function(){
 $_DOM("button").disabled=true;
 var d=$_DOM('textfield8').value;
 if (Trim($_DOM('textfield').value)==""){
  Alert("創建失敗","請填寫活動主題",300,110,"calendar.createpage.error(1)");
  return false;
 }else if (Trim(d)==""){
  Alert("創建失敗","請填寫活動分類",300,110,"calendar.createpage.error(2)");
  return false;
 }
 
 $_DOM('actian').value="crcld_ca";
 $_DOM('form1').target="ifr";
 $_DOM('cot').value=$_DOM('editarea_base').innerHTML;
 
 var seled=Number($_DOM('select').value);
 var r=$_DOM('textfield2').value.split('-');
 var rd=new Date(Number(r[0]),Number(r[1])-1,Number(r[2]));
 var osd=Number(rd.getDay());
 var val="";
 
 switch (seled){
  case 1:
   val=String(osd);
   break;
  case 2:
   if ($_DOM('radio3').checked){
    //日期
    val=String(r[2]);
   }else{
    //星期
    var sd,j=0;
    for (i=1;i<31;i++){
     sd=new Date(Number(r[0]),Number(r[1]-1),i);
     sds=sd.getDay();
     if (i==1 && sds!=1) j++;
     if (sds==1) j++;
     if (sd.getDate()==r[2]) break;
    }
    val=String(j)+'|'+String(osd);
   }
  case 3:
   val=String(r[1])+'|'+String(r[2]);
 }
 
 $_DOM('unt').value=val;
 
 return true;
}
calendar.createpage.error=function(id){
 with ($_WIN(1)){
  $_DOM("button").disabled=false;
  switch (id){
   case 1:
    $_DOM('textfield').focus();
    break;
   case 2:
    $_DOM('textfield8').focus();
    break;
   case 3:
    $_DOM('textfield3').select();
    break;
   case 4:
    $_DOM('textfield5').select();
    break;
   case 5:
    $_DOM('textfield2').select();
    break;
   case 6:
    $_DOM('textfield4').select();
    break;
   case 7:
    $_DOM('textfield7').select();
    break;
  }
 }
 window_close();
}
calendar.createpage.iframeload=function(){
 var msg=window.frames['ifr'].document.getElementById('msg').innerHTML;
 if (msg=="default"){
  return false;
 }else if (msg=="OK"){
  top.document.location.reload();
  return true;
 }else{
  msd=msg.split(',');
  Alert("創建失敗",msd[1],300,110,"calendar.createpage.error("+msd[0]+")");
  return false;
 }
}
calendar.left.actives.get=function(){
 var a;
 var str="";
 var b=calendar.dates.length;
 for (var i=0;i<b;i++){
  a=calendar.dates[i];
  str+=String(a.getFullYear())+'-'+String(a.getMonth()+1)+'-'+String(a.getDate())+'-'+String(a.getDay());
  if (i+1!=b) str+=",";
 }
 this.parameters="dates="+str+"&action=getdata&b="+ajaxcode($_DOM('span_bn').innerHTML);
 this.url="../Ajax/calendardata.php";
 this.method="post";
 this.Ajax=new Ajax.Request(this.url,{method:this.method,parameters:this.parameters,onComplete:this.finish});
}
calendar.left.actives.finish=function(q){
 //copy(q.responseText);
 var ot=calendar.left.actives;
 ot.ids=Array();
 ot.showed=Array();
 ot.showing=Array();
 ot.xml=q.responseXML;
 var root=ot.xml.documentElement.childNodes; //根節點(data)
 ot.activedatenum=root.length; //有活動的日期數(data節點下的各item節點)
 //遍歷各日期
 var actives,itemid,activesnum,j,actclass,acttitle,span,allday,actcolor,actstarttime;
 var sast,amn=0,actdisp,actid,actlink,dds,endtime,ssg,itemdate;
 for (var i=0;i<ot.activedatenum;i++){
  actives=root[i].childNodes;
  itemid=Number(root[i].getAttribute("id")); //當前item節點下的id屬性(表格號)
  itemdate=root[i].getAttribute("date"); //當前處理的日期
  span=$_DOM('_actives'+itemid);
  span.innerHTML='';
  //遍歷item節點下的全部活動數據
  activesnum=actives.length; //共有多少個活動
  
  //左側日曆加粗顯示有活動的日期
  if (activesnum>0){
   dds=$_DOM("__"+String(itemid));
   //若是今天則只加粗
   if (classhave(dds.className,"todayandselected") || classhave(dds.className,"istoday")){
    dds.className=classpast(dds.className,"haveactivesbold");
   }else{
    dds.className=classpast(dds.className,"haveactives");
   }
  }
  
  for (j=0;j<activesnum;j++,amn++){
   actclass=Number(actives[j].getAttribute("class")); //當前活動所屬分類ID
   acttitle=actives[j].firstChild.nodeValue; //當前活動的標題
   allday=actives[j].getAttribute("allday"); //是否全天
   actcolor=actives[j].getAttribute("color"); //背景顏色
   actstarttime=actives[j].getAttribute("starttime"); //開始時間
   endtime=actives[j].getAttribute("endtime"); //結束時間
   sast=actstarttime.split(' ');
   sast=sast[1].split(':');
   ot.ids[amn]=actclass; //ot.ids[活動id]=所屬分類id
   actid=actives[j].getAttribute("dataid"); //活動數據ID
   actlink='#" onclick="calendar.balloon.showactive(event,'+actid+','+itemid+');return false';
   
   //更新到表格
   if (allday=="true"){
    if ($_DOM('ccesc'+String(actclass)).checked) actdisp="";
    else actdisp=" style=\"display:none\"";
    span.innerHTML+='<li id="actidis'+String(amn)+'" class="uup"'+actdisp+'><a class="notallday" target="_blank" href="'+actlink+'" style="color:'+actcolor+'" title="'+acttitle+'">'+String(sast[0])+':'+String(sast[1])+'&nbsp;'+acttitle+'</a></li>';
   }else{
    if ($_DOM('ccesc'+String(actclass)).checked) actdisp="";
    else actdisp=";display:none";
    
    ssg='';
    //若活動開始時間為當前表格日期則顯示左圓角
    if (datelike(actstarttime,itemdate)){
     ssg+='<span class="uul"></span><span class="uur"></span>';
    }
    //若活動結束時間為當前表格日期則顯示右圓角
    if (datelike(endtime,itemdate)){
     ssg+='<span class="udl"></span><span class="udr"></span>';
     ot.showing[actid]="showed"; //已結束,去掉ot.showing
    }else{
     //若活動結束時間不為表格當前日期則存入ot.showing
     ot.showing[actid]="showing";
    }
    //若已經顯示了該活動
    if (ot.showed[actid]===1){
     acttitle="";
    }
    
    span.innerHTML+='<li id="actidis'+String(amn)+'" style="background-color:'+actcolor+actdisp+'">'+ssg+'<a href="'+actlink+'" title="'+acttitle+'" target="_blank">'+acttitle+'</a></li>';
   }
   ot.showed[actid]=1;
  }
 }
}
calendar.classes.checkbox=function(u){
 var span=$_DOM('ccesc'+u);
 var val=span.checked;
 span.checked=(!val);
 span.onclick();
}
calendar.classes.checked=function(sta,id){
 //function(複選框狀態,複選框所屬分類id)
 var a=calendar.left.actives.ids; //已加載的全部活動的所屬分類id
 var dp=(sta)?'':'none';
 for (var i=0;i<a.length;i++){
  if (a[i]==id){
   $_DOM('actidis'+i).style.display=dp;
  }
 }
}
calendar.classes.menu=new Object();
calendar.classes.menu.opened=false;
calendar.classes.menu.colors=Array();

calendar.classes.menu.open=function(id){
 if (this.opened) this.close(); //若已打開菜單則關掉
 this.openedid=id;
 this.opened=true;
 var span=$_DOM("_rlof"+id);
 var sdan=span.style;
 var cih=Number($_DOM("_colorof"+id).innerHTML);
 sdan.display='';
 sdan.background=this.colors[1][cih];
 sdan.border="1px solid "+this.colors[2][cih];
 this.eventstring='onmouseover="this.style.background=\''+this.colors[3][cih]+'\'" onmouseout="this.style.background=\'\'"';
 span.innerHTML='<ul class="menul"><li '+this.eventstring+' onclick="calendar.classes.menu.click(1,'+id+')">只顯示此分類</li><li '+this.eventstring+' onclick="calendar.classes.menu.click(2,'+id+')">重命名</li></ul><div class="div_line" style="background-color:'+this.colors[2][cih]+'"><div></div></div>';
 var n='<div class="zfxd"><table width="140" border="0" cellspacing="0" cellpadding="0">',j=0,k=0;
 for (var i=0;i<3;i++){
  n+='<tr>';
  for (j=0;j<7;j++){
   n+='<td><div class="zfxk" style="background-color:'+this.colors[0][k]+'" onmouseover="this.style.border=\'1px solid #000000\'" onmouseout="this.style.border=\'1px solid #FFFFFF\'" onclick="calendar.classes.menu.selectedcolor('+k+','+id+')">';
   if (cih==k) n+='<img src="../Images/board/right.gif" />';
   n+='</div></td>';
   k++;
  }
  n+='</tr>';
 }
 n+='</table></div>';
 span.innerHTML+=n;
}
calendar.classes.menu.close=function(){
 var id=this.openedid;
 this.openedid=null;
 this.opened=false;
 var span=$_DOM("_rlof"+id);
 span.style.display='none';
 span.innerHTML="";
}
calendar.classes.menu.click=function(keyid,val){
 var kcu,kcuid;
 switch (keyid){
  case 1:
   //只顯示此分類
   var span=$_DOM("checkboxesarea").getElementsByTagName('input');
   for (var i=0;i<span.length;i++){
    kcu=span[i];
    if (kcu.type!="checkbox") continue; //若不是複選框
    kcuid=Number(kcu.id.replace(/^ccesc/gi,''));
    kcu.checked=(kcuid==val);
    calendar.classes.checked(kcu.checked,kcuid);
   }
   break;
  case 2:
   //重命名
   jswindow.open("重命名","Include/calendarclassname.php?i="+val,400,105);
   break;
 }
 this.close(); //關閉菜單
}
calendar.classes.editname=function(){
 $_DOM('button').disabled=true;
 this.editnameid=Trim($_DOM('_ccidf').innerHTML);
 this.value=$_DOM("textfield").value;
 this.method="post";
 this.url="../Ajax/calendardata.php";
 this.parameters="action=editclassname&id="+this.editnameid+"&val="+ajaxcode(this.value);
 this.Ajax=new Ajax.Request(this.url,{method:this.method,parameters:this.parameters,onComplete:this.editnamefinish});
}
calendar.classes.editnamefinish=function(q){
 var root=q.responseXML.documentElement;
 var msg=root.firstChild.childNodes.firstChild.nodeValue;
 if (msg=="OK"){
  var span=$_DAM('_ddd'+calendar.classes.editnameid);
  span.innerHTML=calendar.classes.value;
  span.title=span.innerHTML;
  top.window_close();
 }else{
  top.Alert("操作失敗",msg,400,110,"calendar.classes.editnameerror()");
  return false;
 }
}
calendar.classes.editnameerror=function(){
 $_WIN(1).$_DOM('button').disabled=false;
 window_close();
}
calendar.classes.menu.selectedcolor=function(colorid,classid){
 this.close();
 var col=this.colors[0][colorid];
 var cii=-colorid*15;
 $_DOM('classes_item_of'+classid).style.background=col; //更新分類名div背景顏色
 $_DOM('rightlof'+classid).style.backgroundPosition=cii+"px -79px"; //更新下拉按鈕顏色
 $_DOM('_colorof'+classid).innerHTML=colorid; //更新菜單背景顏色
 var a=calendar.left.actives.ids,b; //已加載的全部活動的所屬分類id
 for (var i=0;i<a.length;i++){
  if (a[i]==classid){
   b=$_DOM('actidis'+i);
   if (b.style.backgroundColor==""){
    b.getElementsByTagName("a")[0].style.color=col;
   }else{
    b.style.backgroundColor=col;
   }
  }
 }
 this.url="../Ajax/calendardata.php";
 this.method="post";
 this.parameters="classid="+classid+"&colorid="+colorid+"&action=setclasscolor";
 this.Ajax=new Ajax.Request(this.url,{method:this.method,parameters:this.parameters});
}
calendar.balloon=new Object();
calendar.balloon.opened=false;
calendar.balloon.open=function(event,inhtml,height,fx,showfrom){
 if (this.opened) this.close();
 var e=window_info();
 var g=e["ScrollX"];
 var h=e["ScrollY"];
 if (!event) event=window.event;
 this.opened=true;
 this.base=createNode('_csa_base','div',document.body);
 if (fx){
  var d=g+event.clientX-252;
  if (d<10) d=10;
  if (d>e["ContentWidth"]-356) d=e["ContentWidth"]-356;
  this.base.style.left=d+"px";
 }else{
  this.base.style.left=(g+event.clientX-127)+"px";
 }
 if (showfrom){
  this.base.style.top=(h+event.clientY-height-108)+"px";
 }else{
  this.base.style.top=(h+event.clientY-height-45)+"px";
 }
 this.head=createNode('_csa_head','div',this.base);
 this.center=createNode('_csa_center','div',this.base);
 this.center.style.height=height+"px";
 this.center.innerHTML=inhtml;
 this.foot=createNode('_csa_foot','div',this.base);
 if (showfrom){
  this.from=createNode('_csa_from','div',this.base);
  this.from.className=fx?"right":"left";
 }
 this.closediv=createNode('_csa_closediv','div',this.base);
 this.closelink=createNode('_csa_closelink','a',this.closediv);
 this.closelink.href="#";
 this.closelink.onclick=function(){calendar.balloon.close();return false;};
 this.closelink.title="關閉";
 this.closeimg=createNode('_csa_closelink','img',this.closelink);
 this.closeimg.src="../Images/System/clear.gif";
}
calendar.balloon.close=function(){
 dropNode('_csa_base');
 this.opened=false;
}
calendar.balloon.showactive=function(event,actid,tableid){
 calendar.balloon.open(event,'<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr><td width="19"><img src="../Images/board/Searching.gif" /></td><td><div style="height:3px"><div></div></div>載入中...</td></tr></table>',150,(tableid%7>4),(tableid>6));
 this.url="../Ajax/calendardata.php";
 this.method="post";
 this.parameters="actid="+actid+"&action=getactivebase";
 this.Ajax=new Ajax.Request(this.url,{method:this.method,parameters:this.parameters,onComplete:this.readingactive});
}
calendar.balloon.readingactive=function(q){
 //copy(q.responseText);
 var xd=q.responseXML.documentElement.childNodes;
 var actid=xd[0].getAttribute("activeid");
 var star=xd[0].getAttribute("start"); //開始時間
 var endt=xd[0].getAttribute("end"); //結束時間
 var alld=xd[0].getAttribute("allday"); //全天
 var pla=xd[1].firstChild.nodeValue; //地點
 var tit=xd[2].firstChild.nodeValue; //標題
 var col=xd[3].firstChild.nodeValue; //顏色
 
 var span=$_DOM("_csa_center");
 var str="<dl>";
 str+="<dt style=\"color:"+col+"\">"+tit+"</dt>";
 str+="<dd></dd>";
 str+="</dl>"
 span.innerHTML=str;
}

內容轉換:

回覆帖子
內容:
用戶名: 您目前是匿名發表。
驗證碼:
看不清?換一張
©2010-2025 Purasbar Ver3.0 [手機版] [桌面版]
除非另有聲明,本站採用知識共享署名-相同方式共享 3.0 Unported許可協議進行許可。