// Object 값이 null인지를 검사
// 입력 값 : Object 또는 value
// 리터 값 : boolean
function isNull ( ObjVal )
{
	var inValue = null;
	if ( isObject(ObjVal))
	{
		inValue = ObjVal.value;
	}
	else
		inValue = ObjVal;

   if (inValue == null || inValue == "")
      return true;

   return false;
}

// Object인가를 검사한다.
// 입력 값 : Object
// 리터 값 : boolean
function isObject ( obj )
{
   if (obj)
      return true;
   else
      return false;
}

// select box에 입력된 값이 자동으로 선택되게 한다
// 입력 값 : select box Object,  selected value
// 리터 값 : void
function SelectPreOption ( SelectFormName, SelectedValue )
{
   for ( var i=0; i < SelectFormName.options.length; ++i )
   {
      if ( SelectFormName.options[i].value == SelectedValue )
      {
         SelectFormName.options[i].selected = true;
         break;
      }
   }
}

// Radio Box에 선택된 값이 자동으로 선택되게 한다.
// 입력값 : radiobox Objcet, checked value
// 리턴값 : void
function PreRadioCheck( RadioName, preValue)
{
	for(var i=0;i<RadioName.length;i++)
	{
		if(RadioName[i].value==preValue)
		{
			RadioName[i].click();
		}
	}
}

function CheckPre ( CheckboxName )
{
   CheckboxName.click();
   CheckboxName.disabled;
}


// 입력된 날짜 형식이 올바른지를 검사하고, 정확한 날짜인지 검사한다.
// 입력 값 : 날짜 형식의 String
// 리터 값 : boolean

function checkDate(strDate)
{
   
   var arrDate;
   var chkDate
	var Del = "/-.";

	if (IsNumeric(strDate) == true || strDate.length == 8)
	{
		arrDate = new Array(3);
		arrDate[0] = strDate.substring(0,4);
		arrDate[1] = strDate.substring(4,6);
		arrDate[2] = strDate.substring(6,8);
	}
	else
	{
		for (var i=0; i<Del.length; ++i)
		{
			if (strDate.indexOf(Del.charAt(i)) >= 0)
			{
				arrDate = strDate.split(Del.charAt(i));
			}
		}
	}

/*
   if (strDate.indexOf("-") != -1) {
      arrDate = strDate.split("-");
   }
   else {
      arrDate = strDate.split("/");
   }
*/   

   if (arrDate.length != 3) {
      return false;
   }
   chkDate = new Date(arrDate[0] + "/" + arrDate[1] + "/" + arrDate[2]);
   
   if (isNaN(chkDate) == true ||
      (arrDate[1] != chkDate.getMonth() + 1 || arrDate[2] != chkDate.getDate())) {
      return false;
   }
   
   return true;
}


// 문자열에서 특정 문자열를 찾아서 다른 문자열로 변경한다..
// 입력 값 : OrgStr-입력 문자열, Target-변경대상문자열, Change-변경문자열
// 리터 값 : String-변경된 문자열

function replaceText ( OrgStr, Target, Change )
{
	var index, len=0;
	var fullStr = '';

	while ( (index=OrgStr.indexOf(Target)) >= 0) 
	{
		fullStr = fullStr + ''+ OrgStr.substring(0,index) + ''+Change ;

		OrgStr = OrgStr.substring(index+Target.length);
	}
	return fullStr+''+OrgStr;
}


// 이메일 형식이 올바른지 검사
// 입력 값 : 이메일 주소
// 리터 값 : boolean
function checkEmail(strEmail) {   
   var arrMatch = strEmail.match(/^(\".*\"|[A-Za-z0-9_-]([A-Za-z0-9_-]|[\+\.])*)@(\[\d{1,3}(\.\d{1,3}){3}]|[A-Za-z0-9][A-Za-z0-9_-]*(\.[A-Za-z0-9][A-Za-z0-9_-]*)+)$/);
   if (arrMatch == null) {
      return false;
   }

   var arrIP = arrMatch[2].match(/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/);
   if (arrIP != null) {
      for (var i = 1; i <= 4; i++) {
         if (arrIP[i] > 255) {
            return false;
            }
         }
   }
   return true;
}

// String 의 길이를 계산한다. 한글이면 2개.
// 입력 값 : Object(textarea, text ...), 허용최대길이, 필드 (제목, 내용 ...etc)
// 리터 값 : boolean

function CheckStrLen(obj, MaxLen, FieldName) {
   var i, len=0;

   if (!obj) {
      alert('객체가 정의되지 않았습니다.');
      return false;
   }

   var s = obj.value;
   
   // String 길이를 구하는 부분..
   for(i=0;i < s.length; i++) 
      (s.charCodeAt(i) > 255)? len+=2:len++;
   
   // 길이 확인.   
//alert(len);
   if (MaxLen < len) {
      if (FieldName != "") alert("'"+FieldName + "' 의 최대 입력 길이는 " + MaxLen + "자 입니다. (한글은 글자당 2자로 계산됩니다.)\n      입력된 글은 ["+len+"]자 입니다.");
//      obj.focus();
      return false;
   }
   return true;
}


// String이 제한 길이를 넘어서면 그 나머지를 trim해 버린다
// 입력 값 : String, 최대길이
// 리터 값 : String
function Trim(strSrc, intMaxLen) {
   var i;
   var intLen = 0;
   
   for (i = 0; i < strSrc.length; i++) {
      (strSrc.charCodeAt(i) > 255) ? intLen += 2 : intLen++;
      
      if (intLen > intMaxLen) {
         strSrc = strSrc.substring(0, i);
         break;
      }
   }
   
   return strSrc;
}

//입력 String 숫자 check
function IsNumeric(checkStr)
{
   var checkOK = "0123456789";
     for (i = 0;  i < checkStr.length;  i++)
    {
          ch = checkStr.charAt(i);

          for (j = 0;  j < checkOK.length;  j++)
               if (ch == checkOK.charAt(j))
                  break;;

         if (j == checkOK.length)
         {
         return (false);
               break;
          }
     }
   return (true);
} 

// 숫자에서 09 처럼 0 이 앞에 나오는 경우 앞의 0 을 삭제.
function trimZero(Digit)
{
   var i = 0;

   while ( i <= Digit.length )
   {
      ch = Digit.charAt(i);
      if ( ch == "0" )
      {
         Digit = Digit.substring(1,Digit.length);
         i = 0;
         continue;
      }
      else
         break;
      ++i;
   }

   return Digit;
}

// 입력 필드(객체), 한글명
function isAnyHtmlTag ( obj, name )
{
   if ( !isObject(obj) ) // obj 가 객체 인지를 확인j한다.
   {
      return (true);
   } 

   str=obj.value; // obj의 값을 읽어 온다.

   HtmlTag=/<script|<object|<style|\bhref|\bonload|<applet|<meta|<iframe|\bonmouseover|\bonclick|\bonunload|<link|<span|<div|javascript:|<table|<\/table|<tr|<\/tr|<td|<\/td|<form|\bwidth|\bheight|<embed|<th|<\/th|<select|<option|<button|<xmp|\bonstart|<textarea|<font|<b>|<a href/gi;

   found=str.match(HtmlTag); // 입력된 값이 HtmlTag가 포함되어 있는지를 검사한다.

   if(found != null){ // 입력 값에서 HtmlTag가 발견되면 에러를 발생시키고 false를 리턴한다.
      alert("["+name+"] 필드에 HTML 태그를 사용하실 수 없습니다.");
      obj.focus();
      obj.select();
      return (true);
   }   
   return (false);
}

function isWebImage ( obj )
{
   if ( !isObject(obj) )
      return false;

   ImageFile = obj.value;
 
   idx = ImageFile.lastIndexOf(".")

   if ( idx > 0 )
   {
      extension = ImageFile.substring(idx+1, ImageFile.length);
      extension = extension.toUpperCase();

      if( extension == "BMP" || extension == "GIF" || extension == "JPG" || extension == "JEPG"  )
         return true;
      else
         return false;
   }
   else
      return false;
}

function open_win ( URL )
{
   var Opt = 'toolbar=1,location=no,directories=no,status=no,menubar=no,resizable=yes,scrollbars=auto,width=250,height=150';
   win_name = window.open ( URL,"aa",Opt);
   if (win_name)
      win_name.focus();
}

function open_win ( URL, WIDTH, HEIGHT )
{
   var Opt = 'toolbar=yes,location=no,directories=no,status=no,menubar=no,resizable=yes,scrollbars=yes,width='+WIDTH+',height='+HEIGHT;
   win_name = window.open ( URL,"aa",Opt);
   if (win_name)
      win_name.focus();
}

// 입력한 문자가 소문자이면 무조건 대문자로 변환한다.
// 입력 값 : obj -입력객체, even - 발생이벤트
// 리턴 값 : 문자

// 실제 사용 예시 : onKeyPress="return toUpperCase(this, event);" 
function toUpperCase(obj, e) {
	  var whichCode = (window.Event) ? e.which : e.keyCode;
	  whichChar = String.fromCharCode(whichCode).charAt(0);

	  if(whichChar.charAt(0) >= 'a' && whichChar.charAt(0) <= 'z')
		e.keyCode = e.keyCode-32;
}

// MoneyFormat 에 해당하는 문자만 입력받는다. (1234567890,)
// 입력 값 : obj -입력객체, even - 발생이벤트
// 리턴 값 : 문자

// 실제 사용 예시 : onKeyPress="return MoneyFiler(this, event);" 
function MoneyFiler(obj, e) {
	  var whichCode = (window.Event) ? e.which : e.keyCode;
	  whichChar = String.fromCharCode(whichCode).charAt(0);

	  if( '0' <= whichChar.charAt(0) && whichChar.charAt(0) <= '9' || whichChar.charAt(0) == ',')
		  ;
	  else
		e.keyCode = null;
}

// 사업자 번호 체크 로직
// 입력 값 : 사업자 번호 입력필드
// 리터 값 : boolean 

function chkBizNo(sSerial) {
    var objstring=sSerial.replace(/D/g,"");
    
    if (objstring.length !=10) return false;
 
    var biz_value=new Array(10);
    var li_temp, li_lastid;
 
    //유효성 검사 루틴 적용  ex)111-11-11111
    biz_value[0] = ( parseFloat(objstring.substring(0 ,1)) * 1 ) % 10; 
    biz_value[1] = ( parseFloat(objstring.substring(1 ,2)) * 3 ) % 10; 
    biz_value[2] = ( parseFloat(objstring.substring(2 ,3)) * 7 ) % 10; 
    biz_value[3] = ( parseFloat(objstring.substring(3 ,4)) * 1 ) % 10; 
    biz_value[4] = ( parseFloat(objstring.substring(4 ,5)) * 3 ) % 10; 
    biz_value[5] = ( parseFloat(objstring.substring(5 ,6)) * 7 ) % 10; 
    biz_value[6] = ( parseFloat(objstring.substring(6 ,7)) * 1 ) % 10; 
    biz_value[7] = ( parseFloat(objstring.substring(7 ,8)) * 3 ) % 10; 
    li_temp = parseFloat(objstring.substring(8,9)) * 5 + "0"; 
    biz_value[8] = parseFloat(li_temp.substring(0,1)) + parseFloat(li_temp.substring(1,2)); 
    biz_value[9] = parseFloat(objstring.substring(9,10)); 
 
    li_lastid = (10 - ( ( biz_value[0] + biz_value[1] + biz_value[2] 
    + biz_value[3] + biz_value[4] + biz_value[5] + biz_value[6] 
    + biz_value[7] + biz_value[8] ) % 10 ) ) % 10; 
   
    return biz_value[9]==li_lastid ? true : false;
}

function parseString ( OrgStr, Delimiter )
{
	param = new Array()
	if ( OrgStr == null || OrgStr == "")
	{
		return param;
	}
	var pos = 0;
	var i = 0;
	var Val = "";

	while ( (pos = OrgStr.indexOf(Delimiter)) > 0 )
	{
		Val = OrgStr.substring(0, pos);
		param[i] = Val;
		OrgStr = OrgStr.substring(pos+1, OrgStr.length);
		++i;
	}
	return param;
}

function resizeMe(obj)
{ 
	try 
	{
		docHeight = adver.document.body.scrollHeight
		//alert (docHeight);
		obj.style.height = docHeight+10 + 'px'
	}
	catch ( e )
	{
	}
} 

// Object를 이용한 Flash 파일을 읽어 들임
// 입력 값 : 플래쉬 파일 위치, 넓이, 높이, FlashVars
// 리턴 값 : 플래쉬 파일

function InteractiveFlashControl(FlashSrc, FlashWidth, FlashHeight, FlashVars)
{
    var strFlash;

    strFlash = "<object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0' width='" + FlashWidth + "' height='" + FlashHeight + "'>";
    strFlash += " <param name='movie' value='" + FlashSrc + "'>";
    strFlash += " <param name='FlashVars' value='" + FlashVars + "'>";
    strFlash += " <param name='quality' value='high'>";
    strFlash += " <embed src='" + FlashSrc + "' quality='high' pluginspage='http://www.macromedia.com/go/getflashplayer' type='application/x-shockwave-flash' width='" + FlashWidth + "' height='" + FlashHeight + "'></embed>";
    strFlash += "</object>";

    document.write(strFlash);

}

// 영문과 특수문자 일때 true
function check(str){
        for(i=0;i<str.length;i++){
        if(str.charCodeAt(i)>256)
                return true;
        }
        return false;
}


function setCookie(name, value)
{
    var argv = setCookie.arguments;
    var argc = setCookie.arguments.length;

    var expires = argc > 2 ? argv[2] : null;
//    var path = argc > 3 ? argv[3] : null;
    var path = argc > 3 ? argv[3] : "/";
    //var domain = argc > 4 ? argv[4] : null;
    var domain = ".ec21.com";
    var secure = argc > 5 ? argv[5] : false;

    document.cookie = name + "=" + escape(value) +
                      ( expires == null  ? "" : ("; expires=" + expires.toGMTString()) ) +
                      ( path == null     ? "" : ("; path=" + path) ) +
                      ( domain == null   ? "" : ("; domain=" + domain) ) +
                      ( secure == true   ? "; secure" : "" );
    domain = ".ec21.net";

    document.cookie = name + "=" + escape(value) +
                      ( expires == null  ? "" : ("; expires=" + expires.toGMTString()) ) +
                      ( path == null     ? "" : ("; path=" + path) ) +
                      ( domain == null   ? "" : ("; domain=" + domain) ) +
                      ( secure == true   ? "; secure" : "" );
}

function getCookie(name)
{
    var arg = name + "=";
    var alen = arg.length;
    var clen=document.cookie.length;
    var i=0;

    while(i< clen){
        var j = i+alen;
        if(document.cookie.substring(i,j)==arg) {
            var end = document.cookie.indexOf(";",j);
            if (end == -1) {
                end = document.cookie.length;
            }
            return unescape(document.cookie.substring(j,end));
        }
        i = document.cookie.indexOf(" ",i)+1;
        if (i==0) {
            break;
        }
    }
    return null;
}

function getMail()
{

//alert('EC21 is currently upgrading its e-mail system. (October 9, 2004, 21:00 (GMT +9:00) - October 10, 2004, 21:00 (GMT+09:00)). Sorry for any inconvenience and please try logging in after the upgrade is completed. ');
    document.location.href = "http://www.ec21.com/global/member/EC21Mail.jsp";
    return;
}

function checkQueryForm(theForm)
{
    theForm.query.value = trim(theForm.query.value);
    if (theForm.query.value == "") {
        alert("Please Enter your keyword.");
        theForm.query.focus();
        return false;
    }
    return true;
}

function checkKeyword(theForm, field1)
{
    var index, len, str;
    field1.value = trim(field1.value);
    if (field1.value == "") {
        alert("Please Enter your keyword.");
        field1.focus();
        return false;
    }


    str = middle_trim(field1.value);

    str = replaceX(str, ' ', ' ^[AND ');

    field1.value = str;

    return true;
}

function trim(str)
{	
    while(str.indexOf(" ") == 0)
        str = str.substring(1,str.length);
    
    while(str.substring(str.length,str.length-1) == " ")
        str = str.substring(0,str.length-1);
		
    return str;
}

function middle_trim(str)
{
    var val = "";
    var tmp = "";
    var cnt = 0;
    for (var i = 0; i < str.length; i++)
    {
        var c = str.charAt(i);
        if (c == ' ')
        {
            if (tmp.length != 0)
            {
                if (cnt == 0) val += tmp;
                else val += ' ' + tmp;
                cnt++;
            }
            tmp = "";
        }
        else tmp += c;
    }

    if (tmp.length != 0)
    {
        if (cnt == 0) val += tmp
        else val += ' ' + tmp
        cnt++;
    }

    return val;
}

function replaceX(str, oldX, newX)
{
    var val = "";
    var tmp = "";
    var cnt = 0;

    for (var i = 0; i < str.length; i++)
    {
        var c = str.charAt(i);
        if (c == oldX)
        {
            if (tmp.length != 0)
            {
                if (cnt == 0) val += tmp;
                else val += newX + tmp;
                cnt++;
            }
            tmp = "";
        }
        else tmp += c;
    }

    if (tmp.length != 0)
    {
        if (cnt == 0) val += tmp
        else val += newX + tmp
        cnt++;
    }

    return val;
}

function openInquiryPop() {
	window.open('http://www.ec21.com/app/jsp/ec/send_inquiry_1st.jsp', 'sendInquiry', 'toolbar=0,location=0,directories=0,status=1,menubar=0,scrollbars=1,resizable=1,width=860,height=520,top=0,left=0');
}

//  setCookie('ec21_visit','1');

function KeyEncoding(keyword){
	
	keyword = escape(keyword);
	keyword = replaceText(keyword, "/", "%252F");
	
	return keyword;
}

function trim_keyword(value)
{
	return value.replace(/^\s+|\s+$/g,"");
}
