function util_gage_str (str)
{
  for (i=0, width=0; i < str.length; i++) {
    if (str.charAt(i) == 'W')
      width += 1.7;
    else if (str.charAt(i) == '.')
      width += 0.46;
    else if (str.charAt(i) == ' ')
      width += 0.46;
    else if (str.charCodeAt(i) > 128)
      width += 1.8;
    else
      width += 1.0;
  }
  return width;
}
function util_cut_str (str, len, tail)
{
  for (i=0, width=0; width < len && i < str.length; i++) {
    if (str.charAt(i) == 'W')
      width += 1.7;
    else if (str.charAt(i) == '.')
      width += 0.46;
    else if (str.charAt(i) == ' ')
      width += 0.46;
    else if (str.charCodeAt(i) > 128)
      width += 1.8;
    else
      width += 1.0;
  }
  if (i < str.length)
    return str.substr(0, i - tail.length) + tail;
  else
    return str;
}

function calc_strlen (str)
{
  var len = 0;

  for (var i=0; i < str.length; i++) {
    var n = str.charCodeAt(i);
    if ((n >= 0)  && (n < 256))
      len ++;
    else
      len += 2;
  }
  return len;
}

function util_strlen (str)
{
  var len = 0;

  for (var i=0; i < str.length; i++) {
    if (str.charCodeAt(i) > 128)
      len += 2;
    else
      len ++;
  }

  return len;
}

var engine_ver = Number(ScriptEngineMajorVersion() + "." + ScriptEngineMinorVersion())
// function 'by_pass' is needed by do_something_by_regExp
function _util_by_pass (str)
{
  return str;
}
// do someting with regular expression match result
// do func_inc with matched and do func_exc with unmatched
function util_do_something_by_regExp (str, regexp, func_inc, func_exc)
{
  var result	= "";
  var stpt	= 0;
  var resTag;
  if ('undefined' == typeof(func_inc) || !func_exc)
    func_exc = _util_by_pass;
  if ('undefined' == typeof(func_inc) || !func_inc)
    func_inc = _util_by_pass;
  while (resTag = regexp.exec(str)) {
    result += func_exc(str.substr(stpt, resTag.index - stpt));
    result += func_inc(str.substr(resTag.index, resTag.lastIndex - resTag.index));
    if (engine_ver < 5.5)
      str = str.substr(resTag.lastIndex);
    else
      stpt = resTag.lastIndex;
  }
  result += func_exc(str.substr(stpt));
  return result;
}

//ÁÖ¾îÁø ¹®ÀÚ¿­ÀÌ ¿µ¾î ÀÎÁö Ã¼Å©
function check_eng(str)
{
  for (var i = 0 ; i < str.length; i++) {
    if ( (str.charCodeAt(i) >= 65 && str.charCodeAt(i) <= 90) || (str.charCodeAt(i) >= 97 && str.charCodeAt(i) <= 122)){;}
    else{ return false; }
 
  }//end for
  return true;
}//end function check_eng;

function chk_num(str)
{
  for (var i = 0 ; i < str.length; i++) {
    if ( (str.charCodeAt(i) >= 48 && str.charCodeAt(i) <= 57) ){;}
    else{ return false; }
   }//end for
  return true;
}//end function check_eng;


//»ç¿ëÀÚ ¾ÆÀÌµð Ã¼Å©
//¿µ¹®°ú ¼ýÀÚ¸¸ Çã¿ë Æ¯¼ö¹®ÀÚ ÀÏÄ¡ »ç¿ë¾ÈµÊ
//¼ýÀÚ·ÎµÈ ¾ÆÀÌµðµµ ¾ÈµÊ
//²À ¿µ¹®À¸·Î ½ÃÀÛµÊ
function chk_userid(str)
{
	if( str.charCodeAt(0) >= 48 && str.charCodeAt(0) <= 57 ) return false;

	 for (var i = 0 ; i < str.length; i++) {
	    if ( (str.charCodeAt(i) >= 65 && str.charCodeAt(i) <= 90) || (str.charCodeAt(i) >= 97 && str.charCodeAt(i) <= 122) || (str.charCodeAt(i) >= 48 && str.charCodeAt(i) <= 57 ) ){;}
	    else{ return false; }
	}//end for
  return true;
}

function TYPEOBJ(target)
{
	return (typeof(target) == "object" && !IsNull(target)) ;
}

function TYPENUM(target)
{
	if (!TYPEUNDEF(target))
	{
		return (!isNaN(target)) ;
	}

	return (typeof(target) == "number") ;
}

function TYPESTR(target)
{
	return (typeof(target) == "string") ;
}

function TYPEUNDEF(target)
{
	return (typeof(target) == "undefined") ;
}

function TYPEBOOL(target)
{
	return (typeof(target) == "boolean") ;
}

function TYPEFUNC(target)
{
	return (typeof(target) == "function") ;
}

function TYPEUNK(target)
{
	return (typeof(target) == "unknown") ;
}

function IsNull(target)
{
	return (target == null) ;
}


function LEFT(string, nLen)
{
	if (!TYPESTR(string) || !TYPENUM(nLen)) return "" ;

	return string.substring(0, CINT(nLen)) ;
}

function RIGHT(string, nLen)
{
	if (!TYPESTR(string) || !TYPENUM(nLen)) return "" ;

	return string.substring(string.length - CINT(nLen)) ;
}

function MID(string, nSIndex, nLen)
{
	var ret = "" ;
	if (!TYPESTR(string) || !TYPENUM(nSIndex)) return "" ;
	
	if (TYPENUM(nLen))
		return string.substring(CINT(nSIndex), CINT(nSIndex) + CINT(nLen)) ;
	else
		return string.substring(CINT(nSIndex)) ;
}

function TRIM(string)
{
	var str = string ;
	str = LTRIM(str) ;
	str = RTRIM(str) ;

	return str ;
}

function LTRIM(string)
{
	var str = CSTR(string) ;
	while (str.charAt(0) == ' ')
	{
		str = MID(str, 1) ;
	}

	return str ;
}

function RTRIM(string)
{
	var str = CSTR(string) ;
	while (str.charAt(str.length - 1) == ' ')
	{
		str = LEFT(str, str.length - 1) ;
	}

	return str ;
}


function CSTR(obj)
{
	return obj.toString() ;
}

function CINT(obj)
{
	if (TYPENUM(obj))
	{
		return parseInt(obj) ;
	}
	else
	{
		error(CSTR(obj) + "´Â intÇüÀ¸·Î Ä¡È¯ÀÌ ºÒ°¡´ÉÇÕ´Ï´Ù. -1ÀÌ ¸®ÅÏµË´Ï´Ù.") ;
		return -1 ;
	}
}

function error(msg,obj)
{
	alert(msg);
	if( obj ) obj.focus();
}

//ÁÖ¹Î¹øÈ£ °Ë»ç
	function chk_resinum(num1, num2)
	{
		if( num1.length != 6 || num2.length != 7 ) return false;

		var f1 = num1.substring(0, 1) 
		var f2 = num1.substring(1, 2) 
		var f3 = num1.substring(2, 3) 
		var f4 = num1.substring(3, 4) 
		var f5 = num1.substring(4, 5) 
		var f6 = num1.substring(5, 6) 
		var hap = f1 * 2 + f2 * 3 + f3 * 4 + f4 * 5 + f5 * 6 + f6*7 
		var l1 = num2.substring(0, 1) 
		var l2 = num2.substring(1, 2) 
		var l3 = num2.substring(2, 3) 
		var l4 = num2.substring(3, 4) 
		var l5 = num2.substring(4, 5) 
		var l6 = num2.substring(5, 6) 
		var l7 = num2.substring(6, 7) 
		hap = hap + l1 * 8 + l2 * 9 + l3 * 2 + l4 * 3 + l5 * 4 + l6 * 5;
		hap = hap % 11;
		hap = 11 - hap;
		hap = hap % 10;
		 
		if (hap != l7)
		  return false; 
		else
			return true;
	}
/******************************************
Descript 2002. 1. 5
ÁÖ¹Î¹øÈ£ Ã¼Å©
******************************************/
/*
function chk_renum()
{
	var obj1 = document.write_form.jumin1;
	var obj2 = document.write_form.jumin2;

	if(obj1.value.length < 6 || obj2.value.length < 7) return false
	
	jumin = obj1.value  + obj2.value //¹®ÀÚ¿­À» ´õÇÑ °Í.. 

	gop="234567892345"//¿¬»êÀ» À§ÇØ¼­ ÇÊ¿äÇÑ °Í.. 
	var i=0
  sum=0
  while(i<=5) 
  {
		tmp1=jumin.charAt(i) //ÁÖ¹Îµî·Ï ¹øÈ£ÀÇ i¹øÂ° ÀÖ´Â ±ÛÀÚ¸¦ ¶æÇÔ..
    tmp2=gop.charAt(i)
		sum+=eval(tmp1*tmp2)
    i++
   }

   i=6
   while(i<=11) 
   {
     tmp1=jumin.charAt(i) //charAt(i)¿¡¼­ A´Â ´ë¹®ÀÚ·Î Ç¥±â.
     tmp2=gop.charAt(i)
     sum+=eval(tmp1*tmp2)
     i++
    }

   endpoint=11-(sum % 11)+""
   endpoint=endpoint.substring(endpoint.length-1,endpoint.length)
   bunho=jumin.charAt(12)+""
   if(bunho!=endpoint){
		 return false; 
	 }
   return true;

 }
*/

//»ç¾÷ÀÚ ¹øÈ£ Ã¼Å©
function chk_biznum(num)
{
	var cdV = num;
	var calStr1 = "13713713", biVal = 0, tmpCal;
	var calLast = cdV.substring(9,10);

	for (i=0; i < 8; i++) {
		biVal = biVal + (parseFloat(cdV.substring(i,i+1)) * parseFloat(calStr1.substring(i,i+1))) % 10;
	}

	tmpCal = parseFloat(cdV.substring(8,9)) * 5 + "0";
	chkVal = parseFloat(tmpCal.substring(0,1)) + parseFloat(tmpCal.substring(1,2));
	chkDigit = (10 - (biVal + chkVal) % 10) % 10;

	if (calLast != chkDigit) {
		return false;
	}else{
		return true;
	}
}

/////////////////////////////////////////////////
//email check
function chk_email(em) 
{
	var supported = 0; 
	
	// regular expression Áö¿ø ¿©ºÎ Á¡°Ë 
	if (window.RegExp) 
	{ 
		var tempStr = "a"; 
		var tempReg = new RegExp(tempStr); 
		if (tempReg.test(tempStr)) supported = 1; 
	}// end of if(windw.RegExp) 

	if (!supported) 
	{//Áö¿øÀÌ ¾ÈµÉ°æ¿ì¿¡´Â '@'ÀÌ°¡ ÇÏ³ª ÃÊ°ú '.'ÀÌ 2°³ ÃÊ°ú µÇ¸é ¸Þ¼¼Áö ¶ì¿ò... 
		if( (em.indexOf(".") > 2) && (em.indexOf("@") > 0)){ return false;}
	}else{ 
		//Áö¿øÀÌ µÉ°æ¿ì¿¡´Â ¾Æ·¡ÀÇ ³»¿ëÀÌ µË´Ï´Ù. 
		var epattern = new RegExp("^([a-zA-Z0-9\-\_]{3,20})" + "@" + "([a-zA-Z0-9\-\_]{3,20})" + "." + "([a-zA-Z0-9\-\_\.]{3,5})$" ); 
		if( !epattern.test(em)) return false;

	}// end of if(!supported) 
	return true;
} 

function openEzWin(sUrl,sName,iWidth,iHeight)
{
	var xewin = window.open(sUrl,sName,"width=" + iWidth + ",height=" + iHeight);
	xewin.focus();
}

function openWin(sUrl,sName,iWidth,iHeight,features)
{
	var xwin = window.open(sUrl,sName,"width=" + iWidth + ",height=" + iHeight + "," + features);
	xwin.focus();
}

function echo(str)
{
	document.write(str);
}

//¼ýÀÚ Ã¼Å©
 function chk_number()
 {
	 if(event.keyCode<48 ||event.keyCode > 57){
		 alert("¼ýÀÚ¸¸ ÀÔ·Â °¡´ÉÇÕ´Ï´Ù.");
		 event.returnValue=null;
	 }
 }

  function limitTextLength(str, maxlen)
  {
    strlen = calc_strlen(str);
    if (strlen > maxlen)
      alert('ÃÖ´ë ' + maxlen + 'ÀÚ±îÁö¸¸ °¡´ÉÇÕ´Ï´Ù.');
  }

  function resize_iframe(name)
{
	try
	{       
		var oBody 	= document.frames(name).document.body;
		var oFrame 	= document.all(name);

		oFrame.style.width 
				= oBody.scrollWidth + (oBody.offsetWidth-oBody.clientWidth);
		oFrame.style.height 
				= oBody.scrollHeight + (oBody.offsetHeight-oBody.clientHeight);

		if (parseInt(oFrame.style.height.replace("px","")) < 450 || parseInt(oFrame.style.width.replace("px","")) < 600)
		{
			oFrame.style.width = "600";
			oFrame.style.height = "450"; 
			window.status = 'iframe resizing fail.';
		}
		else
		{
			window.status = '';
		}
	}
	catch(e)
	{
		window.status = 'Error: ' + e.number + '; ' + e.description;
	}
}

  function resize_viframe(name)
{
	try
	{       
		var oBody 	= document.frames(name).document.body;
		var oFrame 	= document.all(name);

		oFrame.style.height 
				= oBody.scrollHeight + (oBody.offsetHeight-oBody.clientHeight);

		if (parseInt(oFrame.style.height.replace("px","")) < 150)
		{
			oFrame.style.height = "150"; 
			window.status = 'iframe resizing fail.';
		}
		else
		{
			window.status = '';
		}
	}
	catch(e)
	{
		window.status = 'Error: ' + e.number + '; ' + e.description;
	}
}

  function resize_clubiframe(name)
{
	try
	{       
		var oBody 	= document.frames(name).document.body;
		var oFrame 	= document.all(name);

		oFrame.style.height 
				= oBody.scrollHeight + (oBody.offsetHeight-oBody.clientHeight);

		if (parseInt(oFrame.style.height.replace("px","")) < 500 )
		{
			oFrame.style.height = "500"; 
			window.status = 'iframe resizing fail.';
		}
		else
		{
			window.status = '';
		}
	}
	catch(e)
	{
		window.status = 'Error: ' + e.number + '; ' + e.description;
	}
}

//ÆäÀÌÁö ÀÌµ¿
function page_move(url,target){
	if( target ){
		eval(target + ".location.href='" + url + "'");
	}else{
		window.location.href=url;
	}
}
//¿ìÆí¹øÈ£
function sync_zipcd(path){
	url = path + "common/zipsearch.php";
	var zipwin = window.open(url,"zwin","width=450,height=350,scrollbars=yes");
	zipwin.focus();
}


function zoom(path,img,x,y)
{
	if( !x || !y ) return;
	var iwin = window.open(path+"common/popup_image_viewer.php?img=" + img + "&winX=" + x + "&winY=" + y,"iwin","width=" + x + ",height=" + y);
	iwin.focus();
}

