/***************************************************************************************
  ÇÁ·Î±×·¥ : Common JavaScript
  ÀÛ¾÷ÀÚ : 2005.06.14 bbanga ÃÖÃÊÀÛ¼º

  1. f_calendar(input)             : ´Þ·Â ºÎ¸£´Â ÇÔ¼ö [input -> Form Field ¸í]
  2. f_print()                     : °øÅë Print
  3. f_checkDate(ymd)              : ³¯Â¥Çü½Ä Check [yyyymmdd Çü½ÄÀÇ ³¯Â¥ Format Check]
  4. f_checkEmail(email)           : EmailÇü½Ä Check [email -> email ÁÖ¼Ò]
  5. f_checkPhone(phoneNo)         : ÀüÈ­¹øÈ£ Check [phoneNo -> ÀüÈ­¹øÈ£]
  5-1. f_checkPhone(phoneNo1,phoneNo2,phoneNo3) : ÀüÈ­¹øÈ£ Check [phoneNo1 -> ±¹¹ø(ÀÌÅëÅë½Å»ç¹øÈ£) phoneNo2 -> ÀüÈ­¹øÈ£¾ÕÀÚ¸® , phoneNo3 -> ÀüÈ­¹øÈ£µÞÀÚ¸®]
  6. f_checkSpaceAll(str)          : ÀüÃ¼°¡ °ø¹éÀÎÁö Check [str -> CheckÇÒ ¹®ÀÚ¿­]
  7. f_checkHangul(str)            : ÇÑ±ÛÀÏÁö Check [str -> CheckÇÒ ¹®ÀÚ¿­]
  8. f_formatDate(ymd)             : ³¯Â¥Çü½Ä Format ¸ÂÃß±â [yyyymmdd -> yyyy/mm/dd, yyyymm -> yyyy/mm]
  9. f_formatNumber(num)           : ¼ýÀÚ Format ¸ÂÃß±â [xxxxxxx -> x,xxx,xxx]  
  10. f_percent(tot,num,point)     : ¹éºÐÀ² °è»ê [tot -> ÀüÃ¼, num -> ÇØ´ç °ª, point -> ¼Ò¼ýÁ¡ ¾Æ·¡ÀÚ¸®]  
  11. f_onlyNumber()               : ¿ÀÁ÷ ¼ýÀÚ¸¸ ÀÔ·ÂµÇ°Ô ÇÏ´Â ÇÔ¼ö
  12. f_onlyNumAlpa()              : ¿ÀÁ÷ ¼ýÀÚ¿Í ¾ËÆÄºª¸¸ Çã¿ëÇÏ´Â ÇÔ¼ö    
  13. f_autoTab(input,len, e)      : ÀÏÁ¤ ÀÚ¸®¼ö°¡ µÆÀ»¶§ ÀÚµ¿À¸·Î ³Ñ¾î°¡´Â ÇÔ¼ö 
                                      [input -> Form field name, len -> ÀÏÁ¤ ÀÚ¸®¼ö, event : ÀÌº¥Æ®(window.event)]
  14. f_noEnter()                  : Enter Key¸¦ ÀÔ·ÂÇÏÁö ¸øÇÏ°Ô ÇÏ´Â ÇÔ¼ö
  15. f_checkTextarea(input,max)   : textarea ±ÛÀÚ¼ö Á¦ÇÑÇÏ±â
  16. f_HtmlToText()               : HTML --> Text
  17. f_TextToHtml()               : Text --> HTML
  18. f_HtmlToAlert()              : HTMLÀ» alert ¿ëÀ¸·Î º¯È¯
  19. f_toggle(currentMenu)        : ¸Þ´º¿¡¼­ ¼±ÅÃµÈ ¸Þ´º¿¡ ´ëÇØ ÀÌ¹ÌÁö º¯È¯
  20. f_goPopup(url)               : ÆË¾÷Ã¢ »ý¼º
  21. f_quick(val)				   : ¸Þ´º ¼¿·ºÆ®¹Ú½º ¼±ÅÃ½Ã ÆäÀÌÁö ÀÌµ¿
  22. f_viewDiv(div_nm)			   : div ÅÂ±×ÀÇ display state change
  23. f_textLen(obj,len)		   : ¹®ÀÚ¿­ÀÇ ±æÀÌ check
  24. f_trim(value)				   : ¹®ÀÚ¿­ÀÇ ¾ÕµÚ °ø¹é¹®ÀÚ Á¦°Å
  25. f_checkHp(handPhoneNo)		: ÇÚµåÆù¹øÈ£ Check [handPhoneNo -> ÇÚºêÆù¹øÈ£]
  26. f_checkPercent(percent,decimalPlace) : ÆÛ¼¾Æ® Check(percent -> ÆÛ¼¾Æ® , decimalPlace -> ¼Ò¼öÁ¡ÀÚ¸®¼ö)
  27. f_checkNumber(input)			: ¼ýÀÚ¸¸À¸·Î ÀÌ·ç¾îÁ® ÀÖ´ÂÁö Check
  28. f_isCardNo(cardNo)			: Ä«µå¹øÈ£ Çü½Ä Check
  29. f_isCardNo(cardNo1,cardNo2,cardNo3,cardNo4) : Ä«µå¹øÈ£ Çü½Ä Check
  30. f_onlyPhone()					: ¼ýÀÚ¿Í ÀüÈ­¹øÈ£¿¡ »ç¿ëµÇ´Â "-"¸¸ ÀÔ·Â °¡´ÉÇÏ°Ô ÇÏ´Â ÇÔ¼ö

  31. f_comma(obj)                  : 3ÀÚ¸®¼ö¸¶´Ù comman(,) ³Ö±â onKeyUp="f_comma(this)"
  32. f_uncomma(input)              : comman(,) Á¦°ÅÇÏ±â

  33. f_limitMonthCheck(checkDate1,checkDate2,limitMonth) : °Ë»ö ³â¿øÀÏ°£ÀÇ ¿ù Â÷ÀÌ°¡ ÁöÁ¤ÇÑ ¼öÄ¡º¸´Ù ÀÛÀºÁö Ã¼Å©
  34. f_checkBizNo(bizNo)           : »ç¾÷ÀÚ¹øÈ£ CheckÇÏ´Â ÇÔ¼ö
  35. f_checkRegno(reg_no1,reg_no2) : ÁÖ¹Î¹øÈ£ CheckÇÏ´Â ÇÔ¼ö
  36. addDay(ammount)				: ¿À´Ã³¯Â¥¿¡ ³¯Â¥¸¦ ´õÇÑ ³¯Â¥ÀÇ ³â¿ùÀÏ(¹®ÀÚ,8ÀÚ¸®)¸¦ ±¸ÇÑ´Ù.
  37. addDayTheDay(ymd,ammount)		: ÁÖ¾îÁø ³¯Â¥(yyyymmdd)¿¡ ³¯Â¥¸¦ ´õÇÑ ³¯Â¥ÀÇ ³â¿ùÀÏ(¹®ÀÚ,8ÀÚ¸®)¸¦ ±¸ÇÑ´Ù.
  38. addMonth(ammount)				: ¿À´Ã³¯Â¥¿¡ ¿ùÀ» ´õÇÑ ³¯Â¥ÀÇ ³â¿ùÀÏÀ»(¹®ÀÚ,8ÀÚ¸®) ±¸ÇÑ´Ù.
  39. addMonthTheDay(ymd,ammount)	: ÁÖ¾îÁø ³¯Â¥(yyyymmdd)¿¡ ¿ùÀ» ´õÇÑ ³¯Â¥ÀÇ ³â¿ùÀÏÀ»(¹®ÀÚ,8ÀÚ¸®) ±¸ÇÑ´Ù.
  40. f_orderno_create()			: ÁÖ¹®¹øÈ£ »ý¼º
  41. allatwrite(arg)				  :	explore ÆÐÄ¡ °ü·Ã Ãß°¡(Object)
  42. allatobject(id,style,classid,codebase)		 :	explore ÆÐÄ¡ °ü·Ã Ãß°¡1(Object)
  43. allatobject1(classid,codebase,width,height,param)		 :	explore ÆÐÄ¡ °ü·Ã Ãß°¡2(Object)


  ¼öÁ¤»çÇ× : 5. f_checkPhone(no1,no2,no3) -> f_checkPhone(phoneNo)·Î ¼öÁ¤ - choko( 2005.09.08 )
			31. f_comma() alladin¿¡¼­ copy & paste
			32. f_uncomman() alladin¿¡¼­ copy & paste
			33. f_limitMonthCheck(checkDate1,checkDate2,limitMonth) Ãß°¡ - choko( 2005.09.23 )
			5-1.  f_checkPhone(phoneNo1,phoneNo2,phoneNo3) Ãß°¡ - choko( 2005.11.04 )
			36. addDay(ammount) ÇÔ¼ö Ãß°¡ - choko( 2005.12.01 )
			37. addDayTheDay(ymd,ammount) ÇÔ¼ö Ãß°¡ - choko( 2005.12.01 )
			38. addMonth(ammount) ÇÔ¼ö Ãß°¡ - choko( 2005.12.01 )
			39. addMonthTheDay(ymd,ammount) ÇÔ¼ö Ãß°¡ - choko( 2005.12.01 )
			40. f_orderno_create() ÇÔ¼ö Ãß°¡ - choko( 2005.12.16 )
			41. allatwrite(arg) ÇÔ¼ö Ãß°¡ - sylee( 2006.03.30 )				  
			42. allatobject(id,style,classid,codebase) ÇÔ¼ö Ãß°¡ - sylee( 2006.03.30 )			
			43. allatobject1(classid,codebase,width,height,param) ÇÔ¼ö Ãß°¡ - sylee( 2006.03.30 )	
			5-1.  f_checkPhone(phoneNo1,phoneNo2,phoneNo3) ¼öÁ¤( 080ÀüÈ­¹øÈ£ ÀÔ·Â °¡´ÉÇÏ°Ô ) - choko( 2007.01.25 )
			25. f_checkHp ¼öÁ¤( ÈÞ´ëÆù¹øÈ£¸¸ ÀÔ·Â °¡´ÉÇÏ°Ô ¼öÁ¤ ) - choko( 2007.04.06 )
			15. f_checkTextarea ¼öÁ¤( ÅØ½ºÆ® "±ÛÀÚ" --> "Byte·Î ¼öÁ¤" )
			56. f_checkPhoneFree(phoneNo) ÀüÈ­¹øÈ£/ÈÞ´ëÆù ¹øÈ£ Ã¼Å© '-' Æ÷ÇÔ ¶Ç´Â ¹ÌÆ÷ÇÔ
			47. chkLength( str ) ¹®ÀÚ¿­ ±æÀÌ ¹ÝÈ¯ Ãß°¡
			48. f_checkAll(input) checkBox ¸¦ ¸ðµÎ Check/UncheckedÇÏ´Â ÇÔ¼ö : input (Form name + Form Input Field)
			49. f_dateChange() Á¶È¸È­¸éÀÇ Á¶È¸±â°£ ¼¼ÆÃ ÀÚ¹Ù½ºÅ©¸³Æ®
			50. f_popup(url,width,height) ÆË¾÷»ý¼º

***************************************************************************************/

// 1. ´Þ·Â ºÎ¸£´Â ÇÔ¼ö [input -> Form Field ¸í]
function f_calendar(input) {
	var fm = document.fm;
	var ret = window.showModalDialog("/common/biz_calendarFrm.html","","dialogWidth:280px;dialogHeight:280px;status:no;help:no");
	if(ret!=undefined && ret!="none" && ret!="" ) {
		if ( ret.length == 8)
		eval('fm.' + input + '.value = ' + ret);
	}
	return;
}

// 2. °øÅë Print
function f_print() {
	window.print();
}

// 3. ³¯Â¥Çü½Ä Check [yyyymmdd Çü½ÄÀÇ ³¯Â¥ Format Check]
function f_checkDate (ymd) {
    var bReturn = true;
    var daysOfMonth = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
    if ( ymd.length != 8) bReturn = false;
    else if (ymd.match ("[^0-9]") != null) bReturn = false;

	var yyyy = ymd.substring(0,4);
	var mm   = ymd.substring(4,6);
	var dd   = ymd.substring(6);

	if( !yyyy.match("[1-9]([0-9]){3}") ){  bReturn = false;  }
	if( !mm.match("[0][1-9]|[1][0-2]") ){  bReturn = false;  }
	if( !dd.match("[0][1-9]|[1-2][0-9]|[3][0-1]") ){  bReturn = false;  }

	if (mm == 2) {
        if( ( yyyy % 4 ) == 0 && ( ( yyyy % 100 ) != 0 || ( yyyy % 400 ) == 0 ) ) {
            if (dd > 29) bReturn = false;
        } else {
            if (dd > 28) bReturn = false;
        }
    } else {
        if (dd > daysOfMonth[ mm - 1 ]) bReturn = false;
    }
    if ( bReturn == false ) return false; 
	else return true;
}

// 4. EmailÇü½Ä Check [email -> email ÁÖ¼Ò]
function f_checkEmail(email) {
	if( f_checkHardPTNMain(email) != 1 ) {
		return false;
	} else {
		return true;
	}
}

// 5. ÀüÈ­¹øÈ£ Check [phoneNo -> ÀüÈ­¹øÈ£]
/*
function f_checkPhone(phoneNo) {
	if ( !phoneNo.match("^(0(2|505|[13-9][0-9])-)?[1-9][0-9]{2,3}-[0-9]{4}$") )	{
		return false;
	}
	return true;
}
*/

// 5-1. ÀüÈ­¹øÈ£ Check [phoneNo1 -> ±¹¹ø(ÀÌÅëÅë½Å»ç¹øÈ£) phoneNo2 -> ÀüÈ­¹øÈ£¾ÕÀÚ¸® , phoneNo3 -> ÀüÈ­¹øÈ£µÞÀÚ¸®]
function f_checkPhone(phoneNo1,phoneNo2,phoneNo3) {

	var phone_no = phoneNo1 + "-" + phoneNo2 + "-" + phoneNo3;

	// ÀüÈ­¹øÈ£ÀÇ Ã¹¹®ÀÚ°¡ "-" ÀÌ¸é »èÁ¦
	if( phone_no.charAt(0) == "-" ){
		phone_no = phone_no.substring(1,phone_no.length);
	}
	// ÀüÈ­¹øÈ£ÀÇ ¸¶Áö¸· ¹®ÀÚ°¡ "-" ÀÌ¸é »èÁ¦
	if( phone_no.charAt(phone_no.length-1) == "-" ){
		phone_no = phone_no.substring(0,phone_no.length-1);
	}

	if ( !phone_no.match("^(0(2|80|50[1-9]|[13-9][0-9])-)?[0-9]{3,4}-[0-9]{4}$") )	{
		return false;
	}

	return true;
}

// 6. ÀüÃ¼°¡ °ø¹éÀÎÁö Check [str -> CheckÇÒ ¹®ÀÚ¿­]
function f_checkSpaceAll(str) {
	if ( str.search("[^ ]") == -1) 
		return true;
	else
		return false;
}

// 7. ÇÑ±ÛÀÏÁö Check [str -> CheckÇÒ ¹®ÀÚ¿­]
function f_checkHangul(str) {
	var ret = true;
	if (str == '' || str.search (' ') > 0) ret = false;

	for (var i=0; i<str.length; i++) {
		var char = str.charAt(i);
		if (char.match("[a-zA-Z0-9~!@#$%^&*()_+|:;><?'`/,.-= ]") != null) ret = false; 
	}		
	return ret;
}

// 8. ³¯Â¥Çü½Ä Format ¸ÂÃß±â [yyyymmdd -> yyyy/mm/dd, yyyymm -> yyyy/mm]
function f_formatDate (ymd) {
    if ( ymd.length == 8 )
    	return ymd.substring(0,4)+"/"+ymd.substring(4,6)+"/"+ymd.substring(6);
    else if ( ymd.length == 6 )
    	return ymd.substring(0,4)+"/"+ymd.substring(4);
    else
    	return ymd;

}

// 9. ¼ýÀÚ Format ¸ÂÃß±â [xxxxxxx -> x,xxx,xxx]
function f_formatNumber (num) {
	var symbol = 0; num = ''+num;
	if(num==null||num=="") return "";

	if(num.substring(0,1)=="-") { // À½¼öÀÏ¶§
		num = num.substring(1);
		symbol = 1;
	}

	var sReturn = "";
	for ( var i=0; i<num.length; i++ ) {
		if( (num.length-i)%3 == 0 && i != 0 ) {
			sReturn += ',';
			sReturn += num.charAt(i);
		} else {
			sReturn += num.charAt(i);
		}
	}
	if(symbol==1) return "-" + sReturn; // À½¼öÀÏ¶§
	return sReturn;
}

// 10. ¹éºÐÀ² °è»ê [tot -> ÀüÃ¼, num -> ÇØ´ç °ª, point -> ¼Ò¼ýÁ¡ ¾Æ·¡ÀÚ¸®]
function f_percent (tot, num, point) {
	if(tot==null||tot==0||tot=='') per = '0';
	else per = ''+ Math.round((num/tot)*100*Math.pow(10,point))/Math.pow(10,point);

	alert(per);
	
	if ( per.indexOf('.')<=0 ) len = 0;
	else len = per.substring(per.indexOf('.')+1).length;

	if (point > 0 && len <= 0) per += ".";
	for(var i=0;i<point-len;i++) per+="0";
	return per;
}

// 11. ¿ÀÁ÷ ¼ýÀÚ¸¸ ÀÔ·ÂµÇ°Ô ÇÏ´Â ÇÔ¼ö
// »ç¿ë¹ý : <input type="text" onKeyPress="f_onlyNumber()">
function f_onlyNumber() {
   if( window.event.keyCode < 48 || window.event.keyCode > 57 ) {
        window.event.keyCode = 0;
    }
}

// 12. f_onlyNumAlpa() : ¿ÀÁ÷ ¼ýÀÚ¿Í ¾ËÆÄºª¸¸ Çã¿ëÇÏ´Â ÇÔ¼ö -> ¼öÁ¤ÇØ¼­ Ãß°¡  


// 13. ÀÏÁ¤ ÀÚ¸®¼ö°¡ µÆÀ»¶§ ÀÚµ¿À¸·Î ³Ñ¾î°¡´Â ÇÔ¼ö [input -> Form field name, len -> ÀÏÁ¤ ÀÚ¸®¼ö, event : ÀÌº¥Æ®(window.event)]
// »ç¿ë¹ý : onKeyUp="return f_autoTab(fm.reg_no1,6,event);"
var isNN = (navigator.appName.indexOf("Netscape")!=-1);
function f_autoTab(input,len, e) {
    var keyCode = (isNN) ? e.which : e.keyCode;
    var filter = (isNN) ? [0,8,9] : [0,8,9,16,17,18,37,38,39,40,46];
    if(input.value.length >= len && !containsElement(filter,keyCode)) {
        input.value = input.value.slice(0, len);
        input.form[(getIndex(input)+1) % input.form.length].focus();
    }
    function containsElement(arr, ele) {
        var found = false, index = 0;
        while(!found && index < arr.length)
        if(arr[index] == ele)
            found = true;
        else
            index++;
        return found;
    }
    function getIndex(input) {
        var index = -1, i = 0, found = false;
        while (i < input.form.length && index == -1)
        if (input.form[i] == input)index = i;
        else i++;
        return index;
    }
    return true;
}

// 14. Enter Key¸¦ ÀÔ·ÂÇÏÁö ¸øÇÏ°Ô ÇÏ´Â ÇÔ¼ö
// »ç¿ë¹ý : <input type="text" onKeyPress="f_noEnter()">
function f_noEnter() {
   if(event.keyCode == 13)
      event.returnValue=false;
}

// 15. textarea ±ÛÀÚ¼ö Á¦ÇÑÇÏ±â [input -> Form Field ¸í, max -> Á¦ÇÑÇÒ Bytes ¼ö]
function f_checkTextarea(input,max) {
   var ls_str     = input.value; // ÀÌº¥Æ®°¡ ÀÏ¾î³­ ÄÁÆ®·ÑÀÇ value °ª
   var li_str_len = ls_str.length;  // ÀüÃ¼±æÀÌ

   // º¯¼öÃÊ±âÈ­
   var li_max      = max; // Á¦ÇÑÇÒ ±ÛÀÚ¼ö Å©±â
   var i           = 0;  // for¹®¿¡ »ç¿ë
   var li_byte     = 0;  // ÇÑ±ÛÀÏ°æ¿ì´Â 2 ±×¹Ü¿¡´Â 1À» ´õÇÔ
   var li_len      = 0;  // substringÇÏ±â À§ÇØ¼­ »ç¿ë
   var ls_one_char = ""; // ÇÑ±ÛÀÚ¾¿ °Ë»çÇÑ´Ù
   var ls_str2     = ""; // ±ÛÀÚ¼ö¸¦ ÃÊ°úÇÏ¸é Á¦ÇÑÇÒ¼ö ±ÛÀÚÀü±îÁö¸¸ º¸¿©ÁØ´Ù.

   for(i=0; i< li_str_len; i++) {
      // ÇÑ±ÛÀÚÃßÃâ
      ls_one_char = ls_str.charAt(i);

      // ÇÑ±ÛÀÌ¸é 2¸¦ ´õÇÑ´Ù.
      if (escape(ls_one_char).length > 4) {
         li_byte += 2;
      }
      // ±×¹ÜÀÇ °æ¿ì´Â 1À» ´õÇÑ´Ù.
      else {
         li_byte++;
      }

      // ÀüÃ¼ Å©±â°¡ li_max¸¦ ³ÑÁö¾ÊÀ¸¸é
      if(li_byte <= li_max) {
         li_len = i + 1;
      }
   }
   
   // ÀüÃ¼±æÀÌ¸¦ ÃÊ°úÇÏ¸é
   if(li_byte > li_max) {
      input.blur();
      ls_str2 = ls_str.substr(0, li_len);
      input.value = ls_str2;
      textAreaObject = input;
      f_alert( li_max + " Byte¸¦ ÃÊ°ú ÀÔ·ÂÇÒ¼ö ¾ø½À´Ï´Ù. \n ÃÊ°úµÈ ³»¿ëÀº ÀÚµ¿À¸·Î »èÁ¦ µË´Ï´Ù. ", 300,140,'textAreaObject.focus();');
      
   }
}

// 16. HTML --> Text
function f_HtmlToText(string) {
    var strip = new RegExp();

    strip = /[\r][\n]/gi;
    var retString =  string.replace(strip, "");
    strip = /[<][b][r][>]/gi;
    retString =  retString.replace(strip, "\r\n");
    //strip = /[<][p][>]/gi;
    strip = new RegExp("[<][p][>]", "gi");
    retString =  retString.replace(strip, "\r\n");
    //strip = /[<][/][p][>]/gi;
    strip = new RegExp("[<][/][p][>]", "gi");
    retString =  retString.replace(strip, "");
    strip = /[<][^>]*[>]/gi;
    var retString =  retString.replace(strip, "");
    strip = /[&][a][m][p][;]/gi;
    retString =  retString.replace(strip, "&");
    strip = /[&][l][t][;]/gi;
    retString =  retString.replace(strip, "<");
    strip = /[&][g][t][;]/gi;
    retString =  retString.replace(strip, ">");
    strip = /[&][q][u][o][t][;]/gi;
    retString =  retString.replace(strip, '"');
    strip = /[&][#][0][3][9][;]/gi;
    retString =  retString.replace(strip, "'");
    strip = /[&][#][3][4][;]/gi;
    retString =  retString.replace(strip, '"');
    strip = /[&][#][3][9][;]/gi;
    retString =  retString.replace(strip, "'");    
    strip = /[&][n][b][s][p][;]/gi;
    retString =  retString.replace(strip, " ");
    return retString;
}

// 17. Text --> HTML
function f_TextToHtml(textVal) {
    var strip = new RegExp();
    var retString = "";

    strip = /[&]/gi;
    retString =  textVal.replace(strip, "&amp;");
    strip = /[<]/gi;
    retString =  retString.replace(strip, "&lt;");
    strip = /[>]/gi;

    strip = /[\r][\n]/gi;
    retString =  retString.replace(strip, "<br>\r\n");
    //retString =  retString.replace(strip, "<br>");
    strip = /["]/gi;
    retString =  retString.replace(strip, '&quot;');
    strip = /[']/gi;
    retString =  retString.replace(strip, "'");
    strip = /[ ]/gi;
    retString =  retString.replace(strip, "&nbsp;");
    return retString;
}

// 18.  HTMLÀ» alert ¿ëÀ¸·Î º¯È¯
function f_HtmlToAlert(str) {
	var strip = new RegExp();
	var retString = "";
	
	strip = /[\r][\n]/gi;
	retString =  retString.replace(strip, "\\n");
	strip = /["]/gi;
	retString =  retString.replace(strip, "\\'");
	strip = /[']/gi;
	retString =  retString.replace(strip, "\\\"");
	return retString;
}
	
// f_checkEmail ¿¡¼­ »ç¿ëÇÏ´Â ÇÔ¼ö
function f_checkHardPTNMain(email) {

	var EMAIL_ID_SIZE	= 32;
	var EMAIL_DOMAIN_SIZE = 50;
	var KRDOMAIN = "kr";
	var tempstr = 
				"ac,ad,ae,af,ag,ai,al,am,an,ao,aq,ar,as,at,au,aw,az,ba,bb,bd,"+
				"be,bf,bg,bh,bi,biz,bj,bm,bn,bo,br,bs,bt,bv,bw,by,bz,ca,cc,cd,"+
				"cf,cg,ch,ci,ck,cl,cm,cn,co,com,coop,cr,cu,cv,cx,cy,cz,de,dj,dk,"+
				"dm,do,dz,ec,edu,ee,eg,eh,er,es,et,fi,fj,fk,fm,fo,fr,ga,gd,ge,"+
				"gf,gg,gh,gi,gl,gm,gn,gov,gp,gq,gr,gs,gt,gu,gw,gy,hk,hm,hn,hr,"+
				"ht,hu,id,ie,il,im,in,info,int,io,iq,ir,is,it,je,jm,jo,jp,ke,kg,"+
				"kh,ki,km,kn,kp,kr,kw,ky,kz,la,lb,lc,li,lk,lr,ls,lt,lu,lv,ly,"+
				"ma,mc,md,mg,mh,mil,mk,ml,mm,mn,mo,mp,mq,mr,ms,mu,museum,mv,mw,mx,"+
				"my,mz,na,name,nc,ne,net,nf,ng,ni,nl,no,np,nr,nu,nz,om,org,pa,pe,"+
				"pf,pg,ph,pk,pl,pm,pn,pr,ps,pt,pw,py,qa,re,ro,ru,rw,sa,sb,sc,"+
				"sd,se,sg,sh,si,sj,sk,sl,sm,sn,so,sr,st,sv,sy,sz,tc,td,tf,tg,"+
				"th,tj,tk,tm,tn,to,tp,tr,tt,tv,tw,tz,ua,ug,uk,um,us,uy,uz,va,"+
				"vc,ve,vg,vi,vn,vu,wf,ws,ye,yt,yu,za,zm,zw";
	var topdomain = tempstr.split(",");
	tempstr = "ac,co,go,ne,or,pe,re";
	var krsubdomain = tempstr.split(",");

	// Error Return Value
	var EME_OK          = 1;
	var EME_SIZEERROR   = 2;
	var EME_FORMATERROR = 3;
	var EME_INVALIDCHAR = 4;
	var EME_NOTTOPLEVEL = 5;
	var EME_KRSUBDOMAIN = 6;
	var EME_IDSIZEERROR = 7;
	var EME_DMSIZEERROR = 8;

	// default format check
	if( email.indexOf("..") >= 0 || email.indexOf("@@") >= 0 )
		return EME_FORMATERROR;
	
	// Convert to LowerCase
	email = email.toLowerCase();
	
	// split ID, Domain
	var STR = email.split("@");
	if( STR.length != 2 ) return EME_FORMATERROR;
	
	// Domain Check
	if( STR[1].length <= 3 || STR[1].length >  EMAIL_DOMAIN_SIZE ) 
		return EME_DMSIZEERROR;
	if( STR[1].charAt(0) == '-' || STR[1].charAt(0) == '@' || STR[1].charAt(0) == '.')
	return EME_FORMATERROR;

	for(var i = 0;i < STR[1].length;i++) {
		if( isNaN(STR[1].charAt(i)) &&
		!( (STR[1].charAt(i) >= 'a' && STR[1].charAt(i) <= 'z') ) && 
			STR[1].charAt(i) != '.' && STR[1].charAt(i) != '-' && STR[1].charAt(i) != '_' )
		return EME_INVALIDCHAR;
	}

	// Check ID
	if( STR[0].length <= 0 || STR[0].length > EMAIL_ID_SIZE ) 
		return EME_IDSIZEERROR;
	for(i = 0;i < STR[0].length;i++) {
		if( isNaN(STR[0].charAt(i)) && !( (STR[0].charAt(i) >= 'a' && STR[0].charAt(i) <= 'z') ) &&
			STR[0].charAt(i) != '.' && STR[0].charAt(i) != '-' && STR[0].charAt(i) != '_' )
			return EME_INVALIDCHAR;
	}
			
	// Top Level Domain Name Check
	var Domain = STR[1].split(".");
	if( Domain.length <= 0 ) return EME_FORMATERROR;
	if( em_binarySearch(topdomain, Domain[Domain.length-1]) == false )
		return EME_NOTTOPLEVEL;
	
	// Korea Domain Check
	/*
	if( Domain[Domain.length-1] == KRDOMAIN ) {
		if( Domain.length <= 1 )  return EME_FORMATERROR;
		if( em_binarySearch(krsubdomain, Domain[Domain.length-2]) == false )
			return EME_KRSUBDOMAIN;
	}
	*/

	return EME_OK;

}

function em_binarySearch(mainnode, searchnode) {
	var h, m, l, ret;

	h = m = 0;
	l = mainnode.length-1;

	while( h <= l ) {
		m = Math.round(( h + l ) / 2);
		if( searchnode < mainnode[m] ) l = m -1;
		else if( searchnode > mainnode[m] ) h = m +1 ;
		else return true;
	}
	return false;
}

// 19. ¸Þ´º¿¡¼­ ¼±ÅÃµÈ ¸Þ´º¿¡ ´ëÇØ ÀÌ¹ÌÁö º¯È¯
function f_toggle(currentMenu) {
	if(eval("document.all."+currentMenu+"!=null")) {
		spanBlockStyle = eval("document.all." + currentMenu + ".style");

		if (spanBlockStyle.display == "block") {
			spanBlockStyle.display = "none";
		
		} else if (spanBlockStyle.display == "none") {
			spanBlockStyle.display = "block";
		}
	}
}

// 20. ÆË¾÷Ã¢ »ý¼º
function f_goPopUp(url){
	var url = url;
	window.open(url, 'demowizard', 'scrollbars=no,top=0,left=0,width=750,height=500', 'demowizard.submit()');
}


// 21. ¸Þ´º ¼¿·ºÆ®¹Ú½º ¼±ÅÃ½Ã ÆäÀÌÁö ÀÌµ¿
function f_quick(val) {
	if(val != "") {
		self.location=val;
		return;
	}
}


// 22. div ÅÂ±×ÀÇ display state change
function f_viewDiv(div_nm) {
   sub_div = eval(div_nm);
   if ( sub_div[0]== undefined ) {
      if ( sub_div.style.display== "none" ) {
         sub_div.style.display = "";
      } else {
         sub_div.style.display = "none";
      }
   } else {
      if ( sub_div[0].style.display== "none") {
         for ( var i=0; i<sub_div.length; i++ )
            sub_div[i].style.display = "";
      } else {
         for ( var i=0; i<sub_div.length; i++ )
            sub_div[i].style.display = "none";
      }
   }
}

// 23. ¹®ÀÚ¿­ÀÇ ±æÀÌ Check
function f_textLen( obj, len ) {
     var t = obj.value;
     var tmp = 0;
     var Alpha = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890~! @#$%^&*()-_=+|\}{[]:;'<>,.?/" ;
     
     if (t.length > 0 ) {
          for (i=0; i<t.length; i++){
               if(Alpha.indexOf(t.substring(i,i+1))<0) {
                    tmp = parseInt(tmp,10) + 2;
               } else {
                    tmp = parseInt(tmp,10) + 1;
               }
          }
          if (len < tmp) {
               return true;                
          }
     }
     return false;  
}

// 24. ¹®ÀÚ¿­ÀÇ ¾ÕµÚ °ø¹é¹®ÀÚ Á¦°Å
function f_trim( value ) {
     value = value.replace(/^\s*/,'').replace(/\s*$/, ''); 
     return value; 
}

// 25. ÇÚµåÆù¹øÈ£ Check [handPhoneNo -> ÇÚºêÆù¹øÈ£]
/*
function f_checkHp(handPhoneNo) {
	if ( !handPhoneNo.match ("^01[016789]-[1-9][0-9]{2,3}-[0-9]{4}$") ){
		return false;
	}
	return true;
}
*/

// 25. ÇÚµåÆù¹øÈ£ Check [hpNo1 -> ÀÌÅëÅë½Å»ç¹øÈ£ hpNo2 -> ÇÚµåÆù¹øÈ£¾ÕÀÚ¸® , hpNo3 -> ÇÚµåÆù¹øÈ£µÞÀÚ¸®]
function f_checkHp(hpNo1,hpNo2,hpNo3) {

	if( !hpNo1.match("^01[016789]$") ){
		return false;
	} else if( !hpNo2.match("^[1-9][0-9]{2,3}$") ){
		return false;
	} else if( !hpNo3.match("^[0-9]{4}$") ){
		return false;
	}

	return true;
}

// 26. ÆÛ¼¾Æ® Check(percent -> ÆÛ¼¾Æ® , decimalPlace -> ¼Ò¼öÁ¡ÀÚ¸®¼ö)
function f_checkPercent(percent,decimalPlace) {
	if( percent == '' || !percent.match("^(-?(100(\\.[0]{1," + decimalPlace
				+ "})?|[0-9]{1,2}(\\.[0-9]{1," + decimalPlace + "})?))$") ){
		return false;
	}
	return true;
}

// 27. ¼ýÀÚ¸¸À¸·Î ÀÌ·ç¾îÁ® ÀÖ´ÂÁö Check
function f_checkNumber(input) {
	if( input == '' || !input.match("^[0-9]") ){
		return false;
	}
	return true;
}

// 28. Ä«µå¹øÈ£ Çü½Ä Check
function f_isCardNo(cardNo){

	if( cardNo.match("^([1-9][0-9]{13,15})$")
		|| cardNo.match("^([1-9][0-9]{3}(-[0-9]{4}){3})$")
		|| cardNo.match("^([1-9][0-9]{5}-[0-9]{2}-[0-9]{6})$")
		|| cardNo.match("^([1-9][0-9]{3}-[0-9]{6}-[0-9]{5})$")  ){

		return true;
	}
	
	return false;
}

// 29. Ä«µå¹øÈ£ Çü½Ä Check
function f_isCardNoEach(cardNo1,cardNo2,cardNo3,cardNo4){

	if( cardNo1.match("^([1-9][0-9]{3})$") && cardNo2.match("^([0-9]{4})$")
		&& cardNo3.match("^([0-9]{4})$") && cardNo4.match("^([0-9]{4})$") ){
		
		return true;
	}
	
	return false;
}

// 30. ¼ýÀÚ¿Í ÀüÈ­¹øÈ£¿¡ »ç¿ëµÇ´Â "-"¸¸ ÀÔ·Â °¡´ÉÇÏ°Ô ÇÏ´Â ÇÔ¼ö
// »ç¿ë¹ý : <input type="text" onKeyPress="f_onlyPhone()">
function f_onlyPhone() {
   if( (window.event.keyCode < 48 || window.event.keyCode > 57) && window.event.keyCode != 45 ) {
        window.event.keyCode = 0;
    }
}



// 31. 3ÀÚ¸®¼ö¸¶´Ù comman(,) ³Ö±â
function f_comma( obj ) {

    var input = obj.value;
    var out = "";
    var pointflag = false;
    var pidx = 0;       // ¼Ò¼öÁ¡ÀÇ À§Ä¡

    input = f_uncomma(input);

    // +/- °ªÀÇ °æ¿ì¸¦ Ã³¸®ÇÑ´Ù.
    if( input.charAt(0) == "+" ||
            input.charAt(0) == "-" ){
            out = input.charAt(0);
            input = input.substring(1);
    }

    // ¼Ò¼öÁ¡ÀÇ À§Ä¡¸¦ ÆÄ¾ÇÇÑ´Ù.
    pidx = input.indexOf(".");
    if( pidx < 0 ) pidx = input.length;

    for(i = 0;i < input.length;i++) {

        if( input.charAt(i) == "." ) pointflag = true;

        if( pointflag == false && i != 0 && (i-pidx) % 3 == 0 )
              out += ",";

        out += input.charAt(i);
    }

    obj.value = out;
}

// 32. comman(,) Á¦°ÅÇÏ±â
function f_uncomma( input ) {
    var cnt = input.split(",");
    input = "";
    for(i=0;i< cnt.length;i++) {
        input += cnt[i];
    }

    // ÀÔ·Â°ªÀÌ ¼ýÀÚÀÎÁö °Ë»çÇÑ´Ù.
    if( isNaN(input) ) {
        f_alert("ÀÔ·Â°ªÀÌ ¼ýÀÚ°¡ ¾Æ´Õ´Ï´Ù. ´Ù½ÃÀÔ·ÂÇØÁÖ¼¼¿ä!",300,140,'');
        return;
    }

    return input;
}

// 33. °Ë»ö ³â¿øÀÏ°£ÀÇ ¿ù Â÷ÀÌ°¡ ÁöÁ¤ÇÑ ¼öÄ¡º¸´Ù ÀÛÀºÁö Ã¼Å©
function f_limitMonthCheck(checkDate1,checkDate2,limitMonth){

	var monthCnt1 = checkDate1.substring(0,4) * 12 + checkDate1.substring(4,6) * 1;
	var monthCnt2 = checkDate2.substring(0,4) * 12 + checkDate2.substring(4,6) * 1;

	var monthes = monthCnt2 - monthCnt1;

	if( monthes >= 0 && monthes < limitMonth ){
		return true;
	} else {
		return false;
	}
}

// 34. »ç¾÷ÀÚ¹øÈ£ Ã¼Å©
function f_checkBizNo( bizNo ) {
	// bizNo´Â ¼ýÀÚ¸¸ 10ÀÚ¸®·Î ÇØ¼­ ¹®ÀÚ¿­·Î ³Ñ±ä´Ù.
	var checkID = new Array(1, 3, 7, 1, 3, 7, 1, 3, 5, 1);
	var tmpBizNo, i, chkSum=0, c2, remander;

	for(i=0; i<=7; i++)
		chkSum += checkID[i] * bizNo.charAt(i);

	c2 = "0" + (checkID[8] * bizNo.charAt(8));
	c2 = c2.substring(c2.length - 2, c2.length);

	chkSum += Math.floor(c2.charAt(0)) + Math.floor(c2.charAt(1));

	remander = (10 - (chkSum % 10)) % 10 ;

	if( Math.floor(bizNo.charAt(9)) == remander )
		return true; // OK!

	return false;
}


// 35. ÁÖ¹Î¹øÈ£ Check
function f_checkRegno(reg_no1, reg_no2) {

    // ³»±¹ÀÎ ÁÖ¹Î¹øÈ£(1/2) Check
    if( reg_no2.charAt(0) == "1" || reg_no2.charAt(0) == "2" ) {

        var chk =0;
        var yy = reg_no1.substring(0,2);
        var mm = reg_no1.substring(2,4);
        var dd = reg_no1.substring(4,6);
        var sex = reg_no2.substring(0,1);

        if( reg_no2.split(" ").join("") == "" ) {
            f_alert('ÁÖ¹Î¹øÈ£¸¦ Á¤È®ÇÏ°Ô ÀÔ·ÂÇÏ¿© ÁÖ¼¼¿ä.',300,140,'');
            return false; }

        if( reg_no1.length != 6 )   {
            f_alert ('ÁÖ¹Îµî·Ï¹øÈ£ ¾ÕºÎºÐÀÌ Àß¸øµÇ¾ú½À´Ï´Ù.',300,140,'');
            return false;    }

        if( reg_no2.length != 7 ) {
            f_alert ('ÁÖ¹Îµî·Ï¹øÈ£ µÞºÎºÐÀÌ Àß¸øµÇ¾ú½À´Ï´Ù.',300,140,'');
            return false;    }

        if( isNaN(reg_no1) || isNaN(reg_no2) ) {
            f_alert('ÁÖ¹Îµî·Ï¹øÈ£´Â ¼ýÀÚ¸¸ °¡´ÉÇÕ´Ï´Ù.',300,140,'');
            return false;   }

        if( (reg_no1.length != 6) || (mm < 1 || mm > 12 || dd < 1) ) {
            f_alert ('ÁÖ¹Îµî·Ï¹øÈ£ ¾ÕºÎºÐÀÌ Àß¸øµÇ¾ú½À´Ï´Ù.',300,140,'');
            return false;    }

        if( (sex != 1 && sex != 2) || (reg_no2.length != 7) ) {
            f_alert ('ÁÖ¹Îµî·Ï¹øÈ£ µÞºÎºÐÀÌ Àß¸øµÇ¾ú½À´Ï´Ù.',300,140,'');
            return false;    }

        for( var i = 0; i <=5 ; i++ ) {
            chk = chk + ((i%8+2) * parseInt(reg_no1.substring(i,i+1)))    }

        for( var i = 6; i <=11 ; i++ ) {
            chk = chk + ((i%8+2) * parseInt(reg_no2.substring(i-6,i-5)))    }

        chk = 11 - (chk %11)
        chk = chk % 10

        if( chk != reg_no2.substring(6,7) ) {
            f_alert ('À¯È¿ÇÏÁö ¾ÊÀº ÁÖ¹Îµî·Ï¹øÈ£ÀÔ´Ï´Ù.',300,140,'');
            return false;    }

        // À±´Þ Check Ãß°¡ (2002.09.18)
        var yyyy = 1900 + yy;
        var yundal = true;
        if( mm == 4 || mm == 6 || mm == 9 || mm == 11 ) {
            if ( dd > 30 ) yundal = false;

        } else if( mm == 2 ) {

            if( yy % 400 == 0 ) {
                if( dd > 29 ) yundal = false;
            } else {

                if( yy % 100 != 0 ) {
                    if( yy % 4 == 0 ) {
                        if ( dd > 29 ) yundal = false;
                    } else {
                        if ( dd > 28 ) yundal = false;
                    }
                } else {
                    if( dd > 28 ) yundal = false;
                }
            }
        }

        if( yundal == false ) {
            f_alert('À¯È¿ÇÏÁö ¾ÊÀº ÁÖ¹Îµî·Ï¹øÈ£ÀÔ´Ï´Ù. ',300,140,'');
            return false;
        }
        return true;

    // ¿Ü±¹ÀÎ ÁÖ¹Î¹øÈ£(5/6) Check
    } else if( reg_no2.charAt(0) == "5" || reg_no2.charAt(0) == "6" ) {

        var reg_no = reg_no1 + reg_no2;

        if( reg_no == '' ) {
            f_alert('¿Ü±¹ÀÎµî·Ï¹øÈ£¸¦ Á¤È®ÇÏ°Ô ÀÔ·ÂÇÏ¿© ÁÖ¼¼¿ä.',300,140,'');
            return false;
        }

        if( reg_no.length != 13 ) {
            f_alert('¿Ü±¹ÀÎµî·Ï¹øÈ£ ÀÚ¸®¼ö°¡ ¸ÂÁö ¾Ê½À´Ï´Ù.',300,140,'');
            return false;
        }

        if( (reg_no.charAt(6) == "5") || (reg_no.charAt(6) == "6") ) {
            yy = "19";
        } else if( (reg_no.charAt(6) == "7") || (reg_no.charAt(6) == "8") ) {
            yy = "20";
        } else if( (reg_no.charAt(6) == "9") || (reg_no.charAt(6) == "0") ) {
            yy = "18";
        } else {
            f_alert("µî·Ï¹øÈ£¿¡ ¿À·ù°¡ ÀÖ½À´Ï´Ù. ´Ù½Ã È®ÀÎÇÏ½Ê½Ã¿À.",300,140,'');
            return false;
        }

        yy += reg_no.substr(0, 2);
        mm = reg_no.substr(2, 2) - 1;
        dd = reg_no.substr(4, 2);
        birth = new Date(yy, mm, dd);

        if( birth.getYear() % 100 != reg_no.substr(0, 2) || birth.getMonth() != mm || birth.getDate() != dd ) {
            f_alert('»ý³â¿ùÀÏ¿¡ ¿À·ù°¡ ÀÖ½À´Ï´Ù. ´Ù½Ã È®ÀÎÇÏ½Ê½Ã¿À.',300,140,'');
            return false;
        }


        // Check Logic

        var sum = 0;
        var odd = 0;

        buf = new Array(13);
        for( i = 0; i < 13; i++ )
            buf[i] = parseInt(reg_no.charAt(i));

        odd = buf[7]*10 + buf[8];

        if( odd % 2 != 0 ) {
            f_alert('¿Ü±¹ÀÎµî·Ï¹øÈ£¿¡ ¿À·ù°¡ ÀÖ½À´Ï´Ù. ´Ù½Ã È®ÀÎÇÏ½Ê½Ã¿À.',300,140,'');
            return false;
        }

        if( (buf[11] != 6) && (buf[11] != 7) && (buf[11] != 8) && (buf[11] != 9) ) {
            f_alert('¿Ü±¹ÀÎµî·Ï¹øÈ£¿¡ ¿À·ù°¡ ÀÖ½À´Ï´Ù. ´Ù½Ã È®ÀÎÇÏ½Ê½Ã¿À.',300,140,'');
            return false;
        }

        multipliers = [2,3,4,5,6,7,8,9,2,3,4,5];
        for( i=0, sum=0; i<12; i++ )
            sum += (buf[i] *= multipliers[i]);

        sum = 11 - (sum%11);

        if( sum >= 10 ) sum -= 10;

        sum += 2;

        if( sum >= 10 ) sum -= 10;

        if( sum != buf[12] ) {
            f_alert('¿Ü±¹ÀÎµî·Ï¹øÈ£¿¡ ¿À·ù°¡ ÀÖ½À´Ï´Ù. ´Ù½Ã È®ÀÎÇÏ½Ê½Ã¿À.',300,140,'');
            return false;
        } else {
            return true;
        }

    // ±× ¿Ü´Â Error
    } else {
        f_alert('À¯È¿ÇÏÁö ¾ÊÀº ÁÖ¹Îµî·Ï¹øÈ£ÀÔ´Ï´Ù. ',300,140,'');
        return false;
    }
}

// 36. ¿À´Ã³¯Â¥¿¡ ³¯Â¥¸¦ ´õÇÑ ³¯Â¥ÀÇ ³â¿ùÀÏ(¹®ÀÚ,8ÀÚ¸®)¸¦ ±¸ÇÑ´Ù.
function addDay(ammount) {

	// ÇöÀçÀÏÀÚÀÇ Date°´Ã¼ »ý¼º
	var today = new Date();
	// °è»êÀ» À§ÇÑ ³¯Â¥ °´Ã¼ ¼±¾ð
	var oDate; 
	
	var year = today.getYear();		// ÇöÀç³âµµ
	var month = today.getMonth();	// ÇöÀç¿ù
	var day = today.getDate();		// ÇöÀçÀÏ


	// ³¯Â¥ °è»ê
	day = day*1 + ammount*1; 

	// °è»êÀ» À§ÇÑ ³¯Â¥ °´Ã¼ »ý¼º (°´Ã¼¿¡¼­ ÀÚµ¿ °è»ê)
	oDate = new Date(year, month, day) 

	var cal_year  = oDate.getYear() + "";		// °è»ê³âµµ
	var cal_month = (oDate.getMonth()+1) + "";	// °è»ê¿ù
	// °è»ê¿ùÀ» µÎÀÚ¸® ¹®ÀÚ¿­·Î º¯È¯
	if( cal_month.length == 1 ){
		cal_month = "0" + cal_month;
	}
	var cal_day   = oDate.getDate() + "";		// °è»êÀÏ
	// °è»êÀÏÀ» µÎÀÚ¸® ¹®ÀÚ¿­·Î º¯È¯
	if( cal_day.length == 1 ){
		cal_day = "0" + cal_day;
	}


	// °è»êµÈ ³â¿ùÀÏÀÇ 8ÀÚ¸® ¹®ÀÚ¿­ ¹ÝÈ¯
	return cal_year + cal_month + cal_day;
}

// 37. ÁÖ¾îÁø ³¯Â¥(yyyymmdd)¿¡ ³¯Â¥¸¦ ´õÇÑ ³¯Â¥ÀÇ ³â¿ùÀÏ(¹®ÀÚ,8ÀÚ¸®)¸¦ ±¸ÇÑ´Ù.
function addDayTheDay(ymd,ammount) {

	// ¹®ÀÚ¿­·Îº¯È¯
	ymd = ymd + "";

	var year = eval(ymd.substring(0,4));		// ÇöÀç³âµµ
	var month = eval(ymd.substring(4,6)) - 1;	// ÇöÀç¿ù
	var day = eval(ymd.substring(6,8));			// ÇöÀçÀÏ
	
	// ³¯Â¥ °è»ê
	day = day*1 + ammount*1; 

	// °è»êÀ» À§ÇÑ ³¯Â¥ °´Ã¼ »ý¼º (°´Ã¼¿¡¼­ ÀÚµ¿ °è»ê)
	var oDate = new Date(year, month, day) 

	var cal_year  = oDate.getYear() + "";		// °è»ê³âµµ
	var cal_month = (oDate.getMonth()+1) + "";	// °è»ê¿ù
	// °è»ê¿ùÀ» µÎÀÚ¸® ¹®ÀÚ¿­·Î º¯È¯
	if( cal_month.length == 1 ){
		cal_month = "0" + cal_month;
	}
	var cal_day   = oDate.getDate() + "";		// °è»êÀÏ
	// °è»êÀÏÀ» µÎÀÚ¸® ¹®ÀÚ¿­·Î º¯È¯
	if( cal_day.length == 1 ){
		cal_day = "0" + cal_day;
	}


	// °è»êµÈ ³â¿ùÀÏÀÇ 8ÀÚ¸® ¹®ÀÚ¿­ ¹ÝÈ¯
	return cal_year + cal_month + cal_day;
}

// 38. ¿À´Ã³¯Â¥¿¡ ¿ùÀ» ´õÇÑ ³¯Â¥ÀÇ ³â¿ùÀÏÀ»(¹®ÀÚ,8ÀÚ¸®) ±¸ÇÑ´Ù.
function addMonth(ammount) {

	// ÇöÁ¦ÀÏÀÚÀÇ Date°´Ã¼ »ý¼º
	var cDate = new Date();
	// °è»êÀ» À§ÇÑ ³¯Â¥ °´Ã¼ ¼±¾ð
	var oDate; 

	var year = cDate.getYear();		// ÇöÀç³âµµ
	var month = cDate.getMonth();	// ÇöÀç¿ù
	var day = cDate.getDate();		// ÇöÀçÀÏ

	// ¿ù°è»ê
	month = month*1 + (ammount*1);

	// °è»êÀ» À§ÇÑ ³¯Â¥ °´Ã¼ »ý¼º (°´Ã¼¿¡¼­ ÀÚµ¿ °è»ê)
	oDate = new Date(year, month, day);

	// ÇöÀç¿ùÀÇ ³¯ÀÚ°¡ °è»êµÇ¾îÁø ¿ù¿¡ ¾ø´Ù¸é °è»ê¿ùÀÇ ¸¶Áö¸·ÀÏÀÚ°¡ ³ª¿Àµµ·Ï ³¯Â¥°´Ã¼ ´Ù½Ã »ý¼º
	oDate = (day == oDate.getDate()) ? oDate : new Date(oDate.getYear(), oDate.getMonth(), 0); 

	var cal_year  = oDate.getYear() + "";		// °è»ê³âµµ
	var cal_month = (oDate.getMonth()+1) + "";	// °è»ê¿ù
	// °è»ê¿ùÀ» µÎÀÚ¸® ¹®ÀÚ¿­·Î º¯È¯
	if( cal_month.length == 1 ){
		cal_month = "0" + cal_month;
	}
	var cal_day   = oDate.getDate() + "";		// °è»êÀÏ
	// °è»êÀÏÀ» µÎÀÚ¸® ¹®ÀÚ¿­·Î º¯È¯
	if( cal_day.length == 1 ){
		cal_day = "0" + cal_day;
	}

	return cal_year + cal_month + cal_day;
}

// 39. ÁÖ¾îÁø ³¯Â¥(yyyymmdd)¿¡ ¿ùÀ» ´õÇÑ ³¯Â¥ÀÇ ³â¿ùÀÏÀ»(¹®ÀÚ,8ÀÚ¸®) ±¸ÇÑ´Ù.
function addMonthTheDay(ymd, ammount) {

	// ¹®ÀÚ¿­·Îº¯È¯
	ymd = ymd + "";

	var year = eval(ymd.substring(0,4));		// ÇöÀç³âµµ
	var month = eval(ymd.substring(4,6)) - 1;	// ÇöÀç¿ù
	var day = eval(ymd.substring(6,8));			// ÇöÀçÀÏ

	// ¿ù°è»ê
	month = month*1 + (ammount*1);

	// °è»êÀ» À§ÇÑ ³¯Â¥ °´Ã¼ »ý¼º(°´Ã¼¿¡¼­ ÀÚµ¿ °è»ê)
	var oDate = new Date( year, month, day );

	// ÇöÀç¿ùÀÇ ³¯ÀÚ°¡ °è»êµÇ¾îÁø ¿ù¿¡ ¾ø´Ù¸é °è»ê¿ùÀÇ ¸¶Áö¸·ÀÏÀÚ°¡ ³ª¿Àµµ·Ï ³¯Â¥°´Ã¼ ´Ù½Ã »ý¼º
	oDate = (day == oDate.getDate()) ? oDate : new Date(oDate.getYear(), oDate.getMonth(), 0); 
	
	var cal_year = oDate.getYear() + "";			// °è»ê³âµµ
	var cal_month = (oDate.getMonth() + 1) + "";	// °Ô»ê¿ù
	// °è»ê¿ùÀ» µÎÀÚ¸® ¹®ÀÚ¿­·Î º¯È¯
	if (cal_month.length == 1) {
		cal_month = "0" + cal_month;
	}
	var cal_day = oDate.getDate() + "";
	// °è»êÀÏÀ» µÎÀÚ¸® ¹®ÀÚ¿­·Î º¯È¯
	if (cal_day.length == 1) {
		cal_day = "0" + cal_day;
	}

	return cal_year + cal_month + cal_day;
}

// 40. ÁÖ¹®¹øÈ£ »ý¼º
function f_orderno_create(){
	var day = new Date();
	var ran=Math.random().toString();
	var real=ran.substring(3,ran.length);
	var prefix = "qvj";

	return prefix+day.getFullYear()+'_'+(day.getMonth()+1)+'_'+day.getMinutes()+'_'+day.getSeconds()+'_'+real;
}

// 41. explore°ü·Ã Ãß°¡1
function allatwrite(arg){
	document.write(arg);
}
//42. explore°ü·Ã Ãß°¡1(Object)
function allatobject(id,style,classid,codebase){
	allatwrite('<object id='+id+' style='+style 
	+' viewastext classid='+classid
	+' codebase='+codebase+'></object>');		
}

//43. explore°ü·Ã Ãß°¡2(Object)
function allatobject1(classid,codebase,width,height,param){
	document.write('<object classid='+classid+' codebase='+codebase+' width='+width+' height='+height+'>'+param+'</object>');		
}

//44. String¿¡ 3ÀÚ¸® ´ÜÀ§·Î "," Ãß°¡( ¿¹ : ±Ý¾×Ç¥½Ã )
function f_commaValue(str) {
	this.str = str;
	len = str.length;
	str1 = "";

	for(i=1; i<=len; i++) {
		str1 = str.charAt(len-i)+str1;
		if((i%3 == 0)&&(len-i != 0)) str1 = ","+str1;
	}
	return str1;
}

//45. ÆË¾÷Ã¢( showModalDialog »ç¿ë )
function alertWin(sURL,sWidth,sHeight,sTop,sLeft,sResize) {
	var sFeatures = new Array();

	sFeatures[0] = (sWidth > 0)? "dialogWidth:"+sWidth+"px":"dialgWidth:300px";
	sFeatures[1] = (sHeight > 0)? "dialogHeight:"+sHeight+"px":"dialogHeight:300px";
	sFeatures[2] = (sTop > 0)? "dialogTop:"+sTop+"px":"";
	sFeatures[3] = (sLeft > 0)? "dialogLeft:"+sLeft+"px":"";
	sFeatures[4] = (!sTop && !sLeft)? "center:Yes":"";
	sFeatures[5] = (sResize)? "resizeable:"+sResize:"resizeable:No";
//	sFeatures[6] = (sScroll)? "scroll:"+sScroll:"scroll:No";
	sFeatures[6] = "help:No";
	sFeatures[7] = "status:No";

	sFeatures = sFeatures.join(";");

	window.showModalDialog(sURL,self,sFeatures);
}

// 46. ÀüÈ­¹øÈ£/ÈÞ´ëÆù ¹øÈ£ Ã¼Å©('-' Æ÷ÇÔ ¶Ç´Â ¹ÌÆ÷ÇÔ °¡´É)
function f_checkPhoneFree(phoneNo){
	if( f_trim(phoneNo) == '' ) return false;
	// ÈÞ´ëÆù¹øÈ£ Ã¼Å©
	if( phoneNo.match("^01[016789]-?[1-9][0-9]{2,3}-?[0-9]{4}$") ) return true;
	// ÀüÈ­¹øÈ£ Ã¼Å©
	if( phoneNo.match("^(0(2|80|50[1-9]|[13-9][0-9])-?)?[0-9]{3,4}-?[0-9]{4}$") ) return true;

	return false;
}

// 47. ¹®ÀÚ¿­ ±æÀÌ ¹ÝÈ¯
function chkLength( str ) {
	var i,ch;
	var strLength = str.length;
	var count = 0;

	for(i=0;i<strLength;i++) {
		ch = escape(str.charAt(i));
		if(ch.length > 4)
			count += 2;
		else if(ch!='\r')
			count++;
	}
	return count;
}

// 48. checkBox ¸¦ ¸ðµÎ Check/UncheckedÇÏ´Â ÇÔ¼ö : input (Form name + Form Input Field)
function f_checkAll(input) {
    var field = eval(input);

    if (field == undefined) {
        alert('Ã¼Å© ´ë»ó Ç×¸ñÀÌ ¾ø½À´Ï´Ù!');
        return;
    }

    var len = field.length;

    if(len == undefined) {
        if(field.checked == true) field.checked = false;
        else field.checked = true;
    } else {
		var bCheckFlag = false;
		var selCount = 0;
		var halfLen = Math.round(len / 2);

		for(var i = 0; i < len; i++) {
			if(field[i].checked == true) selCount++;
		}
		
		if(selCount == 0) bCheckFlag = true;
		else if(selCount == len) bCheckFlag = false;
		else if(selCount >= halfLen) bCheckFlag = true;

		for(var i = 0; i < len; i++) {
			if(bCheckFlag) {
				field[i].checked = true;
			} else {
				field[i].checked = false;
			}
		}
    }

	//return true;
}

// ÀÏÀÚ ¼¼ÆÃ
function f_dateChange(period){

	var cDate = new Date();
	var year = cDate.getYear();		// ÇöÀç³âµµ
	var month = cDate.getMonth()+1;	// ÇöÀç¿ù
	var day = cDate.getDate();		// ÇöÀçÀÏ

	if(month < 10) month = "0" + month;
	else month = "" + month;
	if(day < 10) day = "0" + day;
	else day = "" + day;

	var today = year + month + day;	// ¿À´Ã³¯Â¥
	var firstDay = year + month + "01";	// ´ç¿ùÀÇ 1ÀÏ

	if(period == 'day'){	
		fm.start_ymd.value = today;
	}else if(period == 'week'){	
		fm.start_ymd.value = addDay(-6);
	}else if(period == 'month'){
		fm.start_ymd.value = firstDay;
	}else if(period == '2months'){
		fm.start_ymd.value = addMonthTheDay(firstDay,-1);
	}
	fm.end_ymd.value = today;
}

//50 ÆË¾÷
function f_popup(url,width,height){
	window.open(url,'common_popup','width='+width+',height='+height+',scrollbars=yes');
}

// Æ¯Á¤ÇÊµå¿¡ ÀÏÀÚ ¼¼ÆÃ
function f_dateChangeField(period,startField,endField){

	var cDate = new Date();
	var year = cDate.getYear();		// ÇöÀç³âµµ
	var month = cDate.getMonth()+1;	// ÇöÀç¿ù
	var day = cDate.getDate();		// ÇöÀçÀÏ

	if(month < 10) month = "0" + month;
	else month = "" + month;
	if(day < 10) day = "0" + day;
	else day = "" + day;

	var today = year + month + day;	// ¿À´Ã³¯Â¥
	var firstDay = year + month + "01";	// ´ç¿ùÀÇ 1ÀÏ

	if(period == 'day'){
		startField.value = today;
	}else if(period == 'week'){	
		startField.value = addDay(-6);
	}else if(period == 'month'){
		startField.value = firstDay;
	}else if(period == '2months'){
		startField.value = addMonthTheDay(firstDay,-1);
	}
	endField.value = today;
}
