function fn_userID_focus(str_alert){// 아이디 중복확인 포커스
alert(str_alert);
$("#user_email").focus();
}
$(document).ready(function() {
$("#btn_idDupCheckny").click(function(){
var userID = $("#user_email").val();
if(!dvf_testEmail(userID)){
fn_userID_focus("회원 이메일이 유효하지 않습니다.");
}else if(userID.indexOf("@hotmail.com")>1){
fn_userID_focus("hotmail.com 메일은 정책상 사용할 수 없습니다.\n다른 이메일 주소를 사용하세요.");
}else if(userID.indexOf("@msn.com")>1){
fn_userID_focus("msn.com 메일은 정책상 사용할 수 없습니다.\n다른 이메일 주소를 사용하세요.");
}else if(userID.indexOf("@live.com")>1){
fn_userID_focus("live.com 메일은 정책상 사용할 수 없습니다.\n다른 이메일 주소를 사용하세요.");
}else if(userID.indexOf("@outlook.com")>1){
fn_userID_focus("outlook.com 메일은 정책상 사용할 수 없습니다.\n다른 이메일 주소를 사용하세요.");
}else{
var param = 'userID='+ userID;
$.ajax({
url: '/service/mypage/svc_dupid_check.booking.asp',
type: 'POST',
data: param,
dataType: 'json',
error: function() {
alert("회원이메일 중복 확인 중 오류 발생. 잠시 후 이용바랍니다.");
},
success: function(p_data) {
if (p_data.isDupID == "Null"){ //중복아니면
alert("사용가능한 이메일 입니다");
$("#checkedID").val(userID);
$("#user_email").attr("readonly",true);
$("#user_email").addClass("gray");
$("#btn_idDupCheck").css("display","none");
//------------------------------------------
$("#user_name_kor").val("");
$("#user_name_kor").focus();
$("#bookrty").val("");
$("#msgmail").empty();
$("#msgmail").append("사용가능한 이메일 주소입니다.");
$(".agreelayer1").css("display","block");
$("#uhpon").css("display","block");
$(".cenlst").css("display","block");
$("#agr_area").css("display","block");
$("#unmarea").css("display","block");
$("#unmareadisp").css("display","none");
} else if (p_data.isDupID == "Reject"){
alert("가입이 불가능한 아이디입니다. 다시 확인해주세요.");
$("#user_email").focus();
} else if (p_data.isDupID == "Drop"){
alert("탈퇴한 회원의 아이디 입니다");
$("#user_email").focus();
} else {
$("#checkedID").val(userID);
//$("#user_name_kor").val(p_data.isDupID);
//$("#user_name_kor").attr("readonly",true);
$("#unmarea").css("display","none");
$("#unmareadisp").css("display","block");
$("#unmareadisp").append(""+p_data.isDupID+"");
$("#hid_userSeq").val(p_data.stduser);
$("#bookrty").val("ARL");
$("#msgmail").empty();
$("#msgmail").append("유학네트에 가입되어 있는 이메일 주소입니다.");
$(".agreelayer1").css("display","none");
$("#uhpon").css("display","none");
//$(".cenlst").css("display","none");tnm
$("#area_office_title").empty();
$("#area_office").empty();
$("#area_office").append(""+p_data.tnm+"가 담당지사 입니다.");
}
}
});
}
return false;
});
$("#btnSubmit_reserve").click(function(){
if(document.getElementById("checkedID").value==""){
alert("이메일 주소를 입력 후 회원가입 여부 확인을 먼저 확인하여 주세요.");
document.getElementById("user_email").focus();
return false;
}
if(document.getElementById("user_name_kor").value==""){
alert("이름을 입력하여 주세요.");
document.getElementById("user_name_kor").focus();
return false;
}
if(document.getElementById("bookrty").value ==""){
if(document.getElementById("counsel_hand_phone2").value==""){
alert("연락처를 정확히 기입하셔야 예약현황을 받아보실 수 있습니다..");
document.getElementById("counsel_hand_phone2").focus();
return false;
}
if(document.getElementById("counsel_hand_phone3").value==""){
alert("연락처를 정확히 기입하셔야 예약현황을 받아보실 수 있습니다.");
document.getElementById("counsel_hand_phone3").focus();
return false;
}
}
var chktpy = $("input[name='ct']:checked").val();
if(chktpy =="" || chktpy == undefined){
alert("상담방식을 선택하여 주세요.");
return false;
}
if(document.getElementById("bookrty").value ==""){
if(document.getElementById("as-network").value==""){
alert("방문하시고자 하는 센터를 선택하여 주세요.");
document.getElementById("as-network").focus();
return false;
}
}
var cleanDate1 = $("#counsel_want_date1").val();
var cleanDate2 = $("#counsel_want_date2").val();
var cleanDate3 = $("#counsel_want_date3").val();
if(cleanDate1=="" && cleanDate2=="" && cleanDate3==""){
alert("희망 상담일을 하나 이상 선택하여 주세요.");
document.getElementById("counsel_want_date1").focus();
return false;
}
if(document.getElementById("bookrty").value ==""){
if($("input:checkbox[name='agree1']:checked").length == 0){
alert("회원가입 및 이용약관 동의를 부탁드립니다.");
$("#agree1").focus();
return false;
}
}
if (document.getElementById("chk_tackbae").checked == false){
alert('개인정보 수집 및 이용에 동의를 하셔야 서비스를 이용하실 수 있습니다.');
return false;
}
var param = "txtphone1="+ $("#counsel_hand_phone1").val() +"-"+ $("#counsel_hand_phone2").val() +"-"+ $("#counsel_hand_phone3").val();
param += "&sel_phone=1";
param += "&user_email="+ fnISNULL($("#user_email").val(), "");
param += "&div_method=1097001";
param += "&branch_cd="+ fnISNULL($("#as-network").val(), "");
param += "&want_date1="+ fnISNULL(cleanDate1, "");
param += "&want_time1="+ fnISNULL($("#counsel_want_time1").val(), "") + fnISNULL($("#counsel_want_time1_min").val(), "");
param += "&want_date2="+ fnISNULL(cleanDate2, "");
param += "&want_time2="+ fnISNULL($("#counsel_want_time2").val(), "") + fnISNULL($("#counsel_want_time2_min").val(), "");
param += "&want_date3="+ fnISNULL(cleanDate3, "");
param += "&want_time3="+ fnISNULL($("#counsel_want_time3").val(), "") + fnISNULL($("#counsel_want_time3_min").val(), "");
param += "&contents="+ escape(document.getElementById("counsel_txt_content").value);
param += "&bookrty="+ document.getElementById("bookrty").value;
param += "&hid_userSeq="+ document.getElementById("hid_userSeq").value;
param += "&user_name_kor="+ escape(document.getElementById("user_name_kor").value);
param += "&user_name_kor2="+ escape(document.getElementById("user_name_kor2").value);
param += "&chktpy="+ chktpy;
$.ajax({
url: '/service/counsel/svc_counsel_reserv_write_ok2.asp',
type: 'POST',
data: param,
dataType: 'json',
//timeout: 3000,
error: function(p_req, p_status, p_err) {
alert("["+ p_status + "]"+"상담예약 접수가 실패되었습니다.[ERRORCODE:1]");
},
success: function(p_data) {
if (p_data.result == 'y'){
alert('감사합니다.상담 예약이 접수되었습니다.\n담당EP확인 후 원하는 상담방식으로 답변드리겠습니다.');
document.location.href="/";
}else{
alert('상담 예약이 실패되었습니다.[ERRORCODE:10]');
}
}
});
});
});
function checkNum(pa){
var pattern = /^[0-9]+$/;
var chkVal = eval("document.frm_reservation_counsel."+pa).value;
if(!/^[0-9]+$/.test(chkVal)){
alert("숫자만 입력하여 주세요.");
eval("document.frm_reservation_counsel."+pa).value="";
eval("document.frm_reservation_counsel."+pa).focus();
return false;
}
}
function submit_check_reserve(){
if(f_submit_reserve()){
if( $("#reservedOk").val() == "True" ){
if(confirm('이미 상담 예약을 하셨습니다. 상담예약을 추가로 하시겠습니까?')){
return true;
}else{
return false;
}
}else{
return true;
}
}else{
return false;
}
}
function f_submit_reserve(){
var frm = document.frm_reservation_counsel;
if(IsEmptyNew("counsel_want_date1", "희망상담일 1", 0)){
return false;
}
if(!IsAfterToday2(frm.counsel_want_date1, "희망 상담일 1")) return false;
if(IsEmptyNew("counsel_want_time1", "희망상담일1 시간대 시간", 0)){
return false;
}
if(IsEmptyNew("counsel_want_time1_min", "희망상담일1 시간대 분", 0)){
return false;
}
if(frm.counsel_want_date2.value){
if(IsEmptyNew("counsel_want_time2", "희망상담일2의 시간", 0)){
return false;
}
if(IsEmptyNew("counsel_want_time2_min", "희망상담일2의 분", 0)){
return false;
}
}
if(frm.counsel_want_date3.value){
if(IsEmptyNew("counsel_want_time3", "희망상담일3의 시간", 0)){
return false;
}
if(IsEmptyNew("counsel_want_time3_min", "희망상담일3의 분", 0)){
return false;
}
}
if(frm.counsel_txt_content.value){
if(!ChkLenByByte_min(frm.counsel_txt_content, 2000)){
frm.counsel_txt_content.focus();
return false;
}
}
return true;
}
function f_setTwoDigit(str){
if(str.length == 1)
return "0"+str;
else
return str;
}
/**
* 입력값이 NULL인지 체크
* @param string
* @return : ""
*/
function fnISNULL(str, cstr) {
if (str == null || str == "") {
return cstr;
}else{
return str;
}
}
/**
* 입력 필드의 문자 크기이하 입력.. (한글까지 고려하여 계산됨)
* @param obj 대상 폼태그(Object)
* @param len 비교할 길이
* @return
*/
function ChkLenByByte_min(obj, len){
var src = obj.value;
var srcLen = GetLenByByte(src);
if (srcLen <= len) {
return true;
} else {
var delLen = srcLen - len;
obj.focus();
Alert("이 항목은 영문 " + len + "자 (한글은 " + Math.floor(len/2) + "자) 이하 입력해야 합니다 \n"
+ "입력 내용에서 영문 " + delLen + "자 (한글은 " + Math.ceil(delLen/2) + "자)를 지워주시기 바랍니다");
return false;
}
}
/**
* 입력 필드의 문자 크기를 얻는다.. (한글까지 고려하여 계산됨)
* @param String 문자열
* @return int 문자열의 길이
*/
function GetLenByByte(value)
{
var byteLength = 0;
for (var inx = 0; inx < value.length; inx++) {
var oneChar = escape(value.charAt(inx));
if ( oneChar.length == 1 ) {
byteLength ++;
} else if (oneChar.indexOf("%u") != -1) {
byteLength += 2;
} else if (oneChar.indexOf("%") != -1) {
byteLength += oneChar.length/3;
}
}
return byteLength;
}
function CheckStr(strOriginal, strFind, strChange){
var position, strOri_Length;
position = strOriginal.indexOf(strFind);
while (position != -1){
strOriginal = strOriginal.replace(strFind, strChange);
position = strOriginal.indexOf(strFind);
}
strOri_Length = strOriginal.length;
return strOri_Length;
}
function ValidateNumber_counsel(objname){
var frm = document.frm_reservation_counsel;
var obj = new Object(eval("frm."+objname));
var val = obj.value;
var isNum = /^[0-9]+$/;
if( !isNum.test(val) ) {
alert("숫자만 사용할 수 있습니다.");
obj.value="";
obj.focus();
return false;
}
return true;
}
/**
* 입력값에 스페이스 이외의 의미있는 값이 있는지 체크
* @param obj Object
* @return true : 공백
*/
function IsEmptyNew2(obj) {
if (obj.value == null || obj.value.replace(/ /gi,"") == "") {
return true;
}
return false;
}
function IsEmptyNew(objname, objname_kor, jamo_type)
{
var frm = document.frm_reservation_counsel;
var obj = new Object(eval("frm."+objname));
var val1 = obj.value;
if (CheckStr(val1, " ", "")==0)
{
if(jamo_type == 1){
alert(objname_kor+"를 입력해 주세요");
}else{
alert(objname_kor+"을 입력해 주세요");
}
obj.value="";
//obj.focus();
return true;
}
return false;
}
function MailCheck(obj)
{
var Messenger_Type = document.frm_reservation_counsel.Messenger_Type.value;
if (Messenger_Type == "스카이프" || Messenger_Type == "카카오톡")
{
if (obj.value == "")
{
alert(Messenger_Type + " 아이디를 입력해 주세요");
obj.value="";
obj.focus();
return false;
}
}
else
{
if (!isEmail(obj.value))
{
alert(Messenger_Type + " 아이디(이메일)를 입력해 주세요");
obj.value="";
obj.focus();
return false;
}
}
return true;
}
function isEmail(s)
{
return s.search(/^\s*[\w\~\-\.]+\@[\w\~\-]+(\.[\w\~\-]+)+\s*$/g)>=0;
}
/**
* 입력값에 포함된 모든 스페이스 문자를 제거 후 리턴
* @param str Value
* @return ret 스페이스가 제거된 문자열
*/
function RemoveSpaces(str) {
var ret = "";
if (str.length == 0) return ret;
for (var i=0; i= 1)
{
alert(message);
}
}
/**
* 메세지를 알리는 메세지박스 표시 후 Element에 지정된 obj tag 로 focus
* @param obj focus 를 가질 Object
* @param message 메세지박스에 보여질 메세지
* @return
*/
function AlertFocus(obj, message )
{
if ( message != '') Alert( message );
obj.focus();
if (obj.type == 'text' && obj.value.length >=1 ) obj.select();
return ;
}
/**
* 입력된 문자열이 일자의 월로 변환가능한지 확인
* @param month 문자열
* @return true : 가능할 경우
*/
function IsMonth(month) {
if (month.length > 2) return false;
month = ParseInt(month);
if ((month <= 0) || (month > 12)) return false;
return true;
}
/**
* 입력된 문자열이 일자의 일로 변환가능한지 확인
* @param year 년
* @param month 월
* @param day 일
* @return true : 가능할 경우
*/
function IsDay(year, month, day) {
if (day.length > 2) return false;
year = ParseInt(year);
month = ParseInt(month);
day = ParseInt(day);
if ((day <= 0) || (day > GetEndDay(year, month))) return false;
return true;
}
/**
* 해당 년, 월의 마지막 일자를 가져온다
* @param year 년
* @param month 월
* @return 마지막 일자
*/
function GetEndDay(year,month){//
if ((month==1)||(month==3)||(month==5)||(month==7)||(month==8)||(month==10)||(month==12))
return 31;
else {
if(month==2) {
if ((year%4==0) && ((year/4)%200!=0)) return 29;
else return 28;
} else {
return 30;
}
}
}
/**
* 문자열을 정수로 변환하여 리턴
* @param str 문자열
* @return 정수
*/
function ParseInt(str) {
return parseInt(str, 10);
}
/**
* 입력된 문자열이 일자 Format 확인
* @param str 문자열
* @return true 일자 , false
*/
function IsDate ( obj )
{
str = RemoveSpaces(obj.value);
str = RemovePeriod(obj.value);
if (!IsNumPeriod(obj)) {
obj.value = '';
AlertFocus(obj, "날짜는 YYYYMMDD의 형식으로 입력하십시오");
return false;
}
if (str.length != 8) {
obj.value = '';
AlertFocus(obj, "날짜는 YYYYMMDD의 형식으로 입력하십시오");
return false;
}
var year = str.substring(0,4);
var month = str.substring(4,6);
var day = str.substring(6,8);
if ( ParseInt( year ) >= 1900 && IsMonth( month ) && IsDay( year,month ,day) )
return true;
else {
obj.value = '';
AlertFocus(obj, "날짜는 YYYYMMDD의 형식으로 입력하십시오");
return false;
}
}
/**
* 오늘까지 남은 일수를 반환한다. 오늘 이후의 일자에 대해서는 음수값을 반환한다.
* @param obj Object
* @return int 남은 일수
*/
function GetDaysToToday(obj) {
var numstr = RemovePeriod(obj.value);
var user_day = new Date(numstr.substr(0,4), ParseInt(numstr.substr(4,2))-1, ParseInt(numstr.substr(6)));
user_day = user_day.getTime();
var today = new Date();
today = today.getTime();
var day_gab = Math.floor( (today - user_day) / (60*60*24*1000) );
return day_gab;
}
/**
* 입력된 일자가 오늘 이후의 일자인지 확인한다.
* @param obj Object
* @return true : 오늘 이후의 일자일 경우, false
*/
function IsAfterToday2(obj, ment)
{
if (IsEmptyNew2(obj)) {alert('날짜가 없습니다.'); return false;}
if (!IsDate(obj)) {
return false;
}
var day_gab = GetDaysToToday(obj) + 1;
if( day_gab > 0) {
Alert("\""+ ment +"\"에는 내일 이후의 날짜를 입력하셔야 합니다");
return false;
}
return true;
}
//----------------------------------------------------
//----------------------------------------------------
// 서비스로 보내질 컨텐츠성 데이타를 암호화한다
//----------------------------------------------------
function f_sendDataToServiceByEncode(str){
return escape(str.replace(/\+/ig, "+"));
}
//----------------------------------------------------
//----------------------------------------------------
//템플릿 치환변수 디코드
function f_unescapeNdecode(p_fldID, p_val) {
p_val = unescape(p_val).replace(/<\/?[^>]+>/gi, '')
return p_val;
}
//----------------------------------------------------
//----------------------------------------------------
// 서비스에서 encode되어 받은 데이터를 디코드한다.
//----------------------------------------------------
function f_recievedDataToServiceByDecode(str){
str = unescape(str);
return str.replace(/+/ig, "+");
}
//----------------------------------------------------
//----------------------------------------------------