//+----------------------------------------------------------------------------
//
//  Function:       chkInt    
//
//  Description:    check integer
//
//  Arguments:      object name , sort(float/int)
//
//  Returns:        set integer to obj
//
//------------------------------------------------------------------------------

function chkInt(obj,sort)
{
    var data =  obj.value;
    var len = data.length;
	var s = '';
	var temp = '';

	function onlyInt(i)
	{
		temp = ( data.charAt(i) >='0' && data.charAt(i) <='9') ? data.substring(i,i+1) : '';
		return  temp;
	}

    for (i=0; i<len; i++)
    {
        if(sort == "float")
        {
			onlyInt(i);

            if( data.charAt(0) != "." &&  data.charAt(i) == ".")
            {
                temp = data.substring(i,i+1) ;
            }
        }
        else if(sort == "int")
        {
			onlyInt(i)
		}
    	s = s + temp ;
    }
	obj.value = '';
	obj.value = s;
	return s;
}




//+----------------------------------------------------------------------------
//
//  Function:       chkDate
//
//  Description:    check day validate
//
//  Arguments:      object name , length
//
//  Returns:        String date
//
//------------------------------------------------------------------------------

function chkDate(obj,length)
{
	var date = chkInt(obj,'int');
	
	if(length == 8)
	{	
		year = date.substring(0,4);
		month = date.substring(4,6);
		day = date.substring(6,8);
	}
	else if(length == 6)
	{	
		year = date.substring(0,2);
		month = date.substring(2,4);
		day = date.substring(4,6);
	}
	

	if(date.length == (length - 4) )
	{
		if( length == 8)
		{
			if(year <1900 || year > 2100)
			{
				alert('À¯È¿ÇÏÁö ¾ÊÀº ³âµµÀÔ·ÂÀÔ´Ï´Ù');
				obj.value ='';
				return false;
			}
		}
	}
	else if(date.length == (length - 2) )
	{
		month = chkMonthSub(month);
		obj.value = year + month;
	}
	else if(date.length == length)
	{	
		lastday = getLastday(year,month) //À¯È¿ÇÑ ³¯Â¥¸¦ ±¸ÇÔ

		if(day == '00')
		{
			obj.value ='';
			obj.value = year + month + '01';
            return false;
		}
		if(day > lastday)
		{
			obj.value ='';		
			obj.value = year + month; 
            return false;
		}
	}
	return true;
}




//+----------------------------------------------------------------------------
//
//  Function:       chkDate
//
//  Description:    ´Þ À¯È¿¼ºÃ¼Å©  ( chkmonth ¿Í ±¸ºÐ,  chkmonthSub ´Â chkDate ¿¡¼­ »ç¿ë )
//
//  Arguments:      month
//
//  Returns:        String month
//
//------------------------------------------------------------------------------

function chkMonthSub(month)
{
	var s = "";
	
	if(month.length == 1)
	{
		if(month != 1)
		{
			s = '';
		}
	}
	else
	{
		if(month < 1)
		{
			s = '01';
		}
		else if(month  > 12)
		{
			s = '12';
		}
		else
		{
			s = month;
		}
	}
	return s;
}


//+----------------------------------------------------------------------------
//
//  Function:       chkYear
//
//  Description:    
//
//  Arguments:      object name , next action
//
//  Returns:        String year
//
//------------------------------------------------------------------------------

function chkYear(obj,action)
{
	var year = chkInt(obj,'int');
	var len = year.length;

	if( len == 4)
	{		
		if(year <1900 || year > 2100)
		{
			alert('À¯È¿ÇÏÁö ¾ÊÀº ³âµµÀÔ·ÂÀÔ´Ï´Ù');
			obj.value ='';
			return false;
		}
		if(action !='')
		{
			eval(action);
		}
	}
	return true;
}


//+----------------------------------------------------------------------------
//
//  Function:       chkMonth
//
//  Description:    check month validate
//
//  Arguments:      object name , next action
//
//  Returns:        String month
//
//------------------------------------------------------------------------------

function chkMonth(obj,action)
{
	var month = chkInt(obj,'int');
	
	if(month.length == 1)
	{
		if( !(month == 0 || month == 1) )
		{
			obj.value = ''
			return false;
		}
	}
	if(month.length == 2)
	{
		if(month == '00')
		{
			obj.value = '';
			obj.value = '01';
		}		
		else if(month  > 12)
		{
			obj.value = ''
			return false;
		}
		else
		{
			obj.value = month;
		}
		if(action !='')
		{
			eval(action);
		}
	}
}



//+----------------------------------------------------------------------------
//
//  Function:       chkDay
//
//  Description:    check day validate
//
//  Arguments:      year object name , month object name , object name , next action
//
//  Returns:        Strnig day
//
//------------------------------------------------------------------------------

function chkDay(yearObj,monthObj,obj,action)
{
	var day = chkInt(obj,'int');
	var len = day.length;
	
	// year = document.all[yearObj].value;
	// Çü½ÄÀ¸·Î ÇÒ°æ¿ì ÆûÀÌ¸§ÀÌ ¹è¿­ÀÎ°æ¿ì¿¡´Â  all[A[1]] ½ÄÀ¸·Î µÇ¹ö¸®¹Ç·Î error
	var year = eval("document.all."+yearObj+".value");
	var month = eval("document.all."+monthObj+".value");
	
	var lastday = getLastday(year,month)
	
	if( len == 1)
	{
		if(day > 3)
		{
			obj.value ='';
			return false;
		}
	}	
	if( len == 2)
	{
		if(day == '00')
		{
			obj.value = '';
			obj.value = '01';
		}
		else if(day > lastday)
		{
			obj.value ='';
			return false;
		}
		if(action !='')
		{
			eval(action);
		}
		return true;
	}
}


//+----------------------------------------------------------------------------
//
//  Function:       getLastday
//
//  Description:    ³âµµ¿Í ´ÞÀ» º¯¼ö·Î ¹Þ¾Æ À¯È¿ÇÑ ¸¶Áö¸· ³¯Â¥¸¦ ±¸ÇÔ
// 					¹Þ¾Æ¿Â º¯¼ö°¡ ¹®ÀÚÇü, Á¤¼öÇü¿¡µû¶ó ´Þ¶óÁö¹Ç·Î À¯ÀÇ
//
//  Arguments:      year , month
//
//  Returns:        false (returnValue)
//
//------------------------------------------------------------------------------

function getLastday(year,month)
{
	var lastday = '';

	if(year.length < 4)
	{
		year = (year > 20) ? '19'+year : '20'+year;
	}
		
	switch(month)
	{
		case '01':
		case '03':
		case '05':
		case '07':
		case '08':
		case '10':
		case '12':
			lastday = 31 ;
			break;

		case '04':
		case '06':
		case '09':
		case '11':
			lastday = 30;
			break;
            
        case '02' :
			if( (year%400) == 0)
			{
				lastday = 29;
				break;
			}
			if ( (year%4) == 0 )
			{
				lastday = ((year%100)==0) ? 28 : 29;
				break;
			}
			lastday = 28;
			break;
	}
	return lastday;
}




//+----------------------------------------------------------------------------
//
//  Function:       addZero
//
//  Description:    
//
//  Arguments:      string
//
//  Returns:        string
//
//------------------------------------------------------------------------------


function addZero(str)
{
	var s = (str < 10) ? '0'+str : str;
	return s;
}
