/**********************************************************************************
 *    Program ID   : ComUtil.js
 *    Description  : Utility Method정의
 **********************************************************************************
 * @작성일 : 2005/02/22		@작성자 : IBANK
 * @작업내역 : 초기작성
 **********************************************************************************/
 
/**
 * 입력값이 NULL인지 체크

 */
function isNull(input) {
    if (input.value == null || input.value == "") {
        return true;
    }
    return false;
}
    
/**
 * 입력값에 스페이스 이외의 의미있는 값이 있는지 체크

 * ex) if (isEmpty(form.keyword)) {
 *         alert("검색조건을 입력하세요.");
 *     }
 */
function isEmpty(input) {
    if (input.value == null || input.value.replace(/ /gi,"") == "") {
        return true;
    }
    return false;
}

/**
 * 입력값에 특정 문자(chars)가 있는지 체크
 * 특정 문자를 허용하지 않으려 할 때 사용
 * ex) if (containsChars(form.name,"!,*&^%$#@~;")) {
 *         alert("이름 필드에는 특수 문자를 사용할 수 없습니다.");
 *     }
 */
function containsChars(input,chars) {
    for (var inx = 0; inx < input.value.length; inx++) {
       if (chars.indexOf(input.value.charAt(inx)) != -1)
           return true;
    }
    return false;
}

/**
 * 입력값이 특정 문자(chars)만으로 되어있는지 체크

 * 특정 문자만 허용하려 할 때 사용
 * ex) if (!containsCharsOnly(form.blood,"ABO")) {
 *         alert("혈액형 필드에는 A,B,O 문자만 사용할 수 있습니다.");
 *     }
 */
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 Name : isNumCk3
*  Description   : 숫자 만
*  Output Data   : event.returnValue=false
*  +숫자만 입력 가능 (Back Space Key , Delete key , Number pad key 가능)
********************************************************************/
function isChkDate()
{
    if((event.keyCode>57||event.keyCode<45)) event.returnValue=false
} 
/**
 * 입력값이 알파벳인지 체크

 * 아래 isAlphabet() 부터 isNumComma()까지의 메소드가
 * 자주 쓰이는 경우에는 var chars 변수를 
 * global 변수로 선언하고 사용하도록 한다.
 * ex) var uppercase = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
 *     var lowercase = "abcdefghijklmnopqrstuvwxyz"; 
 *     var number    = "0123456789";
 *     function isAlphaNum(input) {
 *         var chars = uppercase + lowercase + number;
 *         return containsCharsOnly(input,chars);
 *     }
 */
function isAlphabet(input) {
    var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
    return containsCharsOnly(input,chars);
}

/**
 * 입력값이 알파벳 대문자인지 체크

 */
function isUpperCase(input) {
    var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    return containsCharsOnly(input,chars);
}

/**
 * 입력값이 알파벳 소문자인지 체크
 */
function isLowerCase(input) {
    var chars = "abcdefghijklmnopqrstuvwxyz";
    return containsCharsOnly(input,chars);
}

/**
 * 입력값에 숫자만 있는지 체크

 */
function isNumber(input) {
    var chars = "0123456789";
    return containsCharsOnly(input,chars);
}

/**
 * 입력값이 알파벳,숫자로 되어있는지 체크

 */
function isAlphaNum(input) {
    var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
    return containsCharsOnly(input,chars);
}

/**
 * 입력값이 숫자,대시(-)로 되어있는지 체크
 */
function isNumDash(input) {
    var chars = "-0123456789";
    return containsCharsOnly(input,chars);
}

// str은 0~9까지 숫자만 가능하다. 
function checkNumber(str) { 
    var flag=true; 
    if (str.length > 0) { 
        for (i = 0; i < str.length; i++) {  
            if (str.charAt(i) < '0' || str.charAt(i) > '9') { 
                flag=false; 
            } 
        } 
    } 
    return flag; 
} 

/**
 * 입력값이 숫자,콤마(,)로 되어있는지 체크

 */
function isNumComma(input) {
    var chars = ",0123456789";
    return containsCharsOnly(input,chars);
}

/**
 * 입력값이 숫자,쉼표(,),콤마(.)로 되어있는지 체크

 */
function isNumDigit(input) {
    var chars = ".,0123456789";
    return containsCharsOnly(input,chars);
}

/**
 * 입력값이 사용자가 정의한 포맷 형식인지 체크

 * 자세한 format 형식은 자바스크립트의 'regular expression'을 참조
 */
function isValidFormat(input,format) {
    if (input.search(format) != -1) {
        return true; //올바른 포맷 형식
    } else {
    }
    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);
}
/**
 * 입력값이 이메일 형식인지 체크 - value값으로 체크
 * ex) if (!isValidEmail(form.email)) {
 *         alert("올바른 이메일 주소가 아닙니다.");
 *     }
 */
function isValidEmail2(value) {
//    var format = /^(\S+)@(\S+)\.([A-Za-z]+)$/;
    var format = /^((\w|[\-\.])+)@((\w|[\-\.])+)\.([A-Za-z]+)$/;
    if (value.search(format) != -1) {
        return true; //올바른 포맷 형식
    } else {
    }
    return false;
}

/**
 * 입력값이 전화번호 형식(숫자-숫자-숫자)인지 체크
 */
function isValidPhone(input) {
	
    var format = /^(\d+)-(\d+)-(\d+)$/;
    return isValidFormat(input,format);
}

/**
 * 입력값이 주민번호  형식(숫자-숫자)인지 체크
 */
function isValidRrn(input) {
    var format = /^(\d\d\d\d\d\d)-(\d\d\d\d\d\d\d)$/;
    return isValidFormat(input,format);
}
/**
 * 입력값이 날짜 형식(숫자4자리-숫자2자리-숫자2자리)인지 체크
 */
function isValidDate(input) {
    var format = /^(\d\d\d\d)-(\d\d)-(\d\d)$/;
    return isValidFormat(input,format);
}
/**
 * 입력값의 바이트 길이를 리턴

 * ex) if (getByteLength(form.title) > 100) {
 *         alert("제목은 한글 50자(영문 100자) 이상 입력할 수 없습니다.");
 *     }
 * Author : Wonyoung Lee
 */
function getByteLength(input) {
    var byteLength = 0;
    for (var inx = 0; inx < input.value.length; inx++) {
        var oneChar = escape(input.value.charAt(inx));
        if ( oneChar.length == 1 ) {
            byteLength ++;
        } else if (oneChar.indexOf("%u") != -1) {
            byteLength += 2;
        } else if (oneChar.indexOf("%") != -1) {
            byteLength += oneChar.length/3;
        }
    }
    return byteLength;
}

function CheckStrLen(maxlen,obj)
{
 var temp; //들어오는 문자값...
 var msglen;
 msglen = maxlen*2;
 
 l = obj.value.length;
 tmpstr = "" ;

 if (l == 0)  
  //document.formx.remain.value = maxlen*2;
	a=1;//글자수표시없을때 임시
 else 
 {
  for(k=0;k<l;k++)
  {
   temp = obj.value.charAt(k);

   if (escape(temp).length > 4)
    msglen -= 2;
   else
    msglen--;
  
   if(msglen < 0) 
   {
    alert("총 영문 "+(maxlen*2)+"자 한글 " + maxlen + "자 까지 입력하실 수 있습니다.");
    obj.value = tmpstr;
    break;
   }
   else 
   {
    //document.formx.remain.value = msglen;
	a=1;//글자수표시없을때 임시
    tmpstr += temp;
   }
  }
 }
}

// 2008.01.12 kth 추가 : 글자수 체크 함수 (return 값 )
function checklen(fform,maxlength) {
	var msgtext, msglen;
	msgtext = fform.value;
	var i=0,l=0;
	var temp,lastl;


	//길이를 구한다.
	while(i < msgtext.length)
	{
		temp = msgtext.charAt(i);
		if (escape(temp).length > 4)
			l+=3;
		else if (temp!='\r')
			l++;
		// OverFlow
		if(l>maxlength)
		{
			alert("허용 길이 이상의 글을 쓰셨습니다.\n한글 "+ parseInt(maxlength/3) +"자, 영문"+ maxlength +"자까지만 쓰실 수 있습니다.");
			temp = fform.value.substr(0,i);
			fform.value = temp;
			l = lastl;
			return false;
			//break;
		}
		lastl = l;
		i++;
	}
	return true;
}

/**
 * 선택된 라디오버튼이 있는지 체크

 */
function hasCheckedRadio(input) {
    if (input.length > 1) {
        for (var inx = 0; inx < input.length; inx++) {
            if (input[inx].checked) return true;
        }
    } else {
        if (input.checked) return true;
    }
    return false;
}

/**
 * 선택된 체크박스가 있는지 체크

 */
function hasCheckedBox(input) {
    return hasCheckedRadio(input);
}


/********************************************************************
*  Function Name    : CreateTR()
*  Description      : 화면상의 Table에 TR을 새롭게 추가하는 Script
*  Input Data       : tbl - table의 ID							ex> value = abc -> <table id='abc' width=''....>
*					  tdHtml - td 마다 추가되는 HTML Script		* 반드시 배열의 형태로 전달해야 합니다. 
*					  tdCls	 - td 마다 사용되는 ClassName		* 반드시 배열의 형태로 전달해야 합니다. 
*					  tdAlign - td 마다의 정렬 방법				* 반드시 배열의 형태로 전달해야 합니다. 
*					  position - 붙일려는 위치. 없을때는 자동으로 최종 Tr로 붙여진다.
*  Output Data      : 
*  사용되는 Function : 
*  예제 : 에너지 관리 -> 가스 적용 단가
*		  /asp/energy/init/gas_price_janbi.asp 내의 addRow 함수.
/********************************************************************/
function CreateTR(tbl, tdHtml, tdCls, tdAlign, position) {
	var pos = 0;
	var grp = document.getElementById(tbl);
	var grpCnt = grp.rows.length;
	var obj;

	pos = (position == null)?grpCnt:position;

	grp.insertRow(pos);
	for (var i=0; i<tdHtml.length; i++) {
		grp.rows(pos).insertCell(i);
		obj = grp.rows(pos).cells(i);
		obj.className = tdCls[i];
		obj.align = tdAlign[i];
		obj.innerHTML = tdHtml[i];
		obj.focus();
	}
}

function DeleteTR(tbl) {
  document.getElementById(tbl).deleteRow(document.getElementById(tbl).clickedRowIndex);
}


/********************************************************************
*  Function Name    : xReplace()
*  Description      : 정규식으로 문자 치환.
*  Input Data       : input - 대상 String.
*					  e - 찾으려는 문자.
*					  k	- 바꾸려는 문자.
*  Output Data      : String
*  사용되는 Function : 
/********************************************************************/
function xReplace(input,e,k) {
	var tmp = String(input);
//	return tmp.replace(/e/gi,k);
	return tmp.replace(new RegExp(e,"ig"), k);
}


/********************************************************************
*  Function Name    : objReplace()
*  Description      : 정규식으로 문자 치환.
*  Input Data       : input - 대상 Object.
*					  e - 찾으려는 문자.
*					  k	- 바꾸려는 문자.
*  Output Data      : 
*  사용되는 Function : xReplace();
/********************************************************************/
function objReplace(input,e,k) {
	var tmp= String(input.value);
	input.value = xReplace(tmp,e,k);
}

/********************************************************************
*  Function Name    : removeComma()
*  Description      : String에서 "," -> "" 로 치환.
*  Input Data       : input - 대상 String.
*  Output Data      : String
*  사용되는 Function : xReplace();
/********************************************************************/
function removeComma(input) {
	return xReplace(input,",","");
}

/********************************************************************
*  Function Name    : objRemoveComma()
*  Description      : Object의 Value 에서 "," -> "" 로 치환.
*  Input Data       : input - 대상 String.
*  Output Data      : 
*  사용되는 Function : xReplace();
/********************************************************************/
function objRemoveComma(input) {
	input.value = xReplace(input.value,",","");
	input.select();
}

/********************************************************************
*  Function Name    : setComma()
*  Description      : String의 3자리 마다 "," 표시.
*  Input Data       : str - 대상 String.
*  Output Data      : 
*  사용되는 Function : 
/********************************************************************/
function setComma(str) {
    var result = "";
    var tail = "";
    var sign = "";
    var flag = false;

    if(str == "") return result;

    // 0이하 '-'정수인 경우를 위해.
    if (str.substring(0,1)=='-') {
        sign = str.substring(0,1);
        str = str.substring(1);
    }

    var pts = str.lastIndexOf(".");

    if(pts > 0) { // 부동소수점인 경우
        tail = str.substring(pts);
        str = str.substring(0, pts);
    }

    var len = str.length;
    var quota = parseInt(len / 3); // 몫
    var remainder = len % 3; // 나머지

    var buffer = str.substr(0, remainder); // 첫번째 값

    for(var i = 0; i < quota; i++) {
        if(buffer != "")
            buffer = buffer + ',';

        buffer = buffer + str.substr(remainder + i * 3, 3);
    }

    if(pts > 0)
        result = sign + buffer + tail; // 소수점이 있으면
    else
        result = sign + buffer;

    return result; // 결과 값 출력
}

/********************************************************************
*  Function Name    : objSetComma()
*  Description      : Object의 Value 에서 3자리마다 "," 표시
*  Input Data       : input - 대상 String.
*  Output Data      : 
*  사용되는 Function : setComma();
/********************************************************************/
function objSetComma(input) {
	//alert('1');
	input.value = setComma(input.value);
}

/************************************************************************
*  Function Name : loadingHide() +
*  Description   : Loading Image 
*  Input Data    : None
*  Output Data   : None
*************************************************************************/
function loadingHide(){
//	if (top.window.frames['efm_main'] == undefined)
//		top.window.document.all.hidepage.style.visibility = "hidden";
//	else 
//	    top.window.frames['efm_main'].document.all.hidepage.style.visibility = "hidden";
	if (top.efm_main == undefined)
		top.window.document.all.hidepage.style.visibility = "hidden";
	else 
	    top.efm_main.document.all.hidepage.style.visibility = "hidden";
}

/************************************************************************
*  Function Name : loadingShow() +
*  Description   : Loading Open
*  Input Data    : None
*  Output Data   : None
*************************************************************************/
function loadingShow(){
//	if (top.window.frames['efm_main'] == undefined)
//		top.window.document.all.hidepage.style.visibility = "visible";
//	else 
//	    top.window.frames['efm_main'].document.all.hidepage.style.visibility = "visible";
	if (top.efm_main == undefined)
		top.window.document.all.hidepage.style.visibility = "visible";
	else 
	    top.efm_main.document.all.hidepage.style.visibility = "visible";
}

/************************************************************************
*  Function Name : insertHTML() +
*  Description   : target Window의 obj에 val를 입력하는 함수.
*  Input Data    : String target		ex> insertHTML('parent','navi','<img src=blank.gif>');
*				   String obj
*				   String val
*  Output Data   : None
*************************************************************************/
function insertHTML(target, obj, val) {
	if (target != "") 
		eval(target).eval(obj).innerHTML=val;
	else 
		eval(obj).innerHTML=val;
}

/********************************************************************************
*  Function Name : pageChangeNavigator()+
*  Description  :  page들이 list로 출력
*  Output Data   :  no
*  Input Data    :  forms : form의 이름.
        page: 현재의 page
 *********************************************************************************/
function pageChangeNavigator(frm, page, action, target) {
    frm.move_page.value = page;
    frm.action=action;
    if(target!=null || target!=""){
        frm.target=target;
    }
	  loadingShow();
    frm.submit();
}


/********************************************************************
*  Function Name : isNumCk2
*  Description   : 숫자 의외의 키보드 안눌러짐
*  Input Data    :
*  Output Data   : event.returnValue=false
*  숫자, -, ., 입력만 입력 가능 .
********************************************************************/
function isNumCk2()
{
    if(!(event.keyCode == 47)){
        if ((event.keyCode<45)||(event.keyCode>57))
            event.returnValue=false;
    }else {
        event.returnValue=false
    }
}

/********************************************************************
*  Function Name : isNumCk3
*  Description   : 숫자 만
*  Output Data   : event.returnValue=false
*  +숫자만 입력 가능 (Back Space Key , Delete key , Number pad key 가능)
********************************************************************/
function isNumCk3()
{	
    if((event.keyCode>57||event.keyCode<48)) event.returnValue=false
}


/********************************************************************
*  Function Name : onlyNum
*  Description   : 숫자 만
*  Output Data   : event.returnValue=false
*  +숫자만 입력 가능 
********************************************************************/
function onlyNum(objtext1)
{
	var inText = objtext1.value;
	var ret;

	for (var i = 0; i < inText.length; i++) 
	{
		ret = inText.charCodeAt(i);
		if (!((ret > 47) && (ret < 58)))  
		{
			//alert("숫자만을 입력하세요");
			objtext1.value = "";
			objtext1.focus();
			return false;
		}
	}
	return true;
}

/********************************************************************
*  Function Name : onlyNum2
*  Description   : 숫자와 '-'만가능
*  Output Data   : event.returnValue=false
*  +숫자만 입력 가능 
********************************************************************/
function onlyNum2(objtext1)
{
	var inText = objtext1.value;
	var ret;

	for (var i = 0; i < inText.length; i++) 
	{
		ret = inText.charCodeAt(i);
		if (!((ret > 47) && (ret < 58)))  
		{
		    if(ret!=45){
			    alert("숫자와 '-'만을 입력하세요");
			    objtext1.value = "";
			    objtext1.focus();
			    return false;
			}
		}
	}
	return true;
}
/********************************************************************
상단 숫자키 와 오른쪽 키패드 그리고 아래 키를 허용 함.
←(백스패이스) = 8
TAB = 9
  END = 35
HOME =36 
← = 37
→  = 39
INSERT = 45
DELETE = 46
NUMLOCK = 144

* <input type="text" style="ime-mode:disabled" >    // 이 스타일은 외국어 입력 못하게 함(영어를 제외한 한국어 포함 - -);
 ********************************************************************/
function onlyNum3(){
	var key = event.keyCode;
	if(!(key==8||key==9||key==13||key==46||key==144||(key>=48&&key<=57)||key==110||key==190)){
		alert('숫자만 입력 가능합니다');		
		event.returnValue = false;
	}
}

/************************************************************************
*  Function Name : setDot() +
*  Description   :
*  Input Data    : String   i_str  => 정수, 또는 실수.
                   int      i_dot  => 소수이하의 원하는 자리수 (자리가 모자랄경우 '0'을 추가한다.
*  Output Data   : 소수이하의 연산 결과값.
*************************************************************************/
function setDot(i_str, i_dot) {


    var i_Comma  = 0;     // 소수 위 수와 소수 이하의 자리를 잘라서 할당하는 배열 함수
    var strInt  = '';
    var strDot  = '';      // 정수 부 와 소수 부로 할당하는 변수

	if (i_str.length < 1) return i_str;

    // 정수부와 소수부로 나누는 조건식
    // 소수부가 없을때는 빈값으로 할당한다.
    if (i_str.lastIndexOf(".") > 0) {
        i_Comma = i_str.split(".");
        strInt = i_Comma[0];
        strDot = i_Comma[1];
    } else {
        strInt = i_str;
        strDot = "";
    }
    // 소수부의 원하는 자리까지 자르거나 '0'으로 셋팅하는 조건식.
    if (strDot.length >= 2) {
        strDot = strDot.substr(0, i_dot);
    } else {
        for (var z=0; z<=eval(i_dot-strDot.length); z++)
            strDot+=String(0);
    }
    // 결과값을 반환한다.
    return strInt + "." + strDot;
}

/************************************************************************
*  Function Name : objSetDot() +
*  Description   :
*  Input Data    : Object   input => Form의 입력객체.
                   int      i_dot  => 소수이하의 원하는 자리수 (자리가 모자랄경우 '0'을 추가한다.
*  Output Data   : 소수이하의 연산 결과값.
*************************************************************************/
function objSetDot(input, i_dot) {
	input.value = setDot(input.value, i_dot);
}

/************************************************************************
*  Function Name : setDouble() +
*  Description   : 소수 이하의 원하는 자리까지 반올림 또는 버림을 할 수 있다.
*  Input Data    : String   val  => 정수, 또는 실수.
                   Stirng   func => 반올림을 원하면 'round'
                   int      dot  => 소수이하의 원하는 자리수 (자리가 모자랄경우 '0'을 추가한다.
*  Output Data   : 소수이하의 연산 결과값.
*************************************************************************/
function setDouble(val, func, dot){
    if (val == Infinity || val == 0) return '0';

    var temp = val;

	if (func == 'round')
		temp = Math.round(temp * Math.pow(10, dot)) / Math.pow(10, dot);
	else
		temp = Math.floor(temp * Math.pow(10, dot)) / Math.pow(10, dot);

    if (val != 0 && temp==0) {
        temp = setDouble(val, func, dot+1);
        if (dot > 5) {
            temp = "0.0000";
        }
    }

    return setDot(String(temp),dot); // 결과 값 출력
}

var nowDay = new Date(); 
flagYear = nowDay.getFullYear();
flagMon = nowDay.getMonth() + 1;
flagDay = nowDay.getDay();
flagDate= nowDay.getDate();
/************************************************************************
*  Function Name : printYear() +
*  Description   :
*  Input Data    : String	year => 년도
*  Output Data   : 1901년부터 금년까지 년도만 option string 으로 반환.
*************************************************************************/
function printYear(year) {
	if (year == null || year == "")
		year = "";

	for (i = flagYear; i >= 1990; i--) {
		if (i == year) 
			document.write("<option value=\""+i+"\" selected>"+i+"</option>");
		else
			document.write("<option value=\""+i+"\">"+i+"</option>");
	}
}
function printYear2(year,syear) {
	if (year == null || year == "")
		year = flagYear;

	for (i = flagYear; i >= syear; i--) {
		if (i == year) 
			document.write("<option value=\""+i+"\" selected>"+i+"</option>");
		else
			document.write("<option value=\""+i+"\">"+i+"</option>");
	}
}
/************************************************************************
*  Function Name : printMonth() +
*  Description   :
*  Input Data    : String	mon => 년도
*  Output Data   : 1월 부터 12월 까지 option string으로 반환.
*************************************************************************/
function printMonth(mon) {
	var temp = "";
	if (mon == null || mon == "")
		mon = flagMon;
		
	for (i = 1; i <= 12; i++) {
		if (i < 10) temp = "0" + i;
		else temp = i;

		if (i == mon) 
			document.write("<option value=\""+temp+"\" selected>"+i+"</option>");
		else
			document.write("<option value=\""+temp+"\">"+i+"</option>");
	}
}
/************************************************************************
*  Function Name : printDate() +
*  Description   :
*  Input Data    : String	date => 날짜
*  Output Data   : 1일 부터 31일 까지 option string으로 반환.
*************************************************************************/
function printDate(date) {
	var temp = "";
	if (date == null || date == "")
		date = flagDate;
		
	for (i = 1; i <= 31; i++) {
		if (i < 10) temp = "0" + i;
		else temp = i;

		if (i == date) 
			document.write("<option value=\""+temp+"\" selected>"+i+"</option>");
		else
			document.write("<option value=\""+temp+"\">"+i+"</option>");
	}
}

/************************************************************************
*  Function Name : NewWindow() +
*  Description   :
*  Input Data    : String	mypage => page url
*				   String	myname => popup browser 이름
*				   int		w	   => popup 넓이
*				   int		h	   => popup 높이
*				   int		t	   => x좌표
*				   int		l	   => y좌표
*				   String	scroll => 스크롤 유무. (no / yes)
*				   String	resize => Resize 가능 유무 (no / yes)
*				   String   menu   => 메뉴 유무 (no / yes)
*  Output Data   : Input Parameter로 Popup을 띄운다.
*************************************************************************/
var win= null;
function NewWindow(mypage,myname,w,h,t,l,scroll,resize,menu){
  var wint, winl;
  if (t == 0 || t== null)
	wint = (screen.height-h)/2;
  else
	wint = t;

  if (l == 0 || l== null)
	winl = (screen.width-w)/2;
  else
	winl = l;

  var settings  ='height='+h+',';
      settings +='width='+w+',';
      settings +='top='+wint+',';
      settings +='left='+winl+',';
      settings +='scrollbars='+scroll+',';
      settings +='resizable='+resize+',';
  if (menu != null) settings +='menubar='+menu+',';

  win = window.open(mypage,myname,settings);
  if(parseInt(navigator.appVersion) >= 4){win.focus();}
}

/************************************************************************
*  Function Name : NewModalWindow() +
*  Description   :
*  Input Data    : String	mypage => page url
*				   String	myname => popup browser 이름
*				   int		w	   => popup 넓이
*				   int		h	   => popup 높이
*				   String	scroll => 스크롤 유무. (no / yes)
*				   String	resize => Resize 가능 유무 (no / yes)
*  Output Data   : Input Parameter로 Modal Popup을 띄운다.
*************************************************************************/
function NewModalWindow(mypage, myname, w, h, t, l, scroll, resize){
  var wint, winl;
  if (t == 0 || t== null)
	wint = (screen.height-h)/2;
  else
	wint = t;

  if (l == 0 || l== null)
	winl = (screen.width-w)/2;
  else
	winl = l;

  var settings  ='dialogHeight:'+h+'px;'
      +'dialogWidth:'+w+'px;'
      +'dialogTop:'+wint+'px;'
      +'dialogLeft:'+winl+'px;'
      +'scroll:'+scroll+';'
      +'resizable:'+resize+';'
      +'status:0;help:0;';
  win = showModalDialog(mypage, myname, settings);
  return win;
}

var mouseX, mouseY
function CheckMouseWhere(e) {
	if (top.document.layers) {
		mouseX = e.x;
		mouseY = e.y;
	} else if (top.document.all) {
		mouseX = event.clientX;
		mouseY = event.clientY;
	} else if (top.document.getElementById)  {
		mouseX = e.x;
		mouseY = e.y;
	}
}
/********************************************************************
*  Function Name    : objRemoveDash()
*  Description      : Object의 Value 에서 "/" -> "" 로 치환.
*  Input Data       : input - 대상 String.
*  Output Data      : 
*  사용되는 Function : xReplace();
/********************************************************************/
function objRemoveDash(input) {
	input.value = xReplace(input.value,"/","");
	input.select();
}

/********************************************************************
*  Function Name    : setDash()
*  Description      : String의 5번째자리 "/"표시 7번째자리 "/" 추가표시.
*  Input Data       : str - 대상 String.
*  Output Data      : 
*  사용되는 Function : 
/********************************************************************/
function setDash(str) {
    var result = "";
    var tail = "";
    var sign = "";
    var flag = false;

    if(str == "") return result;
	var len = str.length;
	result = str.substr(0, 4)+"/"+str.substr(4, 2)+"/"+str.substr(6,2)

    return result; // 결과 값 출력
}

/********************************************************************
*  Function Name    : objSetDash()
*  Description      : String의 5번째자리 "/"표시 6번째자리 "/" 추가표시.
*  Input Data       : input - 대상 String.
*  Output Data      : 
*  사용되는 Function : setComma();
/********************************************************************/
function objSetDash(input) {
	//alert('1');
	input.value = setDash(input.value);
}




/********************************************************************
*  Function Name    : objRemoveTime()
*  Description      : Object의 Value 에서 ":" 와 "-" -> "" 로 치환.
*  Input Data       : input - 대상 String.
*  Output Data      : 
*  사용되는 Function : xReplace();
/********************************************************************/
function objRemoveTime(input) {
	var retemp = "";
	retemp = xReplace(input.value,":","");
	input.value = xReplace(retemp,"-","");
	input.select();
}

/********************************************************************
*  Function Name    : setTime()
*  Description      : String의 10:00-11:00 형태표현
*  Input Data       : str - 대상 String.
*  Output Data      : 
*  사용되는 Function : 
/********************************************************************/
function setTime(str) {
    var result = ":-:";
    var tail = "";
    var sign = "";
    var flag = false;

    if(str == "") return result;
	var len = str.length;
	result = str.substr(0, 2)+":"+str.substr(2, 2)+"-"+str.substr(4,2)+":"+str.substr(6,2);

    return result; // 결과 값 출력
}

/********************************************************************
*  Function Name    : objSetTime()
*  Description      : String의 10:00-11:00 형태표현
*  Input Data       : input - 대상 String.
*  Output Data      : 
*  사용되는 Function : setComma();
/********************************************************************/
function objSetTime(input) {
	//alert('1');
	input.value = setTime(input.value);
}

//단독시간인 경우 (ex) 10:00
function objSetTime_only(input) {
	//alert('1');
	var str;
	if(input.value.length==4){
		str = input.value.substr(0, 2)+":"+input.value.substr(2, 2);
	}else if(input.value.length>4){
		str = input.value.substr(0, 2)+":"+input.value.substr(2, 2);
	}else{
		str = input.value
	}
	input.value = str ;
}
/**
 * 주민등록 번호 체크

 */
function rrn(field1,field2)
{
	if(field1.value.length!=0 && field2.value.length!=0)
	{
		if(field1.value.length!=6)
		{
			alert("주민등록번호가 옳지 않습니다!");
			field1.focus();
			return false;
		}
		for(var i=0;i<6;i++)
		{
			var AChar=field1.value.charAt(i);
			if(AChar < "0" || AChar > "9")
			{
				alert("주민등록번호가 옳지 않습니다!");
				field1.focus();
				return false;
				break;
				}
		}
		if(field2.value.length!=7)
		{
			alert("주민등록번호가 옳지 않습니다!");
			field2.focus();
			return false;
		}
		for(var i=0;i<7;i++)
		{
			var AChar=field2.value.charAt(i);
			if(AChar < "0" || AChar > "9")
			{
				alert("주민등록번호가 옳지 않습니다!");
				field2.focus();
				return false;
				break;
			}
		}

		var mon=field1.value.substring(2,4);
		var day=field1.value.substring(4);
		var sex=field2.value.substring(0,1);

		if((mon < "01") || (mon > "12")) {
			alert ("주민등록번호가 옳지 않습니다!")
			field1.focus();
			return false;
		}
		if((day < "01") || (day > "31")) {
			alert ("주민등록번호가 옳지 않습니다!")
			field1.focus();
			return false;
		}
		if((sex < "1") || (sex > "4")) {
			alert ("주민등록번호가 옳지 않습니다!")
			field2.focus();
			return false;
		}
	
		r11=field1.value.substring(0,1);
		r12=field1.value.substring(1,2);
		r13=field1.value.substring(2,3);
		r14=field1.value.substring(3,4);
		r15=field1.value.substring(4,5);
		r16=field1.value.substring(5,6);
		
		r21=field2.value.substring(0,1);
		r22=field2.value.substring(1,2);
		r23=field2.value.substring(2,3);
		r24=field2.value.substring(3,4);
		r25=field2.value.substring(4,5);
		r26=field2.value.substring(5,6);
		r27=field2.value.substring(6,7);
	
		var total = r11*2 + r12*3 + r13*4 + r14*5 + r15*6 + r16*7 + r21*8 + r22*9 + r23*2 + r24*3 + r25*4 + r26*5;
		var result= (11- (total % 11)) % 10;

		if (result != r27) {
			alert("주민등록번호가 옳지 않습니다!");
			field1.focus();
			return false;
		}
	}
	return true;
}


//사업자번호 체크
function chkComNo(obj) {
	if (obj.value.length == 10) {
		var calStr1 = "13713713", biVal = 0,tmpCal;
		var calLast = obj.value.substring(9,10);

		for (i=0; i < 8; i++) {
			biVal = biVal + (parseFloat(obj.value.substring(i,i+1)) * 
			parseFloat(calStr1.substring(i,i+1))) % 10;
		}
		tmpCal = parseFloat(obj.value.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;
		}
	}
	return true
}

/**
 * 외국인등록 번호 체크
 */
function fgn_no_chksum(reg_no) {
    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) {
      return false;
    }

    if ((buf[11] != 6)&&(buf[11] != 7)&&(buf[11] != 8)&&(buf[11] != 9)) {
      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]) {
        return false;
    }
    else {
        return true;
    }
}

function fgn_no(field1,field2){
        var fgn_reg_no = field1.value + field2.value;

		if (fgn_reg_no == ''){
		  alert('외국인등록번호를 입력하십시오.');
		  return false;
		}

		if (fgn_reg_no.length != 13) {
		  alert('외국인등록번호 자리수가 맞지 않습니다.');
		  return false;
		}
		
        if ((fgn_reg_no.charAt(6) == "5") || (fgn_reg_no.charAt(6) == "6"))
        {
           birthYear = "19";
        }
        else if ((fgn_reg_no.charAt(6) == "7") || (fgn_reg_no.charAt(6) == "8"))
        {
           birthYear = "20";
        }
        else if ((fgn_reg_no.charAt(6) == "9") || (fgn_reg_no.charAt(6) == "0"))
        {
           birthYear = "18";
        }
        else
        {
          alert("외국인 등록번호에 오류가 있습니다. 다시 확인하십시오.");
		  field1.value =""; 
		  field2.value=""; 
		  field1.focus(); 
		  return ; 
        }        
		birthYear += fgn_reg_no.substr(0, 2);
		birthMonth = fgn_reg_no.substr(2, 2) - 1;
		birthDate = fgn_reg_no.substr(4, 2);
		birth = new Date(birthYear, birthMonth, birthDate);
        
        if ( birth.getYear() % 100 != fgn_reg_no.substr(0, 2) ||
             birth.getMonth() != birthMonth ||
             birth.getDate() != birthDate) {
          alert('생년월일에 오류가 있습니다. 다시 확인하십시오.');
          return false;
        }
        
        if (fgn_no_chksum(fgn_reg_no) == false){
        
            alert('외국인등록번호에 오류가 있습니다. 다시 확인하십시오.');
            return false;
        }
        else {
            return true;
        }
    
}
/********************************************************************
*  Function Name    : CalTime()
*  Description      : 작업시간 20분 : 0.2  
*                     작업시간 1시간 : 1  
*                     작업시간 1시간 20분 : 1.2 의 시간 계산.
*  Input Data       : hm - 대상 String.
*  Output Data      : 
*  사용되는 Function : setDot(); , setDouble();
/********************************************************************/
function CalTime(hm) {
  var ll_left;
  var ll_right;
  var ll_tot = 0;
  var digitTime;
  
  if (hm.indexOf(".") < 0) return;
  
  digitTime = hm.split(".");
  ll_left = setDot(digitTime[0],2);
  ll_right = setDouble(eval(digitTime[1]) / 60,"",2);
  ll_tot = eval(ll_left) + eval(ll_right);
  return ll_tot;  
}

/********************************************************************
*  Function Name    : CalTime()
*  Description      : 작업시간 20분 : 0.2  
*                     작업시간 1시간 : 1  
*                     작업시간 1시간 20분 : 1.2 의 시간 계산.
*  Input Data       : str - 원본날짜값
*					: tp  - 날짜분리기호
*  Output Data      : 예) tp='-' 일경우 '20050105' -> '2005-01-05'
*  사용되는 Function : 
/********************************************************************/
function f_formatDate8to10(str,tp){
	var rst = "";
	if(str!=null && str!=false){
		if(str.length==8){
			rst = str.substr(0,4) + tp + str.substr(4,2) + tp + str.substr(6,2);
		}
	} 
	return rst;
}

/********************************************************************
*  Function Name    : CalTime()
*  Description      : 작업시간 20분 : 0.2  
*                     작업시간 1시간 : 1  
*                     작업시간 1시간 20분 : 1.2 의 시간 계산.
*  Input Data       : str - 원본날짜값
*					: tp  - 날짜분리기호
*  Output Data      : 예) tp='-' 일경우 '2005-01-05' -> '20050105'
*  사용되는 Function : setDot(); , setDouble();
/********************************************************************/
function f_formatDate10to8(str,tp){
	var temp;
	var rst = "";
	if(str!=null && str!=false){
		if(str.length==10){
			temp = str.split(tp);
			rst = temp[0]+temp[1]+temp[2];
		}
	} 
	return rst;
}


/********************************************************************
*  Function Name    : FieldChk(uid, start, end)
*  Description      : 아이디, 비밀번호 체크=>영문소문자, 숫자만 가능하게.
*  Input Data       : uid - 입력데이터
*					: start - 입력문자열 최소크기
					: end - 입력문자열 최대크기
*  Output Data      : false, true
*  사용되는 Function : 
/********************************************************************/
function FieldChk(uid, start, end) {
	if(uid.length < start || uid.length > end) {
		return false;
	}

	for(var i = 0; i < uid.length; i++) {
		var chr = uid.substr(i,1);
    if((chr < '0' || chr > '9') && (chr < 'a' || chr > 'z') && (chr < 'A' || chr > 'Z') && (chr!='@') && (chr!='!')){
			return false;
		}
	}
	return true;   
}


/********************************************************************
*  Function Name    : addItem(srcObj, targetObj)
*  Description      : srcObj select박스에서 targetObj select박스로 item 추가
*  Input Data       : srcObj - 원본 object
*					: targetObj - 타겟 object
*  Output Data      : 
*  사용되는 Function : 
/********************************************************************/
function addItem(srcObj,targetObj){
	if(srcObj.selectedIndex==-1)
		return;
	else if(srcObj.selectedIndex==0){
		srcObj.selectedIndex = -1;
	}else{
		targetObj=eval(targetObj);
		var pSel = srcObj.options[srcObj.selectedIndex].value;
		for(j=0;j<targetObj.length; j++){
			if(targetObj.options[j].value==pSel){
				alert("["+srcObj.options[srcObj.selectedIndex].text+"]는 이미 추가된 제조사코드입니다.");
				return;
				break;
			}
		}
		var addOpt = document.createElement('OPTION');
		addOpt.text= srcObj.options[srcObj.selectedIndex].text;
		addOpt.value=srcObj.options[srcObj.selectedIndex].value;
		targetObj.options.add(addOpt);

	}
}
/********************************************************************
*  Function Name    : removeItem(srcObj)
*  Description      : srcObj select박스에서 item 삭제
*  Input Data       : srcObj - 원본 object
*					: 
*  Output Data      : 
*  사용되는 Function : 
/********************************************************************/
function removeItem(srcObj){
	if(srcObj.selectedIndex==-1)
		return;
	else if(srcObj.selectedIndex==0){
		srcObj.selectedIndex = -1;
	}else{
		srcObj.remove(srcObj.selectedIndex);
	}
}

function imgRsize(img, rW, rH){
        var iW = img.width;
        var iH = img.height;


        var g = new Array;
        if(iW < rW && iH < rH) { // 가로세로가 축소할 값보다 작을 경우
                g[0] =  iW;
                g[1] =  iH;
        } else {
                if(img.width > img.height) { // 원크기 가로가 세로보다 크면

                        g[0] = rW;
                        g[1] = Math.ceil(img.height * rW / img.width);
                } else if(img.width <= img.height) { //원크기의 세로가 가로보다 크면
                        g[0] = Math.ceil(img.width * rH / img.height);
                        g[1] = rH;
                } else {
                        g[0] = rW;
                        g[1] = rH;
                }
                if(g[0] > rW) { // 구해진 가로값이 축소 가로보다 크면

                        g[0] = rW;
                        g[1] = Math.ceil(img.height * rW / img.width);
                }
                if(g[1] > rH) { // 구해진 세로값이 축소 세로값가로보다 크면
                        g[0] = Math.ceil(img.width * rH / img.height);
                        g[1] = rH;
                }
        }
        g[2] = img.width; // 원사이즈 가로
        g[3] = img.height; // 원사이즈 세로
        return g;
}
			
function 	gg(img, ww, hh, aL){
        var tt = imgRsize(img, ww, hh);
        if(img.width == 0 || img.height == 0){
        	imgRsize(img, 200, 151)
        }
        if(img.width > ww || img.height > hh || img.width == 0 || img.height == 0){ // 가로나 세로크기가 제한크기보다 크면
        	
            img.width = tt[0]; // 크기조정
            img.height = tt[1];
            img.alt = '클릭하시면 원본이미지를 보실수있습니다.';
            if(aL){ // 자동링크 on
                    img.onclick = function(){
                        wT = Math.ceil((screen.width - tt[2])/2.6); // 클라이언트 중앙에 이미지위치.
                        wL = Math.ceil((screen.height - tt[3])/2.6);
                        mm = window.open("", 'viewOrig', 'scrollbars=yes,width='+tt[2]+',height='+tt[3]+',top='+wT+',left='+wL);
						mm.document.open()
						mm.document.write("<body style='margin:0px;cursor:hand'><img src="+img.src+" alt='클릭하시면 창이 닫힙니다.' border='0' onclick='self.close();'></body>")
                        //mm.document.body.onmousedown = function(){ mm.close();}
                        mm.document.title = 'SoobakC.com';
						mm.document.close()
					/*
                   	    var doc = mm.document.open();
                        doc.body.style.margin = 0; // 마진제거
                        doc.body.style.cursor = "hand";
                        var previewimg = doc.createElement("img");
                        previewimg.src = img.src;                  
                        doc.body.appendChild(previewimg);
                        doc.body.onmousedown = function(){ mm.close();}
                        doc.title = 'Visang';
					*/
                    }
                    img.style.cursor = "hand";
            }
            
        } else {
        	
            img.onclick = function(){}
        }
}

function gg2(img, ww, hh, aL){
        var tt = imgRsize(img, ww, hh);
        if(img.width > ww || img.height > hh){ // 가로나 세로크기가 제한크기보다 크면
            img.width = tt[0]; // 크기조정
            img.height = tt[1];
            img.alt = '클릭하시면 원본이미지를 보실수있습니다.';
            if(aL){ // 자동링크 on
                    img.onclick = function(){
                        wT = Math.ceil((screen.width - tt[2])/2.6); // 클라이언트 중앙에 이미지위치.
                        wL = Math.ceil((screen.height - tt[3])/2.6);
                        mm = window.open("", 'viewOrig', 'scrollbars=yes,width='+tt[2]+',height='+tt[3]+',top='+wT+',left='+wL);
						mm.document.open()
						mm.document.write("<body style='margin:0px;cursor:hand'><img src="+img.src+" alt='클릭하시면 창이 닫힙니다.' border='0' onclick='self.close();'></body>")
                        //mm.document.body.onmousedown = function(){ mm.close();}
                        mm.document.title = 'SoobakC.com';
						mm.document.close()

                    }
                    img.style.cursor = "hand";
            }
        } else {
            img.onclick = function(){}
        }
}

// 오브젝트의 위치 찾기
function getRealOffsetTop(o) { return o ? o.offsetTop + getRealOffsetTop(o.offsetParent) : 0; }
function getRealOffsetLeft(o) { return o ? o.offsetLeft + getRealOffsetLeft(o.offsetParent) : 0; }

//-------- 파일 체크 시작 -----------------------------
//파일의 확장자를 가져옮
function getFileExtension( filePath )
{
    var lastIndex = -1;
    lastIndex = filePath.lastIndexOf('.');
    var extension = "";

	if ( lastIndex != -1 )
	{
	    extension = filePath.substring( lastIndex+1, filePath.len );
	} else {
	    extension = "";
	}
    return extension;
}
//파일을 선택 후 포커스 이동시 호출
function fileCheck(AllowedExt, maxFileSize, value )
{

    var src = getFileExtension(value);
    if (src == "") {
        alert('올바른 파일을 입력하세요');
        return false;
    } else if ( (AllowedExt.indexOf(src.toLowerCase()) < 0) ) {
        alert('허용되지 않는 파일입니다.');
        return false;
    }

    LoadImg(maxFileSize, value);

}
function LoadImg(maxFileSize, value)
{
    var imgInfo = new Image();
    imgInfo.onload = img_Load(maxFileSize);
    imgInfo.src = value;
}
function img_Load(maxFileSize)
{
    var imgSrc, imgWidth, imgHeight, imgFileSize;
    imgSrc = this.src;
   // imgWidth = this.width;
   // imgHeight = this.height;
    imgFileSize = this.fileSize;
/*
    if (imgSrc == "" || imgWidth <= 0 || imgHeight <= 0)
    {
        alert('그림파일을 가져올 수 없습니다.');
        return;
    } 
*/
    if (imgSrc == "")
    {
        alert('파일을 가져올 수 없습니다.');
        return false;
    } 

    if (imgFileSize > maxFileSize)
    {
        alert('선택하신 파일은 허용 최대크기인 ' + maxFileSize/1024 + ' KB 를 초과하였습니다.');
        return false;
    } 
    //이미지 사이즈 저장 
   // document.all.imgWidth.value = imgWidth;
   // document.all.imgHeight.value = imgHeight;
}
//---- 파일체크 끝 ---------------------------------------------------------------

// 공통 플래쉬
function common_object(width,height,dir){
	if (dir.indexOf("swf") > 0) {
		document.write("<object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' codebase='https://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0' width='"+width+"' height='"+height+"'><param name='allowScriptAccess' value='always' /><param name='movie' value='"+dir+"'><param name='quality' value='high'><param name='wmode' value='transparent'><embed src='"+dir+"' quality='high' pluginspage='https://www.macromedia.com/go/getflashplayer' type='application/x-shockwave-flash' allowScriptAccess='always' width='"+width+"' height='"+height+"'></embed></object>");	
	} else {
		document.write("<img src='"+dir+"' width='"+width+"' height='"+height+"'  border='0'>"); //임시
	}
}

var OldElement="1";
function toggle(iObject){
     targetElement = document.getElementById(iObject);
     if (targetElement.style.display == "none") {
	 	if (OldElement != "1") {
		 	OldElement.style.display = "none"
		}
        targetElement.style.display = "";
		OldElement = targetElement;
     } else {
	 	targetElement.style.display = "none";
	 }
}

// 플래쉬에서 호출하는 함수 시작 --------------
function flashAlert(msg, type){
	//parent.thisMovie("cartFlash").reload();
	thisMovie("mainMap").alert(msg, type);
}

function thisMovie(movieName) {
    if (navigator.appName.indexOf("Microsoft") != -1) {
        return window[movieName];
    }
    else {
        return document[movieName];
    }
}

function flashStoreDetail(pCode) {
	location.href="/toulestore/store_detail.asp?fsStore="+pCode;
}

function flashStoreReg(pCode) {
	
	if (LoginStatusCheck("state") == ""){
		flashAlert("회원으로 로그인 하십시오.", 3);
	//	location.href="/member/login.asp";
	} else {
		var msg = ScrapAdd("/common/asp/lib/scrap_store_add.asp?fsStore="+pCode);
		if (msg == "OK"){
			flashAlert("단골매장으로 등록 하였습니다.", 1);
		} else {
			flashAlert(msg+"에러!", 1);
		}
	}
}

function flashStoreGoLogin(pKeyword) {
		location.href="/member/login.asp";
}

function flashProductGoLogin(pKeyword) {
		location.href="/member/login.asp";
}

function flashProductDetail(pCode) {
	location.href="/toulegoods/toulegoods_detail.asp?fsProdNum="+pCode;
}

function flashProductReg(pCode) {
	
	if (LoginStatusCheck("state") == ""){
		flashAlert("회원으로 로그인 하십시오.", 3);
	//	location.href="/member/login.asp";
	} else {
		var msg = ScrapAdd("/common/asp/lib/scrap_product_add.asp?fsProdNum="+pCode);
		if (msg == "OK"){
			flashAlert("관심제품으로 등록 하였습니다.", 1);
		} else {
			flashAlert(msg+"에러!", 1);
		}
	}
}

function loadFlashMainMap(flag, srchUrl,postUrl,viewUrl, listXmlUrl, productXmlUrl) {
	var flashWidth = "690";
	var flashHieght = "298";
	var flashUrl = "/images/flash/popLayer.swf";
	
	html = "<object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' codebase='https://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0' width='"+flashWidth+"' height='"+flashHieght+"' id='mainMap'>";
	html = html + "<param name='movie' value='"+flashUrl+"?flag="+flag+"&srchUrl="+srchUrl+"&postUrl="+postUrl+"&viewUrl="+viewUrl+"&listXmlUrl="+listXmlUrl+"&productXmlUrl="+productXmlUrl+"'>";
	html = html + "<param name='quality' value='high'>";
	html = html + "<param name='wmode' value='transparent'>";
	html = html + "<param name='allowScriptAccess' value='always' />";
	html = html + "<param name='base' value='.'>";
	html = html + "<embed id='mainMap' base='.' src='"+flashUrl+"?flag="+flag+"&srchUrl="+srchUrl+"&postUrl="+postUrl+"&viewUrl="+viewUrl+"&listXmlUrl="+listXmlUrl+"&productXmlUrl="+productXmlUrl+"' allowScriptAccess='always' quality='high' pluginspage='https://www.macromedia.com/go/getflashplayer' type='application/x-shockwave-flash' width='"+flashWidth+"' height='"+flashHieght+"' wmode='transparent'></embed>";
	html = html + "</object>";

	return html;
}

function viewRiaLayer(flag) {
	var selArr = document.getElementsByTagName('select');
	for (i=0;i<selArr.length;i++){
		selArr[i].style.display = "none";
	}
	
	flash = document.getElementById("flashLayer");
	flash.style.left = 220;
	flash.style.top = 100;
	flash.style.display = "block";
	flash.innerHTML = loadFlashMainMap(flag,'/common/asp/lib/flashGetGuInfo.asp','/common/asp/lib/flashGetDongInfo.asp','/common/asp/lib/flashGetStoreInfo.asp','/common/asp/lib/flashProductBasicCode.asp','/common/asp/lib/flashProductList.asp');
}

function closeRiaLayer() {
	var selArr = document.getElementsByTagName('select');
	for (i=0;i<selArr.length;i++){
		selArr[i].style.display = "block";
	}
	
	flash = document.getElementById("flashLayer");
	flash.style.display = "none";
	flash.innerHTML = ""
}

function flashStoreSearch(flag,pSido,pGugun,pDong,pKeyword) {
	if (flag == "1"){
		location.href="/toulestore/store_search.asp?pSido="+escape(pSido)+"&pGugun="+escape(pGugun)+"&pDong="+escape(pDong)+"&pKeyword="+escape(pKeyword);
	} else {
		iframe.location.href="/toulestore/store_search_iframe.asp?pSido="+escape(pSido)+"&pGugun="+escape(pGugun)+"&pDong="+escape(pDong)+"&pKeyword="+escape(pKeyword);
	}
}

function loadFlashSubMap(srchUrl,postUrl,flag) {
	var flashWidth = "635";
	var flashHieght = "344";
	var flashUrl = "/images/flash/subMap.swf";
	var srchUrl = srchUrl;
	var postUrl = postUrl;
	document.write("<object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' codebase='https://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0' width='"+flashWidth+"' height='"+flashHieght+"'>");
	document.write("<param name='movie' value='"+flashUrl+"?srchUrl="+srchUrl+"&postUrl="+postUrl+"&flag="+flag+"'>");
	document.write("<param name='quality' value='high'>");
	document.write("<param name='wmode' value='transparent'>");
	document.write("<param name='allowScriptAccess' value='always' />");
	document.write("<param name='base' value='.'>");
	document.write("<embed base='.' src='"+flashUrl+"?srchUrl="+srchUrl+"&postUrl="+postUrl+"&flag="+flag+"' allowScriptAccess='always' quality='high' pluginspage='https://www.macromedia.com/go/getflashplayer' type='application/x-shockwave-flash' width='"+flashWidth+"' height='"+flashHieght+"' wmode='transparent'></embed>");
	document.write("</object>");
}

function loadFlashMain(xmlUrl, linkUrl) {
	var flashWidth = "100%";
	var flashHieght = "858";
	var flashUrl = "/images/flash/main.swf";
	document.write("<object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' codebase='https://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0' width='"+flashWidth+"' height='"+flashHieght+"'>");
	document.write("<param name='movie' value='"+flashUrl+"?mainXmlUrl="+xmlUrl+"&xmlurl="+linkUrl+"'>");
	document.write("<param name='quality' value='high'>");
	document.write("<param name='wmode' value='transparent'>");
	document.write("<param name='allowScriptAccess' value='always' />");
	document.write("<param name='base' value='.'>");
	document.write("<embed base='.' src='"+flashUrl+"?mainXmlUrl="+xmlUrl+"&xmlurl="+linkUrl+"' allowScriptAccess='always' quality='high' pluginspage='https://www.macromedia.com/go/getflashplayer' type='application/x-shockwave-flash' width='"+flashWidth+"' height='"+flashHieght+"' wmode='transparent'></embed>");
	document.write("</object>");
}
// 플래쉬에서 호출하는 함수 끝 --------------


// 영역 프린트 
function goPrint(objid) { 
	var Obj = document.getElementById(objid);
	if (Obj) {
		var W = Obj.offsetWidth;        //screen.availWidth; 
		var H = Obj.offsetHeight;        //screen.availHeight;
		
		var pf = document.frames("printFrame");
		var targObj = pf.document.getElementById("printArea");
		targObj.innerHTML = Obj.innerHTML;
		pf.focus();
		window.print();
	}
} 

/// 쿠키제어 관련 함수------------------------------------
function getCookieVal(offset) {
	var endstr = document.cookie.indexOf (";", offset);
	if (endstr == -1) endstr = document.cookie.length;
	return unescape(document.cookie.substring(offset, endstr));
}

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) return getCookieVal (j);
		i = document.cookie.indexOf(" ", i) + 1;
		if (i == 0) break;
	}
	return null;
}
function SetCookie(name, value, expires){
	var argv = SetCookie.arguments;
	var argc = SetCookie.arguments.length;
	
	var expires = (2 < argc) ? argv[2] : null;
	var path = (3 < argc) ? argv[3] : null;
	var domain = (4 < argc) ? argv[4] : null;
	var secure = (5 < argc) ? argv[5] : false;

	var today = new Date();
	if(expires != null) {
		today.setDate(today.getDate() + expires);
	}
	document.cookie = name + "=" + escape (value) + ((expires == null) ? "" : ("; expires=" + today.toGMTString())) + ((path == null) ? "" : ("; path=" + path)) + ((domain == null) ? "" : ("; domain=" + domain)) + ((secure == true) ? "; secure" : "");
}
function clearCookie(name) {
	var expire_date = new Date();
	//어제 날짜를 쿠키 소멸 날짜로 설정한다.
	expire_date.setDate(expire_date.getDate() - 1)
	document.cookie = name + "= " + "; expires=" + expire_date.toGMTString() + "; path=/"
}

//최대 길이 체크
function chkMaxLength(obj, msg, maxLength)
{
    var objMaxLen = maxLength;
    var objLen = getByteLength(obj.value);
    
    if(objLen > objMaxLen)
    {
        alert(msg + objMaxLen + 'byte 까지(한글:2byte, 영문/숫자:1byte)만 가능합니다.\n'
            + '현재 ' + objLen + 'byte입니다');
        obj.select();
        return true;
    }
}

//	브라우저 검사
var BrowserDetect = {
    isFirefox : function() {
        if(navigator.appName.indexOf('Netscape') >= 0) return true;
        return false;
    },
    isExplorer : function() {
        if(navigator.appName.indexOf('Explorer') >= 0) return true;
        return false;
    }
};
//변경을 원하는 숫자를 받아 size만큼 0을 붙여준다.
function padZero(num, size) {
	var str = num.toString();
	var numZeros = size - str.length;

	for(var i=0; i<numZeros; i++) str="0"+str;
	return str;
}

// getDate(+0), getDate(-1), getDate(-7)
// (+),(-)로 원하는 날짜를 구한다.
function getDate(val) {
	var cDate = new Date();
	var d = cDate.valueOf()+1000*60*60*24*val;
	var dateObj = new Date(d);
	var date = dateObj.getYear()+""+padZero(dateObj.getMonth()+1,2)+""+padZero(dateObj.getDate(),2);
	return date;
}


//calendar 검색 날짜 셋팅하기
function setCalendar(val, sField, eField) {
	var stDt = getDate(val);
	var endDt = getDate(+0);	//오늘날짜
	
	sField.value = stDt;	//검색 시작필드
	eField.value = endDt;	//검색 종료필드
}

//	입력된 항목을 폴딩 시킨다. 항목은 id 값이 지정되어 있어야 한다.
function folding(foldId)
{
	var foldEl = document.getElementById(foldId);
	if(foldEl == null) {
		return;
	}
	
	var state = foldEl.style.display;
	if(state == 'none') {
		foldEl.style.display = 'block';
	}
	else {
		foldEl.style.display = 'none';
	}
}

//	문자열 좌, 우 내용을 트림한다.
function trim(str)
{
	return str.replace(/^\s\s*/, '').replace(/\s\s*$/, '');  
}

/********************************************************************
*  Function Name : chkAll
*  Description   : checkbox 전체체크 및 해제
*  Output Data   : 
*  Input Data    : src=> toggle checkbox, targ=>체크될 checkbox
********************************************************************/
function chkAll(src, targ) {
	if(targ) {
		var chkfl = (src.checked)?'checked':'';
		if(targ.length) {			
			for(var i=0; i < targ.length; i++ ) {
				if(!targ[i].disabled) targ[i].checked = chkfl;
			}
		} else {
			if(!targ.disabled) targ.checked = chkfl;
		}
	}	
}

/********************************************************************
*  Function Name : chkAll2
*  Description   : toggle parameter(1:ì ì²´ì í, 2:ì íí´ì )ì ë°ë¥¸ checkbox ì ì²´ì²´í¬ ë° í´ì 
*  Output Data   : 
*  Input Data    : toggle=> (1:ì ì²´ì í, 2:ì íí´ì ), targ=>ì²´í¬ë  checkbox
********************************************************************/
function chkAll2(toggle, targ) {
	if(targ) {
		var chkfl = (toggle == '1')?'checked':'';
		if(targ.length) {			
			for(var i=0; i < targ.length; i++ ) {
				if(!targ[i].disabled) targ[i].checked = chkfl;
			}
		} else {
			if(!targ.disabled) targ.checked = chkfl;
		}
	}	
}


function windowResize(width, height) {
	var height2 = document.body.scrollHeight;
	
	if(height < height2) 
		height = height2 + 50;
		
	window.resizeTo(width, height);
	window.scrollTo(0,0);	
}
	
// 그냥 n millis 동안 멈추기
function pause(numberMillis) {    
	var now = new Date();     
	var exitTime = now.getTime() + numberMillis;     
	while (true) {          
		now = new Date();          
		if (now.getTime() > exitTime)              
		return;     
	}
}
	
//window open
function openWinCen(theURL,winName,w,h,features) {
	var winl = (screen.width - w) / 3;
	var wint = (screen.height - h) / 3;
	features = 'width='+w+',height='+h+',left='+winl+',top='+wint+','+features;
	window.open(theURL,winName,features);
}
	
// 주소 복사 및 HTMl 복
function clipBoard(key, value){
	if(key == "url"){
		window.clipboardData.setData('Text', value);
		show('layer_addrCopy');
	} else if(key == "html"){
		var cnt;
		cnt = document.getElementById(value).value;
		window.clipboardData.setData('Text', cnt);
		show('layer_htmlCopy');
	}
}

// íìì°½ ì¤í
function MM_openBrWindow(theURL,winName,features) { //v2.0
	window.open(theURL,winName,features);
}

//window open
function openWinCen2(theURL,winName,t,l,features) {
	features = 'top='+t+',left='+l+','+features;
	window.open(theURL,winName,features);
}