function popupWin(page,name,x,y) { var rtn; var xc = ((screen.availWidth-10)-x) / 2; var yc = ((screen.availHeight-30)- y) / 2; var opt = "'toolbar=no,alwaysRaised=no,location=no,status=yes,menubar=no,scrollbars=no,width="; opt = opt + x; opt = opt + ",height="+ y; opt = opt +",resizable=no,hotkey=no,dependent=no,screenX="+xc+",screenY="+yc+", top="+yc+", left="+xc+"'"; //rtn = window.open(page,name,opt); window.open(page,name,opt); //return rtn; } // scrollbar 사용 function popupWin2(page,name,x,y) { var rtn; var xc = ((screen.availWidth-10)-x) / 2; var yc = ((screen.availHeight-30)- y) / 2; var opt = "'toolbar=no,alwaysRaised=no,location=no,status=no,menubar=no,scrollbars=yes,width="; opt = opt + x; opt = opt + ",height="+ y; opt = opt +",resizable=no,hotkey=no,dependent=no,screenX="+xc+",screenY="+yc+", top="+yc+", left="+xc+"'"; //rtn = window.open(page,name,opt); window.open(page,name,opt); //return rtn; } // 모달 팝업창 띄우기 function popupModal(page,name,x,y) { var win, opt; var xc = ((screen.availWidth-10)-x) / 2; var yc = ((screen.availHeight-30)- y) / 2; //opt = "dialogHeight:"+ (screen.availHeight-30) +"; dialogWidth:"+ (screen.availWidth) +";dialogLeft:0px;dialogTop:0px;resizable:no;status:no;scroll:no;help:no;unadorned:no;edge:sunken"; opt = "help=no;dialogWidth=" + x + "px;dialogHeight:" + y + "px;dialogLeft:" + xc + "px;dialogTop:" + yc + "px;center:yes;status:no;resizable:no;scroll:no;help:no;unadorned:no;edge:sunken;"; win = window.showModalDialog(page,name,opt); setVal(win); } function setVal(result){ var frm = document.InputMem; var strMsg = result.split(","); if(strMsg == "T") { frm.downloadCheck.value = strMsg[0]; frm.submit(); } } function moveFocus(obj) { if(event.keyCode == 13) { obj.focus(); if (obj.type == "text" || obj.type == "password") obj.select(); } } /*------------------------------------------------------------------------- checkRegistryNo Spec : 사업자등록번호 체크 Argument : 체크할 사업자등록번호 object Name Return : 사업자등록번호 ("-" 포함해서 리턴해 준다) Example : -------------------------------------------------------------------------*/ function checkRegistryNo(objName){ var s = objName.value; /*while (s.indexOf('-')!=-1){ s = s.replace("-",""); } if(isNaN(s)) { window.alert("사업자등록번호는 숫자로만 작성하셔야 합니다"); objName.value=""; objName.focus(); return false; }*/ if (s.length != 12) { alert("사업자등록번호의 자릿수가 올바르지 않습니다."); objName.focus(); return false; } sumMod = 0; sumMod += parseInt(s.substring(0,1)); sumMod += parseInt(s.substring(1,2)) * 3 % 10; sumMod += parseInt(s.substring(2,3)) * 7 % 10; sumMod += parseInt(s.substring(4,5)) * 1 % 10; sumMod += parseInt(s.substring(5,6)) * 3 % 10; sumMod += parseInt(s.substring(7,8)) * 7 % 10; sumMod += parseInt(s.substring(8,9)) * 1 % 10; sumMod += parseInt(s.substring(9,10)) * 3 % 10; sumMod += Math.floor(parseInt(s.substring(10,11)) * 5 / 10); sumMod += parseInt(s.substring(10,11)) * 5 % 10; sumMod += parseInt(s.substring(11,12)); if (sumMod % 10 != 0) { alert(s + "은(는) 올바른 사업자등록번호가 아닙니다"); objName.focus(); return false; } objName.maxlength = "12"; objName.value = s.substr(0,3) + "-" + s.substr(4,2) + "-" + s.substring(7); return true; } /*------------------------------------------------------------------------- checkImageType Spec : 이미지 파일의 확장자를 구함 (jpg,jpeg,gif만 허용함) Argument : 파일 Return : 파일의 확장자 Example : -------------------------------------------------------------------------*/ 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 checkImageType(objName) { if( isEmpty(objName) ) return true; var src = getFileExtension(objName.value); if (src == "") { alert("올바른 파일을 선택하세요"); objName.focus(); return false; } else if ( !((src.toLowerCase() == "gif") || (src.toLowerCase() == "jpg") || (src.toLowerCase() == "jpeg")) ) { alert("이미지 파일은 gif와 jpg만 지원합니다."); objName.focus(); return false; } return true; } function checkFileType(objName, fileType) { if( isEmpty(objName) ) return true; var src = getFileExtension(objName.value); if (src == "") { alert("올바른 파일을 선택하세요"); objName.focus(); return false; } else if ( !(src.toLowerCase()==fileType) ) { alert("파일 속성이 잘못되었습니다."); objName.focus(); return false; } return true; } /*------------------------------------------------------------------------- Spec : Argument : 체크할 값 Return : true / false Example : -------------------------------------------------------------------------*/ var _SMALLALPHAS = "abcdefghijklmnopqrstuvwxyz"; var _CAPITALS = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; var _ALPHAS = _SMALLALPHAS + _CAPITALS; var _NUMERIC = "0123456789"; var _URLSYMBOL = ":/?_-=&.%"; var _PASSWORDSYMBOL = "~!@#$%^&*()-_+=<>{}[]"; function isImgFileFormat(cval) { var chars = _ALPHAS + _NUMERIC + "."; for( var inx = 0; inx < cval.length; inx++ ) { if (chars.indexOf(cval.charAt(inx)) == -1) return false; } return true; } function isCodeIdRule(objName) { var chars = _CAPITALS + "_"; var cval = objName.value; for( var inx = 0; inx < cval.length; inx++ ) { if (chars.indexOf(cval.charAt(inx)) == -1) { objName.focus(); alert("분류코드는 영문대문자와 '_'만 가능합니다."); return false; } } return true; } function isUrlRule(objName) { var chars = _ALPHAS + _NUMERIC + _URLSYMBOL; var cval = objName.value; for( var inx = 0; inx < cval.length; inx++ ) { if (chars.indexOf(cval.charAt(inx)) == -1) { objName.focus(); alert("영문대소문자,숫자,특수문자(" + _URLSYMBOL + ")만 가능합니다."); return false; } } return true; } function isPasswordRule(objName) { var chars = _ALPHAS + _NUMERIC + _PASSWORDSYMBOL; var cval = objName.value; // 길이:4~10자리 if(cval.length<4 || cval.length>10) { alert("비밀번호는 4~10자리로 작성하셔야 합니다."); return false; } // for( var inx = 0; inx < cval.length; inx++ ) { if (chars.indexOf(cval.charAt(inx)) == -1) { objName.focus(); alert("비밀번호는 영문대소문자,숫자,특수문자(" + _PASSWORDSYMBOL + ")만 가능합니다."); return false; } } return true; } /*------------------------------------------------------------------------- Spec : 일반전화번호형식 체크 Argument : objName : 전화번호 object명 Return : 유효한 번호이면 true / 아니면 false Example : -------------------------------------------------------------------------*/ function isValidPhone(objName) { var format = /(\d{2,3})-(\d{3,4})-(\d{4})/ig; var objVal = objName.value; if (objVal.search(format) == -1) { alert("전화 형식이 잘못되었습니다.\n\n 1) '-'을 입력하셔야 합니다. \n\n 2) 9~11자리로 구성된 숫자이어야 합니다. "); objName.focus(); return false; } var lastNum = objVal.substring(objVal.lastIndexOf("-")+1,objVal.length); if(lastNum.length != 4) { alert("전화번호 뒷자리의 길이가 잘못되었습니다."); objName.focus(); return false; } return true; } function isValidHphone(objName) { var format = /(010|011|016|017|018|019)-(\d{3,4})-(\d{4})/ig; var objVal = objName.value; if (objVal.search(format) == -1) { alert("휴대전화 형식이 잘못되었습니다.\n\n 1) '-'을 입력하셔야 합니다. \n\n 2) 10~11자리로 구성된 숫자이어야 합니다. \n\n 3) 앞자리는 010,011,016,017,018,019중 하나이어야 합니다. "); objName.focus(); return false; } var lastNum = objVal.substring(objVal.lastIndexOf("-")+1,objVal.length); if(lastNum.length != 4) { alert("휴대전화번호 뒷자리의 길이가 잘못되었습니다."); objName.focus(); return false; } return true; } function OnlyNumber() { if((event.keyCode<48)||(event.keyCode>57)||(event.keyCode>=12593)){ event.returnValue=false; } /* var key = event.keyCode; var messageArea = document.getElementById("ssnMessage"); if(!(key==8||key==9||key==13||key==46||key==144||(key>=48&&key<=57)||key==110||key==190) || (event.keyCode<48||(event.keyCode>57&&event.keyCode<96)||event.keyCode>105) ){ // alert('숫자만 입력 가능합니다'); event.returnValue = false; } */ } function isEmail(str) { var supported = 0; if (window.RegExp) { var tempStr = "a"; var tempReg = new RegExp(tempStr); if (tempReg.test(tempStr)) supported = 1; } if (!supported) return (str.indexOf(".") > 2) && (str.indexOf("@") > 0); var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)"); var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$"); return (!r1.test(str) && r2.test(str)); } function idpopup(){ // 구 아이디 검색 popupWin("/includes/jsp/join/popup_id.jsp","idcheck","405","287"); } function idpopup1(obj){ // 2009.3.10 아이디 검색 이거 사용 popupWin("/includes/jsp/join_new/join_step_03_pop_id.jsp?name="+obj,"idcheck","405","287"); } function expertpopup(){ popupWin("/includes/jsp/join/popup_expert.jsp","expertcheck","405","268"); } function zipCodepopup(){ //flex popupWin("/includes/flex/zippopup/zippopup.html","searchZipCode","403","265"); } function zipCodepopup2(){ //html popupWin("/includes/jsp/join/popup_zip.jsp","searchZipCode","406","269"); } function companypopup(){ //flex popupWin("/includes/flex/compopup/compopup.html","searchCompany","403","265"); } function companypopup2(){ //html popupWin("/includes/jsp/join/popup_com.jsp","searchCompany","406","268"); } function biznumpopup(){ // 구 사업자번호 검색 popupWin("/includes/jsp/join/popup_company.jsp","searchZipNum","403","259"); } function biznumpopup1(user_type){ // 2009.3.10 사업자번호 검색 이거 사용 popupWin("/includes/jsp/join_new/join_step_03_pop_corp.jsp?user_type="+user_type,"searchZipNum","403","259"); } //기업회원 가입시 신청서 다운로드 모달창 function downloadApplyform(){ popupModal("/includes/jsp/join/popup_applyform.jsp","downloadCheck","415","377"); } // 주민등록번호가 제대로 입력되었는지를 체크한다. function check_jumin_str(str) { if (str.length != 13) return false; cBit = 0; sCode="234567892345"; for(i=0;i<12;i++) { cBit = cBit+parseInt(str.substring(i,i+1))*parseInt(sCode.substring(i,i+1)); } cBit=11-(cBit%11); cBit=cBit%10; if(parseInt(str.substring(12,13))==cBit) { return true; } else { return false; } } function chk_jumin(obj){ var str = obj.JuminNum1.value + obj.JuminNum2.value; if (str == "") return false; if(!check_jumin_str(str)){ alert("주민번호가 규칙에 맞지 않습니다. 다시 입력해 주세요."); obj.JuminNum1.focus(); return false; } return true; } function chk_jumin2(obj){ var str = obj.JuminNum1.value + obj.JuminNum2.value; if (str == "") return false; if(!check_jumin_str(str)){ alert("주민번호가 규칙에 맞지 않습니다. 다시 입력해 주세요."); obj.JuminNum1.focus(); return false; } setBirth(obj); return true; } function setBirth(obj){ var str = obj.JuminNum1.value; var str_year = str.substring(0,2); var sex_str = obj.JuminNum2.value.substring(0,1); if( parseInt(sex_str) < 3 ){ obj.Birth_Year.value = "19" + str_year; } else { obj.Birth_Year.value = "20" + str_year; } obj.Birth_Mon.value = str.substring(2,4); obj.Birth_Day.value = str.substring(4,7); if( sex_str == '1' || sex_str == '3' ) obj.Gender[0].checked = true; else obj.Gender[1].checked = true; } function isEmpty(obj) { if (!obj) { alert("존재하지 않는 Form 변수입니다."); obj.focus(); if (obj.type == "text") obj.select(); return false; } var str = obj.value; str = str + ""; if (( str == "") || (str == null)) { obj.focus(); if (obj.type == "text") obj.select(); return true; } var chk = 0; for(i=0;i','<',',','?','}','{',' ','\\','|','(',')','+','=','&','"','@','%','!','#','$','*','<','>','#','$','&','!','`','"','{','}',';',':','~','\''); for (i=0; i='a') && (strarr[i] <='z'))||((strarr[i] >='A') && (strarr[i] <='Z'))||(strarr[i] == '_')||((strarr[i] >=0) && (strarr[i] <=9)))) { alert(frmName+" : 영문 및 숫자 입력만 가능합니다."); return false; } else if ((escape(strarr[i]) > '%60') && (escape(strarr[i]) <'%80') ) { alert(frmName+" : 특수문자 입력이 불가합니다."); return false; } else { continue; } } return true; } //문자2자리 이상 숫자 조합 check function isAllAlphaNum( inStr ) { if (inStr.length > 0) { var intCount,intCharCount; intCount = 0; intCharCount = 0; for (i=0; i < inStr.length; i++) { if ( (inStr.charAt(i) >= '0' && inStr.charAt(i) <= '9') ) { intCount += 1; } if ( (inStr.charAt(i) >= 'a' && inStr.charAt(i) <= 'z') || (inStr.charAt(i) >= 'A' && inStr.charAt(i) <= 'Z') ) { intCharCount += 1; } } if ( (inStr.length == intCount) || (intCharCount < 2) ) { return false; } return true; }else { return false; } } /*사진올리기 이미지 관련 함수 start*/ /** //이미지 미리보기 // **/ 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 resetImage(obj) { obj.outerHTML = obj.outerHTML; } function uploadImageCheck1(obj, maxsize) { var value = obj.value; var src = getFileExtension(value); if (src == "") { alert('올바른 파일을 입력하세요!'); resetImage(obj); return; } else if ( !(src.toLowerCase()=="jpg" || src.toLowerCase()=="jpeg" || src.toLowerCase()=="gif" || src.toLowerCase()=="bmp" || src.toLowerCase()=="png" ) ) { alert('jpg,gif,bmp 파일만 지원합니다.'); resetImage(obj); return; } imageCall1(obj, value, maxsize); } function imageCall1(obj, value, maxsize) { var imgInfo = new Image(); imgInfo.onload = imageLoad1; imgInfo.maxsize = maxsize; imgInfo.obj = obj; imgInfo.src = value; } function imageLoad1() { var imgSrc, imgWidth, imgHeight, imgFileSize; var maxFileSize; imgObj = this.obj; imgSrc = this.src; imgFileSize = this.fileSize; imgMaxSize = this.maxsize; imgWidth = "145";//this.width; imgHeight = "180";//this.height; if (imgMaxSize == "50K") { maxFileSize = 51200; // 최대 300KB까지 } else if (imgMaxSize == "1M") { maxFileSize = 1024000; // 최대 1MB까지 } else if(imgMaxSize == "5M") { maxFileSize = 5120000; // 최대 5MB까지 } if (imgSrc == "" || imgWidth <= 0 || imgHeight <= 0) { alert('그림파일을 가져올 수 없습니다.'); resetImage(imgObj); // onLoad 대상 아무일도 하지않는 객체로 변경하도록 한다. // 아래와 같이 하지 않으면 imageLoad1 객체를 계속 호출하여 작동된다. this.onload = tempBlank; return; } if (imgFileSize > maxFileSize) { alert('선택하신 그림 파일은 허용 최대크기인 ' + maxFileSize/1024 + ' KB 를 초과하였습니다.'); resetImage(imgObj); // onLoad 대상 아무일도 하지않는 객체로 변경하도록 한다. // 아래와 같이 하지 않으면 imageLoad1 객체를 계속 호출하여 작동된다. this.onload = tempBlank; return; } document.InputMem.img_temp.src = imgSrc; } function tempBlank() { } /*사진올리기 이미지 관련 함수 end*/