var CF="";
var CT;
var X=0;
var Y=0;
var Z=10;
var CA=new Array();
ns4=(document.layers)?true:false;
ie4=(document.all)?true:false;
if(ns4){
CD="document.layers.calendar";
CS="";
CV="show";
CH="hide";
}
else if(ie4){
CD="document.all.calendar";
CS=".style";
CV="visible";
CH="hidden";
}
function calendarMouse(e){
if(ns4){
X=e.pageX;
Y=e.pageY;
}
else if(ie4){
if (document.body) {
X=(window.event.clientX+document.body.scrollLeft);
Y=(window.event.clientY+document.body.scrollTop);
}
}
}
document.onmousemove = calendarMouse;
if(ns4){
document.captureEvents(Event.MOUSEMOVE);
}
function calendarRender(c){
var Y=CA[c].y;
var M=CA[c].m;
var selY=CA[c].Y;
var selM=CA[c].M;
var selD=CA[c].D;
var month=new Array('January','February','March','April','May','June','July','August','September','October','November','December');
var week=new Array('S','M','T','W','T','F','S');
var bg='#ffffff';
var fg1='#000000';
var fg2='#ffffff';
var bg1='#d0d0d0';
var bg2='#808080';
var ft1='<font face="arial" size="2" color="'+fg1+'" style="font-size:8pt;text-decoration:none">';
var ft2='<font face="arial" size="2" color="'+fg2+'" style="font-size:8pt;text-decoration:none">';
var b=new Date(Y,M-1,1,0,0,0);
var newY=Y;
var newM=M+1;
if(newM>12){
newM=1;
newY++;
}
var e=new Date(newY,newM-1,1,0,0,0);
var b1=b.getDay();
var dv=86400*1000;
var bv=b.valueOf();
var ev=e.valueOf();
var sv=bv-b1*dv;
var tv=sv+6*7*dv;
var s='';
s+='<table border="0" cellspacing="0" cellpadding="0" bgcolor="'+bg+'">';
s+='<tr>';
s+='<td>';
s+='<table border="0" cellspacing="1" cellpadding="0">';
s+='<tr align="center">';
s+='<td bgcolor="'+bg1+'" colspan="7">';
s+='<table width="100%" border="0" cellspacing="0" cellpadding="0">';
s+='<tr>';
s+='<td align="left"><a href="javascript:calendarInc('+c+',-12)">'+ft1+'&nbsp;&lt;&nbsp;</font></a></td>';
s+='<td align="center">'+ft1+'&nbsp;'+Y+'&nbsp;</font></td>';
s+='<td align="right"><a href="javascript:calendarInc('+c+',12)">'+ft1+'&nbsp;&gt;&nbsp;</font></a></td>';
s+='</tr>';
s+='</table>';
s+='</td>';
s+='</tr>';
s+='<tr align="center">';
s+='<td bgcolor="'+bg1+'" colspan="7">';
s+='<table width="100%" border="0" cellspacing="0" cellpadding="0">';
s+='<tr>';
s+='<td align="left"><a href="javascript:calendarInc('+c+',-1)">'+ft1+'&nbsp;&lt;&nbsp;</font></a></td>';
s+='<td align="center">'+ft1+'&nbsp;'+month[M-1]+'&nbsp;</font></td>';
s+='<td align="right"><a href="javascript:calendarInc('+c+',1)">'+ft1+'&nbsp;&gt;&nbsp;</font></a></td>';
s+='</tr>';
s+='</table>';
s+='</td>';
s+='</tr>';
s+='<tr align="center">';
for(i=0;i<7;i++){
s+='<td bgcolor="'+bg1+'">'+ft1+week[i]+'</font></td>';
}
s+='</tr>';
i=sv;
d=1;
w=0;
while(i<tv){
if(w==0){
s+='<tr align="center">';
}
if(i<bv||i>=ev){
if(i+dv>=tv){
s+='<td bgcolor="'+bg1+'"><a href="javascript:calendarHide()">'+ft1+'&nbsp;x&nbsp;</font></a></td>';
}
else {
s+='<td bgcolor="'+bg1+'">'+ft1+'&nbsp;</font></td>';
}
}
else {
x=Y+'-'+(M<10?'0':'')+M+'-'+(d<10?'0':'')+d;
if(Y==selY&&M==selM&&d==selD){
s+='<td bgcolor="'+bg2+'"><a href="javascript:calendarPick('+c+',\''+x+'\')">'+ft2+'&nbsp;'+d+'&nbsp;</font></a></td>';
}
else {
s+='<td bgcolor="'+bg1+'"><a href="javascript:calendarPick('+c+',\''+x+'\')">'+ft1+'&nbsp;'+d+'&nbsp;</font></a></td>';
}
d++;
}
i+=dv;
w=++w%7;
if(w==0){
s+='</tr>';
}
}
s+='</tr>';
s+='</table>';
s+='</td>';
s+='</tr>';
s+='</table>';
return(s);
}
function calendarShow(c,on,f,xp,yp){
var v,wW,wH,sW,sH,P;
if(ns4||ie4){
if(on){
calendarLimbo(f);
if(c!=''){
eval(CD+CS+'.visibility="'+CH+'"');
v=calendarRender(c);
if(ns4){
eval(CD+'.document.write(v)');
eval(CD+'.document.close()');
wW=eval(CD+'.document.width');
wH=eval(CD+'.document.height');
sW=(window.innerWidth-Z);
sH=(window.innerHeight-Z);
P=(sH+window.pageYOffset);
}
else{
eval(CD+'.innerHTML=v');
wW=eval(CD+'.offsetWidth');
wH=eval(CD+'.offsetHeight');
sW=(document.body.offsetWidth-Z);
sH=(document.body.offsetHeight-Z);
P=(sH+document.body.scrollTop);
}
if(Y+wH+Z>P){
Y=P-wH-Z;
}
}
}
if(xp>0){
X=xp;
}
else if(xp<0){
X=sW-wW+xp;
}
if(X<Z){
X=Z;
}
if(yp>0){
Y=yp;
}
else if(yp<0){
Y=sH-wH+yp;
}
if(Y<Z){
Y=Z;
}
eval(CD+CS+'.left='+X);
eval(CD+CS+'.top='+Y);
eval(CD+CS+'.visibility="'+(on?CV:CH)+'"');
}
}
function calendarHide(){
CT=setTimeout("calendarVanish()",1);
}
function calendarForms(s){
var j;
if(CF==s){
return;
}
j=0;
if(ns4){
while(document.layers['calendar'+j]){
document.layers['calendar'+j].visibility=s;
j++;
}
}
else if(ie4){
while(document.all['calendar'+j]){
document.all['calendar'+j].style.visibility=s;
j++;
}
}
CF=s;
}
function calendarLimbo(f){
if(CT){
clearTimeout(CT);
}
if(f&&(ns4||ie4)){
calendarForms(CH);
}
}
function calendarVanish(){
calendarShow('',0,0,0,0);
calendarForms(CV);
}
function calendarAdd(c,t){
var min=1970;
var max=2036;
CA[c].m+=t;
while(CA[c].m<1){
CA[c].m+=12;
if(CA[c].y>min){
CA[c].y-=1;
}
}
while(CA[c].m>12){
CA[c].m-=12;
if(CA[c].y<max){
CA[c].y+=1;
}
}
if(CA[c].y<min){
CA[c].y=min;
CA[c].m=1;
}
if(CA[c].y>max){
CA[c].y=max;
CA[c].m=12;
}
}
function calendarSelect(c){
var currentdate = new Date();
CA[c].Y=currentdate.getFullYear();
CA[c].M=currentdate.getMonth()+1;
CA[c].D=currentdate.getDate();
var a=CA[c].value.match(/^([0-9]{4})-0?([1-9]|1[0-2])-0?([1-9]|[12][0-9]|3[0-1])$/);
if(a&&a.length&&a.length==4){
CA[c].Y=parseInt(a[1]);
CA[c].M=parseInt(a[2]);
CA[c].D=parseInt(a[3]);
}
CA[c].y=CA[c].Y;
CA[c].m=CA[c].M;
calendarAdd(c,0);
if(CA[c].xp==0){
CA[c].xp=X;
}
if(CA[c].yp==0){
CA[c].yp=Y;
}
calendarPopup(c);
}
function calendarInc(c,t){
calendarAdd(c,t);
calendarPopup(c);
}
function calendarPick(c,x){
CA[c].value=x;
calendarHide(c);
}
function calendarPopup(c){
calendarShow(c,1,CA[c].f,CA[c].xp,CA[c].yp);
}

