var ie;
var ns6;
var ns;
var clickObjName="";
var posX;
var posY;
var timer="";
var layerName=new Array();

ie=document.all;
ns6=document.getElementById&&!document.all;
ns=document.layers;
posX=0;
posY=0;

if(ns)
{
window.captureEvents(Event.RESIZE);
window.onresize = restoreCalendar;
}

function restoreCalendar()
{

var i;
for(i=0;i<layerName.length;i++){

eval(layerName[i]+".BuildDate()");
}

}

function evtCapture()
{
if(ns||ns6)
document.captureEvents(Event.CLICK);
document.onclick=getXY;
}


function evtRelease()
{
if(ns||ns6)
document.releaseEvents(Event.CLICK);
document.onclick="";

}

function evtReleaseInCalendar(){
	evtRelease();

}


function evtCaptureInCalendar(){
if(ns||ns6)
document.captureEvents(Event.CLICK);
document.onclick=calendarAppearOnClick;


}

function calendarAppearOnClick(){

if(clickObjName!="")
calendarDisappear(clickObjName);

}

function DyCalendar()
{

var myObj=new Object();
var extObjName=arguments[0];
var evtCmd=""
var fixPosY=null;
var evtFunction=null;
if(arguments[1])
  evtCmd=arguments[1];


if(arguments[2]&&IsInteger(arguments[2]))
  myObj.fixPosY=arguments[2];


if(arguments[3])
  evtFunction=arguments[3];


var strMonth = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");
//strMonth = new Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec");
var totalMonthDays=new Array(31,28,31,30,31,30,31,31,30,31,30,31);
var strDay = new Array("Su", "Mo", "Tu", "We", "Th", "Fr", "Sa");
var datDate = new Date();
var datToday = datDate;
var DyDate=datDate.getDate();
var DyMonth=datDate.getMonth();
var DyYear=datDate.getFullYear();

//set border color
var setBorderColor="\"#000000\"";

//title property
var setTitleForeColor="white";
var setTitleForeFace="Times New Roman, Times, serif";
var setTitleBgColor="darkblue";
var setTitleForeSize=-1;
var setTitleHeight=15;

//font property
var setFontColor="darkblue";
var setFontFace="Times New Roman, Times, serif";
var setFontSize=-1;
var setBgColor="white";
var setHeight=10;

//day property
var setDayFontColor="darkblue";
var setDayFontFace="Times New Roman, Times, serif";
var setDayBgColor="#CCCCCC";
var setDayFontSize=-1;
var setDayHeight=10;

//highlight today color
var setTodayColor="red";

//calendar height and width
var calendarHeight=85;
var calendarWidth=161;
var dblWidth = calendarWidth/7.0;

//Min and Max Year
var minYear=1970;
var maxYear=3000;

var intFirstDay=0;
var allowStart= 0;
var allowEnd= 0;
var dateFormat="dd/MM/y";
var dateSeparator="-";


var setHighlightColor="#CCCCFF";
var setCloseColor="#000000";
var setHighlightClose="blue";

var preid=null;
var posTop=0;
var calHeight=0;

if(ns)
{
 layerName[layerName.length]=extObjName;
}

//--------------------------------------
function NextMonth()
{
if (DyMonth < 11)
{
  DyMonth=DyMonth+1;
}
else
{
  DyMonth=0;
  DyYear=DyYear+1;
  if (DyYear > maxYear)
    DyYear = minYear;

  totalMonthDays[1] =((DyYear%400==0)||((DyYear%4==0)&&(DyYear%100!=0))) ?29:28;

}

BuildDate();


}

//--------------------------------------
function PrevMonth()
{
if (DyMonth!=0 )
{
  DyMonth=DyMonth-1;
}
else
{
  DyMonth=11;
  DyYear=DyYear-1;
  if (DyYear < minYear)
    DyYear = maxYear;
  totalMonthDays[1] =((DyYear%400==0)||((DyYear%4==0)&&(DyYear%100!=0))) ?29:28;
}


BuildDate();

}

function CurrMonth()
{
 
 var datToday=new Date();
 DyMonth= datToday.getMonth();
 DyYear= datToday.getFullYear();
 totalMonthDays[1] =((DyYear%400==0)||((DyYear%4==0)&&(DyYear%100!=0))) ?29:28;
 
 BuildDate();
}

//--------------------------------------
function BuildDate()
{


var i;
var intTodayDate = DyDate;
var intTodayMonth = DyMonth;
var intTodayYear = DyYear;


if(arguments.length>0){
intTodayMonth = arguments[0];
intTodayYear = arguments[1];

DyMonth=intTodayMonth;
DyYear=intTodayYear;
}

datDate = new Date(intTodayYear, intTodayMonth, "1");

intFirstDay=datDate.getDay();
var intTotayDay=totalMonthDays[intTodayMonth];
var CellNo=1;

if(ie)
{
 document.getElementById(extObjName + "_MonthYear").innerText= strMonth[intTodayMonth] +"  " + intTodayYear;
 for(i=0; i<intFirstDay; i++)
 {
   document.getElementById(extObjName + "_Cell" + CellNo).innerText=" ";
   document.getElementById(extObjName + "_Cell" + CellNo).style.cursor="";
   CellNo++;
 }

 allowStart=CellNo; 
 for(i=1; i<=intTotayDay; i++)
 { 

   document.getElementById(extObjName + "_Cell" + CellNo).innerText=i;
   document.getElementById(extObjName + "_Cell" + CellNo).style.cursor="hand";
   CellNo++;
 }
 allowEnd=CellNo-1;
 for(i=CellNo; i<39; i++)
 { 
   document.getElementById(extObjName + "_Cell" + i).innerText=" ";
   document.getElementById(extObjName + "_Cell" + CellNo).style.cursor="";
 }

 if (intTodayYear==datToday.getFullYear() && intTodayMonth==datToday.getMonth())
 { 
   preid=datToday.getDate()+intFirstDay; 
   //eval("document.getElementById(\"" + extObjName + "_" + preid + "\").color=\""+ setTodayColor + "\"");
   document.getElementById(extObjName + "_" + preid ).color=setTodayColor;
 } 
 else if (preid!=null)
 {
   //eval("document.getElementById(\"" + extObjName + "_" + preid + "\").color=\""+ setFontColor + "\"");
   document.getElementById(extObjName + "_" + preid ).color=setFontColor;
   preid=null;
 }
}
else if(ns6)
{

 document.getElementById(extObjName + "_MonthYear").innerHTML="<font color=\"" + setTitleForeColor + "\" size=" + setTitleForeSize + " face=\"" + setTitleForeFace + "\"><b>" + strMonth[intTodayMonth] +"  " + intTodayYear + "</b></font>";
 for(i=0; i<intFirstDay; i++)
 {
   document.getElementById(extObjName + "_Cell" + CellNo).innerHTML="<font size=" + setFontSize + ">&nbsp;</font>"
   CellNo++;
 }

 allowStart=CellNo; 
 for(i=1; i<=intTotayDay; i++)
 { 

   document.getElementById(extObjName + "_Cell" + CellNo).innerHTML="<a href=\"javascript:" + extObjName + ".evt('" + CellNo + "')\" class=\"noline\" onMouseover=\"document.getElementById('" + extObjName + "_Cell" + CellNo + "').style.backgroundColor='" + setHighlightColor + "'\" onMouseout=\"document.getElementById('" + extObjName + "_Cell" + CellNo + "').style.backgroundColor='" + setBgColor + "'\"><font size=" + setFontSize + " color=\"" + setFontColor + "\" face='" + setFontFace + "' id=font_" + extObjName + "_" + CellNo + "><b>" + i + "</b></font></a>";
   CellNo++;
 }

 allowEnd=CellNo-1;
 for(i=CellNo; i<39; i++)
 { 
   document.getElementById(extObjName + "_Cell" + i).innerHTML="<font size=" + setFontSize + ">&nbsp;</font>";
 }

if (intTodayYear==datToday.getFullYear() && intTodayMonth==datToday.getMonth())
 { 
   preid=datToday.getDate()+intFirstDay; 
   //eval("document.getElementById(\"font_" + extObjName + "_" + preid + "\").color=\""+ setTodayColor + "\"");
   document.getElementById(extObjName + "_" + preid ).color=setTodayColor;
 } 
 else if (preid!=null)
 {
   //eval("document.getElementById(\"font_" + extObjName + "_" + preid + "\").color=\""+ setFontColor + "\"");
   document.getElementById(extObjName + "_" + preid ).color=setFontColor;
   preid=null;
 }

 
}
else
{
  var obj=eval("document." + extObjName +"_Calendar.document." + extObjName + "_outMonthYear.document." + extObjName + "_MonthYear");
  obj.document.write("<table width=100% height=" + setTitleHeight + " border=0 cellspacing=0 cellpadding=0><tr><td valign=middle align=center><font color=\"" + setTitleForeColor + "\" size=" + setTitleForeSize + " face=\"" + setTitleForeFace + "\"><b>" + strMonth[intTodayMonth] + "&nbsp;&nbsp;" + intTodayYear + "</b></font></td></tr></table>");
  obj.document.close();

  if (intTodayYear==datToday.getFullYear() && intTodayMonth==datToday.getMonth())
  { 
    preid=datToday.getDate(); 
    //eval("document.ids.font_" + extObjName + "_" + preid + ".color=\""+ setTodayColor + "\"");
    document.getElementById(extObjName + "_" + preid ).color=setTodayColor;
    
  } 
  else if (preid!=null)
  {
    //eval("document.ids.font_" + extObjName + "_" + preid + ".color=\""+  setFontColor + "\"");
    document.getElementById(extObjName + "_" + preid ).color=setFontColor;
    preid=null;
  }

  var outHTML="";
  var intDate=1;
  var noRow=1;
  
  outHTML+="<table border=0 cellpadding=0 cellspacing=0 height=" +(calendarHeight-setTitleHeight-setDayHeight) +">\n";
 
 
  outHTML+="<tr>\n";

  for(i=0; i<intFirstDay; i++)
  {
    outHTML += "<td height=" +setHeight +" width=" + dblWidth +"><font size=" + setFontSize + " face=\"" + setFontFace + "\">&nbsp;</font></td>\n";
  }

  for(i=intFirstDay; i<7; i++)
  {
    outHTML += "<td height=" +setHeight +" width=" + dblWidth +" align=center valign=middle><a href=\"javascript:" + extObjName + ".evt('" + intDate + "')\" class=\"noline\"><font size=" + setFontSize + " color=\"" + setFontColor + "\" face=\"" + setFontFace + "\" id=\"font_" + extObjName + "_" + intDate + "\"><b>" + intDate + "</b></font></a></td>\n";
    intDate++;
  }
  outHTML+="</tr>\n";

  while(intTotayDay-intDate>=6) 
  {
    noRow++;
    outHTML+="<tr>\n";
    for(i=0; i<7; i++)
    {
      outHTML += "<td height=" +setHeight +" width=" + dblWidth +" align=center valign=middle><a href=\"javascript:" + extObjName + ".evt('" + intDate + "')\" class=\"noline\"><font size=" + setFontSize + " color=\"" + setFontColor + "\" face=\"" + setFontFace + "\" id=\"font_" + extObjName + "_" + intDate + "\"><b>" + intDate + "</b></font></a></td>\n";
      intDate++;
    }
    outHTML+="</tr>\n";  
  } 

  outHTML+="<tr>\n";
  noRow++;
  for(i=intDate; i<=intTotayDay; i++)
  {
    outHTML += "<td height=" +setHeight +" align=center valign=middle><a href=\"javascript:" + extObjName + ".evt('" + i + "')\" class=\"noline\"><font size=" + setFontSize + " color=\"" + setFontColor + "\" face=\"" + setFontFace + "\" id=\"font_" + extObjName + "_" + i + "\"><b>" + i + "</b></font></a></td>\n";
  }


  var intSpaceLeft=6-(intTotayDay-intDate);
  if (noRow==6)intSpaceLeft=intSpaceLeft-4;
  for(i=0; i<intSpaceLeft; i++)
  {
    outHTML += "<td height=" +setHeight +"><font size=" + setFontSize + " face=\"" + setFontFace + "\">&nbsp;</font></td>\n";
  }

  if (noRow==6){  	
     	outHTML += "<td height=" +setHeight +" colspan=2 align=right valign=middle><a href=\"javascript:calendarDisappear('" + extObjName + "')\" class=\"noline\"><font size=" + setFontSize + " face=\"" + setFontFace + "\" color=\"" + setTodayColor + "\"><b>Today</b></font></a></td>\n";
     	outHTML += "<td height=" +setHeight +" colspan=2 align=right valign=middle><a href=\"javascript:calendarDisappear('" + extObjName + "')\" class=\"noline\"><font size=" + setFontSize + " face=\"" + setFontFace + "\" color=\"" + setCloseColor + "\"><b>close</b></font></a></td>\n";
  }

  outHTML+="</tr>\n";  

  if (noRow<6)
  {
    outHTML+="<tr>\n";
  for(i=0; i<3; i++)
  {      
      outHTML += "<td height=" +setHeight +"><font size=" + setFontSize + " face=\"" + setFontFace + "\">&nbsp;</font></td>\n";      
 
  }    
    outHTML += "<td height=" +setHeight +" colspan=2 align=right valign=middle><a href=\"javascript:calendarDisappear('" + extObjName + "')\" class=\"noline\"><font size=" + setFontSize + " face=\"" + setFontFace + "\" color=\"" + setCloseColor + "\"><b>close</b></font></a></td>\n";
    outHTML+="</tr>\n";  
    
    
    
  }
  outHTML+="</table>\n";

  obj=eval("document." + extObjName +"_Calendar.document." + extObjName + "_outDate.document." + extObjName + "_inDate");
  obj.document.write(outHTML);
  obj.document.close();
}

}

//--------------------------------------
function BuildCalendar()
{

var i;
var cellNo;
var j;

if(calendarHeight < 120) calendarHeight=120;
if(calendarWidth < 161) calendarWidth=161;

var outHTML="";

if(ie||ns6)
{
  outHTML += "<div id=\"" + extObjName + "_Calendar\" style=\"visibility:hidden;position:absolute;z-index:10000;\" onMouseOver=\"endTimer();evtReleaseInCalendar()\" onMouseOut=\"startTimer();evtCaptureInCalendar()\">";
  outHTML += "<table border=0 cellspacing=0 cellpadding=0 width=" + calendarWidth + " class=calBorder>\n";
  outHTML += "<tr>\n";
  outHTML += "<td height=" + setTitleHeight + " align=left bgcolor=\"" + setTitleBgColor + "\" colspan=1><input type=button value=\"<\" onClick=\"" + extObjName + ".PrevMonth()\"></td>\n";
  outHTML += "<td align=center valign=middle bgcolor=\"" + setTitleBgColor + "\" colspan=5><center><font color=\"" + setTitleForeColor + "\" size=" + setTitleForeSize + " face=\"" + setTitleForeFace + "\"><b><div id=\"" + extObjName + "_MonthYear\">\n";
  outHTML += "</div></b></font></center></td>\n";
  outHTML += "<td align=right bgcolor=\"" + setTitleBgColor + "\" colspan=1><input type=button value=\">\" onClick=\"" + extObjName + ".NextMonth()\"></td>\n";

  outHTML += "</tr>\n";
  outHTML += "<tr align=center>\n";

  for(i=0; i<7; i++)
  { 
      outHTML += "<td width=" + dblWidth + "  bgcolor=\"" + setDayBgColor + "\" height=" + setDayHeight +" align=center valign=middle><font size=" + setDayFontSize + " color=\"" + setDayFontColor + "\" face=\"" + setDayFontFace + "\"><b>" + strDay[i] + "</b></font></td>\n";
  }
  outHTML += "</tr>\n";
  
  cellNo=1;
  for(j=0; j<5; j++)
  {
    outHTML += "<tr>\n";
    for(i=0; i<7; i++)
    {
     
      outHTML += "<td align=center valign=middle width=" + dblWidth + "><font size=" + setFontSize + " color=\"" + setFontColor + "\" face='" + setFontFace + "' id=" + extObjName + "_" + cellNo + "><b>\n";

      if(ie)
        outHTML += "<div id=\"" + extObjName + "_" + "Cell" + cellNo + "\" onClick=\"" + extObjName + ".evt(" + cellNo + ")\" onMouseover=\"if(this.innerText!=' ')style.backgroundColor='" + setHighlightColor + "'\" onMouseout=\"style.backgroundColor='" + setBgColor + "'\"></div>\n";
      else if(ns6)
        //outHTML += "<div id=\"" + extObjName + "_" + "Cell" + cellNo + "\" onMouseover=\"if(this.innerHTML.indexOf('&nbsp;',0)==-1)style.backgroundColor='" + setHighlightColor + "'\" onMouseout=\"style.backgroundColor='" + setBgColor + "'\"></div>\n";
        outHTML += "<div id=\"" + extObjName + "_" + "Cell" + cellNo + "\"></div>\n";

      outHTML += "</font></td>\n";
      cellNo++;
    }
    outHTML += "</tr>";
 }

    outHTML += "<tr>\n";
    for(i=0; i<3; i++)
    {

      outHTML += "<td align=center valign=middle width=" + dblWidth + "><font size=" + setFontSize + " color=\"" + setFontColor + "\" face='" + setFontFace + "' id=" + extObjName + "_" + cellNo + "><b>\n";
      if(ie)
        outHTML += "<div id=\"" + extObjName + "_" + "Cell" + cellNo + "\" onClick=\"" + extObjName + ".evt(" + cellNo + ")\" onMouseover=\"if(this.innerText!=' ')style.backgroundColor='" + setHighlightColor + "'\" onMouseout=\"style.backgroundColor='" + setBgColor + "'\"></div>\n";
      else if(ns6)
        //outHTML += "<div id=\"" + extObjName + "_" + "Cell" + cellNo + "\" onMouseover=\"if(this.innerHTML.indexOf('&nbsp;',0)==-1)style.backgroundColor='" + setHighlightColor + "'\" onMouseout=\"style.backgroundColor='" + setBgColor + "'\"></div>\n";
        outHTML += "<div id=\"" + extObjName + "_" + "Cell" + cellNo + "\"></div>\n";
      outHTML += "</font></td>\n";
      cellNo++;
    }
     
   outHTML += "<td id=today align=right valign=middle colspan=2 width=" + (dblWidth*2) + "><a href=\"javascript:" + extObjName + ".setToday('" + extObjName + "')\" style=\"text-decoration:none\"><font size=" + setFontSize + " color=\"" + setTodayColor+ "\" face='" + setFontFace + "'><b>\n";
   outHTML += "today</font></a></td>\n";
   outHTML += "<td id=close align=right valign=middle colspan=2 width=" + (dblWidth*2) + "><a href=\"javascript:calendarDisappear('" + extObjName + "')\" style=\"text-decoration:none\"><font size=" + setFontSize + " color=\"" + setCloseColor + "\" face='" + setFontFace + "' id=" + extObjName + "_" + cellNo + " onmouseover=\"style.color='" + setHighlightClose + "'\" onmouseout=\"style.color='" + setCloseColor + "'\"><b>\n";
   outHTML += "close</font></a></td>\n"; 
   cellNo++;
   outHTML += "</tr>";
}

else
{

  outHTML += "<layer id=\"" + extObjName + "_Calendar\" visibility=\"hidden\" onMouseOver=\"endTimer()\" onMouseOut=\"startTimer()\">";
  outHTML += "<table border=0 cellspacing=0 cellpadding=2 width=" +calendarWidth + ">\n";
  outHTML += "<tr><td  bgcolor=\"#CCCCCC\" align=center valign=middle>\n";
  outHTML += "<table border=0 cellspacing=0 cellpadding=0 bgcolor=\"#FFFFFF\">\n";
  outHTML += "<tr>\n";
  outHTML += "<td align=left bgcolor=\"" + setTitleBgColor + "\" colspan=1 width=" + dblWidth + " height=" + setTitleHeight + "><A href=\"javascript:" + extObjName + ".PrevMonth()\"><font color=\"" + setTitleForeColor + "\"  size=" + (setTitleForeSize-1) + "><b>Prev</b></font></a></td>\n";
  outHTML += "<td align=center valign=middle bgcolor=\"" + setTitleBgColor + "\" colspan=5 width=" + eval(dblWidth*5) + " height=" + setTitleHeight + "><ilayer id=\"" + extObjName + "_" + "outMonthYear\" width=100% ><layer id=\"" + extObjName + "_" + "MonthYear\" width=100% height=" + setTitleHeight + " top=2 left=2>\n";
  outHTML += "</layer></ilayer></td>\n";
  outHTML += "<td align=right bgcolor=\"" + setTitleBgColor + "\" colspan=1 width=" + dblWidth + " height=" + this.setTitleHeight + "><A href=\"javascript:" + extObjName + ".NextMonth()\"><font color=\"" + setTitleForeColor + "\"  size=" + (setTitleForeSize-1) + "><b>Next</b></font></a></td>\n";
  outHTML += "</tr>\n";
  outHTML += "<tr>\n";
  for(i=0; i<7; i++)
  { 
    outHTML += "<td bgcolor=\"" + setDayBgColor + "\" height=" +setDayHeight +" align=center valign=middle><font size=" + setDayFontSize + " color=\"" + setDayFontColor + "\" face=\"" + setDayFontFace + "\"><b>" + strDay[i] + "</b></font></td>\n";
  }
  outHTML += "</tr>\n";


  outHTML += "<tr><td align=center valign=top colspan=7 height=" + (setHeight*7) + ">\n";
  outHTML += "<ilayer id=\"" + extObjName + "_" + "outDate\" width=100%><layer id=\"" + extObjName + "_" + "inDate\" width=100%><table border=0 cellpadding=0 cellspacing=0 width=100% height=" + (calendarHeight-setTitleHeight-setDayHeight) + "><tr><td>&nbsp;</td></tr></table></layer></ilayer>\n";
  outHTML += "</td></tr>\n";
}



if(!ns)
{
  outHTML += "</table>";
  outHTML += "</div>";
}
else
{
  outHTML += "</table>";
  outHTML += "</td></tr>";
  outHTML += "</table>";
  outHTML += "</layer>";
}


document.write(outHTML);

if (ie)
  calHeight=setTitleHeight+setDayHeight+6*setHeight+35
else (ns||ns6)
  calHeight=setTitleHeight+setDayHeight+6*setHeight+40


if ((DyYear%400==0)||((DyYear%4==0)&&(DyYear%100!=0)))
  totalMonthDays[1] =29;

}

//--------------------------------------
function evt(intDate)
{

if ((evtCmd!="" && intDate>=allowStart && intDate<=allowEnd)||(evtCmd!="" && ns))
{
 if(!ns)
   intDate =intDate-intFirstDay;
 var strPrintDate;
 var strDate;

 if (intDate<10) 
   strDate = "0" + intDate;
 else
   strDate = intDate;

var datDate=new MyDate("d/m/y",strDate,strMonth[DyMonth],DyYear);
strPrintDate=datDate.FormatDate(dateFormat,dateSeparator);
eval(evtCmd + "='" + strPrintDate + "'");
if(evtFunction)
	eval(evtFunction);

}



}


function setToday(){
 var datDate = new Date();
 var DyDate=datDate.getDate();
 var DyMonth=datDate.getMonth();
 var DyYear=datDate.getFullYear();
 
 var datDate2=new MyDate("d/m/y",DyDate,strMonth[DyMonth],DyYear);
 strPrintDate=datDate2.FormatDate(dateFormat,dateSeparator);
 eval(evtCmd + "='" + strPrintDate + "'");
 
 if(evtFunction)
	eval(evtFunction);
 
 CurrMonth();
 
 }

function getCalendarHeight()
{
return calHeight;
}


function setDateFormat(strDateFormat,strSeparator)
{
dateFormat=strDateFormat;
dateSeparator=strSeparator
}

//--------------------------------------
myObj.BuildCalendar=BuildCalendar;
myObj.BuildDate=BuildDate;
myObj.NextMonth=NextMonth;
myObj.PrevMonth=PrevMonth;
myObj.evt=evt;
myObj.getCalendarHeight=getCalendarHeight;
myObj.setDateFormat=setDateFormat;
myObj.setToday=setToday;

return myObj;
}


function calendarAppear(theObjName)
{

if(clickObjName!="")
  calendarDisappear(clickObjName);

clickObjName=theObjName;

var calHeight=eval(theObjName + ".getCalendarHeight()")
if (ie)
{
  if ((posY+calHeight) > (document.body.scrollTop+document.body.clientHeight))
      posY-=calHeight;

  //if ((posX+calHeight+45) > (document.body.scrollLeft+document.body.clientWidth))
  //    posX-=calHeight+25;
      
} 
else if(ns||ns6)
{
  if ((posY+calHeight) > (window.innerHeight+window.pageYOffset))
      posY-=calHeight;
      
  //if ((posY+calHeight+28) > (window.innerWidth+window.pageXOffset))
  //    posY-=calHeight+28;
      
}

if(ie||ns6)
{
  //eval("document.getElementById(\"" + clickObjName + "_Calendar\").style.top=(posY-5)");
  //eval("document.getElementById(\"" + clickObjName + "_Calendar\").style.left=(posX-5)");
  //eval("document.getElementById(\"" + clickObjName +"_Calendar\").style.visibility=\"visible\"");
  var thisObj=document.getElementById(clickObjName + "_Calendar");
  var fixPosY=eval(clickObjName+".fixPosY");    
  if(fixPosY)
  	thisObj.style.top=(fixPosY);	
  else
  	thisObj.style.top=(posY-5);	 
  
  
  thisObj.style.left=(posX-5);
  thisObj.style.visibility="visible";  
}
else
{
  eval("document." + clickObjName + "_Calendar.top=(posY-5)");
  eval("document." + clickObjName + "_Calendar.left=(posX-5)");
  eval("document." + clickObjName + "_Calendar.visibility=\"visible\"");  
  
}

}

function calendarDisappear(theObjName)
{
if(!document.getElementById(clickObjName + "_Calendar")) return;
if(!ns){
  //eval("document.getElementById(\"" + clickObjName + "_Calendar\").style.visibility=\"hidden\"");
  document.getElementById(clickObjName + "_Calendar").style.visibility="hidden";
 }
else
  eval("document." + theObjName + "_Calendar.visibility=\"hidden\"");
  

if(ie||ns6)
{
  //eval("document.getElementById(\"" + clickObjName + "_Calendar\").style.top=(posY-5)");
  //eval("document.getElementById(\"" + clickObjName + "_Calendar\").style.left=(posX-5)");
  //eval("document.getElementById(\"" + clickObjName +"_Calendar\").style.visibility=\"visible\"");
  
  document.getElementById(clickObjName + "_Calendar").style.top=0;
  document.getElementById(clickObjName + "_Calendar").style.left=0;  
  document.getElementById(clickObjName + "_Calendar").style.visibility="hidden";
  
}
else
{
  eval("document." + clickObjName + "_Calendar.top=0");
  eval("document." + clickObjName + "_Calendar.left=0");
  eval("document." + clickObjName + "_Calendar.visibility=\"hidden\"");  
  
} 
  

clickObjName="";

if(timer!="")
clearTimeout(timer);


}


function getXY(e)
{

if(ie)
{
  posY=document.body.scrollTop+event.clientY
  posX=document.body.scrollLeft+event.clientX
}
else if (ns||ns6)
{
  posX = e.pageX; 
  posY = e.pageY;
}
}



function startTimer()
{
if(clickObjName!="")
timer=setTimeout('calendarDisappear(clickObjName)',2000);
}


function endTimer()
{
if(timer!="")
clearTimeout(timer);
}