﻿//////////////////////////////////////////////////////////////////////////
//   Copyright (c) eFusioni                                             //
//   All rights reserved.                                               //
//                                                                      //
//                                                                      //
//////////////////////////////////////////////////////////////////////////

//***** 미디어 파일 패치 *****
function EP_activate(num) {
    document.write(document.getElementById("DEACTIVATED_TEXT" + num).value);
}

//***** 롤오버 *****
function imgOver(param) {
	param.src = param.src.replace("out", "over");
}
function imgOut(param) {
	param.src = param.src.replace("over", "out")
}

//***** 메인 *****
function showLogin(){
	document.getElementById("layLogin").style.visibility = "visible";
}

//***** 팝업 *****
function pop(url,width,height,scroll){
	var popup = window.open(url,'_blank','width='+width+',height='+height+',scrollbars='+scroll);
}


//카테고리에 해당되는 제품명을 가져온다.
//var TARGET_URL = "/include/util/pidList.asp?cid=";
function contentsCheck(obj, maxsize, resize){
	/*
	for(i = 0; i < obj.childNodes.length; i++){
		if(obj.childNodes[i].tagName == "IMG"){
			if(obj.childNodes[i].width >= maxsize){
				obj.childNodes[i].width = resize;
			}
			
		}
	}
	*/
									
}


function formData2QueryString(docForm) {


  var submitContent = '';

  var formElem;

  var lastElemName = '';

  

  for (i = 0; i < docForm.elements.length; i++) {

    
    formElem = docForm.elements[i];

    switch (formElem.type) {

      // Text fields, hidden form elements

      case 'text':

      case 'hidden':

      case 'password':

      case 'textarea':

      case 'select-one':

        submitContent += formElem.name + '=' + escape(formElem.value) + '&'

        break;

        

      // Radio buttons

      case 'radio':

        if (formElem.checked) {

          submitContent += formElem.name + '=' + escape(formElem.value) + '&'

        }

        break;

        

      // Checkboxes

      case 'checkbox':

        if (formElem.checked) {

          // Continuing multiple, same-name checkboxes

          if (formElem.name == lastElemName) {

            // Strip of end ampersand if there is one

            if (submitContent.lastIndexOf('&') == submitContent.length-1) {

              submitContent = submitContent.substr(0, submitContent.length - 1);

            }

            // Append value as comma-delimited string

            submitContent += ',' + escape(formElem.value);

          }

          else {

            submitContent += formElem.name + '=' + escape(formElem.value);

          }

          submitContent += '&';

          lastElemName = formElem.name;

        }

        break;

        
    }

  }

  // Remove trailing separator

  submitContent = submitContent.substr(0, submitContent.length - 1);

  return submitContent;


}
function initRequest(url) {
    if (window.ActiveXObject) {
        return new ActiveXObject("Microsoft.XMLHTTP");
    } else if (window.XMLHttpRequest) {
        return new XMLHttpRequest();
    }
}

/*other version*/
/*
function getCategoryList(cidObj, pidObj, def) {
	var ccode = cidObj[cidObj.selectedIndex].value;
	var url = TARGET_URL + ccode;
	var req = initRequest(url);
    
    req.onreadystatechange = function() {
        if (req.readyState == 4) {
            if (req.status == 200) {
                parseMessages(req.responseXML, pidObj, def);
            }
            else if (req.status == 204){
            	alert("실패");
            }
        }
    };
    var smethod = "GET";
    req.open(smethod, url, true);
    //req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    req.send(null);
}
*/
  
function createXMLFromString(string) {
   var xmlDocument;
   var xmlParser;
   if(window.ActiveXObject){   //IE일 경우
      xmlDocument = new ActiveXObject('Microsoft.XMLDOM');
      xmlDocument.async = false;
      xmlDocument.loadXML(string);
   } else if (window.XMLHttpRequest) {   //Firefox, Netscape일 경우
      xmlParser = new DOMParser();
      xmlDocument = xmlParser.parseFromString(string, 'text/xml');
   } else {
      return null;
   }
   return xmlDocument;
}

  
function getCategoryList(cidObj, pidObj, def, idx, showActive) {
	var ccode = cidObj[cidObj.selectedIndex].value;
	var url = TARGET_URL + ccode;
	var req = initRequest(url);
    
    req.onreadystatechange = function() {
        if (req.readyState == 4) {
            if (req.status == 200) {
            	var stringXml = createXMLFromString(req.responseText);
                parseMessages(stringXml, pidObj, def, idx, showActive);
                //parseMessages(req.responseText, pidObj, def, idx, showActive);
            }
            else if (req.status == 204){
            	alert("실패");
            }
        }
    };
    var smethod = "GET";
    req.open(smethod, url, true);
    //req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    req.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
    req.send(null);
}


function getCategoryList2(cidObj1, cidObj2, pidObj, def, idx, showActive) {
	if(cidObj1.selectedIndex >= 0 && cidObj2.selectedIndex >= 0){
		var ccode1 = cidObj1[cidObj1.selectedIndex].value;
		var ccode2 = cidObj2[cidObj2.selectedIndex].value;
		var url = TARGET_URL2 + "cid1=" + ccode1 + "&cid2=" + ccode2;
		var req = initRequest(url);
	    req.onreadystatechange = function() {
	        if (req.readyState == 4) {
	            if (req.status == 200) {
					var stringXml = createXMLFromString(req.responseText);
					parseMessages(stringXml, pidObj, def, idx, showActive);
	                //parseMessages(req.responseXML, pidObj, def, idx, showActive);
	            }
	            else if (req.status == 204){
	            	alert("실패");
	            }
	        }
	    };
	    var smethod = "GET";
	    req.open(smethod, url, true);
	    req.send(null);
    }
}

function getApp1CategoryList(cidObj, pidObj, def, idx, showActive) {
	var ccode = cidObj[cidObj.selectedIndex].value;
	var url = TARGET_URL3 + ccode;
	var req = initRequest(url);
    
    req.onreadystatechange = function() {
        if (req.readyState == 4) {
            if (req.status == 200) {
            	var stringXml = createXMLFromString(req.responseText);
                parseMessages(stringXml, pidObj, def, idx, showActive);
                //parseMessages(req.responseText, pidObj, def, idx, showActive);
            }
            else if (req.status == 204){
            	alert("실패");
            }
        }
    };
    var smethod = "GET";
    req.open(smethod, url, true);
    //req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    req.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
    req.send(null);
}


function getApp1CategoryList2(cidObj1, cidObj2, pidObj, def, idx, showActive) {
	if(cidObj1.selectedIndex >= 0 && cidObj2.selectedIndex >= 0){
		var ccode1 = cidObj1[cidObj1.selectedIndex].value;
		var ccode2 = cidObj2[cidObj2.selectedIndex].value;
		var url = TARGET_URL4 + "cid1=" + ccode1 + "&cid2=" + ccode2;
		var req = initRequest(url);
	    req.onreadystatechange = function() {
	        if (req.readyState == 4) {
	            if (req.status == 200) {
					var stringXml = createXMLFromString(req.responseText);
					parseMessages(stringXml, pidObj, def, idx, showActive);
	                //parseMessages(req.responseXML, pidObj, def, idx, showActive);
	            }
	            else if (req.status == 204){
	            	alert("실패");
	            }
	        }
	    };
	    var smethod = "GET";
	    req.open(smethod, url, true);
	    req.send(null);
    }
}

function getAppCategoryList(cidObj1, cidObj2, pidObj, def, idx, showActive) {
	if(cidObj2.selectedIndex >= 0){
		var ccode1 = cidObj1;
		var ccode2 = cidObj2[cidObj2.selectedIndex].value;
		var url = TARGET_URL2 + "cid1=" + ccode1 + "&cid2=" + ccode2;
		var req = initRequest(url);
	    req.onreadystatechange = function() {
	        if (req.readyState == 4) {
	            if (req.status == 200) {
					var stringXml = createXMLFromString(req.responseText);
					parseMessages(stringXml, pidObj, def, idx, showActive);
	                //parseMessages(req.responseXML, pidObj, def, idx, showActive);
	            }
	            else if (req.status == 204){
	            	alert("실패");
	            }
	        }
	    };
	    var smethod = "GET";
	    req.open(smethod, url, true);
	    req.send(null);
    }
}

//2개 이상의 대분류 코드를 매개변수로 3차카테고리를 가져온다. 
function getCategoryListMore(cid1code, cidObj2, pidObj, def, idx, showActive) {
	if(cidObj2.selectedIndex >= 0){
		var ccode1 = cid1code;
		var ccode2 = cidObj2[cidObj2.selectedIndex].value;
		var url = TARGET_URL2 + "cid1=" + ccode1 + "&cid2=" + ccode2;
		var req = initRequest(url);
	    req.onreadystatechange = function() {
	        if (req.readyState == 4) {
	            if (req.status == 200) {
					var stringXml = createXMLFromString(req.responseText);
					parseMessages(stringXml, pidObj, def, idx, showActive);
	                //parseMessages(req.responseXML, pidObj, def, idx, showActive);
	            }
	            else if (req.status == 204){
	            	alert("실패");
	            }
	        }
	    };
	    var smethod = "GET";
	    req.open(smethod, url, true);
	    req.send(null);
    }
}


//셀렉트 박스용
function parseMessages(xmlObj, pidObj, def, idx, showActive){
    /*
    var xmlNode = xmlObj.getElementsByTagName("code")[0];
	if ( xmlNode == null ) return;
	var entity = xmlNode.getElementsByTagName("entity");
	*/
	var entity = xmlObj.getElementsByTagName("entity");
	
	
	var length = entity.length;
    pidObj.length = idx;//서브카테고리 시작인덱스
    for ( var loop = 0 ; loop < length ; loop++) {
	    var code = entity[loop];
        var title = code.getElementsByTagName("text")[0].firstChild.nodeValue.replace('|-|-|', '&');
        var val = code.getElementsByTagName("value")[0].firstChild.nodeValue;
        var opt = new Option(title, val);
        pidObj.add(opt);
    }
    if(showActive == "N" )
		executeForSelectorShowActive(pidObj, def);
	else
		executeForSelector(pidObj, def, idx);
    
    
}

//폼객체의 종류를 자동으로 인식하여 값이 비어 있으면 메시지를 뿌려주고 필요하면 focusing한다.
document.write("<OBJECT id=dlgHelper CLASSID=clsid:3050f819-98b5-11cf-bb82-00aa00bdce0b width=0 height=0></OBJECT>");
//크레신 이미지 점선 없애기 
function bluring(){ 
	try{
	if(event.srcElement.tagName=="A"||event.srcElement.tagName=="img") document.all.body.focus(); 
	}catch(e){}
} 
// 알수 없는 오류로 인하여 -_- 일단 주석처리 
//document.onfocusin=bluring;

function EP_activate(num) {
    document.write(document.getElementById("DEACTIVATED_TEXT" + num).value);
}

function login(nexturl){
    if(nexturl == undefined || nexturl == ""){
        location.replace('/global/login/login.asp');
    }else{
        location.replace('/global/login/login.asp?nextUrl='+nexturl);
    }
}

function encodeLogin(encodeNexturl){
    if(encodeNexturl == undefined || encodeNexturl == ""){
        location.replace('/member/login.asp');
    }else{
        location.replace('/member/login.asp?encodeNexturl='+encodeNexturl);
    }
}

function checkField(obj, message) {
    var tag = "";

    if (obj.tagName == null) {
		if (obj.length == undefined){
			if (obj.type == "checkbox") tag = "CHECK";
			else if (obj.type == "radio") tag = "RADIO";
		}else{
			if (obj[0].type == "checkbox") tag = "CHECK";
			else if (obj[0].type == "radio") tag = "RADIO";
		}
    }
    else {
        if (obj.tagName == "SELECT") tag = "SELECT";
        else if (obj.tagName == "INPUT") {
            if (obj.type == "text") tag = "TEXT";
            else if (obj.type == "hidden") tag = "HIDDEN";
            else if (obj.type == "file") tag = "FILE";
            else if (obj.type == "password") tag = "PASSWORD";
			else if (obj.type == "checkbox") tag = "CHECK";
        }
        else if (obj.tagName == "TEXTAREA") tag = "TEXTAREA";
    }
    
    var valid = true;
    if (tag == "SELECT") {
        if (obj.options[obj.selectedIndex].value == '') valid = false;
    }
    else if (tag == "TEXT" || tag == "TEXTAREA" || tag == "FILE" || tag == "PASSWORD" || tag == "HIDDEN") {
        if (obj.value.trim() == "") valid = false;
    }
    else if (tag == "CHECK" || tag == "RADIO") {
        var isHit = false;
		if (obj.length == undefined)
		{
			valid = obj.checked; 
		}else{
			for (var i=0; i<obj.length; i++) {
				if (obj[i].checked) {
					isHit = true;
					break;
				}
			}
			valid = isHit;
		}
    }

	if (message != null){
		if (!valid) {
			alert(message);
			if (tag != "CHECK" && tag != "RADIO" && tag != "HIDDEN") obj.focus();
		}
	}

    return valid;
}

function checkDigit(obj, digit, message){
	var tag = "";
	var isValid = false;
	if (obj.tagName == "SELECT" || obj.tagName == "TEXTAREA" || obj.tagName == null){
		isValid = true;
	}
	if (obj.value.length == digit){
		isValid = true;
	}
	if (message != null){
		if (!isValid){
			alert(message);
			obj.focus();
		}
	}

	return isValid;
}

// 입력값이 숫자가 아니면 메시지를 뿌려준다.
function checkNumber(obj, message) {
    var valid = obj.value.isNumber();
    if (!valid) {
        alert(message);
        obj.focus();
    }

    return valid;
}

// 입력값이 이메일이 아니면 메시지를 뿌려준다.
function checkEmail(obj, message) {
    var valid = obj.value.isEmail();
    if (!valid) {
        alert(message);
        obj.focus();
    }

    return valid;
}

// 푸케코 이메일입력값이 아니면 메시지를 뿌려준다.
function checkEmail2(obj, message) {
    var valid = obj.value.isEmail2();
    if (!valid) {
        alert(message);
        obj.focus();
    }

    return valid;
}

// 입력값이 주민등록번호 형식이 아니면 메시지를 뿌려준다.
function checkJumin(obj, message) {
    var valid = obj.value.isJumin();
    if (!valid) {
        alert(message);
        obj.focus();
    }

    return valid;
}

// 한 문자열이 'YYYYMMDD' 형식의 날짜값인지 판별한다.
String.prototype.isDate = function() {
	if (this.length != 8) return false;

	var year = parseInt(this.substr(0, 4));
	var month = parseInt(this.substr(4, 2));
	var day = parseInt(this.substr(6, 2));

	if (isNaN(year) || isNaN(month) || isNaN(day)) return false;
	if (year < 0) return false;
	if (month < 1 && month > 12) return false;
	if (day < 1 && day > 31) return false;

	var months = new Array(31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);

	if (day > months[month - 1]) return false;

	if (month == 2 && day == 29) {
		if (!((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) return false;
	}

	return true;
}

// 한 문자열이 숫자인지 판별한다.
String.prototype.isNumber = function() {
    if (this == "") return false;
    else return this.isRestrictedWithin("0123456789");
}

// 한 문자열이 입력값의 Charactor들만 사용했는지 판별한다.
String.prototype.isRestrictedWithin = function (chars) {
    for (var i=0; i<this.length; i++) {
        if (chars.indexOf(this.charAt(i)) < 0) return false;
    }

    return true;
}

//문자열 상의 숫자가 아닌 부분을 삭제하여 숫자를 완성한다.
// 예 : "1234ajefcd45dk" -> "123445"
String.prototype.removeNonNumericChars = function () {
    return this.replace(/[^0-9]/g, "");
}

// input field에 숫자만 넣어야 할경우에  onKeyPress이벤트에서 호출한다..
// 사용예 : <input type=text name="aField" onKeyPress="return isNumberPressed(this)">
function isNumberPressed(obj) {
    return !(event.keyCode < 48 || event.keyCode > 57);
}

// textarea에서 입력 길이를 제한할 경우에 onKeyPress이벤트에서 호출한다..
// 사용예 : <textarea name="aField" onKeyUp="limitTextLength(this, 50)"></textarea>
function limitTextLength(obj, len) {
    if (obj.value.length > len) {
        alert(len + " 자 이상 입력하실 수 없습니다.");
        obj.value = obj.value.substr(0, len);
    }
}

// 앞뒤 공백을 자른다..
String.prototype.trim = function() {
    var format = /^\s*/g;
    var str = this;
    str = str.replace(format, "");
    format = /\s*$/g;
    str = str.replace(format, "");

    return str;
}

// 문자열이 이메일 형식인지 판별한다.
String.prototype.isEmail = function() {
    var format = /^((\w|[\-\.])+)@((\w|[\-\.])+)\.([A-Za-z]+)$/;
    return (this.search(format) > -1);
}
// 푸케코 회원가입 이메일 문자열이 이메일 형식인지 판별한다.
String.prototype.isEmail2 = function() {
    var format = /^((\w|[\-\.])+)\.([A-Za-z]+)$/;
    return (this.search(format) > -1);
}

String.prototype.isJumin = function() {
    var sum = 0 ;
    sum = this.charAt(0) * 2 + this.charAt(1) * 3 + this.charAt(2) * 4 + this.charAt(3) * 5 +
          this.charAt(4) * 6 + this.charAt(5) * 7 + this.charAt(6) * 8 + this.charAt(7) * 9 +
          this.charAt(8) * 2 + this.charAt(9) * 3 + this.charAt(10) * 4 + this.charAt(11) * 5;

    if (sum == "0") return false;
    else {
        sum = 11 - sum % 11 ;
        if (sum > 9) sum = sum - 10;

        if (sum == this.charAt(12)) return true;
        else return false;
    }
}

// 숫자를 money포맷으로 3자리씩 끊어 표현한다.
String.prototype.formatMoney = function() {
    if (!this.isNumber()) return null;

	var start = 0;
	var distance =  parseInt(this.length % 3);
	var nComma =  parseInt(this.length / 3);

	if (distance == 0){
		distance = 3;
		nComma -= 1;
	}

	var arr = new Array();
	for (var i=0; i<nComma + 1; i++) {
		arr[i] = this.substring(start, start + distance);	

		start += distance;
		distance = 3;
	}

	var sReturn = ""
	var isFirst = true;
	for (var i=0; i<arr.length; i++) {
		sReturn += (isFirst ? "" : ",") + arr[i];
		isFirst = false;
	}

	return sReturn;
}

// 해당 년도의 날짜 수를 반환
function getDaysOfYear(year) {
    if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) return 366;
    else return 365;
}

//상수 정의
var DIFF_YEAR = 0;
var DIFF_MONTH = 1;
var DIFF_DAY = 2;

// 해당 년, 월의 날짜 수를 반환
Date.prototype.getLastDateOfMonth = function() {
    var month = this.getMonth();
    var year = this.getFullYear();
    if (month == 0 || month == 2 || month == 4 || month == 6 || month == 7 || month == 9 || month == 11) {
        return 31;
    }
    else if (month == 3 || month == 5 || month == 8 || month == 10) {
        return 30;
    }
    else {
        if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) return 29;
        else return 28;
    }
}

// 현 날짜의 지정된 간격에 해당하는 날짜를 반환 (날짜 밑의 시간은 무시된다.)
Date.prototype.add = function(opt, nDiff) {
    //참조가 아닌 Value로 복사
    var rDate = this.getInstanceByVal();

    switch (opt) {
    case DIFF_YEAR :
        var year = rDate.getFullYear() + nDiff;

        //2월 29일이고 변경할 년도가 2월 28일까지 밖에 없다면 2월 28일로 변경
        if (this.getMonth() == 1 && this.getDate() == 29 && getDaysOfYear(year) == 365) {
            rDate.setFullYear(year, 1, 28);
        }
        else {
            rDate.setFullYear(year, rDate.getMonth(), rDate.getDate());
        }

        break;
    case DIFF_MONTH :
        var diffYear;
        var diffMonth;

        if (nDiff >= 0) {
            diffYear = Math.floor(nDiff / 12);
        }
        else {
            diffYear = Math.ceil(nDiff / 12);
        }

        diffMonth = nDiff % 12;

        var year = rDate.getFullYear() + diffYear;
        var month = rDate.getMonth() + diffMonth;

        if (month > 11) {
            year++;
            month -= 12;
        }
        else if (month < -11) {
            year--;
            month += 12;
        }

        //2월 29일이고 변경할 년도가 2월 28일까지 밖에 없다면 2월 28일로 변경
        if (rDate.getMonth() == 1 && rDate.getDate() == 29 && month == 1 && getDaysOfYear(year) == 365) {
            rDate.setFullYear(year, 1, 28);
        }
        else {
            rDate.setFullYear(year, month, rDate.getDate());
        }

        break;
    case DIFF_DAY :
        // 1970년 1월 1일부터 경과한 milliseconds 계산
        var tms = rDate.getFullMilliseconds();
        tms += nDiff * 24 * 60 * 60 * 1000;

        rDate = new Date(tms);
        break;
    }

    return rDate;
}

Date.prototype.getFullMilliseconds = function() {
    var tms = 0;
    if (this.getFullYear() >= 1970) {
        //년도
        for (var i=1970; i<this.getFullYear(); i++) {
            tms += getDaysOfYear(i) * 24 * 60 * 60 * 1000;
        }

    }
    else {
        for (var i=this.getFullYear(); i<1970; i++) {
            tms += getDaysOfYear(i) * 24 * 60 * 60 * 1000;
        }

        tms = -tms;
    }

    //월
    for (var i=0; i<this.getMonth(); i++) {
        var aDate = new Date(this.getFullYear(), i, 1);
        tms += aDate.getLastDateOfMonth() * 24 * 60 * 60 * 1000;
    }

    //일
    tms += (this.getDate() - 1) * 24 * 60 * 60 * 1000;

    //시
    tms += this.getHours() * 60 * 60 * 1000;

    //분
    tms += this.getMinutes() * 60 * 1000;

    //초
    tms += this.getSeconds() * 1000;

    //Milliseconds
    tms += this.getMilliseconds();

    //타임존 고려.. 9시간을 빼준다. (검증 안된 코드)
    tms -= 9 * 60 * 60 * 1000;

    return tms;
}

Date.prototype.getInstanceByVal = function() {
    return new Date(this.toString());
}


// 날짜를 지정한 날짜 형식으로 반환한다. 현재 YYYY, MM, DD 만 작동
// 사용예) 현재날짜 2004년 10월 19일 기준
// var str = (new Date()).formatString("YYYY/MM/DD"); "2004/10/19"를 반환
// var str = (new Date()).formatString("YYYYMMDD"); "20041019"를 반환
Date.prototype.formatString = function(format) {
    var year = this.getFullYear();
    var month = this.getMonth() >= 9 ? parseInt(this.getMonth() + 1) : "0" + parseInt(this.getMonth() + 1);
    var day = this.getDate() >= 10 ? this.getDate() : "0" + this.getDate();

    var str = format.toUpperCase();
    str = str.replace("YYYY", year);
    str = str.replace("MM", month);
    str = str.replace("DD", day);

    return str;
}

// Select Box를 index가 아닌 value 값을 기준으로 선택하는 함수
function selectByVal(obj, val) {
    var i;

    for ( i = 0 ; i < obj.length ; i++ )
        if ( obj[i].value == val ) {
            obj.selectedIndex = i;
            return i;
        }

    return -1;
}

/* 소수점이 포함된 숫자 입력 제어
// 사용예) ...style='ime-mode:disabled;' onKeyPress="return isPoint(this);">
*/

String.prototype.locationPonit = function()
{
	if((this.length == 0 && event.keyCode == 46))
	{
		alert("처음에 소수점이 올수 없습니다.");
		return false;
	}else if((this.length > 0 && event.keyCode == 46)) {
		for(i = 0 ; i < this.length ; i++) {
			if(this.charAt(i) == ".") {
				return false;
			}
		}
		return true;
	}else return true;
}

function isPoint(obj) {
	if(!obj.value.locationPonit())
	{
	  return false;
	}
  return !((event.keyCode < 48 || event.keyCode > 57) && event.keyCode != 46);
}
/* 숫자와 - 을 포함한 전화번호 입력 제어
// 사용예) ..... style='ime-mode:disabled;' onKeyPress="return isTelephone(this);">
*/
String.prototype.locationHyphen= function()
{
	var cnt = 0 ;
	var j ;
	if((this.length == 0 && event.keyCode == 45))
	{
		alert("잘못된 형식입니다.");
		return false;
	}else if((this.length > 0 && event.keyCode == 45)) {
		for(i = 0 ; i < this.length ; i++) {
			if(this.charAt(i) == "-") {
				cnt++;
			    if(this.charAt(this.length-1) == this.charAt(i)){
					alert("잘못된 형식입니다.");
					return false
				}
			}
		}
		return true;
	}else return true;
}

function isTelephone(obj) {
    if(!obj.value.locationHyphen()){
	   return false;
	}
	if(!((event.keyCode < 48 || event.keyCode > 57) && event.keyCode != 45)) {
		return true;
	}else{
	  alert("숫자와 '-' 이외의 문자는 입력할 수 없습니다.");
	  return false;
  }
}
//-----------------------------------------------------------------------//
// checkform(formField, checkName, message, maxlength, minlength)
// 입력 필드를 입력받아 숫자/아이디/문자/전화번호/영문/최소글자/최대글자등을
// 체크하여 메세지를 전달하고 반환한다.
//-----------------------------------------------------------------------//
	String.prototype.IsId = function() {
		if (this.search(/[^A-Za-z0-9_-]/) == -1)
			return true;
		else
			return false;
	}

	String.prototype.IsTel = function() {
		if (this.search(/[^0-9_\\(\\)-]/) == -1)
			return true;
		else
			return false;
	}

	String.prototype.IsMoney = function() {
		if (this.search(/[^0-9_,]/) == -1)
			return true;
		else
			return false;
	}

	String.prototype.IsAlpha = function() {
		if (this.search(/[^A-Za-z]/) == -1)
			return true;
		else
			return false;
	}

	String.prototype.IsNumber = function() {
		if (this.search(/[^0-9]/) == -1)
			return true;
		else
			return false;
	}

	String.prototype.IsJumin = function() {
		var jumin= this
		if (jumin.length  != 13)
			return false;
		tval=jumin.charAt(0)*2 + jumin.charAt(1)*3 + jumin.charAt(2)*4
		+ jumin.charAt(3)*5 + jumin.charAt(4)*6 + jumin.charAt(5)*7
		+ jumin.charAt(6)*8+ jumin.charAt(7)*9 + jumin.charAt(8)*2
		+ jumin.charAt(9)*3 + jumin.charAt(10)*4 + jumin.charAt(11)*5;

		tval2=11- (tval % 11);
		tval2=tval2 % 10;

		if (jumin.charAt(12)==tval2 &&  (jumin.charAt(6)=="1" ||jumin.charAt(6)=="2")) {
			return true;
		}
		else{
			return false ;
		}
	}

	String.prototype.IsEmail = function() {
		if (this.search(/(.+)@.+\..+/) == -1)
			return false;
		else {
			for(var i=0; i < this.length;i++)
				if (this.charCodeAt(i) > 256)
					return false;
			return true;
		}
	}

	String.prototype.IsDate = function() {
		if (this.search(/\d{4}\.\d{2}\.\d{2}/) == -1)
			return false;
		else {
			return true;
		}
	}

	String.prototype.IsContent = function() {
		if (this.search(/<[^<|>]*>/) == -1)
			return true;
		else {
			return false;
		}
	}

	String.prototype.StrLen = function() {
		var temp;
		var set = 0;
		var mycount = 0;

		for( k = 0 ; k < this.length ; k++ ){
			temp = this.charAt(k);

			if( escape(temp).length > 4 ) {
				mycount += 2
			}
			else mycount++;
		}

		return mycount;
	}

	String.prototype.LTrim = function() {
		var i, j = 0;
		var objstr

		for ( i = 0; i < this.length ; i++){
			if (this.charAt(i) == ' ' ){
				j = j + 1;
			}
			else{
				break;
			}
		}
		return this.substr(j, this.length - j+1)
	}

	String.prototype.RTrim = function() {
		var i, j = 0;

		for ( i = this.length - 1; i >= 0 ; i--){
			if (this.charAt(i) == ' ' ){
				j = j + 1
			}
			else{
				break;
			}
		}
		return 	this.substr(0, this.length - j);
	}

	String.prototype.Trim = function() {
		return this.replace(/\s/g, "");
	}

	function _cmdfocus(formobj){
		formobj.select();
		formobj.focus();
	}

	function Go_Next(curField, nextField, curLength){
		if (curField.value.length >= curLength){
			nextField.focus();
		}
	}

	//입력형식:"YYYY/MM/DD"(다른 형식은 에러입니다.)
	function DateDiff(FromDate, ToDate){
		var D1,D2,Diff;						//변수를 선언합니다.
		var MinMilli = 1000 * 60;			//변수를 초기화합니다.
		var HrMilli = MinMilli * 60;
		var DyMilli = HrMilli * 24;
		D1 = Date.parse(FromDate);			//구문 분석합니다.
		D2 = Date.parse(ToDate);			//구문 분석합니다.
		Diff = Math.round(Math.abs((D2-D1) / DyMilli))
		if (Diff>-1) {
			Diff= Diff + 1;
		} else {
			Diff= Diff - 1;
		}
		return(Diff);						//결과를 반환합니다.
	}

	function checkform(formField, checkName, message, maxlength, minlength) {

	//각 필드별 입력값 체크
	//주민등록시 반드시 값으로 넘긴다.
	//필수입력 check
	//글자수 check
	//field 유효성 check

	formValue = formField.value.LTrim().RTrim();

		if(checkName != 'jumin' && checkName != 'fax'){
			if (formField == null ) {
				return false;
			}

			if (formValue == '' && minlength > 0){
				alert(message + " 필수입력 항목입니다.");
				_cmdfocus(formField);
				return false;
			}

			if (formValue.StrLen() < minlength) {
				alert(message + " 최소" + minlength + "자이상 입력하세요.");
				_cmdfocus(formField);
				return false;
			}

			if (formValue.StrLen() > maxlength) {
				alert(message + " 최대" + maxlength + "자(한글" + maxlength/2 + " 자)까지 입력 가능합니다.");
				_cmdfocus(formField);
				return false;
			}
		}

		switch(checkName) {
			case "" :
				return true;
			case "alpha" :
				if (formValue.IsAlpha()) {
					return true;
				} else {
					alert(message + " 영문자만 입력 가능 합니다.");
					_cmdfocus(formField);
					return false;
				}
				break;
			case "number" :

				if (formValue.IsNumber()) {
					return true;
				} else {
					alert(message + " 숫자만 입력 가능 합니다.");
					_cmdfocus(formField);
					return false;
				}
				break;
			case "id" :
				if (formValue.IsId()) {
					return true;
				} else {
					alert(message + " 영문자와 숫자만 입력 가능 합니다.");
					_cmdfocus(formField);
					return false;
				}
				break;
			case "tel" :
				if (formValue.IsTel()) {
					return true;
				} else {
					alert(message + " 숫자와 - ( ) 만 입력 가능합니다.");
					_cmdfocus(formField);
					return false;
				}
				break;
			case "fax" :
				if (formValue.IsTel()) {
					return true;
				} else {
					alert(message + " 숫자와 - ( ) 만 입력 가능합니다.");
					_cmdfocus(formField);
					return false;
				}
				break;
			case "email" :
				if (formValue.IsEmail()) {
					return true;
				} else {
					alert(message + " 이메일 형식이 틀립니다. 다시 입력해 주세요(형식: account@localhost.com");
					_cmdfocus(formField);
					return false;
				}
				break;
			case "date" :
				if (formValue.IsDate()) {
					return true;
				} else {
					alert(message + " 날짜 형식이 틀립니다. 다시 입력해 주세요(형식: 1999.09.09)");
					_cmdfocus(formField);
					return false;
				}
				break;
			case "content" :
				if (formValue.IsContent()) {
					return true;
				} else {
					alert(message + " 테스트만 입력이 가능합니다.");
					_cmdfocus(formField);
					return false;
				}
				break;
			case "jumin" :
				if(formValue.StrLen() != 13){
					alert("주민등록번호를 정확히 입력해주세요");
					return false
				}

				if (formValue.IsJumin()) {
					return true;
				} else {
					alert("주민등록번호를 정확히 입력해주세요");
					return false;
				}
				break;
		}
	}
/*---------------------------------------------------------------------*/
/* func name: SetFocus_Select_2 (object,value)                         */
/* purpose  : SELECT object 의 options 중에 value 파라메터의 값을      */ 
/*                        맨 처음 디스플레이 한다.                     */
/* select option의 각각의 value 값으로 비교한다. 		       */
/*---------------------------------------------------------------------*/
function   SetFocus_Select_2(obj,value) {
  var i ;
  var flag=0;

  if ( obj.length == null ) {
       if ( obj.value  == value ) {
            obj.options[0].selected = true;
       }
  }
  else {
     for (i=0; i < obj.length ;i++) {
       if ( obj.options[i].value == value) {
            obj.options[i].selected=true;
	    flag = 1;
       }
     }
     if ( flag == 0  ){
            obj.options[0].selected=true;
     }
  }
}
function get_selected_value (obj) {
    var i;

    if ( obj.length == null || obj.length == "" ) {
         if ( obj.options[0].selected == true) {
              return obj.options[0].value;
         }
                 return "";
    }
    else {
         for (i=0; i < obj.length ; i++) {
              if ( obj.options[i].selected == true) {
                   return obj.options[i].value;
              }
         }
         return "";
        }
}
//-----------------------------------------------------------------------//

//////////////////////////////////////////////////////////////////////////
//
//  여기서부터 Old Source
//  사용 "자제" 하기 바람
//
//////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////
//   Copyright (c) FID                                                  //
//   All rights reserved.                                               //
//                                                                      //
//   자바스크립트 공통함수                                              //
//                                                                      //
//    주의: 아래의 모든 메소드는 입력폼의 필드이름(myform.myfield)을    //
//         파라미터로 받는다. 필드의 값(myform.myfield.value)이 아님을  //
//         유념할 것.                                                   //
//                                                                      //
//////////////////////////////////////////////////////////////////////////




// 용    도 : 입력값이 NULL인지 체크
// return :  boolean
//           NULL이면 true, 아니면 false가 돌아간다.

function isNull(input) {
    if (input.value == null || input.value == "") {
        return true;
    }
    return false;
}

// 용    도 : 입력값이 NULL인지 확인하여 NULL이면 "입력값이 없습니다."라는
//            메시지 창을 보여주고 그 결과를 돌려준다.
// return :  boolean
//           NULL이면 true, 아니면 false가 돌아간다.
function isNullAlert(input) {
    var ret=isNull(input);
    if(ret)
    {
        alert("입력값이 없습니다.");
    }
    return ret;
}


// 용    도 : 입력값에 스페이스 이외의 의미있는 값이 있는지 체크
// return :  boolean
//           있으면 true, 아니면 false가 돌아간다.

function isEmpty(input) {
    if (input.value == null || input.value.replace(/ /gi,"") == "") {
        return true;
    }
    return false;
}

// 용    도 : 입력값에 Space 이외의 의미밌는 값이 없으면 "입력값이 없습니다."라는
//            메시지 창을 보여주고 그 결과를 돌려준다.
// return :  boolean
//           space 이외의 의미있는 값이 없으면 true, 아니면 false가 돌아간다.

function isEmptyAlert(input) {
    var ret=isEmpty(input);
    if(ret)
    {
        alert("입력값이 없습니다.");
    }
    return ret;
}

// 용    도 : 입력값에 특정 문자(chars)가 있는지 체크
//           특정 문자를 허용하지 않으려 할 때 사용
// return :  boolean 있으면 true, 없으면 false
//사 용 예 :  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)만으로 되어있는지 체크
//           특정 문자만 허용하려 할 때 사용
// return :  boolean  확인하려는 대상 문자만 있으면 true, 아니면 false
// 사 용 예 :  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;
}


// 용    도:  입력값이 알파벳인지 체크
//           아래 isAlphabet() 부터 isNumComma()까지의 메소드가
//           자주 쓰이는 경우에는 var chars 변수를
//           global 변수로 선언하고 사용하도록 한다.
// return :  boolean, A에서 Z 까지의 문자만으로 되어있으면 true, 아니면 false
//
// 사 용 예 :  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);
}

// 용    도:  입력값이 알파벳인지 확인하여 알파벳 이외의 문자가 있으면 "영문자만
//           입력가능 합니다." 메시지를 보여주고 결과를 돌려준다.
// return :  boolean, A에서 Z 까지의 문자만으로 되어있으면 true, 아니면 false

function isAlphabetAlert(input) {
    var ret=isAlphabet(input);
    if(!ret)
    {
        alert("영문자만 입력가능 합니다.");
    }
    return ret;
}

// 용    도: 입력값이 알파벳 대문자인지 체크
// return :  boolean, 대문자만이면 true, 아니면 false

function isUpperCase(input) {
    var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    return containsCharsOnly(input,chars);
}

// 용    도: 입력값이 알파벳 대문자인지 확인하여 대문자 이외의 문자가 있으면
//          "알파벳 대문자만 입력하실수 있습니다."라는 메시지를 보여주고 돌려준다.
// return :  boolean, 대문자만이면 true, 아니면 false

function isUpperCaseAlert(input) {
    var ret=isUpperCase(input);
    if(!ret)
    {
        alert("알파벳 대문자만 입력하실수 있습니다.");
    }
    return ret;
}


// 용    도: 입력값이 알파벳 소문자인지 체크
// return :  boolean  소문자만이면 true, 아니면 false

function isLowerCase(input) {
    var chars = "abcdefghijklmnopqrstuvwxyz";
    return containsCharsOnly(input,chars);
}

// 용    도: 입력값이 알파벳 소문자인지 확인하여 소문자 이외의 문자가 있으면
//          "알파벳 소문자만 입력하실수 있습니다."라는 메시지를 보여주고 돌려준다.
// return :  boolean  소문자만이면 true, 아니면 false

function isLowerCaseAlert(input) {
    var ret=isLowerCase(input);
    if(!ret)
    {
        alert("알파벳 소문자만 입력하실수 있습니다.");
    }
    return ret;
}


// 용    도: 입력값에 숫자만 있는지 체크
// return :  boolean  숫자만 있으면 true, 아니면 false

function isNumber(input) {
    var chars = "0123456789";
    return containsCharsOnly(input,chars);
}

// 용    도: 입력값에 숫자만 있는지 확인하여 숫자 이외의 문자가 있으면 "숫자만
//          가능합니다"라는 메시지를 보여주고 돌려준다.
// return :  boolean 숫자만 있으면 true, 아니면 false

function isNumberAlert(input) {
    var ret=isNumber(input);
    if(!ret)
    {
        alert("숫자만 가능합니다");
    }
    return ret;
}

// 용    도: 입력값이 알파벳,숫자로 되어있는지 체크
// return :  boolean  알파벳과 숫자만이면 true, 아니면 false

function isAlphaNum(input) {
    var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
    return containsCharsOnly(input,chars);
}

// 용    도: 입력값이 알파벳,숫자로 되어있는지 확인하여 알파벳과 숫자 이외의
//           문자가 있으면 "영문자와 숫자 입력만 가능합니다."라는 메시지를 보여주고
//           돌려준다.
// return :  boolean  알파벳과 숫자만이면 true, 아니면 false

function isAlphaNumAlert(input) {
    var ret=isAlphaNum(input);
    if(!ret)
    {
        alert("영문자와 숫자 입력만 가능합니다.");
    }
    return ret;
}



// 용    도: 입력값이 숫자,대시(-)로 되어있는지 체크
// return :  boolean  숫자와 대시(-)로 되어 있으면 true, 아니면 false

function isNumDash(input) {
    var chars = "-0123456789";
    return containsCharsOnly(input,chars);
}

// 용    도: 입력값이 숫자,대시(-)로 되어있는지 확인하여 숫자와 대시(-) 이외의
//          문자가 있으면 체크 "숫자와 '-' 입력만 가능합니다."라는 메시지를
//          보여주고 돌려준다.
// return :  boolean  숫자와 대시(-)로 되어 있으면 true, 아니면 false

function isNumDashAlert(input) {
    var ret=isNumDash(input);
    if(!ret)
    {
        alert(" 숫자와 '-' 입력만 가능합니다.");
    }
    return ret;
}


// 용    도: 입력값이 숫자,콤마(,)로 되어있는지 체크
// return :  boolean  숫자와 콤마(,)로 되어 있으면 true 아니면 false

function isNumComma(input) {
    var chars = ",0123456789";
    return containsCharsOnly(input,chars);
}

// 용    도: 입력값이 숫자,콤마(,)로 되어있는지 확인하여 숫자와 콤마(,) 이외의
//          문자가 있으면 체크 " 숫자와 ',' 입력만 가능합니다."라는 메시지를
//          보여주고 돌려준다.
// return :  boolean  숫자와 콤마(,)로 되어 있으면 true, 아니면 false

function isNumCommaAlert(input) {
    var ret=isNumComma(input);
    if(!ret)
    {
        alert("숫자와 ',' 입력만 가능합니다.");
    }
    return ret;
}


// 용    도: 입력값에서 콤마를 없앤다.
// return :  string, 입력값에서 콤마를 없앤 값

function removeComma(input) {
    return input.value.replace(/,/gi,"");
}


// 용    도: 입력값이 사용자가 정의한 포맷 형식인지 체크
//           자세한 format 형식은 자바스크립트의 'regular expression'을 참조
// return :  boolean 올바른 포맷이면 true, 아니면 false

function isValidFormat(input,format) {
    if (input.value.search(format) != -1) {
        return true; //올바른 포맷 형식
    }
    return false;
}

// 용    도: 입력값이 사용자가 정의한 포맷 형식인지 확인하여 올바르지 않은
//           형식이면 "올바른 입력형식이 아닙니다." 메시지를 보여주고 돌려준다.
// return :  boolean 올바른 포맷이면 true, 아니면 false

function isValidFormatAlert(input,format) {
    var ret=isValidFormat(input,format);
    if(!ret)
    {
        alert("올바른 입력형식이 아닙니다.");
    }
    return ret;
}

//용    도: 입력값이 이메일 형식인지 체크
// return :  boolean 이메일 형식이면 true, 아니면 false

function isValidEmail(input) {
//    var format = /^(\S+)@(\S+)\.([A-Za-z]+)$/;
    var format = /^((\w|[\-\.])+)@((\w|[\-\.])+)\.([A-Za-z]+)$/;
    return isValidFormat(input,format);
}

//용    도: 입력값이 이메일 형식인지 확인하여 올바르지 않으면 "이메일 입력형식이
//          잘못되었습니다. \n 확인후 다시 입력해주세요"라는 메시지를 보여주고
//          돌려준다.
// return :  boolean 이메일 형식이면 true, 아니면 false

function isValidEmailAlert(input) {
    var ret=isValidEmail(input);
    if(!ret)
    {
        alert("이메일 입력형식이 잘못되었습니다. \n 확인후 다시 입력해주세요");
    }
    return ret;
}

// 용    도: 입력값이 전화번호 형식(숫자-숫자-숫자)인지 체크
// return :  boolean 전화번호 형식이면 true, 아니면 false

function isValidPhone(input) {
    var format = /^(\d+)-(\d+)-(\d+)$/;
    return isValidFormat(input,format);
}

// 용    도: 입력값이 전화번호 형식(숫자-숫자-숫자)인지 확인하여 전화번호 형식이
//           아니면 "전화번호 입력이 잘못되었습니다. \n 확인후 다시 입력해주세요"
//           라는 메시지를 보여주고 돌려준다.
// return :  boolean 전화번호 형식이면 true, 아니면 false

function isValidPhoneAlert(input) {
    var ret=isValidPhone(input);
    if(!ret)
    {
        alert("전화번호 입력이 잘못되었습니다. \n 확인후 다시 입력해주세요");
    }
    return ret;
}

// 용    도: 선택된 라디오버튼이 있는지 체크
// return :  boolean 있으면 true, 없으면 false

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;
}

// 용    도: 선택된 라디오 버튼이 있는지 확인하여 없으면 "선택항목을 적어도 한개는
//          선택해주세요."라는 메시지를 보여주고 돌려준다.
// return :  boolean 있으면 true, 없으면 false

function hasCheckedRadioAlert(input) {
    var ret=hasCheckedRadio(input);
    if(!ret)
    {
        alert("선택항목을 적어도 한개는 선택해주세요.");
    }
    return ret;
}

// 용    도: 선택된 체크 박스가 있는지 체크
// return :  boolean 있으면 true, 없으면 false

function hasCheckedBox(input) {
    return hasCheckedRadio(input);
}

// 용    도: 선택된 체크박스가 있는지 확인하여 없으면 "선택항목을 적어도 한개는
//          선택해주세요."라는 메시지를 보여주고 돌려준다.
// return :  boolean 있으면 true, 없으면 false

function hasCheckedBoxAlert(input) {
    var ret=hasCheckedRadio(input);
    if(!ret)
    {
        alert("선택항목을 적어도 한개는 선택해주세요.");
    }
    return ret;
}


//용    도: 입력값의 바이트 길이를 리턴
// return :  int, 입력값의 길이

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;
}

//용    도: 공백을 제거하는 함수
// return :  string, 공백을 제거한 문자열

function IsTrimStr(checkStr)
{
    var str = "";

    for( i = 0 ; i < checkStr.length ; i ++ )
    {
        ch = checkStr.charAt(i);
        if (ch != " ")
            str = str + ch;
    }
    return str;
}

//용    도: 주민번호 체크
//형   식: xxxxxx-yyyyyyy
// return :  boolean

function newJumin(value)
{
    this.value = value;
}

function common_Jumin_Check( jumin1, jumin2 )
{
    var ok = true ;
    var Str1 = "" + jumin1 + jumin2 ;
    var Str = new newJumin(Str1);
    return jumin_Check( Str ) ;
}

//용    도: 주민번호 체크
//형    식:  xxxxxxyyyyyyy
//return :  boolean
//매개변수 : 주민등록번호 13자리
//사 용 예 : jumin_Check(xxxxxxyyyyyyy);
//참고사항 : 주민등록번호가 잘못되었다면 주민등록번호가 잘못되었다는 메세지를 출력하고 boolean 을 return 한다.

function jumin_Check( juminnum )
{
   if( !jumin_Check_Confirm(juminnum) )
      alert("주민등록번호가 잘못 되었습니다.\n확인후 다시 입력해 주십시오");
}

//용    도: 주민번호 체크
//형    식: xxxxxxyyyyyyy
//return :  boolean
//매개변수 : 주민등록번호 13자리
//사 용 예 : jumin_Check_Confirm(xxxxxxyyyyyyy);
//참고사항 : 주민등록번호가 잘못되어도 메세지를 출력하지 않고 boolean 만 return 한다.

function jumin_Check_Confirm( juminnum )
{

}

//용    도:  사업자등록번호를 확인
//형    식: XXXXXXXXXX
// return :  boolean 맞으면 true, 아니면 false

function RegNoCheck( membNo )
{
    if (membNo.length == 10)
    {
        a   = membNo.charAt(0);
        b   = membNo.charAt(1);
        c   = membNo.charAt(2);
        d   = membNo.charAt(3);
        e   = membNo.charAt(4);
        f   = membNo.charAt(5);
        g   = membNo.charAt(6);
        h   = membNo.charAt(7);
        i   = membNo.charAt(8);
        Osub    = membNo.charAt(9);

        suma = a*1 + b*3 + c*7 + d*1 + e*3 + f*7 + g*1 + h*3;
        sumb = (i*5) %10;
        sumc = parseInt((i*5) / 10,10);
        sumd = sumb + sumc;
        sume = suma + sumd;
        sumf = a + b + c + d + e + f + g + h + i
        k = sume % 10;
        Modvalue = 10 - k;
        LastVal = Modvalue % 10;

        if (sumf == 0)
            return false;
    }
    else return false;

    if ( Osub == LastVal ) return true;
    else return false;
}

//용    도:  사업자등록번호를 확인하여 비정상적이면 "사업자 등록번호가 잘못
//           되었습니다. \n확인후 다시 입력해 주십시오"라는 메시지를 보여주고
//          돌려준다.
//형    식: XXXXXXXXXX
// return :  boolean 맞으면 true, 아니면 false

function    RegNO_check(membNo)
{
    var bRet = RegNoCheck( membNo ) ;
    if( !bRet )
        alert("사업자 등록번호가 잘못 되었습니다.\n확인후 다시 입력해 주십시오");

    return bRet ;
}

//용    도:  사업자등록번호를 확인하여 비정상적이면 "사업자 등록번호가 잘못
//           되었습니다. \n확인후 다시 입력해 주십시오"라는 메시지를 보여주고
//          돌려준다.
//형    식: XXX-XX-XXXXX
// return :  boolean 맞으면 true, 아니면 false

function    RegNO_check_formatted(membNo){

    var str = "" ;
    var ar  = membNo.split( "-" ) ;
    for( var i = 0 ; i < ar.length ; i++ )
        str += ar[i] ;

    return RegNO_check( str ) ;
}

// 용    도:  임의의 HTML 테그 내용을 변경
// 매개변수 :  obj - 구성할 HTML Tag Object
//            html  - Tag 이름
// return :   void

function makeTags( obj, html )
{
    var tmp = obj.outerHTML ;
    var idx = 0 ;
    if( IsTrimStr( obj.innerHTML ).length <= 0 )
        idx = tmp.indexOf( "</" + obj.tagName + ">" ) ;
    else
        idx = tmp.indexOf( obj.innerHTML ) ;

    tmp = tmp.substring( 0, idx ) ;
    tmp += html ;
    tmp += "</" + obj.tagName + ">" ;
    obj.outerHTML = tmp ;
}


// 용    도:     ComboCreater.getComboOption()의 결과를 기초로
//           콤보의 항목을 변경
// 매개변수 : obj - 구성할 콤보 Object
//           option - ComboCreater.getComboOption()의 결과
// return  : void

function makeCombo( obj, option )
{
    makeTags( obj, option ) ;
    obj.selectedIndex = 0 ;
}

//용    도: 모달 대화상자 활성화
//param : url   : 호출할 URL
//    title : dialog title 명
//    x : 대화상자 x 좌표( 0보다 작으면 Center ) ;
//    y : 대화상자 y 좌표( 0보다 작으면 Center ) ;
//    w : 대화상자 폭
//    h : 대화상자 높이
//return : ret  : URL에서 반환활 결과 Object

function showDlg( url, title, x, y, w, h )
{
    var bModal = true ;
    if( showDlg.arguments.length == 7 )
    {
        bModal = showDlg.arguments[6] ;
    }

    if( w <= 0 || h <= 0 )
    {
        alert( "대화상자 크기를 확인하세요" ) ;
        return null ;
    }

    var ar = new Array() ;
    ar[0] = window ;
    ar[1] = url ;
    ar[2] = title ;

    var opt = "status:no;scroll:no;help:no;" ;
    if( x >= 0 ) opt += "dialogLeft:"   + x + "px;" ;
    if( y >= 0 ) opt += "dialogTop:"    + y + "px;" ;

    opt += "dialogWidth:"  + w + "px;" ;
    opt += "dialogHeight:" + h + "px;" ;

    if( bModal )
        return window.showModalDialog( "/common/modalDlg.htm", ar, opt ) ;
    else
        return window.showModelessDialog( "/common/modalDlg.htm", ar, opt ) ;
}

//용    도: 주소입력 찾기
//param :   part = 업무명( JANGKI, CAR, etc )
//      gb   = 구분( ZP=우편번호, DN=읍면동명, DR=대량처리명
//      var  = gb에 해당하는 조회키
//return :
//      null == 취소
//      ret.code1  = 우편번호 앞 3자리
//      ret.code2  = 우편번호 뒤 3자리
//      ret.juso  = 주소
//      ret.bunji = 번지
//
//사 용 예:
// ex1 )    우편번호를 조회할때
//      var ret = openFUA1053R0( "JANGKI" ) ;
//      if( ret != null )
//      {
//          alert( ret.code1 ) ;
//          alert( ret.code2 ) ;
//          alert( ret.juso  ) ;
//          alert( ret.bunji ) ;
//      }

//ex2 ) 우편번호를 파라미터로 넘겨 조회할때
//      var ret = openFUA1053R0( "JANGKI", "ZP", "130010" ) ;
//      if( ret != null )
//      {
//          alert( ret.code1 ) ;
//          alert( ret.code2 ) ;
//          alert( ret.juso  ) ;
//          alert( ret.bunji ) ;
//      }
//
//ex2 ) 동명을 파라미터로 넘겨 조회할때
//      var ret = openFUA1053R0( "JANGKI", "DN", "청량" ) ;
//      if( ret != null )
//      {
//          alert( ret.code1 ) ;
//          alert( ret.code2 ) ;
//          alert( ret.juso  ) ;
//          alert( ret.bunji ) ;
//      }
//
//ex3 ) 대량처리를 파라미터로 넘겨 조회할때
//      var ret = openFUA1053R0( "JANGKI", "DR", "한신" ) ;
//      if( ret != null )
//      {
//          alert( ret.code1 ) ;
//          alert( ret.code2 ) ;
//          alert( ret.juso  ) ;
//          alert( ret.bunji ) ;
//      }
//

function openFUA1053R0()
{
    if( openFUA1053R0.arguments.length <= 0 )
    {
        alrt( "업무구분이 없습니다." ) ;
        return ;
    }

    var part = openFUA1053R0.arguments[0] ;
    var param = "/common/servlet/post/FUA1053R0?PARTNM=" + part ;

    if( openFUA1053R0.arguments.length >= 3 )
    {
        var tmp = "" ;
        var key = openFUA1053R0.arguments[1] ;
        var val = openFUA1053R0.arguments[2] ;

        var ar  = val.split( "-" ) ;
        for( var i = 0 ; i < ar.length ; i++ )
            tmp += ar[i] ;

        if( key != "" )
        {
            if( key == "ZP" )
            {
                if( tmp.length < 3 )
                {
                    alert( "우편번호를 확인하세요" ) ;
                    return null ;
                }

                param += "&UU_UZIP1=" + tmp.substring( 0, 3 ) ;
                param += "&UU_UZIP2=" + tmp.substring( 3    ) ;
            }
            else if( key == "DN" )
            {
                var bun = "" ;
                try
                {
                    bun = openFUA1053R0.arguments[3] ;
                }
                catch( e )
                {
                    bun = "0" ;
                }

                param += "&HU_UEUPMY=" + val ;
//              param += "&UU_BUNJI=" + bun ;
            }
            else if( key == "DR" )
            {
                param += "&HU_UDAEYA=" + val ;
            }
            param += "&CTRL_ID=FRT&PAGE_NO=1" ;
        }
    }

    return showDlg( param, "주소입력", -1, -1, 770, 590 ) ;
}

//용    도: 메뉴 바꾸기
//        프로그램이 클릭되어 실행할 때 메뉴를 적절히 바꿔준다.
//매개변수 : 프로그램 id
//사 용 예 : jumin_Check(xxxxxxyyyyyyy);

function replaceMenu( pgm )
{
    if( pgm == '' )
    {
        alert( "Program ID가 없습니다." ) ;
        return ;
    }

    try
    {
        parent.left.replaceMenu( pgm ) ;
    }
    catch( e )
    {
    }
}

//용    도: 날짜의 기본 타입에 맞는 함수
//          프로그램이 클릭되어 실행할 때 옵션을 적절히 바꿔준다.
//매개변수 : 프로그램 form

function chkDateBasicOption(form) {
    today = new Date();
    var currentYear = today.getYear();// 현재년도
    var currentMonth = today.getMonth();// 현재월
    var currentDay = today.getDate();// 현재일

    if (form.cond.selectedIndex == 0) { // 전체
        form.fromYear.value = '';
        form.fromMonth.value = '';
        form.fromDay.value = '';
        form.toYear.value = '';
        form.toMonth.value = '';
        form.toDay.value = '';
    }
    if (form.cond.selectedIndex == 1) { // 당일
        form.fromYear.value = currentYear;
        form.fromMonth.value = currentMonth + 1;
        form.fromDay.value = currentDay;
        form.toYear.value = today.getYear();
        form.toMonth.value = currentMonth + 1;
        form.toDay.value = currentDay;
    }
    if (form.cond.selectedIndex == 2) { // 전일
        form.fromYear.value = currentYear;
        form.fromMonth.value = currentMonth + 1;
        form.fromDay.value = currentDay - 1;
        form.toYear.value = currentYear;
        form.toMonth.value = currentMonth + 1;
        form.toDay.value = currentDay - 1;
    }
    if (form.cond.selectedIndex == 3) { // 당월
        form.fromYear.value = currentYear;
        form.fromMonth.value = currentMonth + 1;
        form.fromDay.value = '1';
        form.toYear.value = currentYear;
        form.toMonth.value = currentMonth + 1;
        form.toDay.value = checkLeapYear(currentYear, currentMonth + 1);
    }
    if (form.cond.selectedIndex == 4) { // 전월
        form.fromYear.value = currentYear;
        form.fromMonth.value = currentMonth;
        form.fromDay.value = '1';
        form.toYear.value = currentYear;
        form.toMonth.value = currentMonth;
        form.toDay.value = checkLeapYear(currentYear, currentMonth);
        if (currentMonth == 0) {
            form.fromYear.value = currentYear - 1;
            form.fromMonth.value = 12;
            form.toYear.value = currentYear - 1;
            form.toMonth.value = 12;
            form.toDay.value = checkLeapYear(currentYear - 1, 12);
        }
    }
    if (form.cond.selectedIndex >= 5 && form.cond.selectedIndex <= 8) { // 분기
        form.fromYear.value = currentYear;
        form.fromMonth.value = (form.cond.selectedIndex - 5) * 3 + 1;
        form.fromDay.value = '1';
        form.toYear.value = currentYear;
        form.toMonth.value = (form.cond.selectedIndex - 4) * 3;
        if(form.cond.selectedIndex == 6 || form.cond.selectedIndex == 7)
            form.toDay.value = '30';
        else
            form.toDay.value = '31';
    }
    if (form.cond.selectedIndex == 9) { // 당기
        form.fromYear.value = currentYear;
        form.fromMonth.value = '1';
        form.fromDay.value = '1';
        form.toYear.value = currentYear;
        form.toMonth.value = '12';
        form.toDay.value = '31';
    }
    if (form.cond.selectedIndex == 10) {    // 전기
        form.fromYear.value = currentYear - 1;
        form.fromMonth.value = '1';
        form.fromDay.value = '1';
        form.toYear.value = currentYear - 1;
        form.toMonth.value = '12';
        form.toDay.value = '31';
    }
}

// 용도 : 윤년 및 해당 월의 최종 날짜 체크
function checkLeapYear(year, month) {
    var stat = false;
    var dday = 31;

    if(year%4 == 0) {
        if(year%100 == 0) {
            if(year%400 == 0) {
                stat = true;
            }
        } else {
            stat = true;
        }
    }
    if(stat) {
        switch(month) {
            case 1: case 3: case 5: case 7: case 8: case 10: case 12: dday = 31; break;
            case 4: case 6: case 9: case 11: dday = 30; break;
            case 2: dday = 29; break;
        }

    } else {
        switch(month) {
            case 1: case 3: case 5: case 7: case 8: case 10: case 12: dday = 31; break;
            case 4: case 6: case 9: case 11: dday = 30; break;
            case 2: dday = 28; break;
        }
    }
    return dday;
}

// 용도 : 날짜 파라미터 셋팅
// 매개변수 : form, 시작 날짜를 셋팅 할 object, 종료 날짜를 셋팅 할 object
// 작성자 : 최철웅
function setDate(frm, fobj,tobj){

    var fdate = frm.fromYear.value + frm.fromMonth.value + frm.fromDay.value;
    var tdate = frm.toYear.value +  frm.toMonth.value + frm.toDay.value;

    if(fdate.length > 0){
        if(frm.fromYear.value.length == 0 || frm.fromMonth.value.length == 0 || frm.fromDay.value.length == 0){
            alert("날짜 조건이 부정확합니다.");
            return false;
        }else{
            fdate = frm.fromYear.value;
            if(frm.fromMonth.value.length < 2) fdate += "0" + frm.fromMonth.value;
            else fdate += frm.fromMonth.value;
            if(frm.fromDay.value.length < 2) fdate += "0"+ frm.fromDay.value;
            else fdate += frm.fromDay.value;

            fobj.value = fdate;
        }
    }

    if(tdate.length > 0){
        if(frm.toYear.value.length == 0 || frm.toMonth.value.length == 0 || frm.toDay.value.length == 0){
            alert("날짜 조건이 부정확합니다.");
            return false;
        }else{
            tdate = frm.toYear.value
            if(frm.toMonth.value.length < 2) tdate += "0" + frm.toMonth.value;
            else tdate += frm.toMonth.value;
            if(frm.toDay.value.length < 2) tdate += "0"+ frm.toDay.value;
            else tdate += frm.toDay.value;

            tobj.value = tdate;
        }
    }

    //20041001 검색시 최종날짜 오류 체크 코드 삽입
        var fdayLastchk = frm.fromDay.value;
        var tdayLastchk = frm.toDay.value;
        var temp = "";
        if(frm.fromYear.value!="" && frm.fromMonth.vaue!=""){

            if(checkLeapYear(parseInt(frm.fromYear.value), parseInt(frm.fromMonth.value)) < fdayLastchk ){
                frm.fromDay.value = checkLeapYear(parseInt(frm.fromYear.value), parseInt(frm.fromMonth.value));
                setDate(frm,frm.fdate,frm.tdate);
            }
        }

        if(frm.toYear.value!="" && frm.toMonth.vaue!=""){
            if(checkLeapYear(parseInt(frm.toYear.value), parseInt(frm.toMonth.value)) < tdayLastchk ){
                frm.toDay.value = checkLeapYear(parseInt(frm.toYear.value), parseInt(frm.toMonth.value));
                setDate(frm,frm.fdate,frm.tdate)
            }
        }
        //20041001 삽입 끝  -chamna

    return true;
}

function setDate2(frm, fobj,tobj){

    var sdate = frm.sYear.value + frm.sMonth.value + frm.sDay.value;
    var edate = frm.eYear.value +  frm.eMonth.value + frm.eDay.value;

    if(sdate.length > 0){
        if(frm.sYear.value.length == 0 || frm.sMonth.value.length == 0 || frm.sDay.value.length == 0){
            alert("날짜 조건이 부정확합니다.");
            return false;
        }else{
            sdate = frm.sYear.value;
            if(frm.sMonth.value.length < 2) sdate += "0" + frm.sMonth.value;
            else sdate += frm.sMonth.value;
            if(frm.sDay.value.length < 2) sdate += "0"+ frm.sDay.value;
            else sdate += frm.sDay.value;

            fobj.value = sdate;
        }
    }

    if(edate.length > 0){
        if(frm.eYear.value.length == 0 || frm.eMonth.value.length == 0 || frm.eDay.value.length == 0){
            alert("날짜 조건이 부정확합니다.");
            return false;
        }else{
            edate = frm.eYear.value
            if(frm.eMonth.value.length < 2) edate += "0" + frm.eMonth.value;
            else edate += frm.eMonth.value;
            if(frm.eDay.value.length < 2) edate += "0"+ frm.eDay.value;
            else edate += frm.eDay.value;

            tobj.value = edate;
        }
    }

    //20041001 검색시 최종날짜 오류 체크 코드 삽입
        var fdayLastchk = frm.sDay.value;
        var tdayLastchk = frm.eDay.value;
        var temp = "";
        if(frm.sYear.value!="" && frm.sMonth.vaue!=""){

            if(checkLeapYear(parseInt(frm.sYear.value), parseInt(frm.sMonth.value)) < fdayLastchk ){
                frm.sDay.value = checkLeapYear(parseInt(frm.sYear.value), parseInt(frm.sMonth.value));
                setDate(frm,frm.sdate,frm.edate);
            }
        }

        if(frm.eYear.value!="" && frm.eMonth.vaue!=""){
            if(checkLeapYear(parseInt(frm.eYear.value), parseInt(frm.eMonth.value)) < tdayLastchk ){
                frm.eDay.value = checkLeapYear(parseInt(frm.eYear.value), parseInt(frm.eMonth.value));
                setDate(frm,frm.sdate,frm.edate)
            }
        }
        //20041001 삽입 끝  -chamna

    return true;
}

//용    도: 폼 강제 reset
//매개변수 : 프로그램 form
// 작성자 : 최철웅

function formReset(frm){

    for(i = 0 ; i < frm.length ; i++){
        var obj = frm.elements[i];
        if( obj.type.toLowerCase() == "submit" ||
                obj.type.toLowerCase() == "reset" ||
                obj.type.toLowerCase() == "button" ||
                obj.type.toLowerCase() == "image" ||
                obj.type.toLowerCase() == "checkbox" ){
        }else{
            obj.value = '';
        }
    }
}

//용     도 : 체크박스 전체 선택
//매개변수 : 체크박스 object
// 작성자 : 최철웅
function checkBoxSelect(check){

    if(check == null) return;

    if(check.length == null){
        check.checked = true;
    }else{
        for(i = 0 ; i < check.length ; i++){
            check[i].checked = true;
        }
    }
}

//용     도 : 체크박스 전체 선택 취소
//매개변수 : 체크박스 object
// 작성자 : 최철웅
function checkBoxCancle(check){

    if(check == null) return;

    if(check.length == null){
        check.checked = false;
    }else{
        for(i = 0 ; i < check.length ; i++){
            check[i].checked = false;
        }
    }
}

//용 도 : 체크박스에 체크 된 값이 값들이 있는지 확인
//매개변수 : 체크박스 object
// 작성자 : 최철웅
function checkBoxConfirm(check){

    if(check == null) return false;

    if(check.length == null){
        if(!check.checked){
            return false;
        }
    }else{
        var cnt = 0;
        for(i = 0 ; i < check.length ; i++){
            if(check[i].checked) cnt++;
        }
        if(cnt == 0){
            return false;
        }
    }

    return true;
}

//용 도 : 체크박스에 체크된 값이 값이 하나 이상인 경우
//매개변수 : 폼 object, 기존 체크된 값, index
//작성자 : 장원규
function checkBoxChecking(form, org, val) {
    var check = 0, cnt = -1;
    if(form.top.length == null) {
        if(form.top.checked == false) {
            alert("대표는 하나 이상 선택하셔야 합니다.");
            form.top.checked = true;
            return;
        }
    }
    else {
        for(var i = 0; i < form.top.length; i++) {
            if(form.top[i].checked == true) {
                check += 1;
                cnt = i;
            }
        }
    }
    if(check > 1) {
        alert("대표는 하나만 선택할 수 있습니다.");
        if(val == cnt)
            form.top[cnt].checked = false;
        else
            form.top[val].checked = false;
    }
}

//용 도 : 체크박스에 체크 된 값이 하나인지 확인
//매개변수 : 체크박스 object
// 작성자 : 장원규
function checkBoxConfirmOne(check){

    if(check == null) {
        alert("선택해 주세요.");
        return false;
    }

    if(check.length == null){
        if(!check.checked){
            alert("선택해 주세요.");
            return false;
        }
    }else{
        var cnt = 0;
        for(i = 0 ; i < check.length ; i++){
            if(check[i].checked) cnt++;
        }
        if(cnt == 0) {
            alert("한 제품만 선택하세요.");
            return false;
        }
        if(cnt > 1){
            alert("한 제품만 선택하셔야 합니다.");
            return false;
        }
    }

    return true;
}

//용 도 : 팝업 띄우기
//매개변수 : url, popup name, width, height, scrollbars(yes/no)
//작성자 : 최철웅
function openPopup(url, popup_name, width, height, scroll){
    var win_pop = window.open(url,popup_name,"status=no,width="+width+",height="+height+",resizable=no,scrollbars="+scroll);
    win_pop.focus();
}

//용    도: popup 띄우기
//매개변수 : form, action, winname, width, height, resizable, scrollbars(yes/no/auto)
//작성자 : 장원규
function openPopup1(form, action, winname, width, height, resize, scroll) {
    var popup = window.open("", winname, "status=no, width="+width+", height="+height+", resizable="+resize+", scrollbars="+scroll);
    form.target = winname
    form.action = action;
    form.submit();
    popup.focus();
}

//용 도 : 팝업 띄우기
//매개변수 : url, popup name, width, height, scrollbars(yes/no)
//작성자 : 최철웅
function openPopup2(url, popup_name, width, height, scroll, type){
    var win_pop = window.open(url,popup_name,"status=no,width="+width+",height="+height+",resizable=no,scrollbars="+scroll);
    win_pop.focus();
}

//용        도: 쇼핑에서 결제금액 총합
//매개변수 : order_price-주문금액총합,cost-부대비용,total_point-총포인트,point_obj-사용포인트
//        : coupon_type-쿠폰타입,coupon_value-쿠폰금액또는비율,pay_obj-결제금액
//작성자     : 최철웅
function calcuPay(order_price,cost,total_point,point_obj,coupon_type,coupon_value,pay_obj){

    //쿠폰 할인금액
    var coupon_discount = 0;

    //쿠폰 할인금액 설정
    if(coupon_type == '1')
        coupon_discount = coupon_value;
    else if(coupon_type == '0')
        coupon_discount = Math.floor(order_price*(coupon_value/100));

    //포인트숫자체크
    if(!isNumber(point_obj) || point_obj.value == ''){
        alert("숫자를 입력하세요.");
        point_obj.value = '0';
        pay_obj.value = order_price + cost - coupon_discount;
        point_obj.focus();
        return;
    }

    //총사용포인트 초과체크
    if(total_point < parseInt(point_obj.value)){
        alert("사용가능한 포인트를 초과합니다.");
        point_obj.value = '0';
        pay_obj.value = order_price + cost - coupon_discount;
        point_obj.focus();
        return;
    }

    //사용포인트 결제금액초과 체크
    if((order_price+cost) < parseInt(point_obj.value)){
        alert("사용하시는 포인트가 결제금액을 초과합니다.");
        point_obj.value = '0';
        pay_obj.value = order_price + cost - coupon_discount;
        point_obj.focus();
        return;
    }

    //쿠폰금액 결제금액초과 체크
    if((order_price+cost) <= coupon_discount){
        alert("쿠폰으로 모든 금액을 결제하실수 없습니다.");
        point_obj.value = '0';
        pay_obj.value = order_price + cost - coupon_discount;
        point_obj.focus();
        return;
    }

    //쿠폰금액+포인트 결제금액초과 체크
    if((order_price+cost) < (coupon_discount+parseInt(point_obj.value))){
        alert("쿠폰과 포인트사용액이 결제금액을 초과합니다.");
        point_obj.value = '0';
        pay_obj.value = order_price + cost - coupon_discount;
        point_obj.focus();
        return;
    }

    setDiscountPay(order_price,cost,point_obj.value,coupon_type,coupon_value,pay_obj);
}

//용        도 : 결제시 discount(할인금액) 산출 , pay(결제총액) 산출
//매개 변수 : order_price-주문금액총합, cost-부가비용,
//         : point_value-사용포인트,coupon_type-쿠폰타입, coupon_value-금액또는 퍼센티지
//         : pay_obj-결제총액을 설정할 obj
//작 성 자  : 최철웅
function setDiscountPay(order_price, cost, point_value, coupon_type, coupon_value, pay_obj){

    var _discount = 0;
    var _pay = 0;

    if(coupon_type == '1')          //금액 할인 쿠폰
        _discount = parseInt(point_value) + coupon_value;
    else if(coupon_type == '0' )    //비율 할인 쿠폰
        _discount = parseInt(point_value) + Math.floor(order_price*(coupon_value/100));
    else if(coupon_type == '-1')    //쿠폰을 사용하지 않을 때
        _discount = parseInt(point_value);

    //결제 총액 계산
    _pay = order_price + cost - _discount;

    //결제총액 셋팅
    pay_obj.value = _pay;
}

//용        도 : 결제타입별 결제 폼 체크
//매개 변수 : form, pay_type(결제타입),url(action 결제페이지)
//작성자       : 최철웅
function submitPay(form,pay_type, url){

    // form.pay 필드가 있을때(수정:황우천)
    if(form.pay){

        //pay가 0일때 포인트결제로 간주하고 submit (포인트결제는 카드와 은행입금일때만 가능)
        if(form.pay.value == '0' && (pay_type == '01' || pay_type == '02') ){
            form.paytype.value='03';

            form.action = url;
            form.submit();

            return;
        }
    }

    if(pay_type == '02'){       //은행 입금

        if(form.bname.value == ''){
            alert("입금자명을 입력하세요");
            form.bname.focus();
            return;
        }

        if(form.bankaccount.value == ''){
            alert("입금은행을 선택하세요");
            return;
        }


    }else if(pay_type == '07'){     //외상 결제

        if(form.reason.value == ''){
            alert("결제사유을 입력하세요");
            form.reason.focus();
            return;
        }

    }else if(pay_type == '08' || pay_type == '09'){ //교환/기타 결제

        if(form.reason.value == ''){
            alert("결제사유을 입력하세요");
            form.reason.focus();
            return;
        }


    }else if(pay_type == 'ES'){     //견적서주문

        if(form.sname.value == ''){
            alert("업체담당자를 입력하세요");
            form.sname.focus();
            return;
        }else if(form.stel.value == ''){
            alert("담당자 연락처를 입력하세요");
            form.stel.focus();
            return;
        }else if(form.comments.value == ''){
            alert("배송/결제조건을 입력하세요");
            form.comments.focus();
            return;
        }

    }

    form.action = url;
    form.submit();

}

// 가격과 비율을 기본판매가로 자동계산함수 - 상품에서 사용하는 스크립트
// method : 가격/비율 중에 어느 것으로 계싼할 것인지
// price : 기본판매가
// valObj : 가격/비율의 값
// targetObj : 가격/비율의 계산 후 입력되는 OBJECT
function autoCaculator(methodType, price, valObj, targetObj) {
	
  //alert("methodType ["+methodType+"], price ["+price.value+"], valObj ["+valObj.name+"], targetObj ["+targetObj.name+"]");

    if(!checkStringEmpty(valObj, "digit")) return;

    if(isEmpty(valObj)) { valObj.value = ""; targetObj.value = ""; return; }

    // 가격으로 계산해서 비율을 구한다
    if(methodType == "B") {
        if(parseInt(valObj.value) > parseInt(price.value)) { alert("기본판매가 보다 큽니다."); valObj.select(); return; }
    }
    // 가격으로 계산해서 비율을 구한다
    else if(methodType == "C") {
        if(isEmpty(price)) { alert("회원등급가를 입력하세요."); valObj.value = ""; price.focus(); return; }
    }
    // 가격으로 계산해서 비율을 구한다
    else if(methodType == "D") {
        if(isEmpty(price)) { alert("회원등급가를 입력하세요."); valObj.value = ""; price.focus(); return; }
        if(parseInt(valObj.value) > parseInt(price.value)) { alert("사이트할인가 보다 큽니다."); valObj.value = ""; return; }
    }
    targetObj.value = compute(price.value, valObj.value, methodType);
}

// 값이 없는 경우에 문자인지 숫자인지를 체크한다. - 상품에서 사용하는 스크립트
// check : 문자(string), 숫자(digit), 문자와 숫자(digit)
// valObj : 체크할 OBJECT
function checkStringEmpty(valObj, check) {
    if(check == "string") {// 값이 있는지 없는지를 체크한다.
        if(isEmpty(valObj)) return msg("값을 입력하세요.", valObj);
        else return true;
    }
    else if(check == "digit") {// 숫자인지 체크한다
        if(!isNumber(valObj)) {
			valObj.value = 0;
			return msg("숫자를 입력하세요.", valObj);
		}
        else return true;
    }
    else if(check == "mix") {// 값이 있는지 없는지 체크한 후에 숫자인지 아닌지 체크한다.
        if(isEmpty(valObj)) {
			valObj.value = 0;    
			return msg("값을 입력하세요.", valObj);
		}
        if(!isNumber(valObj)){
			valObj.value = 0;    
			return msg("숫자를 입력하세요.", valObj);
		}
        return true;
    }
}

// alert BOX를 띄운다 - 상품에서 사용하는 스크립트
// message : 내용
// obj : OBJECT
// flag : return을 사용할 것인지 여부
function msg(message, obj) {
    alert(message); obj.select(); return false;
}

// 값을 계산한다. - 상품에서 사용하는 스크립트
// x : 계산할 수1
// y : 계산할 수2
// type : 계산타입
function compute(x, y, type) {
    var ret = "";
    switch(type) {
        case "A"  : // 할인율을 입력받아서 회원등급가를 구한다.
            ret = Math.floor( x - ( x * ( y / 100 ) ) ); break;
        case "B"  : // 회원등급가를 입력받아서 할인율을 구한다.
            ret = Math.floor( 100 - ( y / x * 100 ) ); break;
        case "C"  :
            ret = Math.floor( ( x * y ) / 100 ); break;
        case "D"  :
            ret = Math.floor( ( y / x ) * 100 ); break;
    }
    return ret;
}

// 현재화면에서 주문상세보기 페이지로 이동한다.
// orderid : 주문번호
function orderDetail(orderid){
    window.location = "/shop/order/orderDetail.jsp?orderid="+orderid;
}

// opener를 주문상세보기 페이지로 이동한다
// orderid : 주문번호
function openerOrderDetail(orderid){
    opener.location = "/shop/order/orderDetail.jsp?orderid="+orderid;
    selfrm_show.close();
}
// orderid : 주문번호
function orderDetail2(orderid){
    window.location = "/shop/order/orderDetail.jsp.bugs.jsp?orderid="+orderid;
}

// opener를 주문상세보기 페이지로 이동한다
// orderid : 주문번호
function openerOrderDetail2(orderid){
    opener.location = "/shop/order/orderDetail.jsp.bugs.jsp?orderid="+orderid;
    selfrm_show.close();
}

// 현재화면에서 주문상세보기 페이지로 이동한다.
// orderid : 주문번호
function returnDetail(orderid){
    window.location = "/deo/deosch/DEOSCH02R0.jsp?orderid="+orderid;
}

// object 의 크기 제한 함수
// obj : object
// s   : 제한 크기
// msg : 경고 메세지
function checkObjSize(obj,s,msg){
    if(obj.value.length >= s){
        alert(msg);
        obj.value = "";
    }
}

// setFormObj 함수에서 정의된 값들을 체크한다.
// Object name이 select이면 "값을 선택하세요."를 보여주고 false를 리턴.
// Object name이 text이면 "값을 입력하세요."를 보여주고 false를 리턴.
function checkBeforeSubmit(form, FormObj) {
    for(var i = 0; i < FormObj.length; i++) {
        for(var j = 0; j < form.length; j++) {
            if(FormObj[i] == form.elements[j].name) {
                if(IsTrimStr(form.elements[j].value) == "") {
                    var msg = "";
                    if(form.elements[j].type == "select-one")
                        msg = "값을 선택하세요.";
                    else if(form.elements[j].type == "text" || form.elements[j].type == "textarea")
                        msg = "값을 입력하세요.";

                    alert(msg); form.elements[j].focus(); return false; break;
                } else {
                    if(i == (FormObj.length-1))
                        return true;
                    else
                        continue;
                }
            }
        }
    }
}

function trace(shipcode) {
    var popup = window.open('http://www.hanjinexpress.hanjin.net/customer/plsql/hddcw07.result?wbl_num='+shipcode, 'trace', 'width=550,height=550,scrollbars=yes');
    popup.focus();
}

function traceB(shipcode) {
    var popup = window.open('http://doortodoor.korex.co.kr/servlets/cmnChnnel?invc_no=' + shipcode + '&tc=dtd.cmn.command.c03condiCrg01Cmd&custid=', 'trace', 'width=550,height=550,scrollbars=yes');
    popup.focus();
}

//--------------------------------------------------------------------------------------------------
// 라디오 박스 체크
//	value 반환
//--------------------------------------------------------------------------------------------------
function GetRadioValue(opt) {		
	var leng = ((isNaN(opt.length*1))?1:opt.length*1);
	
	if (leng == 1)
	{
			if (opt.checked)
			{
				return opt.value;
			}
	}
	else {
		var n = opt.length;			
		for (i=0; i<n; i++) {
			if (opt[i].checked) {					
				return opt[i].value;
			}
		}
	}
	return "";
}

/*
	대상 셀렉트객체와 선택될 값을 던져주면 for문을 실행하여 selected 상태로 만들어준다.
*/
function executeForSelector(targetObj, targetValue){
	for(i = 0; i < targetObj.length; i++)
		if(targetObj[i].value == targetValue) targetObj[i].selected = true;
}

function executeForSelectorShowActive(targetObj, targetValue){
	/*
		if(targetObj.name == "cid2sbx"){
		listForm.cid3sbx.style.display='none';
	}*/
	if(targetObj.length > 1)
		document.getElementById(targetObj.name).style.display = '';
	else
		document.getElementById(targetObj.name).style.display = 'none';
	
	if(targetValue !="-1"){
			for(i = 0; i < targetObj.length; i++)
		if(targetObj[i].value == targetValue){
			targetObj[i].selected = true;
		}
	}
}


/*
	대상 체크 객체의 선택될 값을 던져주면 for문을 실행하여 checked 상태로 만들어준다.
*/
function executeForCheck(targetObj, targetValue){
	for(i = 0; i < targetObj.length; i++)
		if(targetObj[i].value == targetValue) targetObj[i].checked = true;
}


function pro_big(img){
          var win=null;
          var w=472;
          var h=479;  
          var winl = (screen.width-w)/2;
          var wint = (screen.height-h)/2;
          var R_URL= "/htmlarea3/Popup/product/pop_big.asp?filename="+img;
          var settings  ='height='+h+',';
              settings +='width='+w+',';
              settings +='top='+wint+',';
              settings +='left='+winl+',';
              settings +='scrollbars=no,';
              settings +='resizable=no';
          win=window.open(R_URL,"pop_02win",settings);
          if(parseInt(navigator.appVersion) >= 4){win.window.focus();}
}

/* jjd add */
//문자비교함수(넘겨받은 값이 있으면 true)
	 function containsCharsOnly(input,chars) 
	 {
        for (var inx = 0; inx < input.length; inx++) 
        {
            if (chars.indexOf(input.charAt(inx)) == -1)
                return false;
        }
        return true;
    }
    
     //(chars로 넘긴 값이 있다면 false)
	function containsChars(input,chars) 
	{
		 for (var inx = 0; inx < input.length; inx++) 
		 {
			if (chars.indexOf(input.charAt(inx)) != -1)
            return true;
		}
		return false;
	}


/* 체크박스 tr색 변경
-------------------------*/	
	function chk_selected(frm_show){	
	var clintAgent = navigator.userAgent;
	if ( clintAgent.indexOf("MSIE") != -1 ){
		if (frm_show.checked){
			frm_show.parentNode.parentNode.className='listSelected';
		}else {
			frm_show.parentNode.parentNode.className='listBlur';
		}
	}
}

	function chk_selected2(frm_show){	
	var clintAgent = navigator.userAgent;
	if ( clintAgent.indexOf("MSIE") != -1 ){
		if (frm_show.checked){
			frm_show.parentNode.parentNode.className='listSelected';
			frm_show.parentNode.parentNode.style.display="none"
		}else {
			frm_show.parentNode.parentNode.className='listBlur';
		}
	}
}

function Request(valuename)    //javascript로 구현한 Request

{

    var rtnval;

    var nowAddress = unescape(location.href);

    var parameters = new Array();

    parameters = (nowAddress.slice(nowAddress.indexOf("?")+1,nowAddress.length)).split("&");

    for(var i = 0 ; i < parameters.length ; i++){

        if(parameters[i].indexOf(valuename) != -1){

            rtnval = parameters[i].split("=")[1];

            if(rtnval == undefined || rtnval == null){

                rtnval = "";

            }

            return rtnval;

        }

    }

}


/*---------------------------------------------
   파일 체크
---------------------------------------------*/
function fileConfirm()
{
	file=aspnetForm.AttachFile.value;

	if (!isImagfrm_showle(file))
	{
		alert("jpg, gif 파일만 업로드할 수 있습니다");
		return;
	}
}

/*---------------------------------------------
   이미지파일 체크유무
---------------------------------------------*/
function isImagfrm_showle(filename){
	if (filename.match(/(.jpg|.jpeg|.gif|.png)$/i))
		return true;
	else
		return false;
}

/*---------------------------------------------
   챔프 캐시 충전 팝업
---------------------------------------------*/
function popCashCharge() {
	window.open("/global/cash/m_cashbox_1.asp", "cashbox", "scrollbars=no, resizable=no, menubar=no,toolbar=no, status=no, width=500,height=450");
}

/*------------------------------------------
	로그인
-------------------------------------------*/

function champtvLogin(){
		document.lgFrm.submit();
}

//지정 name의 이미지를 리사이즈 한다.
function resizeImg(name, maxLength){
	var col = document.getElementsByName(name);
	
	if( col != null ){
		for(i = 0; i < col.length; i++){
			if( col[i].width > maxLength ){
				col[i].width = maxLength;
			}
		}
	}
}



