/*--------------------------------------------------
  ±â´É   : checkBox¸¦ ÀüÃ¼¼±ÅÃ ¹× ÇØÁ¦¸¦ ÇÒ¼ö ÀÖ°Ô ÇÑ´Ù.
  INPUT  : 
  RETURN : 
----------------------------------------------------*/
function jsToggle(FormObj, elemNm, checkYn){
	var i =0;
	while (i < FormObj.elements.length)
	{
		if (FormObj.elements[i].name== elemNm ) 
		{
			FormObj.elements[i].checked= checkYn;
		}
		i++;
	}	

}
/*--------------------------------------------------
  ±â´É   : Check Null RETURN T/F
  INPUT  : check  data
  RETURN : true  -> NULL
           false -> NOT NULL  
----------------------------------------------------*/
function jsCheckNull( toCheck ) 
{
     var chkstr = toCheck + "";
     var is_Space = true ;
    
     if ( ( chkstr == "") || ( chkstr == null ) ) 
	   return( true );

     for ( j = 0 ; is_Space && ( j < chkstr.length ) ; j++)
     {
	     if( chkstr.substring( j , j+1 ) != " " ) 
         {
	       is_Space = false ;
         }
     }
     return ( is_Space );
}

/*--------------------------------------------------
  ±â´É   : Check Number RETURN T/F ( ¼Ò¼öÁ¡"."Àº Number·Î Ãë±Þ¾ÈÇÔ )
  INPUT  : toCheck  -> check data 
  RETURN : true  -> number ( "."ÀÌ Æ÷ÇÔ¾ÈµÊ )
           false -> not number
----------------------------------------------------*/
function jsCheckNumber(toCheck) 
{
     var chkstr = toCheck+"" ;
     var isNum = true ;

     if ( jsCheckNull(toCheck) ) 
          return false;

     for (j = 0 ; isNum && (j < toCheck.length) ; j++) 
     {
          if ((toCheck.substring(j,j+1) < "0") || (toCheck.substring(j,j+1) > "9"))
          {
             if ( toCheck.substring(j,j+1) == "-" || toCheck.substring(j,j+1) == "+")
             {
                if ( j != 0 ) 
                {
                   isNum = false;
                }
             }
             else
				   isNum = false;
		   }
     }

     if (chkstr == "+" || chkstr == "-") isNum = false;

     return isNum;
} 
////////////////////////////////////////////////////////////////n
////////////    DATE  VALIDATION  CHECK    //////////////////////
/////////////////////////////////////////////////////////////////

/*--------------------------------------------------
  ±â´É   : calender¿¡¼­ »ç¿ëÇÒ ¿ùº° ¹è¿­¸¦ ¸¸µç´Ù.
  INPUT  : °¢ ÀÎÀÚÀÇ °ª   
----------------------------------------------------*/
function jsMonthArray(m0,m1,m2,m3,m4,m5,m6,m7,m8,m9,m10,m11) 
{
      this[0] = m0;
      this[1] = m1;
      this[2] = m2;
      this[3] = m3;
      this[4] = m4;
      this[5] = m5;
      this[6] = m6;
      this[7] = m7;
      this[8] = m8;
      this[9] = m9;
      this[10] = m10;
      this[11] = m11;
}


/*--------------------------------------------------
  ±â´É   : ³âµµ¸¦ checkÇÑ´Ù.
  INPUT  : toCheck  
  RETURN : NONE
     MSG :   
----------------------------------------------------*/

function jsCheckYYYY(toCheck) 
{
   return ( ( toCheck.length == 4) && ( jsCheckNumber(toCheck)  ) && ( toCheck != "0000") );
}

/*--------------------------------------------------
  ±â´É   : ³â¿ùÀ» checkÇÑ´Ù.
  INPUT  : toCheck  
  RETURN : NONE
     MSG :   
----------------------------------------------------*/

function jsCheckYYYYMM(toCheck) 
{
     var isDate  = true ;

     if ( toCheck.length != 6 )
     {
          isDate = false ;
     }
     else
     {

           var yy = toCheck.substring(0,4) +"" ;
           var mm = toCheck.substring(4,6) +"" ;

           if ( !jsCheckYYYY(yy) )
              isDate = false ;
           else if ( !jsCheckMM(mm) )
              isDate = false ;
     }

     return isDate ;
}

/*--------------------------------------------------
  ±â´É   : ¿ùÀ» checkÇÑ´Ù.
  INPUT  : toCheck  
  RETURN :
    MSG  :   
----------------------------------------------------*/
function jsCheckMM(toCheck)
{
      return ((toCheck.length > 0) && (jsCheckNumber(toCheck)) && (0< eval(toCheck)) && (eval(toCheck) < 13));
}

/*--------------------------------------------------
  ±â´É   : ÀÏÀ» checkÇÑ´Ù.
  INPUT  : toCheck  
  RETURN : NONE
     MSG :   
----------------------------------------------------*/
function jsCheckDD(yyyy,mm,toCheck)
{
      var isYMD  = false;
      var monthDD= new jsMonthArray(31,28,31,30,31,30,31,31,30,31,30,31);
      var im     = eval(mm) - 1;
      if ( toCheck.length == 0 )  return false;
      if ( !jsCheckNumber(toCheck)  )  return false;
      var dd     = eval(toCheck);
      if ( ( (yyyy%4 == 0) && (yyyy%100 != 0) ) || (yyyy%400 == 0) )
      {
           monthDD[1] = 29;
      }
      if ( (0 < dd) && (dd <= monthDD[im]) ) isYMD = true;
           return isYMD;
}

/*--------------------------------------------------
  ±â´É   : ³¯Â¥¸¦ checkÇÑ´Ù.
  INPUT  : dateVal  
  RETURN : NONE
     MSG :   
----------------------------------------------------*/
function jsCheckDate( dateVal )
{

     var isDate  = true ;

     if ( dateVal.length != 8 )
     {
          isDate = false ;
     }
     else
     {

           var yy = dateVal.substring(0,4) +"" ;
           var mm = dateVal.substring(4,6) +"" ;
           var dd = dateVal.substring(6,8) +"" ;

           if ( !jsCheckYYYY(yy) )
              isDate = false ;
           else if ( !jsCheckMM(mm) )
              isDate = false ;
           else if ( !jsCheckDD (yy,mm,dd) )
              isDate = false ; 
     }

     return isDate ;

}

/*--------------------------------------------------
  ±â´É   : ³¯Â¥¿Í ³¯Â¥ »çÀÌÀÇ ÀÏ¼ö¸¦ ¸®ÅÏÇÑ´Ù.
  INPUT  : startDt(YYYYMMDD), endDt(YYYYMMDD)  
  RETURN : rtnValue : ³¯Â¥¿Í ³¯Â¥ »çÀÌÀÇ ÀÏ¼ö
           -1       : ERROR..!
     MSG :   
----------------------------------------------------*/
function jsGetBetweenDay( startDt, endDt )
{
     var rtnValue = 0 ;

     // input dateÀÇ ³¯Â¥ Ã¼Å©
     if ( !jsCheckDate(startDt) || !jsCheckDate(endDt) ) {
     	rtnValue = -1 ;
     }
     else {
           var yyyy = startDt.substring(0,4) +"" ;
           var mm   = startDt.substring(4,6) +"" ;
           var dd   = startDt.substring(6,8) +"" ;
           var startDate = new Date(yyyy,(parseInt(mm)-1),dd) ; // ´Þ Àº ÇÑ´ÞÀÌ ´À¸®¹Ç·Î 1À» »©ÁØ´Ù.
           
           yyyy = endDt.substring(0,4) +"" ;
           mm   = endDt.substring(4,6) +"" ;
           dd   = endDt.substring(6,8) +"" ;
           var endDate = new Date(yyyy,(parseInt(mm)-1),dd) ;
           
           // 1000ºÐÀÇ 1ÃÊ ´ÜÀ§¸¦ ÀÏ ´ÜÀ§·Î ¹Ù²Ù±â
           rtnValue = ((endDate-startDate)/60/60/24/1000) ;
     }

     return rtnValue ;

}

/////////////////////////////////////////////////////////////////
////////////    SELECT OPTION BOXÀÇ °ªÀ» RETURN ÇÑ´Ù. ///////////
/////////////////////////////////////////////////////////////////

function jsCheckSelectBox ( sb )
{

    var temp = sb.options[sb.selectedIndex].value ;
    return ( temp );
}

/////////////////////////////////////////////////////////////////
////////////   Name¿¡ ÇØ´çÇÏ´Â Cookie°ªÀ» ¾ò¾î¿Â´Ù.    ///////////
/////////////////////////////////////////////////////////////////

function getCookie( name ) {
	var search = name + "=";

	if ( document.cookie.length > 0 ) {
		offset = document.cookie.indexOf( search );		
		if ( offset != -1 ) {
			offset += search.length;
			end = document.cookie.indexOf( ";", offset );

			if ( end == -1 )
				end = document.cookie.length;

			return unescape(document.cookie.substring(offset,end));
		}
		else return "";
	}
	else return "";
}

function isValidFormat(input,format) {
    if (input.value.search(format) != -1) {
        return true; //¿Ã¹Ù¸¥ Æ÷¸Ë Çü½Ä
    }
    return false;
}

/**
 * ÀÔ·Â°ªÀÌ ÀÌ¸ÞÀÏ Çü½ÄÀÎÁö Ã¼Å©
 * ex) if (!isValidEmail(form.email)) {
 *         alert("¿Ã¹Ù¸¥ ÀÌ¸ÞÀÏ ÁÖ¼Ò°¡ ¾Æ´Õ´Ï´Ù.");
 *     }
 */
function isValidEmail(input) {
//    var format = /^(\S+)@(\S+)\.([A-Za-z]+)$/;
    var format = /^((\w|[\-\.])+)@((\w|[\-\.])+)\.([A-Za-z]+)$/;
    return isValidFormat(input,format);
}

function containsCharsOnly(input,chars) {

    for (var inx = 0; inx < input.value.length; inx++) {

        if (chars.indexOf(input.value.charAt(inx)) == -1)

            return false;

    }

    return true;

}

function checkIpaddr(obj) {
	var chars = "0123456789";
	var dotCnt = 0;
	
	for (var k=0; k<obj.value.length; k++) {
		if (obj.value.charAt(k) == '.') dotCnt++;
		else if (chars.indexOf(obj.value.charAt(k)) == -1)	return false;
	}
	
	if (dotCnt != 3)
		return false;
	else
		return true;
}

/**
 * @type   : function
 * @access : public
 * @desc   : ÇØ´ç¿ùÀÇ ¸»ÀÏÀ» °è»êÇÏ¿© ³â¿ùÀÏÁ¤º¸ ¸®ÅÏ
 * @sig    : value
 * @param  : p_year  : ³â
 * @param  : p_month : ¿ù
 * @return : ³â¿ùÀÏ yyyymmdd
 * @author : À¯Á¤¹Î
 */
function cfGetEndDate( p_year, p_month ) {
	var DOMonth	= [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
	var lDOMonth = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];

	var months = [01,02,03,04,05,06,07,08,09,10,11,12];
	var monthNo = "";
	var tempYm = p_year.toString()+p_month.toString();
	
	for (i=0;i<months.length;i++) {
		if ( months[i] == p_month ) {
			monthNo = i;
			break
		}	
	}
	/* 
		Check for leap year ..
		1.Years evenly divisible by four are normally leap years, except for... 
		2.Years also evenly divisible by 100 are not leap years, except for... 
		3.Years also evenly divisible by 400 are leap years. 
	*/
	if ((p_year % 4) == 0) {
		if ((p_year % 100) == 0 && (p_year % 400) != 0)
			return tempYm + DOMonth[monthNo];
	
		return tempYm + lDOMonth[monthNo];
	} else {
		return tempYm + DOMonth[monthNo];
	}		
}
/*********************************************************************************
   ÇÔ¼ö¸í : chkYyyyMmDd
   ±â  ´É : ³â¿ùÀÏÀ» Ã¼Å©ÇÏ´Â Function
   ÀÎ  ¼ö : vYear    - Ã¼Å©ÇÏ°íÀÚ ÇÏ´Â ³âµµ
            vMonth   - Ã¼Å©ÇÏ°íÀÚ ÇÏ´Â ¿ù
            vDay     - Ã¼Å©ÇÏ°íÀÚ ÇÏ´Â ÀÏ
            chkNull - null check¿©ºÎ "Y"=nullÃ¼Å©ÇÔ, "N"=nullÃ¼Å©¾ÈÇÔ.
            fName   - alert¸Þ¼¼Áö¸¦ »Ñ·ÁÁÙ°ÍÀÎÁö ±¸ºÐ ¸Þ¼¼Áö¸¦ ³Ö¾îÁÖ¸é ÇØ´ç¸Þ¼¼Áö¿Í ÇÔ²² alertÃ¢ÀÌ ¶ß°í
                    - ¸Þ¼¼Áö¸¦ ³Ö¾îÁÖÁö¾ÊÀ¸¸é alertÃ¢ÀÌ ¶ßÁö ¾Ê´Â´Ù.
   ¸®ÅÏ°ª :
**********************************************************************************/
function chkYyyyMmDd(vYear, vMonth, vDay, chkNull, fName) {
   var date = "";
   var errorMesg1 = fName + "ÀÇ ³âµµ¿¡ Á¤È®ÇÑ °ªÀ» ³Ö¾îÁÖ½Ê½Ã¿À!¿¹) 2001";
   var errorMesg2 = fName + "ÀÇ ¿ù¿¡ Á¤È®ÇÑ °ªÀ» ³Ö¾îÁÖ½Ê½Ã¿À!¿¹) 2001/01/31";
   var errorMesg3 = fName + "ÀÇ ÀÏÀÚ¿¡ Á¤È®ÇÑ °ªÀ» ³Ö¾îÁÖ½Ê½Ã¿À!¿¹) 2001/01/31";


   //³âµµÀÇ 4ÀÚ¸®¼ö Ã¼Å©
   if( vYear.length != 4 ) {
      if("" == fName){}
      else {
         alert(errorMesg1);
      }
      return false;
   }

   //¿ùÀÌ µÎÀÚ¸®°¡ ¾Æ´Ò°æ¿ì ¾Õ¿¡ "0"À» ºÙ¿©¼­ µÎÀÚ¸®·Î  ¸¸µë"
   if(vMonth < 10 && vMonth.indexOf(0) == -1 ) {
      vMonth = "0" + vMonth;
   }

   //ÀÏÀÌ µÎÀÚ¸®°¡ ¾Æ´Ò°æ¿ì ¾Õ¿¡ "0"À» ºÙ¿©¼­ µÎÀÚ¸®·Î ¸¸µë"
   if(vDay < 10 && vDay.indexOf(0) == -1 ) {
      vDay = "0" + vDay;
   }

   date = vYear + vMonth + vDay+"";

   if( date.length != 8 || date.length == 0 ) {
      if( chkNull == "N" || chkNull == "n" )  {
         return true;
      }

      if("" == fName){}
      else {
         alert(fName + "(À»)¸¦ ¹Ýµå½Ã ÀÔ·Â ¶Ç´Â ¼±ÅÃÇÏ¿©¾ß ÇÕ´Ï´Ù.");
      }
      return false;
   }
  
   //³¯Â¥°¡ ¼ýÀÚÀÎÁö Ã¼Å©
   if(!jsCheckNumber(date)) {
   alert("³¯Â¥Çü½ÄÀÌ ¿Ã¹Ù¸£Áö ¾Ê½À´Ï´Ù.");
       return false;
   }

   // ¿ùÀÌ 12 º¸´Ù Å« ¼ö°¡ ÀÖ´ÂÁö Ã¼Å©
   if(vMonth > 12 || vMonth == 0) {
      if("" == fName){}
      else {
         alert(errorMesg2);
      }
      return false;
   }

   // ÀÏ Ã¼Å©
   if(vMonth == 01 || vMonth == 03 || vMonth == 05 || vMonth == 07 || vMonth == 08 || vMonth == 10 || vMonth == 12) {
      if(vDay > 31 || vDay == 0) {
         if("" == fName){}
         else {
            alert(errorMesg3);
         }
         return false
      }
   } else if(vMonth == 02) {
      if(((vYear % 4 == 0) && (vYear % 100 != 0)) || (vYear % 400 == 0)) {
         if(vDay > 29 || vDay == 0) {
            if("" == fName){}
            else {
               alert(errorMesg3);
            }
            return false;
         }
      } else {
         if(vDay > 28 || vDay == 0) {
            if("" == fName){}
            else {
               alert(errorMesg3);
            }
            return false
         }
      }
   } else if(vMonth == 04 || vMonth == 06 || vMonth == 09 || vMonth == 11) {
      if(vDay > 30 || vDay == 0) {
         if("" == fName){}
         else {
            alert(errorMesg3);
         }
         return false
      }
   }
   return true;
}
function getSubmitData(url) {
	var xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
	// For Static URL
	var target = document.URL;
	var idx = target.indexOf("?");
	if ( idx > 0 ) target = target.substring( 0, idx );
	idx = target.lastIndexOf("/");
	target = target.substring( 0, idx + 1 );
	var time = new Date();
	var requestCount = time.getTime();//cach memory Àû¿ë ¹èÁ¦¸¦ À§ÇÑ dummy variable
	//¸¸¾à url¿¡ ÆÄ¶ó¸ÞÅÍ°¡ ºÙ¾úÀ» °æ¿ì¿¡ "&"·Î ÆÄ¶ó¸ÞÅÍ¸¦ ºÙ¿©ÁØ´Ù.
	if (url.indexOf("?",0) != -1){
		url = url + "&requestCount="+requestCount;
	}else {
		url = url + "?requestCount="+requestCount;
	}
	target = target + url;
	xmlHttp.open("POST", target, false);
	xmlHttp.send();
	return xmlHttp.responseText;
}
