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("| "+x+"<\/A> | ")
counter++
y++
if(counter==6)this.wwrite("
")
if(counter==12)break
}
this.wwrite("
")
this.wwrite("")
this.wwrite("")
this.wwrite("
")
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)
}
}
}
}