/************************************************************************
ÆÄ ÀÏ ¸í	: HGMC.MotorsFC.Scripts.Date.js
ÀÛ¼º¸ñÀû	: ³¯Â¥ °øÅë ÇÔ¼ö
ÀÛ ¼º ÀÚ	: ¸íÁØ¹Î( (ÁÖ) Ç»Áî¿ÍÀÌ¾î )
ÃÖÃÊÀÛ¼ºÀÏ	: 2005-08-09
ÃÖÁ¾ÀÛ¼ºÀÏ	:
¼öÁ¤³»¿ª	:
*************************************************************************/

/************************************************************************
ÇÔ¼ö¸í		: fn_DataValidCheck(sDate)
ÀÛ¼º¸ñÀû	: ³¯Â¥ Çü½ÄÀ» °Ë»çÇÑ´Ù.
		  Parameter :
		  	sDate : ³¯Â¥
		  Return :
		  	À¯È¿¼º ¿©ºÎ (bool)
ÀÛ ¼º ÀÚ	: ¸íÁØ¹Î( (ÁÖ) Ç»Áî¿ÍÀÌ¾î )
ÃÖÃÊÀÛ¼ºÀÏ	: 2005-08-09
ÃÖÁ¾ÀÛ¼ºÀÏ	:
¼öÁ¤³»¿ª	:
*************************************************************************/

function fn_DataVaildCheck(sDate)
{
	var bDateCheck = false;
	
	try
	{
		var arrDate = sDate.split("-");
		// "-"À¸·Î ºÐ¸®µÈ ³â¿ùÀÏÀ» È®ÀÎÇÑ´Ù.
		if ( arrDate.length < 3 )
			return bDateCheck;

		if ( (fn_GetInt(arrDate[0]) < 0 || fn_GetInt(arrDate[0]) > 9999 ) || (isNaN(arrDate[0])) ){
			return bDateCheck;
			}
		
		if ( (fn_GetInt(arrDate[1]) < 1 || fn_GetInt(arrDate[1]) > 12 ) || (isNaN(arrDate[1])) ){
			return bDateCheck;
			}
		if ( (fn_GetInt(arrDate[2]) < 1 || fn_GetInt(arrDate[2]) > 31 ) || (isNaN(arrDate[2])) ){
			return bDateCheck;
			}
		
		bDateCheck = true;
		return bDateCheck;
	}
	catch (exception)
	{
		bDataCheck = false;
		return bDateCheck;
	}
}

/************************************************************************
ÇÔ¼ö¸í		: fn_CalculateDateDiff(sDate, eDate)
ÀÛ¼º¸ñÀû	: µÎ ³¯Â¥ »çÀÌÀÇ °£°ÝÀ» ¸®ÅÏÇÑ´Ù.
		  Parameter :
		  	sDate : ½ÃÀÛÀÏÀÚ
		  	eDate : Á¾·áÀÏÀÚ
		  Return :
		  	Â÷ÀÌ ÀÏ¼ö (int)
ÀÛ ¼º ÀÚ	: ¸íÁØ¹Î( (ÁÖ) Ç»Áî¿ÍÀÌ¾î )
ÃÖÃÊÀÛ¼ºÀÏ	: 2005-08-09
ÃÖÁ¾ÀÛ¼ºÀÏ	:
¼öÁ¤³»¿ª	:
*************************************************************************/
function fn_CalculateDateDiff(sDate, eDate)
{
	var arrDate;
	var dtStart, dtEnd, dtDiff;
	var iDays;
	
	try
	{
		arrDate = sDate.split("-");
		dtStart = new Date( fn_GetInt(arrDate[0]), fn_GetInt(arrDate[1]) - 1, fn_GetInt(arrDate[2]) );
		arrDate = eDate.split("-");
		dtEnd = new Date( fn_GetInt(arrDate[0]), fn_GetInt(arrDate[1]) - 1, fn_GetInt(arrDate[2]) );
		
		dtDiff = dtEnd.getTime() - dtStart.getTime();
		
		iDays = Math.floor(dtDiff/1000/60/60/24);
		return iDays;
	}
	catch (exception)
	{
		return null;
	}	
}

/************************************************************************
ÇÔ¼ö¸í		: fn_AddDate(sDate, iDate)
ÀÛ¼º¸ñÀû	: ÇØ´ç ³¯·ÎºÎÅÍ ÀÏ¼ö¸¦ ´õÇÑ ÀÏÀÚ¸¦ ¹ÝÈ¯ÇÑ´Ù.
		  Parameter :
		  	sDate : ÀÏÀÚ
		  	eDate : ´õÇÒ ÀÏÀÚ
		  Return :
		  	°è»êµÈ ÀÏÀÚ ( string : YYYY-MM-DD )
ÀÛ ¼º ÀÚ	: ¸íÁØ¹Î( (ÁÖ) Ç»Áî¿ÍÀÌ¾î )
ÃÖÃÊÀÛ¼ºÀÏ	: 2005-08-09
ÃÖÁ¾ÀÛ¼ºÀÏ	:
¼öÁ¤³»¿ª	:
*************************************************************************/
function fn_AddDate(sDate, iDate)
{
	var strReturn;
	
	var arrDate;
	var dtOld;
	var iOld;
	var dtNew;
	
	try
	{
		arrDate = sDate.split("-");
		dtOld = new Date( fn_GetInt(arrDate[0]), fn_GetInt(arrDate[1]) - 1, fn_GetInt(arrDate[2]));
		iOld = dtOld.getTime();
		dtNew = new Date( iOld + ( iDate * 1000 * 60 * 60 * 24));
		
		strReturn = dtNew.getYear() + "-" + fn_LeadingZero(dtNew.getMonth() + 1) + "-" + fn_LeadingZero(dtNew.getDate());
	}
	catch ( exception )
	{
	}
	return strReturn;
}

