 |
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])+' '+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}); }

|
 |
.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; }

|
 |
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+"/";

|
 |
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])+' '+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; }

|