//jm=0-11
//jd=1-31
//jD=ÍÒ-Ê:0-6
//jy=2004
//d0=new Date(2004,0,32);
//alert(d0.getDate()+","+d0.getMonth()+","+d0.getYear());

tempX = 413;
tempY = 374;
scal_obj=document.body;
scal_Thmn=new Array('Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec');
scal_Today=new Date();
scal_Mode=1;   /*0:2000, 1:2543*/
if(scal_Mode==0){ scal_ModeVal=543; }
else{ scal_ModeVal=0; }

scal_DisableDate="";   /* dd/mm/yyyy  ¤.È. */

function ScalGDays(jm,jy){
	var Mnmx=new Array(31,29,31,30,31,30,31,31,30,31,30,31);
	var tmd=new Date(jy,jm,Mnmx[jm]);
	if(jm==1){	if(tmd.getMonth()!=jm){Mnmx[jm]=28;}	}
	var tmd=new Date(jy,jm,1); 
	df1=tmd.getDay();
	df1=(df1-1+7)%7;
	nRw=Math.ceil((Mnmx[jm]+df1)/7);
	tmD=0; tmM=0; tmY=0;
	if(scal_obj!=document.body){
		Tm=scal_obj.value.split("/");
		if(Tm.length==3){
			if(ScalChkDate(Tm)){
				tmD=parseInt(Tm[0],10);
				tmM=parseInt(Tm[1],10)-1;
				tmY=parseInt(Tm[2],10)-scal_ModeVal;
			}
		}
	}
	
	var tmTodaytxt="";
	var scal_DisableDateTmTxt="";
	if(scal_DisableDate!=""){
		var Tm2=scal_DisableDate.split("/");
		scal_DisableDateTmTxt=Tm2[2]+""+Tm2[1]+""+Tm2[0];
	}
	
	hDays1='<table cellpadding="0" cellspacing="0" border="1" bordercolor="white" style="border-collapse:collapse;cursor:default;" onselectstart="return false;">';
	//hDays1+='<tr><td class="scal1" colspan="7">'+test+'</td></tr>';
	hDays1+='<tr bgcolor="909AA0" bordercolor="909AA0" align="center">';
	hDays1+='<td class="scal1">M</td>';
	hDays1+='<td class="scal1">T</td>';
	hDays1+='<td class="scal1">W</td>';
	hDays1+='<td class="scal1">T</td>';
	hDays1+='<td class="scal1">F</td>';
	hDays1+='<td class="scal1">S</td>';
	hDays1+='<td class="scal1">S</td>';
	hDays1+='</tr>';
	for(j1=0;j1<nRw;j1++){
		hDays1+='<tr bordercolor="A0A0A0" align="center">';
		for(j2=0;j2<7;j2++){
			dg=j1*7+j2-df1+1;
			tbgc=(j2<5)?'EEEEEE':'B0E0FF';
			dbsc=(j2<5)?'scalD0':'scalD1';
			dgslc=(tmY==jy&&tmM==jm&&tmD==dg)?'border-color:CC3300;':'';
			if(dg<1||dg>Mnmx[jm]){ 
				dg="&nbsp;";
				hDays1+='<td><div class='+dbsc+' onmouseover="this.style.backgroundColor=\'yellow\'" onmouseout="this.style.backgroundColor=\''+tbgc+'\';" style='+dgslc+'>'+dg+'</div></td>';
			}
			else{
				tjm2='0'+(parseInt(jm,10)+1);
				tjm2=tjm2.substring(tjm2.length-2,tjm2.length);
				tjd2='0'+''+dg;
				tjd2=tjd2.substring(tjd2.length-2,tjd2.length);
				tmTodaytxt=jy+""+tjm2+""+tjd2;
				if(tmTodaytxt<=scal_DisableDateTmTxt){
					hDays1+='<td><div class='+dbsc+' style="color:gray;" onmouseover="this.style.backgroundColor=\'yellow\'" onmouseout="this.style.backgroundColor=\''+tbgc+'\';" style='+dgslc+'><s>'+dg+'</s></div></td>';
				}
				else{
					hDays1+='<td onclick=ScalRDate('+dg+')><div class='+dbsc+'  onmouseover="this.style.backgroundColor=\'yellow\'" onmouseout="this.style.backgroundColor=\''+tbgc+'\';" style='+dgslc+'>'+dg+'</div></td>';
				}
			}
		}
		hDays1+='</tr>';
	}
	hDays1+='</table>';
	
	scalday.innerHTML=hDays1;

}
function ScalMnSlide(d){
	var tmd=new Date(calyr.value,parseInt(calmn.value)+d,1);
	var tmy=tmd.getFullYear();
	ScalSetCal(tmd.getMonth(),tmy);
}
function ScalSetCal(jm,jy){
	calmn.value=jm;
	calyr.value=jy;
	ScalGDays(jm,jy);
}
function ScalSetInit(){
	if(scal_DisableDate!=""){
		var Tm2=scal_DisableDate.split("/");
		var TmDf2k=DayFrom2k(Tm2[2],Tm2[1],Tm2[0]);
		var TmDatef2k=F2kDate(TmDf2k+1);
		tm2mn=parseInt(TmDatef2k[1],10)-1;
		tm2yr=TmDatef2k[0];
	}
	else{
		tm2mn=scal_Today.getMonth();
		tm2yr=scal_Today.getFullYear();
	}
	ScalSetCal(tm2mn,tm2yr);
	if (window.Event){
			document.onmousemove = getXY; // Getting Cursor Position
			//alert(tempX+":"+tempY);
	}
	else{
			tempX = parseInt(event.clientX,10)+parseInt(document.body.scrollLeft,10);
			tempY = parseInt(event.clientY,10)+parseInt(document.body.scrollTop,10);
	}
	scaldia.style.left=parseInt(tempX,10)+10;
	scaldia.style.top=parseInt(tempY,10)-12;
	scaldia.style.display='';
}
function getXY(pos) {
	tempX =  pos.pageX 
	tempY =  pos.pageY 
} 
function ScalRDate(dd){
	if(scal_obj!=document.body){
		jy=parseInt(calyr.value)+scal_ModeVal;
		jm='0'+(parseInt(calmn.value)+1);
		jm=jm.substring(jm.length-2,jm.length);
		jd='0'+dd;
		jd=jd.substring(jd.length-2,jd.length);
		scal_obj.value=jd+"/"+jm+"/"+jy;
		ScalClear();
	}
}
function ScalRToday(){
	tm2mn=scal_Today.getMonth();
	tm2yr=scal_Today.getFullYear();
	tm2dd=scal_Today.getDate();
	ScalSetCal(tm2mn,tm2yr);
	jy=parseInt(calyr.value,10)+scal_ModeVal;
	jm='0'+(parseInt(calmn.value,10)+1);
	jm=jm.substring(jm.length-2,jm.length);
	jd='0'+tm2dd;
	jd=jd.substring(jd.length-2,jd.length);
	scal_obj.value=jd+"/"+jm+"/"+jy;
	ScalClear();
}
function ScalSetObj(obj){
	if(obj!=scal_obj){
		scal_obj=obj;
		Tm=scal_obj.value.split("/");
		ScalSetInit();
		if(Tm.length==3){
			if(ScalChkDate(Tm)){
				ScalSetCal(parseInt(Tm[1],10)-1,parseInt(Tm[2],10)-scal_ModeVal);
			}
		}
	}
	else{
		ScalClear();
	}
}
function ScalClear(){
	scaldia.style.display='none';
	ScalConn();
	scal_obj=document.body;
}
function ScalDToday(){
	tm2mn=scal_Today.getMonth();
	tm2yr=scal_Today.getFullYear();
	tm2dd=scal_Today.getDate();
	jd='0'+tm2dd;
	jd=jd.substring(jd.length-2,jd.length);
	tmm=jd+" "+scal_Thmn[tm2mn]+" "+(parseInt(tm2yr)+scal_ModeVal)
	return tmm;
}
function ScalChkDate(Ar){
	tmD=parseInt(Ar[0],10);
	tmM=parseInt(Ar[1],10)-1;
	tmY=parseInt(Ar[2],10)-scal_ModeVal;
	tmAr=new Date(tmY,tmM,tmD);
	tmArY=tmAr.getFullYear();
	if(tmArY==tmY&&tmAr.getMonth()==tmM&&tmAr.getDate()==tmD){
		return true;
	}
	return false;
}
function ScalConn(){
	
}
function DayFrom2k(y,m,d){
	var mnln=new Array(0,31,28,31,30,31,30,31,31,30,31,30,31);
	if(y%4==0){ mnln[2]=29; }
	dall=d;
	for(i=1;i<m;i++){ dall=parseInt(dall,10)+parseInt(mnln[i],10);}
	for(i=2000;i<y;i++){
		yrln=(i%4)?365:366;
		dall=parseInt(dall,10)+parseInt(yrln,10);
	}
	return dall;
}
function F2kDate(a){
	var mnln=new Array(0,31,28,31,30,31,30,31,31,30,31,30,31);
	an=a;y=0;m=1;d=1;
	for(i=2000;i<2100;i++){
		yrln=(i%4)?365:366;
		if(an>yrln){y=i+1;an=an-yrln;}
		else{break;}
	}
	if(y%4==0){ mnln[2]=29; }
	for(i=1;i<=12;i++){
		if(an>mnln[i]){m=i+1;an=an-mnln[i];}
		else{break;}
	}
	d=an;
	rdate=new Array(y,m,d);
	return rdate;
}
sCalObj='';
sCalObj+='<div id="scaldia" style="position:absolute;z-index:9999;display:none;">';
sCalObj+='<iframe id=scalfbg style="position:absolute;" width="160" height="155"></iframe>';
sCalObj+='<table cellpadding="2" cellspacing="0" border="1" bgcolor="6699CC" style="position:absolute;" width="170">';
sCalObj+='<tr>';
sCalObj+='	<td align="center" class="scal">';
sCalObj+='			<table width=100% cellspacing=0><tr><td width=110><b style="color:white;font-size:8pt;">&nbsp;Select a Date:</b></td><td align=right width="*" style="color:white">(<a href=\"javascript:ScalClear()\" class=scalA style="font-size:8pt;font-weight:normal">Close</a>)</td></tr></table>';
sCalObj+='			<table cellspacing=0><tr><td height=4></td></tr></table>';
sCalObj+='			<table cellpadding="0" cellspacing="0" border="0">';
sCalObj+='			<tr>';
sCalObj+='				<td class="scal">';
sCalObj+='				<button class="scal" onClick="ScalMnSlide(-1)">&lt;</button>';
sCalObj+='				&nbsp;';
sCalObj+='				<select id="calmn" class="scal" onChange="ScalGDays(calmn.value,calyr.value)">';
for(j=0;j<12;j++){
	sCalObj+="<option value="+j+">"+scal_Thmn[j]+"</option>";
}
sCalObj+='				</select><select id="calyr" class="scal" onChange="ScalGDays(calmn.value,calyr.value)">';
//for(j=2530;j<=2560;j++){
for(j=2548;j<=2560;j++){
	sCalObj+="<option value="+(j-543)+">"+(j-543)+"</option>";	
}
sCalObj+='				</select>';
sCalObj+='				&nbsp;';
sCalObj+='				<button class="scal" onClick="ScalMnSlide(1)">&gt;</button>';
sCalObj+='				</td>';
sCalObj+='			</tr>';
sCalObj+='			</table>';
sCalObj+='			<table cellspacing="1"><tr><td></td></tr></table>';
sCalObj+='			<div id=scalday></div>';
sCalObj+='			<table cellspacing="2"><tr><td></td></tr></table>';
sCalObj+='			<center class=scal3><a href="javascript:ScalRToday()" class=scalA style="cursor:default"><u>Today : ';
sCalObj+=ScalDToday();
sCalObj+='			</u></a></center>';
sCalObj+='			<table cellspacing="0"><tr><td></td></tr></table>';
sCalObj+='	</td>';
sCalObj+='</tr>';
sCalObj+='</table>';
sCalObj+='</div>';
document.write(sCalObj);
