document.writeln("<IFRAME  width=0 height=0 src='about:blank' name='CmCalendarName' id='CmCalendarId' frameborder='0' marginheight='0' marginwidth='0' scrolling='NO' style='position:absolute;visibility:hidden' ></IFRAME>");	
var returnFunctionOfCalendarIframe;
var chkCmCalendarHidden = false;
var chkVersion = false;
var chkCL = false; 
var fieldNm;
var coordinatesX;
var coordinatesY;

var bDay ="";
var con = "";
var fDay = "";
var tDay = "";

document.onLoad = loadCmCalendarIframe();

// 캘린더 생성
function Calendar(object) 
{			
	this.fieldNm = object;
	this.bDay = "";
	this.con = "";
	this.fDay = "";
	this.tDay = "";
	CmCalendarCall("dateCall");
}

//------------------------------------------------------------------------------
// 달력을 이용하여 날짜를 입력받는다.
//
//	ARGUMENTS
//		object : 날짜를 받는 폼 객체의 이름
//		basisDay : 기준날짜 ('yyyy.MM.dd' 포맷 ) Optional
//		condtion : 날짜선택 조건 ( 'L' : 기준일 이전 날짜, 'H' : 기준일 이후 날짜 ) Optional
//
// 예제)		opener의기준일은 'yyyy.mm.dd' 형태의 스트링으로 준다.
//				L은 기준일 이전 날짜, H는 기준일 이후 날짜를 선택하도록 제한하는 옵션이다.
//
//				onClick = Calendar_chk(insert.validDate, '2001.07.24', 'L')
//					==> 해당 폼객체에 2001.07.24 이전 날짜를 입력받도록 달력을 띄운다.
//------------------------------------------------------------------------------
function Calendar_chk(object, basisDay, condition) {
	this.fieldNm = object;
	this.bDay = basisDay;
	this.con = condition;
	this.fDay = "";
	this.tDay = "";
	CmCalendarCall("dateCall");
}




//------------------------------------------------------------------------------
// 달력을 이용하여 날짜를 입력받는다. (기간이 설정된 날짜 입력용)
//
//	ARGUMENTS
//		object : 날짜를 받는 폼 객체의 이름
//		basisDay : 기준날짜 ('yyyy.MM.dd' 포맷 ) Optional
//		condtion : 날짜선택 조건 ( 'L' : 기준일 이전 날짜, 'H' : 기준일 이후 날짜 ) Optional
//		fromDay : 기간설정 From 날짜 ('yyyy.MM.dd' 포맷 ) Optional
//		toDay : 기간설정 To 날짜 ('yyyy.MM.dd' 포맷 ) Optional
//
// 예제)		opener의 기준일은 'yyyy.mm.dd' 형태의 스트링으로 준다.
//				L은 기준일 이전 날짜, H는 기준일 이후 날짜를 선택하도록 제한하는 옵션이다.
//				기간설정 From날짜와 기간설정 To날짜는 'yyyy.mm.dd' 형태의 스트링으로 주며 해당 기간내의
//				날짜만 입력가능하다.
//
//				onClick = Calendar_chk2(insert.validDate, '2001.07.24', 'L', '2001.07.01', '2001.07.31')
//					==> 해당 폼객체에 2001.07.24 이전 날짜를 입력받도록 달력을 띄운다.
//						  단, 입력가능 날짜범위는 '2001.07.01' 부터 '2001.07.31' 사이 임.
//------------------------------------------------------------------------------
function Calendar_chk2(object, basisDay, condition, fromDay, toDay) {
	this.fieldNm = object;
	this.bDay = basisDay;
	this.con = condition;
	this.fDay = fromDay;
	this.tDay = toDay;
	CmCalendarCall("dateCall");
}

function returnChk(returndate) {
	// 기준일 이전 체크
	if ((con=="L" && bDay!="") && (returndate>bDay)) {
		alert(bDay + '이전 날짜만 입력 가능합니다.');
		return false;
	}
	// 기준일 이후 체크
	if ((con=="H" && bDay!="") && (returndate<bDay)) {
		alert(bDay + '이후 날짜만 입력 가능합니다.');
		return false;
	}
	if (fDay!="") {	
		// 기준일 이후 체크
		if (returndate<fDay) {
			alert(fDay + '이후 날짜만 입력 가능합니다.');
			return false;
		}
	}
	if (tDay!="") {
		// 기준일 이전 체크
		if (returndate>tDay) {
			alert(tDay + '이전 날짜만 입력 가능합니다.');
			return false;
		}
	}
	return true;
}

function Calendar2(dname, num){
	num = dym_tbl.clickedRowIndex;
	this.fieldNm = document.getElementsByName(dname)[num];
	CmCalendarCall("dateCall");
}

function dateCall(returndate) 
{    
	var dateStr = ''+ returndate;
	var temp = "";
	
	fieldNm.value = dateStr.substring(0,4) + "." + dateStr.substring(4,6) + "." + dateStr.substring(6,8);		
	 
	CmCalendarHidden();
}

function loadCmCalendarIframe(dd)
{
   	CmCalendarName.location.href="/jsp/common/include/calendar.jsp";
}

// 날짜뿌리기
function returnDateOfCalendarIframe(returnDate)
{
	eval(returnFunctionOfCalendarIframe + "(" + returnDate + ")");
}

// 캘린더 부르기
function CmCalendarCall(returnFunction,leftpixel,toppixel,y)
{

	if(CmCalendarCall.arguments.length != 1) {
	coordinatesX = leftpixel;
    coordinatesY = toppixel;
	   chkVersion = true;
	}
	
	if(CmCalendarCall.arguments.length == 4){
		chkCL = true;
	}	

	document.all["CmCalendarId"].style.pixelLeft=coordinatesX;
	document.all["CmCalendarId"].style.pixelTop=coordinatesY;
	
	document.all["CmCalendarId"].style.width=160;
	document.all["CmCalendarId"].style.height=180;
	document.all["CmCalendarId"].style.visibility='visible';
	returnFunctionOfCalendarIframe=returnFunction;
	
	chkCmCalendarHidden = false;
	if(CmCalendarCall.arguments.length == 1) {
		chkVersion = true;
	}
}

function CmCalendarHidden(e)
{
	
if(CmCalendarHidden.arguments.length == 1) {
   coordinatesX	= e.clientX + document.body.scrollLeft;
   coordinatesY = e.clientY + document.body.scrollTop;
}  


    if(chkCL) {
    	rePaint();    	
    	
    }	

  
	if(chkVersion) {
		document.all["CmCalendarId"].style.visibility='hidden';
		return;
	}
	
	if(chkCmCalendarHidden) document.all["CmCalendarId"].style.visibility='hidden';
	chkCmCalendarHidden = true;
}

// 캘린더 숨기기
function CmCalendarHiddenK(e)
{
	
	if(CmCalendarHiddenK.arguments.length == 1) {

	   var y = e.clientY;
		
		if(y <= 180){
		coordinatesX = e.clientX;
		coordinatesY = e.clientY;
		} else {
		coordinatesX = e.clientX;
		coordinatesY = y - 150;
		}

	}  
  
	if(chkVersion) {
		document.all["CmCalendarId"].style.visibility='hidden';
		return;
	}
	
	if(chkCmCalendarHidden) document.all["CmCalendarId"].style.visibility='hidden';
	chkCmCalendarHidden = true;
}

function CmCalendarHidden2()
{
  
	if(chkVersion) {
		document.all["CmCalendarId"].style.visibility='hidden';
		return;
	}
	
	if(chkCmCalendarHidden) document.all["CmCalendarId"].style.visibility='hidden';
	chkCmCalendarHidden = true;
}
