//page mover function change_id(selected_id, now_positon, r_topmenu) { if( now_positon == false ) { var gogo = "?prmt_mode=myadmin&selected_id2="+selected_id+'&topmenu='+r_topmenu; } else { var gogo = "?prmt_mode=myadmin&" + now_positon + "&selected_id2="+selected_id; } self.location = gogo; } function change_id2(indata, r_topmenu) { var data = indata.split('|'); if(!data[0]) { alert('아이디를 선택하세요.'); return; } if(!data[1]) { data[1] = ''; } var param = "?selected_id2=" + data[0] + "&rs_hostingIdx=" + data[1] + "&topmenu=" + r_topmenu; self.location = param; } function change_id3(indata, r_topmenu) { var data = indata.split('|'); if(!data[0]) { alert('아이디를 선택하세요.'); return; } if(!data[1]) { data[1] = ''; } var param = "?prmt_mode=myadmin&selected_id2=" + data[0] + "&rs_hostingIdx=" + data[1] + "&topmenu=" + r_topmenu; self.location = param; } function go_(target){ document.location = target; } function go2_(target){ window.open(target, 'admin_pop','width=800,height=750,directories=yes,resizable=yes,scrollbars=yes'); } function goWebmail(target){ window.open(target, 'admin_pop','width=1200,height=750,directories=yes,resizable=yes,scrollbars=yes'); } function input_check(target, items, msg) { var i; for(i=0; i= "0" ) theValue=true; else if ( (cha >= "A") && (cha <= "Z")) theValue=true; else if ( (cha >= "a") && (cha <= "z")) theValue=true; else if ( (cha == "-") && (i != "0")) theValue=true; else if ( (cha == ".")) theValue=true; else return false; } return theValue; } function isAbuseWord(str) { var oAbuse = ['na.fm','hihome.com','x-y.net','ro','www','cafe24', 'wo']; var reAbuse; var check = false; for (var i=0;i=0 ) domains=domain.split(".pe."); else if( domain.indexOf(".re.kr")>=0 ) domains=domain.split(".re."); else if( domain.indexOf(".or.kr")>=0 ) domains=domain.split(".or."); else if( domain.indexOf(".co.kr")>=0 ) domains=domain.split(".co."); else if( domain.indexOf(".go.kr")>=0 ) domains=domain.split(".go."); else if( domain.indexOf(".com.au")>=0 ) domains=domain.split(".com."); // 국가 도메인 else if( domain.indexOf(".ne.kr")>=0 ) domains=domain.split(".ne."); else if( domain.indexOf(".co.nz")>=0 ) domains=domain.split(".co."); else if( domain.indexOf(".seoul.kr")>=0 ) domains=domain.split(".seoul."); else if( domain.indexOf(".busan.kr")>=0 ) domains=domain.split(".busan."); else if( domain.indexOf(".daegu.kr")>=0 ) domains=domain.split(".daegu."); else if( domain.indexOf(".incheon.kr")>=0 ) domains=domain.split(".incheon."); else if( domain.indexOf(".gwangju.kr")>=0 ) domains=domain.split(".gwangju."); else if( domain.indexOf(".ulsan.kr")>=0 ) domains=domain.split(".ulsan."); else if( domain.indexOf(".gyeonggi.kr")>=0 ) domains=domain.split(".gyeonggi."); else if( domain.indexOf(".gangwon.kr")>=0 ) domains=domain.split(".gangwon."); else if( domain.indexOf(".chungbuk.kr")>=0 ) domains=domain.split(".chungbuk."); else if( domain.indexOf(".chungnam.kr")>=0 ) domains=domain.split(".chungnam."); else if( domain.indexOf(".jeonbuk.kr")>=0 ) domains=domain.split(".jeonbuk."); else if( domain.indexOf(".jeonnam.kr")>=0 ) domains=domain.split(".jeonnam."); else if( domain.indexOf(".gyeongbuk.kr")>=0 ) domains=domain.split(".gyeongbuk."); else if( domain.indexOf(".gyeongnam.kr")>=0 ) domains=domain.split(".gyeongnam."); else if( domain.indexOf(".jeju.kr")>=0 ) domains=domain.split(".jeju."); else if( domain.indexOf(".com.mx")>=0 ) domains=domain.split(".com."); else if( domain.indexOf(".co.uk")>=0 ) domains=domain.split(".co."); else if( domain.indexOf(".com.cn")>=0 ) domains=domain.split(".com."); else if( domain.indexOf(".net.cn")>=0 ) domains=domain.split(".net."); else if( domain.indexOf(".org.cn")>=0 ) domains=domain.split(".org."); else if( domain.indexOf(".co.uk")>=0 ) domains=domain.split(".co."); else if( domain.indexOf(".me.uk")>=0 ) domains=domain.split(".me."); else if( domain.indexOf(".org.uk")>=0 ) domains=domain.split(".org."); else if( domain.indexOf(".net.in")>=0 ) domains=domain.split(".net."); else if( domain.indexOf(".org.in")>=0 ) domains=domain.split(".org."); else if( domain.indexOf(".ind.in")>=0 ) domains=domain.split(".ind."); else if( domain.indexOf(".firm.in")>=0 ) domains=domain.split(".firm."); else if( domain.indexOf(".gen.in")>=0 ) domains=domain.split(".gen."); else if( domain.indexOf(".co.in")>=0 ) domains=domain.split(".co."); else domains=domain.split("."); if( domains.length>=3 ) return false; if( domains.length<1 ) return false; var domainName =domains[0]; var domainExt=""; for(k=1;k1 ) domainExt+="."; domainExt+=domains[k]; } //도메인 이름 길이 if( domainName.length<2 ) return false; //도메인 이름 필터링 #한글 도메인 연결을 위해 주석처리함 //filter = /^([^\-])([a-z0-9\-])*([^\-])$/; //if( filter.test(domainName)==false ) return false; //도메인 익스텐션 확인 if( domainExt=="" || domainExt==null ) return false; //도메인 익스텐션 필터링 filter = /^([^\.])([a-z\.]){0,6}([^\.])$/; if( filter.test(domainExt)==false ) return false; return true; } //한글 도메인 규칙으로 인해 추가 function checkDomainNew(domain){ var domains; var filter; // . 확인 if( domain.indexOf(".")<0 ) return false; domains=domain.split("."); if( domains.length>3 ) return false; if( domains.length<1 ) return false; var domainName =domains[0]; var domainExt=""; for(k=1;k1 ) domainExt+="."; domainExt+=domains[k]; } //하이픈 체크 if (domainName.charAt(0) == '-') { return false; } if (domainName.charAt(domainName.length-1) == '-') { return false; } if (domainExt.charAt(0) == '-') { return false; } if (domainExt.charAt(domainExt.length-1) == '-') { return false; } //특수문자 체크 filter = /[`;:,?~!@\#$%^&*\()<>\=+_\'\"\/]/; if( filter.test(domain)==true ) return false; //도메인 익스텐션 확인 if( domainExt=="" || domainExt==null ) return false; filter = /[ㄱ-ㅎ가-힣]/; if( filter.test(domainName)== true ) { //한글이 포함된 레이블은 2자 이상 17자 이하 if(domainName.length < 2 || domainName.length > 17) return false; if(domainExt.length < 2 || domainExt.length > 17) return false; }else{ //영문 레이블은 3자 이상, 63자 이하 / 1차도메인경우 kr이 있으므로 2자이상 if(domainName.length < 3 || domainName.length > 63) return false; if(domainExt.length < 2 || domainExt.length > 63) return false; } return true; } //한글 도메인 규칙으로 인해 추가 function domain_check_new(id, free_domain) { var str; var myid = id + '.'+free_domain; var free = free_domain.split('.'); if(document.link_domain.domain.value.length < 2) { alert('도메인을 입력해주세요.'); document.link_domain.domain.focus(); return false; } /*else if(!isValDomain(document.link_domain.domain.value)) { alert('도메인은 영문과 숫자 그리고 하이픈(-)만 사용이 가능합니다.'); document.link_domain.domain.focus(); return false; }*/ var temp = document.link_domain.domain.value.split('.'); var len = temp.length; var free_flag = 0; if(temp.length == free.length+1 && temp[1] == free[0] && temp[2] == free[1]) free_flag = 1; /* if(len < 2){ alert('도메인을 입력해주세요.'); document.link_domain.domain.focus(); return false; } */ if(free_flag == 1 && document.link_domain.domain.value != myid){ alert('자신의 아이디의 무료도메인만 사용이 가능합니다.'); document.link_domain.domain.focus(); return false; } else if(free_flag == 0 && checkDomainNew(document.link_domain.domain.value) == false) { alert('도메인 규칙 에러입니다.'); document.link_domain.domain.focus(); return false; } /* else if(free_flag == 0 && len == 3 && (temp[2] == 'com' || temp[2] == 'net' || temp[2] == 'org' || temp[2] == 'biz' || temp[2] == 'info')){ alert('잘못된 도메인입니다.'); document.link_domain.domain.focus(); return false; } else if(free_flag == 0 && len == 4 && (temp[2] == 'co' || temp[2] == 'or') && temp[3] == 'kr'){ alert('잘못된 도메인입니다.'); document.link_domain.domain.focus(); return false; }*/ if(len > 4){ alert('잘못된 도메인입니다.'); document.link_domain.domain.focus(); return false; } if(isAbuseWord(temp[len-1])){ alert('올바른 도메인을 입력해주세요.'); document.link_domain.domain.focus(); return false; } if(temp[0] == 'www' || temp[0] == 'co' || temp[0] == 'pe' || temp[0] == 'ne' || temp[0] == 'or'){ alert('이 도메인은 사용할수 없습니다.'); document.link_domain.domain.focus(); return false; } return true; } function domain_check(id, free_domain) { var str; var myid = id + '.'+free_domain; var free = free_domain.split('.'); if(document.link_domain.domain.value.length < 2) { alert('도메인을 입력해주세요.'); document.link_domain.domain.focus(); return false; } /*else if(!isValDomain(document.link_domain.domain.value)) { alert('도메인은 영문과 숫자 그리고 하이픈(-)만 사용이 가능합니다.'); document.link_domain.domain.focus(); return false; }*/ var temp = document.link_domain.domain.value.split('.'); var len = temp.length; var free_flag = 0; if(temp.length == free.length+1 && temp[1] == free[0] && temp[2] == free[1]) free_flag = 1; /* if(len < 2){ alert('도메인을 입력해주세요.'); document.link_domain.domain.focus(); return false; } */ if(free_flag == 1 && document.link_domain.domain.value != myid){ alert('자신의 아이디의 무료도메인만 사용이 가능합니다.'); document.link_domain.domain.focus(); return false; } else if(free_flag == 0 && checkDomain(document.link_domain.domain.value) == false) { alert('도메인 규칙 에러입니다.'); document.link_domain.domain.focus(); return false; } /* else if(free_flag == 0 && len == 3 && (temp[2] == 'com' || temp[2] == 'net' || temp[2] == 'org' || temp[2] == 'biz' || temp[2] == 'info')){ alert('잘못된 도메인입니다.'); document.link_domain.domain.focus(); return false; } else if(free_flag == 0 && len == 4 && (temp[2] == 'co' || temp[2] == 'or') && temp[3] == 'kr'){ alert('잘못된 도메인입니다.'); document.link_domain.domain.focus(); return false; }*/ if(len > 4){ alert('잘못된 도메인입니다.'); document.link_domain.domain.focus(); return false; } if(isAbuseWord(temp[len-1])){ alert('올바른 도메인을 입력해주세요.'); document.link_domain.domain.focus(); return false; } if(temp[0] == 'www' || temp[0] == 'co' || temp[0] == 'pe' || temp[0] == 'ne' || temp[0] == 'or'){ alert('이 도메인은 사용할수 없습니다.'); document.link_domain.domain.focus(); return false; } return true; } function roundoff(num){ return parseInt(eval('(' + num + '+' + '5' + ')' + '/' + '10'))*10; } function setComma(str){ var str = String(str); var str_len = str.length; var return_str = ''; var val = ''; var j = 0; for(i=str_len; i>0; i--) { if(str.substring(i,i-1) != ',') val = str.substring(i,i-1) + val; } str_len = val.length; for(i=str_len; i>0; i--) { if(j%3 == 0 && j != 0) return_str = val.substring(i,i-1) + ',' + return_str; else return_str = val.substring(i,i-1) + return_str; j++; } return return_str; } /* 서비스 사용 현황(myinfo_rs_hosting.tpl)*/ function EmailShow(data, server) { if(!data){ alert('email을 선택해주세요.'); return false; } var url = "http://"+server+".fmcity.com/du.cgi?"+data; window.open(url, '', 'width=550, height=150, toolbar=no'); } function EmailShow1(data, server) { if(!data){ alert('email을 선택해주세요.'); return false; } var url = "http://"+server+".fmcity.com/mailservice1.php?email="+data; window.open(url, '', 'width=550, height=150, toolbar=no'); } /* 메일사용량 보기 */ function EmailShowNew(data) { if(!data) { alert('email을 선택해주세요.'); return false; } var form = document.getElementById("email"); window.open('', 'emailt', 'width=550, height=150, toolbar=no'); form.target = "emailt"; form.submit(); } function EmailShowNew2(data) { if(!data) { alert('email을 선택해주세요.'); return false; } window.open(data, 'emailt', 'width=550, height=150, toolbar=no'); } /* 정보 변경(info_rs.tpl) */ function info_check() { /* if(document.form.newPasswd.value !='') { if(document.form.newPasswdConfirm.value == '') { alert('비밀번호 변경 확인을 적어주세요.'); document.form.newPasswdConfirm.focus(); return false; } if(document.form.newPasswd.value != document.form.newPasswdConfirm.value) { alert('비밀번호 변경값과 확인값이 틀립니다.'); document.form.newPasswdConfirm.focus(); return false; } //특수문자 체크 var regexp = /[\$\;\&\|\%\'\"\=\#\?\\]/i; var matchSpecialChar = document.form.newPasswd.value.match(regexp); if(matchSpecialChar != null) { alert('사용할 수 없는 특수문자 $ ; & | % \' " = # ? 입니다.'); document.form.newPasswd.focus(); return false; } var passwordResult=getPasswordCheckResult(document.form.newPasswd.value); var passwordLevel=Number(passwordResult[0]); if(passwordLevel < 0){ var msg=""; switch(passwordLevel) { case 0: case -1: msg="비밀번호는 영문자로 시작되며 영문/숫자/특수문자 조합의 8~16자리로 입력해주세요."; break; case -2: msg="비밀번호는 4자이상 연속된 문자를 사용할 수 없습니다."; break; case -3: msg="동일문자를 3자이상 반복으로 사용할 수 없습니다."; break; //case -4: //msg='사용 불가능한 특수 문자가 포함되어 있습니다. \r\n사용 불가능한 특수문자는 $ ; & | % \' " = # ? 입니다.'; //break; default: msg="비빌번호 형식이 잘못되었습니다."; break; } alert(msg); document.form.newPasswd.focus(); return false; } } */ if(document.form.zipcode1.value == '' || document.form.zipcode2.value == ''){ alert('우편번호를 적어주세요.'); document.form.zipcode1.focus(); return false; } if(document.form.haddr1.value == '' || document.form.haddr2.value == ''){ alert('한글주소를 적어주세요.'); document.form.haddr1.focus(); return false; } if(document.form.eaddr.value == ''){ alert('영문주소를 적어주세요.'); document.form.eaddr.focus(); return false; } if(document.form.email.value == ''){ alert('email를 적어주세요.'); document.form.email.focus(); return false; } if(!isValidEmail(document.form.email.value)){ alert("올바른 email 주소를 넣어주세요."); document.form.email.focus(); return false; } if(document.form.phone1.value == '' || document.form.phone2.value == '' || document.form.phone3.value == ''){ alert('전화 번호를 적어주세요.'); document.form.phone1.focus(); return false; } if(document.form.cell1.value == '' || document.form.cell2.value == '' || document.form.cell3.value == ''){ alert('핸드폰 번호를 적어주세요.'); document.form.cell1.focus(); return false; } if(document.form.admin_name) { if(document.form.admin_name.value == ''){ alert('관리자이름을 적어주세요.'); document.form.admin_name.focus(); return false; } if(document.form.admin_email.value == ''){ alert('관리자 이메일을 적어주세요.'); document.form.admin_email.focus(); return false; } if(!isValidEmail(document.form.admin_email.value)){ alert("올바른 email 주소를 넣어주세요."); document.form.admin_email.focus(); return false; } if(document.form.admin_phone1.value == '' || document.form.admin_phone2.value == '' || document.form.admin_phone3.value == ''){ alert('관리자 전화 번호를 적어주세요.'); document.form.admin_phone1.focus(); return false; } if(document.form.admin_hphone1.value == '' || document.form.admin_hphone2.value == '' || document.form.admin_hphone3.value == ''){ alert('관리자 핸드폰 번호를 적어주세요.'); document.form.admin_hphone1.focus(); return false; } } return true; } function zipcodePopNew(inputBoxInfo, engDisplayFlag) { p = window.open('/chtml/hosting/zipcode/zipcode_search.php?inputBoxInfo='+inputBoxInfo+'&engDisplayFlag='+engDisplayFlag,'new2','width=650,height=750,status=yes,scrollbars=yes,menubar=no,resizable=1'); p.focus(); } function zipcodePopNew2(inputBoxInfo, engDisplayFlag) { p = window.open('/chtml/hosting/zipcode/zipcode_search_new.php?inputBoxInfo='+inputBoxInfo+'&engDisplayFlag='+engDisplayFlag,'new2','width=650,height=620,status=no,scrollbars=yes,menubar=no,resizable=1'); p.focus(); } function DigitCheck(fm) { var residentValue = "0123456789"; var string = fm.value; var len = residentValue.length; for(i=0; i < len; i++) { if(residentValue.indexOf(string.substring(i, i+1)) < 0) { alert("허용된 문자가 아닙니다."); fm.value = ""; fm.focus(); return false; } } return true; } function DigitCheck2(fm) { var residentValue = "0123456789-"; var string = fm.value; var len = residentValue.length; for(i=0; i < len; i++) { if(residentValue.indexOf(string.substring(i, i+1)) < 0) { alert("허용된 문자가 아닙니다."); fm.value = ""; fm.focus(); return false; } } return true; } /* 비밀번호 변경(change_pwd_rs.tpl)*/ function passwd_check() { var items = new Array; var msg = new Array; items[0] = 'current_passwd'; msg[0] = "현재 Password를 입력해 주세요."; items[1] = 'new_passwd'; msg[1] = "Password를 입력해 주세요."; if(!input_check(document.form, items, msg)) return false; if(document.getElementById('spanPasswordSafetyLevel') == '[object]') { if(passwordSafetyCheckGuideType() == false){ alert("Password를 다시 입력해 주십시오."); document.form.new_passwd.focus(); return false; } }else{ if(document.form.new_passwd.value.indexOf("&") > 0){ msg='사용 불가능한 특수 문자가 포함되어 있습니다.'; return false; } var passwordResult=getPasswordCheckResult(document.form.new_passwd.value); var passwordLevel=Number(passwordResult[0]); if(passwordLevel < 0){ var msg=""; switch(passwordLevel) { case 0: case -1: msg="비밀번호는 영문자로 시작되며 영문/숫자/특수문자 조합의 8~16자리로 입력해주세요."; break; case -2: msg="비밀번호는 4자이상 연속된 문자를 사용할 수 없습니다."; break; case -3: msg="동일문자를 3자이상 반복으로 사용할 수 없습니다."; break; case -4: msg="사용 불가능한 특수 문자가 포함되어 있습니다."; break; default: msg="비빌번호 형식이 잘못되었습니다."; break; } alert(msg); document.form.new_passwd.focus(); return false; } if(document.form.new_passwd.value.length < 7){ alert("Password는 7자리 이상입니다."); document.form.new_passwd.focus(); return false; } if(!isValidPassword(document.form.new_passwd.value)){ alert("Password는 숫자와 영문자만 됩니다."); document.form.new_passwd.focus(); return false; } } if(document.form.new_passwd.value != document.form.new_passwd_.value){ alert("Password가 다릅니다."); document.form.new_passwd.focus(); return false; } if(document.form.new_passwd.value == document.form.user_id.value){ alert("아이디와 Password는 같을 수 없습니다."); document.form.new_passwd.focus(); return false; } return true; } /* 웹메일 관리자 비밀번호 변경(change_pwd_webmail.tpl)*/ function webmail_passwd_check() { var items = new Array; var msg = new Array; items[0] = 'new_passwd'; msg[0] = "새 비밀번호를 입력해 주세요."; items[1] = 'current_web_passwd'; msg[1] = "현재 웹(로그인) 비밀번호를 입력해 주세요."; items[2] = 'new_passwd_'; msg[2] = "새 비밀번호 확인을 위한 패스워드를 입력해 주세요."; if(!input_check(document.form, items, msg)) return false; if(passwordSafetyCheckGuideType() == false){ alert("Password를 다시 입력해 주십시오."); document.form.new_passwd.focus(); return false; } /* if(document.form.new_passwd.value.length < 8){ alert("Password는 8자리 이상입니다."); document.form.new_passwd.focus(); return false; } if(!isValidPassword(document.form.new_passwd.value)){ alert("Password는 숫자와 영문자만 됩니다."); document.form.new_passwd.focus(); return false; } if(document.form.new_passwd.value.substring(0,1).search(/[a-zA-Z]/) == -1){ alert("변경되는 비밀번호의 첫자리는 영문이어야 합니다"); document.form.new_passwd.focus(); return false; } if(document.form.new_passwd.value.search(/[a-zA-Z]/) == -1 || document.form.new_passwd.value.search(/[0-9]/) == -1){ alert("Password는 영문자와 숫자의 혼용이어야 합니다."); document.form.new_passwd.focus(); return false; } */ if(document.form.new_passwd.value != document.form.new_passwd_.value){ alert("Password가 다릅니다."); document.form.new_passwd.focus(); return false; } if(document.form.new_passwd.value == document.form.user_id.value){ alert("아이디와 Password는 같을 수 없습니다."); document.form.new_passwd.focus(); return false; } return true; } /* E-mail 추가/삭제(email_rs.tpl) */ function email_check() { var items = new Array; var msg = new Array; var userid = document.form.user_id.value.split("_"); items[0] = 'mail_id'; msg[0] = '이메일을 입력해주세요.'; items[1] = 'domain'; msg[1] = '도메인을 선택해주세요.'; items[2] = 'passwd'; msg[2] = '비밀번호를 입력해주세요.'; items[3] = 'passwd_'; msg[3] = '비밀번호를 입력해주세요.'; if(!input_check(document.form, items, msg)) return false; if(document.form.passwd.value.indexOf("&") > 0){ alert('사용 불가능한 특수 문자가 포함되어 있습니다. \r\n사용 불가능한 특수문자는 $ ; & | % \' " = # ? 입니다.'); return false; } var passwdLevel = getPasswordCheckResult(document.form.passwd.value); if(passwdLevel[0]==0){ alert('비밀번호가 유효하지 않습니다. \n\n비밀번호는 영문자로 시작되며 영문/숫자/특수문자 조합의 8자리~16자리입니다'); return false; }else if(passwdLevel[0]==-1){ alert('비밀번호가 유효하지 않습니다. \n\n비밀번호는 영문자로 시작되며 영문/숫자/특수문자 조합의 8자리~16자리입니다'); return false; }else if(passwdLevel[0]==-2){ alert('비밀번호가 유효하지 않습니다. \n\n비밀번호는 4자이상 연속된 문자를 사용할 수 없습니다'); return false; }else if(passwdLevel[0]==-3){ alert('비밀번호가 유효하지 않습니다. \n\n동일문자를 3자이상 반복으로 사용할 수 없습니다'); return false; }else if(passwdLevel[0]==-4){ alert('사용 불가능한 특수 문자가 포함되어 있습니다. \r\n사용 불가능한 특수문자는 $ ; & | % \' " = # ? 입니다.'); return false; } if(document.form.passwd.value == userid[1]){ alert("비밀번호가 유효하지 않습니다. \n\n아이디와 Password는 같을 수 없습니다."); document.form.passwd.focus(); return false; } document.form.email.value = document.form.mail_id.value + '@' + document.form.domain.value; if(document.form.passwd_.value != document.form.passwd.value){ alert('비밀번호가 다릅니다.'); document.form.passwd.focus(); return false; } if (!isValidEmail(document.form.email.value)){ alert('올바른 이메일 주소가 아닙니다.'); document.form.mail_id.focus(); return false; } return true; } /* email 용량변경 */ function email_change_size(url, form, emailIdx, rt) { var fo = document.getElementById(form); var value = fo.value; if(!value) { alert("변경 용량을 선택하세요."); } var target = url + "?exeType=email_quota_change&emailIdx="+emailIdx+""a="+value+"&rt="+rt; go_(target); } function delMailBox(url, emailIdx, rt) { if( confirm("모든 메일이 서버에서 삭제됩니다. 삭제하시겠습니까?")==false ) return; var target = url + "?exeType=email_box_del&emailIdx="+emailIdx+"&rt="+rt; go_(target); } /* DB백업 페이지 이동 */ function dbback_change_page(url, val) { var target = url + "&pType=" + val; go_(target); } /* DB백업 받기/올리기 처리 */ function db_check_exe(mode){ var form = document.getElementById("dbdb"); var choice = document.getElementById("choice"); if(mode == 'pop' && !choice.db_select[0].checked){ alert('올리기에서는 올리기만 가능합니다.'); return false; } if(mode == 'push' && !choice.db_select[1].checked){ alert('받기에서는 받기만 가능합니다.'); return false; } if(mode == "push") { if(dbdb.filename.value == ''){ alert('file을 적어주세요.'); dbdb.filename.focus(); return false; } } form.submit(); } function dataBackup() { var form = document.getElementById("dataBackupForm"); if(form.hddUsageValue.value >= 3000) { alert("사용하시는 계정의 총 용량이 3GB를 초과합니다.\n\n3GB 이상의 데이터 백업은 관리자에게 요청하시기 바랍니다."); return false; } if(confirm("DATA 백업을 하시겠습니까?")) { form.submit(); } } /* 윈도우 DB 백업 */ function dbbackup_window() { dbbackup_window_write('',''); //var form = document.getElementById("frmWindowDb"); var form =document.frmWindowDb; form.submit(); } function dbbackup_window_write(sel_id,text) { var text = ''; if(sel_id) { text="/home/"+sel_id+"/"+text; } document.getElementById("divPathText").innerText=text; } /* 게시판 스팸필터 */ function spamFilgerChk() { var form = document.getElementById("spamF"); var el = form.elements['spamFlag']; for(var i=0; i[help] * @author 박난하 * @date 2007-01-12 오후 5:04 *********************************************************************************************/ var balloon = { curPop: false, xOffset: 10, yOffset: 0, newLeft: null, newTop: null, targetObjId: null, styleObject: null, eventObj: null, msgObj: {}, targetObjId: 'balloonID', /** * 세팅 * @param {Object} eventObj 이벤트 오브젝트 */ set: function(eventObj) { // create msg layer this.msgObj[this.targetObjId] = document.createElement('div'); this.msgObj[this.targetObjId].id = this.targetObjId; this.msgObj[this.targetObjId].style.position = 'absolute'; this.msgObj[this.targetObjId].style.display = 'none'; this.msgObj[this.targetObjId].style.backgroundColor = 'white'; this.msgObj[this.targetObjId].style.width = '200px'; this.msgObj[this.targetObjId].style.borderLeft = '1px solid black'; this.msgObj[this.targetObjId].style.borderTop = '1px solid black'; this.msgObj[this.targetObjId].style.borderBottom = '3px solid black'; this.msgObj[this.targetObjId].style.borderRight = '3px solid black'; this.msgObj[this.targetObjId].style.padding = '3px'; this.msgObj[this.targetObjId].style.zIndex = 1000; this.msgObj[this.targetObjId].style.fontSize = '9pt'; //this.msgObj[this.targetObjId].innerHTML = eventObj.currentTarget ? eventObj.currentTarget.getAttribute('title') : eventObj.srcElement.getAttribute('title'); this.msgObj[this.targetObjId].innerHTML = eventObj.currentTarget ? eventObj.currentTarget.getAttribute('rel') : eventObj.srcElement.getAttribute('rel'); this.styleObject = this.msgObj[this.targetObjId].style; this.eventObj = eventObj; this.msgObj[this.targetObjId].style.left = ( this.eventObj.pageX ? this.eventObj.pageX + this.xOffset : this.eventObj.clientX + this.xOffset + document.documentElement.scrollLeft ) + 'px'; this.msgObj[this.targetObjId].style.top = ( this.eventObj.pageY ? this.eventObj.pageY + this.yOffset : this.eventObj.clientY + this.yOffset + ( document.documentElement.scrollTop == 0 ? document.body.scrollTop : document.documentElement.scrollTop ) ) + 'px'; // set event if( typeof this.msgObj[this.targetObjId].firstChild.onmouseout == 'object' ) { this.msgObj[this.targetObjId].firstChild.onmouseout = this.close.bind(this); } else { this.msgObj[this.targetObjId].onmouseout = this.close.bind(this); } // append this.objBody = document.getElementsByTagName('body').item(0) this.objBody.insertBefore(this.msgObj[this.targetObjId], this.objBody.firstChild); }, /** * open * @param {Object} eventObj 이벤트 오브젝트 */ open: function(eventObj) { // check if( !eventObj ) var eventObj = window.event; this.close(); // set this.set(eventObj); // process this.change('block'); }, /** * close */ close: function() { if( this.curPop ) { this.change('none'); this.curPop = false; } }, /** * change style display * @param {String} vi style.display 속성값 none/block * @return {Boolen} true/false */ change: function(vi) { if( this.styleObject ) { this.styleObject.display = vi; this.curPop = this.targetObjId; return true; } else return false; } } /** * apply method 사용 * 이벤트발생시 함수에 전달할때 클래스안의 this 를 포함한다. */ Function.prototype.bind = function() { for ( var i = 0, method = this , args = [] , len = arguments.length ; i < len ; i++ ) { args.push( arguments[ i ] ); } return function() { return method.apply( args[0] , args.slice(1) ); } } /** * debug for object * @param {Object, String} o * @param {Object object} options * @author 박난하 nanhap@gmail.com * @date 2007-02-13 */ function debug(o, options) { // check if( o == null ) return; if( typeof options == 'undefined' ) options = {pos: false}; // process if( typeof o == 'string' || typeof o == 'number' ) { var debugStr = o; } else { // process #2 var debugStr = ''; for( i in o ) { //if( o[i] == '[object HTMLFormElement]' ) continue; debugStr += ''; if( options.optSub == 1 ) { if( typeof o[i] == 'object' ) { for( j in o[i] ) { debugStr += '======>' + j + '=' + o[i][j] + '
'; } } } } debugStr += '
' + i + '' + o[i] + '' + typeof o[i] + '
'; if( options.cookie == true ) debugStr += 'document.cookie:' + document.cookie + '
'; } var divObj = document.createElement('div'); divObj.id = 'debug'; if( options.pos == true ) { divObj.style.position = 'absolute'; divObj.style.top = ( options.top || 0 ) + 'px'; divObj.style.left = ( options.left || 500 ) + 'px'; divObj.style.zIndex = options.zIndex || 10000; } divObj.innerHTML = debugStr; document.body.appendChild(divObj); } /************************************* * create XMLHTTPRequest Object * xhr ( xml http request ) * ex1) usage var o = xhr.init(); * @author 박난하 * @date 2007-02-22 *************************************/ var xhr = { instance: false, init: function() { if( typeof XMLHttpRequest != 'undefined' ) { this.instance = new XMLHttpRequest(); } if( !this.instance ) { try { this.instance = new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) { try { this.instance = new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) { this.instance = false; } } } return this.instance; } } /** * 오브젝트 확장 * @param {Object} destination * @param {Object} source * @return {Object} * @author 박난하 nanhap@gmail.com * @date 2007-03-09 */ Object.extend = function(destination, source) { for(var property in source) { destination[property] = source[property]; } return destination; } /** * Ajax * @author 박난하 * @date 2007-02-22 오후 5:46 */ var ResellerAjax = { Events: ['Uninitialized', 'Loading', 'Loaded', 'Interactive', 'Complete'], // readyState 에 대한 이벤트명 setOptions: { method: 'post', asynchronous: true, contentType: 'application/x-www-form-urlencoded', encoding: 'UTF-8', parameters: '' }, // 기본 옵션 /** * 실행함수 * @param {String} url * @param {Object object} options 옵션 JSON */ init: function(url, options) { this.url = url; this.xhrObj = xhr.init(); Object.extend(this.setOptions, options || {}); this.request(); }, /** * 요청 */ request: function() { // when GET, append parameters to URL //var params = encodeURIComponent(this.setOptions.parameters); var params = this.setOptions.parameters; if( this.setOptions.method == 'get' && params ) this.url += (this.url.indexOf('?') > -1 ? '&' : '?') + params; try { if(typeof this.setOptions.onCreate == 'function') this.setOptions.onCreate(); // 최초함수 실행 this.xhrObj.open(this.setOptions.method, this.url, this.setOptions.asynchronous); this.xhrObj.onreadystatechange = this.onStateChange.bind(this); this.header(); var body = this.setOptions.method == 'post' ? (this.setOptions.postBody || params) : null; this.xhrObj.send(body); /* Force Firefox to handle ready state for synchronous requests */ if( !this.setOptions.asynchronous && this.xhrObj.overrideMimeType ) this.onStateChange(); } catch(e) { debug(e); } }, /** * 헤더선언 */ header: function() { var headers = {}; headers['X-Requested-With'] = 'XMLHttpRequest'; //ajax 요청여부 heade값 추가 if(this.setOptions.method == 'post') { headers['Content-Type'] = this.setOptions.contentType + ( this.setOptions.encoding ? '; charset=' + this.setOptions.encoding : '' ); } for(var name in headers) this.xhrObj.setRequestHeader(name, headers[name]); }, /** * monitor */ onStateChange: function() { //if( this.xhrObj.readyState > 1 && !( this.xhrObj.readyState == 4 && this._complete ) ) if( this.xhrObj.readyState > 1 ) this.respond(this.xhrObj.readyState); }, /** * 요청 완료 */ success: function() { return !this.xhrObj.status || (this.xhrObj.status >= 200 && this.xhrObj.status < 300); }, /** * 요청상태별 체크 * @param {String} readyState */ respond: function(readyState) { var state = this.Events[readyState]; if( state == 'Complete' ) { this._complete = true; var json = this.evalJSON(); if( typeof this.setOptions.onComplete == 'function' ) { this.setOptions.onComplete(this.xhrObj, json); } } }, /** * 요청한 URL 에 대한 헤더얻음 * @param {String} name 헤더 구분값 * @return {Boolen} true/false */ getHeader: function(name) { try { return this.xhrObj.getResponseHeader(name); } catch(e) { debug(e); } return true; }, /** * JSON 값을 가져옴 */ // return json type evalJSON: function() { try { var json = this.getHeader('X-JSON'); return json ? eval('(' + json + ')') : null; } catch (e) { return null } } } /** * table ui control * @author nanhap@gmail.com */ var Table = { /** * tbody tr reset * @param String sTableID * @return void */ reset: function(sTableID) { var oTable = document.getElementById(sTableID); if( oTable == null ) return; var oTBody = oTable.tBodies[0]; var lastRow = oTBody.rows.length; while( true ) { if( lastRow == 0 ) break; oTBody.deleteRow(lastRow - 1); var lastRow = oTBody.rows.length; } }, /** * tbody create loading tr * @param Object object options * @return void */ loading: function(options) { var setOptions = { type: 'text' , msg: '검색중입니다.' , colspan: 5 , className: '' , rowHeight: '30px' }; Object.extend(setOptions, options || {}); var oTable = document.getElementById(setOptions['id']); if( oTable == null ) return; var oTBody = oTable.tBodies[0]; var row = oTBody.insertRow(oTBody.rows.length); var cell = row.insertCell(0); cell.setAttribute('height', setOptions['rowHeight'] || '0px'); cell.colSpan = setOptions['colspan']; cell.className = setOptions['className']; cell.align = 'center'; switch(setOptions['type']) { default: cell.innerHTML = setOptions['msg']; break; case 'image': var objIMG = document.createElement('img'); objIMG.src = setOptions['msg']; cell.appendChild(objIMG); objIMG = null; break; } setOptions = options = null; } }; /** * 나의 서비스 관리 > 도에민관련메뉴 > 도메인 연결 상태 검사 함수 */ function domainConnectCheck(actionUrl, domain) { ResellerAjax.init(actionUrl, { method: 'post' , parameters: 'domain=' + domain , onCreate: function(){} , onComplete: function(xhrObj) { var result = xhrObj.responseText; var resultStr = result.split('|'); document.getElementById('domainConnectCheckResultBlock').style.display = 'block'; document.getElementById('domainConnectCheckViewText').innerHTML = domain; document.getElementById('domainConnectCheckResultViewText').innerHTML = resultStr[1]; } }); } //나의 서비스 관리 > 서비스 사용현황 > 도메인 연결 function domainConnectAddMain(domain) { document.getElementById("connectDomain").value = domain; var id = document.getElementById("memberId").value; var free_domain = document.getElementById("freeDomain").value; var str; var myid = id + '.'+free_domain; var free = free_domain.split('.'); if(domain.length < 2) { alert('도메인을 입력해주세요.'); return false; } var temp = domain.split('.'); var len = temp.length; var free_flag = 0; if(temp.length == free.length+1 && temp[1] == free[0] && temp[2] == free[1]) free_flag = 1; if(free_flag == 1 && domain != myid){ alert('자신의 아이디의 무료도메인만 사용이 가능합니다.'); return false; } else if(free_flag == 0 && checkDomain(domain) == false) { alert('도메인 규칙 에러입니다.'); return false; } if(len > 4){ alert('잘못된 도메인입니다.'); return false; } if(isAbuseWord(temp[len-1])){ alert('올바른 도메인을 입력해주세요.'); return false; } if(temp[0] == 'www' || temp[0] == 'co' || temp[0] == 'pe' || temp[0] == 'ne' || temp[0] == 'or'){ alert('이 도메인은 사용할수 없습니다.'); return false; } var queryString = 'exeType=domain_connection_add&domain='+domain; ResellerAjax.init(document.link_domain.action, { method: 'post' , parameters: queryString , onCreate: function(){} , onComplete: function(xhrObj) { var result = xhrObj.responseText; var resultStr = result.split('|'); switch(resultStr[0]) { case '0000' : case '0001' : connectDomainAuthKeySendCancle(); alert(resultStr[1]); location.reload(); break; case '5012': if(resultStr[2]) { //whois 이메일값이 있으면 alert("도메인 본인 소유 여부를 확인 후 연결을 진행합니다.\n인증키 발송 후 확인된 인증키를 입력해 주세요.\n\n *도메인 : " + domain +"\n *이메일 : "+resultStr[2]); document.getElementById("connectDomainAuthKeyRow").style.display = ''; document.getElementById("connectDomainWhoisEmail").innerHTML = resultStr[2]; document.getElementById("connectDomainAuthKeyStep1").style.display = 'block'; document.getElementById("btnDomentConnect").style.display = 'none'; document.getElementById("domain").readOnly = true; document.getElementById("isDomainConnectAuthKey").value = "Y"; } else { alert(domain + " 의 whois 정보 조회가 실패하였습니다.고객센터로 문의해 주세요."); } break; default: alert(resultStr[1]); location.reload(); break; } } }); return false; } function connectDomainAuthKeyConfirmMain() { var domain = document.getElementById("connectDomain").value; var isDomainConnectAuthKey = document.getElementById("isDomainConnectAuthKey").value; var authKey = document.getElementById("connectDomainAuthKey").value; if( authKey==null || authKey=="" ){ alert('인증키값을 입력해주세요.'); return; } var queryString = 'exeType=domain_connection_add&domain='+domain+'&isDomainConnectAuthKey='+isDomainConnectAuthKey+'&connectDomainAuthKey=' + authKey; ResellerAjax.init(document.link_domain.action, { method: 'post' , parameters: queryString , onCreate: function(){} , onComplete: function(xhrObj) { var result = xhrObj.responseText; var resultStr = result.split('|'); switch(resultStr[0]) { case '0000' : case '0001' : connectDomainAuthKeySendCancle(); alert(resultStr[1]); location.reload(); break; default: alert(resultStr[1]); break; } } }); return false; } /* * 나의 서비스 관리 > 도에민관련메뉴 > 도메인연결 추가 */ function domainConnectAdd(domain) { document.getElementById("connectDomain").value = domain; var id = document.getElementById("memberId").value; var free_domain = document.getElementById("freeDomain").value; var str; var myid = id + '.'+free_domain; var free = free_domain.split('.'); if(domain.length < 2) { alert('도메인을 입력해주세요.'); return false; } var temp = domain.split('.'); var len = temp.length; var free_flag = 0; if(temp.length == free.length+1 && temp[1] == free[0] && temp[2] == free[1]) free_flag = 1; if(free_flag == 1 && domain != myid){ alert('자신의 아이디의 무료도메인만 사용이 가능합니다.'); return false; } else if(free_flag == 0 && checkDomain(domain) == false) { alert('도메인 규칙 에러입니다.'); return false; } if(len > 4){ alert('잘못된 도메인입니다.'); return false; } if(isAbuseWord(temp[len-1])){ alert('올바른 도메인을 입력해주세요.'); return false; } if(temp[0] == 'www' || temp[0] == 'co' || temp[0] == 'pe' || temp[0] == 'ne' || temp[0] == 'or'){ alert('이 도메인은 사용할수 없습니다.'); return false; } var queryString = 'exeType=domain_connection_add&domain='+domain; ResellerAjax.init(document.link_domain.action, { method: 'post' , parameters: queryString , onCreate: function(){} , onComplete: function(xhrObj) { var result = xhrObj.responseText; var resultStr = result.split('|'); switch(resultStr[0]) { case '0000' : case '0001' : var tableObj = document.getElementById('connectionDomainList'); var oRow2Clone = tableObj.rows[tableObj.rows.length-1]; // 마지막 행을 복재할 것임 var addRow = oRow2Clone.cloneNode(true); oRow2Clone.parentNode.appendChild(addRow); tableObj.rows[tableObj.rows.length-1].cells[1].innerHTML = domain; tableObj.rows[tableObj.rows.length-1].cells[2].innerHTML = ''; connectDomainAuthKeySendCancle(); if(resultStr[0] == '0000') { //성공시 5초후 리로드시킨다. setTimeout("location.reload()" ,5000); } break; case '5012': if(resultStr[2]) { //whois 이메일값이 있으면 alert("도메인 본인 소유 여부를 확인 후 연결을 진행합니다.\n인증키 발송 후 확인된 인증키를 입력해 주세요.\n\n *도메인 : " + domain +"\n *이메일 : "+resultStr[2]); document.getElementById("connectDomainAuthKeyRow").style.display = ''; document.getElementById("connectDomainWhoisEmail").innerHTML = resultStr[2]; document.getElementById("connectDomainAuthKeyStep1").style.display = 'block'; document.getElementById("btnDomentConnect").style.display = 'none'; document.getElementById("domain").readOnly = true; document.getElementById("isDomainConnectAuthKey").value = "Y"; } else { alert(domain + " 의 whois 정보 조회가 실패하였습니다.고객센터로 문의해 주세요."); resultStr[1] = domain + " 의 whois 정보 조회가 실패하였습니다.고객센터로 문의해 주세요."; } break; default: break; } document.getElementById('domainConnectCheckResultBlock').style.display = 'block'; document.getElementById('domainConnectCheckViewText').innerHTML = domain; document.getElementById('domainConnectCheckResultViewText').innerHTML = resultStr[1]; } }); return false; } //도메인연결 인증키 메일발송하기 function connectDomainAuthKeySend() { var domain = document.getElementById("connectDomain").value; if( domain==null || domain=="" ){ alert('도메인값이 없습니다.'); return; } var queryString = 'exeType=domain_connection_add_authkey_sendmail_xmlhttp&domain='+domain; ResellerAjax.init(document.link_domain.action, { method: 'post' , parameters: queryString , onCreate: function(){} , onComplete: function(xhrObj) { var result = xhrObj.responseText; var resultStr = result.split('|'); if(resultStr[0] == '0000') { document.getElementById("connectDomainAuthKeyMsg").innerHTML = "" + resultStr[2] + " 메일주소로 인증키를 발송하였습니다.
메일을 확인하시고 인증키를 입력해 주세요.
"; document.getElementById("connectDomainAuthKeyStep1").style.display = 'none'; document.getElementById("connectDomainAuthKeyStep2").style.display = 'block'; } else { alert(resultStr[1]); return; } } }); } //도메인연결 인증키값 확인 function connectDomainAuthKeyConfirm() { var domain = document.getElementById("connectDomain").value; var isDomainConnectAuthKey = document.getElementById("isDomainConnectAuthKey").value; var authKey = document.getElementById("connectDomainAuthKey").value; if( authKey==null || authKey=="" ){ alert('인증키값을 입력해주세요.'); return; } var queryString = 'exeType=domain_connection_add&domain='+domain+'&isDomainConnectAuthKey='+isDomainConnectAuthKey+'&connectDomainAuthKey=' + authKey; ResellerAjax.init(document.link_domain.action, { method: 'post' , parameters: queryString , onCreate: function(){} , onComplete: function(xhrObj) { var result = xhrObj.responseText; var resultStr = result.split('|'); switch(resultStr[0]) { case '0000' : case '0001' : var tableObj = document.getElementById('connectionDomainList'); var oRow2Clone = tableObj.rows[tableObj.rows.length-1]; // 마지막 행을 복재할 것임 var addRow = oRow2Clone.cloneNode(true); oRow2Clone.parentNode.appendChild(addRow); tableObj.rows[tableObj.rows.length-1].cells[1].innerHTML = domain; tableObj.rows[tableObj.rows.length-1].cells[2].innerHTML = ''; connectDomainAuthKeySendCancle(); if(resultStr[0] == '0000') { //성공시 5초후 리로드시킨다. setTimeout("location.reload()" ,5000); } break; default: alert(resultStr[1]); break; } document.getElementById('domainConnectCheckResultBlock').style.display = 'block'; document.getElementById('domainConnectCheckViewText').innerHTML = domain; document.getElementById('domainConnectCheckResultViewText').innerHTML = resultStr[1]; } }); } //도메인연결 인증키발송 취소하기 function connectDomainAuthKeySendCancle() { document.getElementById("connectDomain").value = ''; document.getElementById("connectDomainAuthKeyRow").style.display = 'none'; document.getElementById("btnDomentConnect").style.display = 'block'; document.getElementById("domain").readOnly = false document.getElementById("connectDomainAuthKeyStep1").style.display = 'none'; document.getElementById("connectDomainAuthKeyStep2").style.display = 'none'; document.getElementById("isDomainConnectAuthKey").value = "N"; if(document.getElementById('domainConnectCheckResultBlock') != null ) { document.getElementById('domainConnectCheckResultBlock').style.display = 'none'; } } /* #================================================================================================== 서브 도메인 */ function createSubDomain(){ var frm=document.forms['subDomainRegForm']; var k=0, samDirFlag='N'; if(!frm.subDomainName.value){ alert('서브도메인명을 입력하세요.'); return; } for(k=0;k63 ){ //최소 2자에서 최대 64자까지 가능합니다 flag=1; }else if( document.getElementById('hostName').value.indexOf("---")>=0 ){ //"---" 하이픈은 3개이상 연속일 수 없다. flag=1; }else if( filter.test(document.getElementById('hostName').value)==false ){ //영문자 a~z, 숫자 0~9 또는 하이픈(-)의 조합으로만 표현되며 flag=1; } if(flag==1){ alert("호스트명이 잘못 되었습니다."); document.getElementById('hostName').focus(); return; } if(!document.getElementById('hostIp').value || isValIp(document.getElementById('hostIp').value) == false) { alert("IP주소를 입력하세요."); document.getElementById('hostIp').focus(); return; } document.getElementById('hostRegForm').submit(); } // ip 체크 function isValIp(str) { var ret = true; var tmp = ''; var reStr = str.split("."); if(reStr.length < 4) { return false; } for(var i=0;i 255) { ret = false; } } return ret; } function hostListSearch(actionUrl,domain,domainIdx,templateName) { var xmlActionUrl =actionUrl+'?exeType=addservice_domain_host_search_xmlhttp'; ResellerAjax.init(xmlActionUrl, { parameters: 'domain=' + domain , idTarget: 'hostList' , onCreate: function(){ Table.reset(this.idTarget); Table.loading({id: this.idTarget}); } , onComplete: function(xhrObj) { Table.reset(this.idTarget); var result = xhrObj.responseText; var aResult = eval('('+result+')'); // check if( aResult.length == 0 ) { Table.loading({id: this.idTarget, type: 'text', msg: '호스트 정보가 없습니다.'}); return; } var oTable = document.getElementById(this.idTarget); var oTbody = oTable.tBodies[0]; for( var i = 0, t = aResult.length; i < t; i++ ) { var oRow = document.createElement('tr'); var oCell = document.createElement('td'); //oCell.innerHTML = aResult[i]['idx']; oCell.innerHTML = i+1; oCell.align='center'; oCell.height='30px'; oRow.appendChild(oCell); var oCell = document.createElement('td'); oCell.innerHTML = aResult[i]['domain']; oCell.align='center'; oCell.height='30px'; oRow.appendChild(oCell); var oCell = document.createElement('td'); oCell.innerHTML = aResult[i]['hostname']; oCell.align='center'; oCell.height='30px'; oRow.appendChild(oCell); var oCell = document.createElement('td'); oCell.innerHTML = aResult[i]['hostip']; oCell.align='center'; oCell.height='30px'; oRow.appendChild(oCell); var oCell = document.createElement('td'); oCell.innerHTML = ''; oCell.align='center'; oCell.height='30px'; oRow.appendChild(oCell); oTbody.appendChild(oRow); } } }); } function delHostList(actionUrl,hostIdx,domain,domainIdx,templateName) { var delActionUrl =actionUrl+'?exeType=addservice_domain_host_remove_exe'; ResellerAjax.init(delActionUrl, { parameters: 'mode=delete&domain=' + domain + '&domainIdx=' + domainIdx+ '&hostIdx=' + hostIdx , idTarget: 'hostList' , onCreate: function(){ } , onComplete: function(xhrObj) { var result = xhrObj.responseText; if(result=='0000') alert('성공'); else alert('실패'); } }); hostListSearch(actionUrl,domain,domainIdx,templateName); } /* - password 보안성 체크 관련 스크립트 - 작성자 : iwhwang - 작성일 : 2010-03-02 */ function strTrim(str) { var str = str.replace(/(\s+$)/g, ""); return str.replace(/(^\s*)/g, ""); } var xmlHTTPCount = 0; function getXMLHTTPMyInfo(){ var urls, params, methods; if( getXMLHTTPMyInfo.arguments.length>0 ) urls =getXMLHTTPMyInfo.arguments[0]; if( getXMLHTTPMyInfo.arguments.length>1 ) params =getXMLHTTPMyInfo.arguments[1]; if( getXMLHTTPMyInfo.arguments.length>2 ) methods =getXMLHTTPMyInfo.arguments[2]; if( methods==null || methods=="" ) methods="POST"; try { var objXmlHttp=null; if (window.XMLHttpRequest){ objXmlHttp = new XMLHttpRequest(); } else if (window.ActiveXObject) { try { objXmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e1) { try { objXmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e2) { // Unable to create an XMLHttpRequest with ActiveX } } } objXmlHttp.open(methods, urls, false); objXmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); objXmlHttp.setRequestHeader("Content-Encoding:", "euc-kr"); objXmlHttp.setRequestHeader("Cache-Control:", "no-cache"); objXmlHttp.setRequestHeader("Pragma:", "no-cache"); if( params!=null && params!="" ) objXmlHttp.send(params); else objXmlHttp.send(); var result=objXmlHttp.responseText; while(true){ result = result.replace("\n", ""); if(result.indexOf("\n")<0) break; } while(true){ result = result.replace("\r", ""); if(result.indexOf("\r")<0) break; } xmlHTTPCount = 0; } catch(e) { xmlHTTPCount = xmlHTTPCount + 1; if(xmlHTTPCount <= 5) { result = getXMLHTTPMyInfo(urls, params, methods); } else { result = false; } } return result; } function getPasswordCheckResult(newPasswd, windowFlag){ if(newPasswd == null) return; var url='/chtml/myservice/member_passwd_check.php'; var queryString = "newPasswd=" + newPasswd; if(windowFlag == "Y") { queryString += "&windowFlag=" + windowFlag; } var returnData = ''; $.ajax({ url:url, type:'post', data:queryString, dataType:'text', async:false, error:function(error, textStatus, setting){ alert('실패 : ' + textStatus + error.status); //alert(error.status); }, success:function(obj) { result = strTrim(obj); var resultA = obj.split('@^@'); returnData = resultA } }); return returnData; } function passwordSafetyCheck(objPasswdId, objAlertStringId){ try { var newPasswd = document.getElementById(objPasswdId).value; } catch (e){ var newPasswd = document.getElementsByName(objPasswdId)[0].value; } var objSafetyLevel = document.getElementById(objAlertStringId); objSafetyLevel.innerHTML = ''; try{ if(newPasswd.length < 8 || newPasswd.length > 16){ objSafetyLevel.innerHTML = '영문자로 시작되며 영문/숫자/특수문자 조합의 8자리~16자리'; return false; } if(newPasswd.indexOf("&") > 0){ objSafetyLevel.innerHTML='사용불가능한 특수문자가 포함되어 있습니다. 불가능한 특수문자는 $ ; & | % \' " = # ? 입니다.'; return false; } var result = getPasswordCheckResult(newPasswd); if(result[0] > 0){ var strLevelMsg = ''; var strColorCode = ''; switch(result[0]){ case '3': strLevelMsg = '높음'; strColorCode= 'green'; break; case '2': strLevelMsg = '보통'; strColorCode= 'blue'; break; case '1': strLevelMsg = '낮음'; strColorCode= 'red'; break; default : objSafetyLevel.innerHTML = ''; break; } if(result[0] > 0) { var safetyLevel = '' + strLevelMsg + ''; objSafetyLevel.innerHTML = '보안등급 : ' + safetyLevel; return true; } }else{ if(strTrim(result[1]) != ''){ objSafetyLevel.innerHTML = result[1]; }else{ objSafetyLevel.innerHTML = '영문자로 시작되며 영문/숫자/특수문자 조합의 8자리~16자리'; } return false; } }catch(e){ alert(e); return false; } } //change_pwd_rs.tpl function passwordSafetyCheckGuideType(){ return passwordSafetyCheck("new_passwd", "spanPasswordSafetyLevel"); } function alertNewPasswordLevel(passwd){ var tooTipLayer = document.getElementById("passwdTooltip"); if(tooTipLayer.style.display = "none") { tooTipLayer.style.display = "block"; } var passwdLevel = getPasswordCheckResult(passwd); var msg='비밀 번호를 입력해 주세요.'; var msg2=''; if(passwdLevel[0]==0){ msg='영문자로 시작되며 영문/숫자/
특수문자 조합의 8~16자리'; msg2=''; }else if(passwdLevel[0]==-1){ msg='영문자로 시작되며 영문/숫자/
특수문자 조합의 8~16자리'; msg2=''; }else if(passwdLevel[0]==-2){ msg='4자이상 연속된 문자를 사용할 수 없습니다'; msg2=''; }else if(passwdLevel[0]==-3){ msg='동일문자를 3자이상 반복으로
사용할 수 없습니다
'; msg2=''; }else if(passwdLevel[0]==-4){ msg='사용불가능한 특수문자가
포함되어 있습니다
'; msg2='사용 불가능한 특수문자는 $ ; & | % \' " = # ? 입니다.'; }else if(passwdLevel[0]==1){ msg='사용가능한 비밀번호 입니다.'; msg2='보안 등급 : 낮음'; }else if(passwdLevel[0]==2){ msg='사용가능한 비밀번호 입니다.'; msg2='보안 등급 : 보통'; }else if(passwdLevel[0]==3){ msg='사용가능한 비밀번호 입니다.'; msg2='보안 등급 : 높음'; }else{ msg='영문자로 시작되며 영문/숫자/
특수문자 조합의 8~16자리'; msg2=''; } if(passwd.indexOf("&") > 0){ msg='사용불가능한 특수문자가
포함되어 있습니다
'; msg2='사용 불가능한 특수문자는 $ ; & | % \' " = # ? 입니다.'; } document.getElementById('passwdTooltip').innerHTML=msg; document.getElementById('newPasswdAlert').innerHTML=msg2; } function goftpCheck(templateName){ window.open('/chtml/hosting/ftpcheck/ftpCheck.php?templateName='+templateName, 'resellerFtpCheck','width=410,height=600,directories=no,resizable=yes,scrollbars=no'); } /* passwdSafetyCheck end -------------------------------------------------------------------- */ /* #================================================================================================== */ function domainChangeDisplay(domain, domainIdx) { document.getElementById('domain').value = domain; document.getElementById('domainIdx').value = domainIdx; document.getElementById('passwordConfirmArea').style.display = 'block'; document.getElementById('changeFormArea').innerHTML = ''; document.getElementById('changeFormArea').style.display = 'none'; } function domainChangePasswordConfirm(oForm) { if(oForm.password.value == '') { alert("패스워드를 입력하세요."); oForm.password.focus(); return false } oForm.target = 'hiddenFrame'; SSL.send({ 'formName':oForm.name ,'elementName':['password'] ,'postName':'encrypted_str' }); return false; } function domainHostPasswordConfirm(oForm) { if(oForm.password.value == '') { alert("패스워드를 입력하세요."); oForm.password.focus(); return false } oForm.target = 'hiddenFrame'; SSL.send({ 'formName':oForm.name ,'elementName':['password'] ,'postName':'encrypted_str' }); return false; } function domainNameServerPasswordConfirm(oForm) { if(oForm.password.value == '') { alert("패스워드를 입력하세요."); oForm.password.focus(); return false } oForm.target = 'hiddenFrame'; SSL.send({ 'formName':oForm.name ,'elementName':['password'] ,'postName':'encrypted_str' }); return false; } function domainStatusPasswordConfirm(oForm) { if(oForm.password.value == '') { alert("패스워드를 입력하세요."); oForm.password.focus(); return false } oForm.target = 'hiddenFrame'; SSL.send({ 'formName':oForm.name ,'elementName':['password'] ,'postName':'encrypted_str' }); return false; } function domainChangeDisplayCancel() { document.getElementById('passwordConfirmArea').style.display = 'none'; document.getElementById('changeFormArea').style.display = 'none'; } function getDomainChangeForm() { var url = document.passwordForm.action; var domainChangeType = document.getElementById('domainChangeType').value; var domainIdx = document.getElementById('domainIdx').value; var left = document.getElementById('hiddenLeft').value; var topmenu = document.getElementById('hiddenTopmenu').value; ResellerAjax.init(url, { parameters: 'exeType=addservice_domain_change_form_xmlhttp&domainChangeType=' + domainChangeType + '&domainIdx=' + domainIdx + '&left=' + left + '&topmenu=' + topmenu , method: 'post' , onCreate: function(){ } , onComplete: function(xhrObj) { var rs = eval('('+xhrObj.responseText+')'); if(rs.result==true) { document.getElementById('changeFormArea').innerHTML = rs.data; document.getElementById('passwordConfirmArea').style.display = 'none'; document.getElementById('changeFormArea').style.display = 'block'; } else { alert(rs.resultMsg); document.location.reload(); return; } } }); } function getNameServerList() { var url = document.passwordForm.action; var left = document.getElementById('hiddenLeft').value; var topmenu = document.getElementById('hiddenTopmenu').value; var domain = document.getElementById('domain').value; ResellerAjax.init(url, { parameters: 'exeType=domain_nameserver_list_xmlhttp&left=' + left + '&topmenu=' + topmenu+'&domain='+domain , method: 'post' , onCreate: function(){ } , onComplete: function(xhrObj) { var rs = eval('('+xhrObj.responseText+')'); if(rs.result==true) { document.getElementById('listArea').innerHTML = rs.data; document.getElementById('passwordConfirmArea').style.display = 'none'; document.getElementById('listArea').style.display = 'block'; } else { alert(rs.resultMsg); document.location.reload(); return; } } }); } function getHostManageForm() { var url = document.passwordForm.action; var domainChangeType = document.getElementById('domainChangeType').value; var domainIdx = document.getElementById('domainIdx').value; var left = document.getElementById('hiddenLeft').value; var topmenu = document.getElementById('hiddenTopmenu').value; ResellerAjax.init(url, { parameters: 'exeType=addservice_domain_host_list_xmlhttp&domainChangeType=' + domainChangeType + '&domainIdx=' + domainIdx + '&left=' + left + '&topmenu=' + topmenu , method: 'post' , onCreate: function(){ } , onComplete: function(xhrObj) { var rs = eval('('+xhrObj.responseText+')'); if(rs.result==true) { document.getElementById('changeFormArea').innerHTML = rs.data; document.getElementById('passwordConfirmArea').style.display = 'none'; document.getElementById('module_stitle').style.display = 'block'; document.getElementById('changeFormArea').style.display = 'block'; } else { alert(rs.resultMsg); document.location.reload(); return; } } }); } function getHostStatusList() { var url = document.passwordForm.action; var left = document.getElementById('hiddenLeft').value; var topmenu = document.getElementById('hiddenTopmenu').value; ResellerAjax.init(url, { parameters: 'exeType=addservice_domain_status_list_xmlhttp&left=' + left + '&topmenu=' + topmenu , method: 'post' , onCreate: function(){ } , onComplete: function(xhrObj) { var rs = eval('('+xhrObj.responseText+')'); if(rs.result==true) { document.getElementById('listArea').innerHTML = rs.data; document.getElementById('passwordConfirmArea').style.display = 'none'; document.getElementById('module_stitle').style.display = 'block'; document.getElementById('listArea').style.display = 'block'; } else { alert(rs.resultMsg); document.location.reload(); return; } } }); } function checkDomainOwnerChangForm(oForm) { var engNum=/^[a-zA-Z0-9\-\.\s\(\)\,]*$/; if(oForm.ownerZipcode.value == '') { alert("우편번호를 입력해 주세요."); oForm.ownerZipcode.focus(); return false; } if(oForm.ownerAddr1.value == '') { alert("주소를 입력해 주세요."); oForm.ownerAddr1.focus(); return false; } if(oForm.ownerAddr2.value == '') { alert("상세주소를 입력해 주세요."); oForm.ownerAddr2.focus(); return false; } if(oForm.ownerEngAddr.value == '' || engNum.test(oForm.ownerEngAddr.value) == false) { alert("영문주소를 확인해 주세요."); oForm.ownerEngAddr.focus(); return false; } if(oForm.ownerEmail.value == '') { alert("이메일을 입력해 주세요."); oForm.ownerEmail.focus(); return false; } if(isValidEmail(oForm.ownerEmail.value) == false) { alert("이메일 형식이 올바르지 않습니다."); oForm.ownerEmail.focus(); return false; } if(oForm.ownerMobileNo1.value == '') { alert("휴대폰 번호를 입력해 주세요."); oForm.ownerMobileNo1.focus(); return false; } if(oForm.ownerMobileNo2.value == '') { alert("휴대폰 번호을 입력해 주세요."); oForm.ownerMobileNo2.focus(); return false; } if(oForm.ownerMobileNo3.value == '') { alert("휴대폰 번호을 입력해 주세요."); oForm.ownerMobileNo3.focus(); return false; } if(checkNumber(oForm.ownerMobileNo1.value) == false || checkNumber(oForm.ownerMobileNo2.value) == false || checkNumber(oForm.ownerMobileNo3.value) == false ) { alert("휴대폰 번호를 확인하세요."); return false; } if(oForm.ownerPhoneNo1.value == '') { alert("전화번호를 입력해 주세요."); oForm.ownerPhoneNo1.focus(); return false; } if(oForm.ownerPhoneNo2.value == '') { alert("전화번호를 입력해 주세요."); oForm.ownerPhoneNo2.focus(); return false; } if(oForm.ownerPhoneNo3.value == '') { alert("전화번호를 입력해 주세요."); oForm.ownerPhoneNo3.focus(); return false; } if(checkNumber(oForm.ownerPhoneNo1.value) == false || checkNumber(oForm.ownerPhoneNo2.value) == false || checkNumber(oForm.ownerPhoneNo3.value) == false ) { alert("전화번호를 확인하세요."); return false; } if(oForm.ownerFaxNo1.value != '' || oForm.ownerFaxNo2.value != '' || oForm.ownerFaxNo3.value != '' ) { if(checkNumber(oForm.ownerFaxNo1.value) == false || checkNumber(oForm.ownerFaxNo2.value) == false || checkNumber(oForm.ownerFaxNo3.value) == false ) { alert("팩스번호를 확인하세요."); return false; } } var confirmMsg = "도메인 소유자 정보를 변경하시겠습니까?"; if(oForm.ownerEmail.value != oForm.oldOwnerEmail.value) { confirmMsg = "※ 소유자 이메일 변경시 60일 잠금 안내\n\nICANN 보안정책에 따라 국제도메인(.com, .net 등)은 소유자 이메일 변경 시 잠금 설정(registrar lock) 되어 60일간 기관이전이 불가능합니다.\n추후 잠금해지는 고객센터로 'lock 설정 해지'를 요청하시면 됩니다.\n변경 하시겠습니까?"; } if(!confirm(confirmMsg)) { return false; } else { SSL.send({ 'formName':oForm.name ,'elementName':['ownerZipcode','ownerZipcode1', 'ownerZipcode2', 'ownerAddr1', 'ownerAddr2', 'ownerEngAddr', 'ownerEmail' ,'ownerMobileNo1','ownerMobileNo2','ownerMobileNo3' ,'ownerPhoneNo1', 'ownerPhoneNo2', 'ownerPhoneNo3' , 'ownerFaxNo1', 'ownerFaxNo2', 'ownerFaxNo3'] ,'postName':'encrypted_str' }); return false; } } function checkDomainManagerChangForm(oForm) { var engNum=/^[a-zA-Z0-9\-\.\s\(\)\,]*$/; if(oForm.adminKorName.value == '') { alert("관리자명을 입력해 주세요."); oForm.adminKorName.focus(); return false; } if(oForm.adminEngName.value == '' || engNum.test(oForm.adminEngName.value) == false) { alert("관리자 영문명을 확인해 주세요."); oForm.adminEngName.focus(); return false; } if(oForm.adminZipcode.value == '') { alert("우편번호를 입력해 주세요."); oForm.adminZipcode.focus(); return false; } if(oForm.adminAddr1.value == '') { alert("주소를 입력해 주세요."); oForm.adminAddr1.focus(); return false; } if(oForm.adminAddr2.value == '') { alert("상세주소를 입력해 주세요."); oForm.adminAddr2.focus(); return false; } if(oForm.adminEngAddr.value == '' || engNum.test(oForm.adminEngAddr.value) == false) { alert("영문주소를 확인해 주세요."); oForm.adminEngAddr.focus(); return false; } if(oForm.adminEmail.value == '') { alert("이메일을 입력해 주세요."); oForm.adminEmail.focus(); return false; } if(isValidEmail(oForm.adminEmail.value) == false) { alert("이메일 형식이 올바르지 않습니다."); oForm.adminEmail.focus(); return false; } if(oForm.adminMobileNo1.value == '') { alert("휴대폰을 입력해 주세요."); oForm.adminMobileNo1.focus(); return false; } if(oForm.adminMobileNo2.value == '') { alert("휴대폰을 입력해 주세요."); oForm.adminMobileNo2.focus(); return false; } if(oForm.adminMobileNo3.value == '') { alert("휴대폰을 입력해 주세요."); oForm.adminMobileNo3.focus(); return false; } if(checkNumber(oForm.adminMobileNo1.value) == false || checkNumber(oForm.adminMobileNo2.value) == false || checkNumber(oForm.adminMobileNo3.value) == false ) { alert("휴대폰 번호를 확인하세요."); return false; } if(oForm.adminPhoneNo1.value == '') { alert("전화번호를 입력해 주세요."); oForm.adminPhoneNo1.focus(); return false; } if(oForm.adminPhoneNo2.value == '') { alert("전화번호를 입력해 주세요."); oForm.adminPhoneNo2.focus(); return false; } if(oForm.adminPhoneNo3.value == '') { alert("전화번호를 입력해 주세요."); oForm.adminPhoneNo3.focus(); return false; } if(checkNumber(oForm.adminPhoneNo1.value) == false || checkNumber(oForm.adminPhoneNo2.value) == false || checkNumber(oForm.adminPhoneNo3.value) == false ) { alert("전화번호를 확인하세요."); return false; } if(oForm.adminFaxNo1.value != '' || oForm.adminFaxNo2.value != '' || oForm.adminFaxNo3.value != '' ) { if(checkNumber(oForm.adminFaxNo1.value) == false || checkNumber(oForm.adminFaxNo2.value) == false || checkNumber(oForm.adminFaxNo3.value) == false ) { alert("팩스번호를 확인하세요."); return false; } } if(!confirm('도메인 관리자 정보를 변경하시겠습니까?')) { return false; } else { SSL.send({ 'formName':oForm.name ,'elementName':['adminKorName', 'adminEngName', 'adminZipcode', 'adminZipcode1', 'adminZipcode2', 'adminAddr1', 'adminAddr2', 'adminEngAddr', 'adminEmail' ,'adminMobileNo1','adminMobileNo2','adminMobileNo3' ,'adminPhoneNo1', 'adminPhoneNo2', 'adminPhoneNo3' , 'adminFaxNo1', 'adminFaxNo2', 'adminFaxNo3'] ,'postName':'encrypted_str' }); return false; } } function checkNumber(sNumber) { var regex=/^[0-9]*$/; if(regex.test(sNumber) === false) { return false; } else { return true;; } } function domainStatusDisplay(domain, domainIdx) { document.getElementById('domain').value = domain; document.getElementById('viewDoamin').innerHTML = domain; document.getElementById('domainIdx').value = domainIdx; document.getElementById('domainStatusChangeArea').style.display = 'block'; } function memberSleepRestore(oForm) { if(confirm('휴면해제 요청을 하시겠습니까?')) { alert('휴면해제가 요청되었습니다.\n휴면해제에 소요되는 시간은 약 5분입니다.'); return true; } return false; } function cinfirmSleepRestore() { if(confirm('휴면해제 요청을 하시겠습니까?')) { alert('휴면해제가 요청되었습니다.\n휴면해제에 소요되는 시간은 약 5분입니다.'); document.location.href = '/chtml/hosting/member_sleep_restore_exe.php'; } return false; } function getDays(day) { var date = new Date(); var newDate = date.getTime() - (day * 24 * 60 * 60 * 1000); var startDate = new Date(newDate); var startDateYear = startDate.getYear(); startDateYear = (startDateYear < 1000) ? startDateYear + 1900 : startDateYear; var startDateMonth = (startDate.getMonth()+1 < 10) ? '0' + String(startDate.getMonth()+1) : startDate.getMonth()+1; var startDateDay = (startDate.getDate() < 10) ? '0' + String(startDate.getDate()) : startDate.getDate(); var startDateString = startDateYear + '-' + startDateMonth + '-' + startDateDay; var endDateYear = date.getYear(); endDateYear = (endDateYear < 1000) ? endDateYear + 1900 : endDateYear; var endDateMonth = (date.getMonth()+1 < 10) ? '0' + String(date.getMonth()+1) : date.getMonth()+1; var endDateDay = (date.getDate() < 10) ? '0' + String(date.getDate()) : date.getDate(); var endDateString = endDateYear + '-' + endDateMonth + '-' + endDateDay; document.getElementById('startDate').value = startDateString; document.getElementById('endDate').value = endDateString; } function setSpamShield() { var form = document.getElementById("spamShieldSetForm"); for(var i=0; i < form.spamShieldFlag.length; i++) { if(form.spamShieldFlag[i].checked == true) { break; } } if(i == form.spamShieldFlag.length) { alert("스팸 SHIELD 설정 값을 선택하세요."); return false; } if(confirm("설정을 변경하시겠습니까?")) { form.submit(); } } function changePortalMx(value) { var portalMx = new Array(); portalMx[0] = "naver"; portalMx[1] = "daum"; portalMx[2] = "google"; for(var i=0; i < portalMx.length; i++) { var target = document.getElementById(portalMx[i] + "Mx"); if(portalMx[i] == value) { target.style.display = "table-row"; } else { target.style.display = "none"; } } } function portalMxSet() { var form = document.getElementById("formNameServerPortal"); for(var i=0 ; i < form.portal.length; i++) { if(form.portal[i].checked == true) { portalVal = form.portal[i].value; break; } } if(i == form.portal.length) { alert("이용하실 포털 메일서버(MX)를 선택해 주세요."); return false; } var msg = portalMxInfoText[portalVal] + "로 MX 설정을 하시겠습니까?\n"; msg += "설정시 기존의 MX설정은 삭제되므로, 기존에 설정하신 메일서버 이용은 중단됩니다."; if(confirm(msg)) { return true; //form.submit(); } else { return false; } } function openPortalLayer(){ var obj=document.getElementById("portalMx"); obj.style.display="block"; return; } function closePortalLayer(){ var obj=document.getElementById("portalMx"); obj.style.display="none"; return; }