var textbox var weekend=[0,6] var weekendColor="#FFFFFF" var fontface="Arial,Verdana,helvetica" var gNow=new Date() var ggWinCal var firstMonth=-1 var opened=0 var finishedBuild=0 isNav=(navigator.appName.indexOf("Netscape")!=-1)?true:false Calendar.Months=["January","February","March","April","May","June","July","August","September","October","November","December"] var mon=new Array() mon=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"] Calendar.mons=mon Calendar.DOMonth=[31,28,31,30,31,30,31,31,30,31,30,31] Calendar.lDOMonth=[31,29,31,30,31,30,31,31,30,31,30,31] var today=new Date(2012,2,7) var today_year var today_month var limit=new Date() var limit_day var limit_month var limit_year function Calendar(p_item,p_WinCal,p_month,p_year,p_format){ if((p_month==null)&&(p_year==null))return if(p_WinCal==null)this.gWinCal=ggWinCal else this.gWinCal=p_WinCal if(p_month==null){ this.gMonthName=null this.gMonth=null this.gYearly=true }else{ this.gMonthName=Calendar.get_month(p_month) this.gMonth=new Number(p_month) this.gYearly=false } this.gYear=p_year this.gFormat=p_format this.gBGColor="white" this.gFGColor="black" this.gTextColor="black" this.gHeaderColor="black" this.gReturnItem=p_item } Calendar.get_month=Calendar_get_month Calendar.get_daysofmonth=Calendar_get_daysofmonth function Calendar_get_month(monthNo){ return Calendar.Months[monthNo] } function Calendar_get_daysofmonth(monthNo,p_year){ if((p_year%4)==0){ if((p_year%100)==0&&(p_year%400)!=0) return Calendar.DOMonth[monthNo] return Calendar.lDOMonth[monthNo] }else return Calendar.DOMonth[monthNo] } new Calendar() Calendar.prototype.getMonthlyCalendarCode=function(){ var vCode="" vCode=vCode+"" vCode=vCode+this.cal_header() vCode=vCode+this.cal_data() vCode=vCode+"
" return vCode } Calendar.prototype.wwrite=function(wtext){ this.gWinCal.document.writeln(wtext) } Calendar.prototype.show=function(){ var s1="{font-family:Arial,Helvetica,sans-serif;font-size:8pt;font-weight:bold;color:#3399ff;line-height:8pt;color:#3399ff;text-decoration:none;}" var s2="font-family:Verdana,geneva,Arial,Helvetica,sans-serif;font-size:"; var vCode="" var counter=0 var y var nextMM var nextYYYY if(firstMonth==-1) firstMonth=this.gMonth y=firstMonth this.gWinCal.document.open() this.wwrite("Calendar") this.wwrite("") for(var j=this.gMonth;j=mon.length;j++){ var x if(y==12)y=0 x=Calendar.mons[y] nextMM=y if((y>=today_month)&&(y<=11))nextYYYY=today_year else if((y>=0)&&(y<=limit_month))nextYYYY=today_year+1 this.wwrite("") counter++ y++ if(counter==6)this.wwrite("") if(counter==12)break } this.wwrite("
"+x+"<\/A>
") this.wwrite("") this.wwrite("") this.wwrite("
"+this.gMonthName+" "+this.gYear+"
") vCode=this.getMonthlyCalendarCode() this.wwrite(vCode) this.wwrite("
") this.gWinCal.document.close() } Calendar.prototype.cal_header=function(){ var vCode="" var ch1="" vCode=vCode+"" vCode=vCode+ch1+"Sun" vCode=vCode+ch1+"Mon" vCode=vCode+ch1+"Tue" vCode=vCode+ch1+"Wed" vCode=vCode+ch1+"Thu" vCode=vCode+ch1+"Fri" vCode=vCode+ch1+"Sat" vCode=vCode+"" return vCode } Calendar.prototype.cal_data=function(){ var vDate=new Date(this.gYear,this.gMonth,1) var vCode="" var vFirstDay=vDate.getDay() var vDay=1 var vLastDay=Calendar.get_daysofmonth(this.gMonth,this.gYear) var vOnLastDay=0 var vCode="" textbox=this.gReturnItem vCode=vCode+"" for(i=0;i " else vCode=vCode+"" } for(j=vFirstDay;j<7;j++){ vCode=vCode+"" vCode=vCode+this.format_day(vDay) vCode=vCode+"" vDay=vDay+1 } vCode=vCode+"" for(k=2;k<7;k++){ vCode=vCode+"" for(j=0;j<7;j++){ vCode=vCode+"" vCode=vCode+this.format_day(vDay) vCode=vCode+"" vDay=vDay+1 if(vDay>vLastDay){ vOnLastDay=1 break } } if(j==6)vCode=vCode+"" if(vOnLastDay==1)break } for(m=1;m<(7-j);m++)vCode=vCode+" " return vCode } Calendar.prototype.format_day=function(vday){ var selectedDate=new Date(this.gYear,this.gMonth,vday) var DayofDate = selectedDate.getDay(); var diff1=(selectedDate.getTime()-gNow.getTime())/(24*3600*1000) var diff2=(limit.getTime()-gNow.getTime())/(24*3600*1000) /* ======================================= */ if(diff1>-1&&diff1<=diff2&&DayofDate!=0) { display=""+vday+"" return(display) }else return(vday) } Calendar.prototype.write_weekend_string=function(vday){ var i for(i=0;i=today_year&&p_year<=limit_year){ finishedBuild=0 var p_WinCal=ggWinCal gCal=new Calendar(p_item,p_WinCal,p_month,p_year,p_format) gCal.gBGColor="#FFFFFF" gCal.gLinkColor="black" gCal.gTextColor="black" gCal.gHeaderColor="#666666" gCal.show() finishedBuild=1 } } function show_calendar(){ opened=0 p_item=arguments[0] p_today=arguments[1] p_month=arguments[2] p_year=arguments[3] limit_day=arguments[4] limit_month=arguments[5] limit_year=arguments[6] p_format="DD/MM/YYYY" if (p_month==12) p_month=0; gNow=new Date(p_year,p_month,p_today) today=gNow today_year=today.getFullYear() today_month=today.getMonth() limit=new Date(limit_year,limit_month,limit_day) vWinCal=window.open("","Calendar","width=181,height=175,status=no,resizable=no,top=350,left=680") vWinCal.opener=self ggWinCal=vWinCal Build(p_item,p_month,p_year,p_format) setTimeout("opened = 1;",200) vWinCal.focus() } function testOpened(){ if(opened==1){ vWinCal.close() opened=0 return true } } function close_calendar(){ if(typeof(vWinCal)!="undefined"){ if(!vWinCal.closed){ if(typeof(opened)!="undefined"){ setTimeout("testOpened();",100) } } } }