document.onclick=hideCalendar;
function showCalendar(sImg,bOpenBound,sFld1,sFld2,sCallback,approot)
{
	var fld1,fld2;
	var cf=document.getElementById("CalFrame");
	var wcf=window.frames.CalFrame;
	var oImg=document.getElementById(sImg);
	if(!oImg){alert("object missing oimg！");return;}
	if(!sFld1){alert("object missing sfld1！");return;}
	fld1=document.getElementById(sFld1);
	if(!fld1){alert("object missing fld1！");return;}
	if(fld1.tagName!="INPUT"||fld1.type!="text"){alert("object missing！");return;}
	if(sFld2)
	{
		fld2=document.getElementById(sFld2);
		if(!fld2){alert("object missing！");return;}
		if(fld2.tagName!="INPUT"||fld2.type!="text"){alert("object missing！");return;}
	}
	if(!wcf.bCalLoaded){alert("load failure！");return;}
	if(cf.style.display=="block"){cf.style.display="none";return;}
	
	var eT=0,eL=0,p=oImg,_cf_w=185,_cf_h=185;
    var _fw=false,_fh=false,_sl=false,_st=false;
    _fw=Position.fullWidth();
    _fh=Position.fullHeight();
    _sl=Position.scrollLeft();
    _st=Position.scrollTop();
    var _pos=Position.cumulativeOffset(oImg);
    //alert(_pos[0]+','+_pos[1]);
    var _remain_h=_fh-_pos[1]-185;
    var _t=_remain_h>0?_pos[1]:_pos[1]-185-5;
    cf.style.top=_t+'px';
    cf.style.left=_pos[0]+'px';
    //alert(_remain_h);
    
    /*
	if(document.body.scrollTop!=0 || 
	    (document.documentElement.scrollTop==0 && document.documentElement.clientHeight==0))
	{
		var sT=document.body.scrollTop,sL=document.body.scrollLeft;
		var eH=oImg.height,eW=oImg.width;
		while(p&&p.tagName!="BODY"){eT+=p.offsetTop;eL+=p.offsetLeft;p=p.offsetParent;}
		cf.style.top=((document.body.clientHeight-(eT-sT)-eH>=cf.height)?eT+eH:eT-cf.height) + 185+"px";
		cf.style.left=((document.body.clientWidth-(eL-sL)>=cf.width)?eL:eL+eW-cf.width) + "px";	
	}
	else
	{
		var sT=document.documentElement.scrollTop,sL=document.documentElement.scrollLeft;
		var eH=oImg.height,eW=oImg.width;
		while(p&&p.tagName!="BODY"){eT+=p.offsetTop;eL+=p.offsetLeft;p=p.offsetParent;}
		cf.style.top=((document.documentElement.clientHeight-(eT-sT)-eH>=cf.height)?eT+eH:eT-cf.height) + 185+"px";
		cf.style.left=((document.documentElement.clientWidth-(eL-sL)>=cf.width)?eL:eL+eW-cf.width) + "px";	
	}
	*/	
	cf.style.display="block";
	
	wcf.openbound=bOpenBound;
	wcf.fld1=fld1;
	wcf.fld2=fld2;
	wcf.callback=sCallback;
	wcf.initCalendar();
}
function hideCalendar()
{
	var cf=document.getElementById("CalFrame");
	cf.style.display="none";
}