﻿/*********************************************************************
기능        : 키보드 키코드로 숫자만 입력이 가능하도록 한다.
형식        : OnlyNum()
예제        : OnlyNum()
예제페이지  : WebAdmin/AdminManage/AdminReg.aspx
결과        : 숫자(true), 숫자아님(false)     
**********************************************************************/
function OnlyNum() {
    if ((event.keyCode >= 48 && event.keyCode <= 57) || (event.keyCode >= 96 && event.keyCode <= 105) || event.keyCode == 8 || event.keyCode == 9 || event.keyCode == 46 || event.keyCode == 13 || event.keyCode == 37 || event.keyCode == 39) {
        return true;
    } else {
        return false;
    }
}

/*********************************************************************
기능        : 문자열에서 특정문자를 다른문자로 치환
형식        : ReplaceStr(원본문자열, 바꿀문자, 바뀔문자)
예제        : ReplaceStr('South Korea', ' ', '')
예제페이지  : WebAdmin/AdminManage/AdminReg.aspx
결과        : SouthKorea => 바뀐문자열
**********************************************************************/
function ReplaceStr(strOriginal, strFind, strChange) {
    var position, strOri_Length;
    position = strOriginal.indexOf(strFind);

    while (position != -1) {
        strOriginal = strOriginal.replace(strFind, strChange);
        position = strOriginal.indexOf(strFind);
    }
    return strOriginal;
}


/*********************************************************************
기능        : 이메일 형식에 맞는지 체크
형식        : MailCheck(이메일주소)
예제        : MailCheck(lee@naver.com)
예제페이지  : WebAdmin/AdminManage/AdminReg.aspx
결과        : true(형식에 맞음), false(형식에 맞지 않음)
**********************************************************************/
function MailCheck(input) {
    var format = /^((\w|[\-\.])+)@((\w|[\-\.])+)\.([A-Za-z]+)$/;
    return IsValidFormat(input, format);
}


/*********************************************************************
기능        : 특정형식에 맞는지 체크
형식        : IsValidFormat(비교할스트링, 정규식)
예제        : IsValidFormat('lee@naver.com',정규식)
예제페이지  : Common.js의 MailCheck함수
결과        : true(형식에 맞음), false(형식에 맞지 않음)
**********************************************************************/
function IsValidFormat(input, format) {
    if (input.search(format) != -1)
        return true;
    else
        return false;
}

/*********************************************************************
기능        : 체크 박스에 선택된것이 있는지 체크
형식        : CheckSelect(폼, 체크 박스 네임)
예제        : CheckSelect(document.forms[0],'chkSelect')
예제페이지  : WebAdmin/AdminManage/AdminList.aspx
결과        : true(한개라도 선택한것이 있음), false(선택한것이 하나도 없음)
**********************************************************************/
function CheckSelect(form, InputName) {
    var i = 0;
    while (i < form.elements.length) {
        if (form.elements[i].name == InputName) {
            if (form.elements[i].checked == true) {
                return true
            }
        }
        i++;
    }
    return false
}


/*********************************************************************
기능        : 주민등록번호 체크
형식        : CheckSsn(주민번호) : '-' 포함한것
예제        : CheckSsn("723123-12312222")
예제페이지  : 
결과        : true(맞음), false(틀림)
**********************************************************************/
function CheckSsn(ssn) {
    var format = /^\d{6}-\d{7}$/;
    if (!IsValidFormat(ssn, format)) {
        return false;
    }

    buf = new Array(13);
    for (i = 0; i < 6; i++) {
        buf[i] = parseInt(ssn.charAt(i));
    }

    for (i = 6; i < 13; i++) {
        buf[i] = parseInt(ssn.charAt(i + 1));
    }

    multipliers = [2, 3, 4, 5, 6, 7, 8, 9, 2, 3, 4, 5];
    for (i = 0, sum = 0; i < 12; i++) {
        sum += (buf[i] *= multipliers[i]);
    }

    if ((11 - (sum % 11)) % 10 != buf[12]) {
        return false;
    }

    return true;
}

/*********************************************************************
기능        : 사업자 등록번호 체크
형식        : CheckComSsn(사업자번호) : '-' 포함한것
예제        : CheckComSsn("212-22-12345")
예제페이지  : 
결과        : true(맞음), false(틀림)
**********************************************************************/
function CheckComSsn(ssn) {
    var format = /^\d{3}-\d{2}-\d{5}$/;
    if (!IsValidFormat(ssn, format)) {
        return false;
    }

    buf = new Array(10);
    for (i = 0; i < 3; i++) {
        buf[i] = parseInt(ssn.charAt(i));
    }

    for (i = 3; i < 5; i++) {
        buf[i] = parseInt(ssn.charAt(i + 1));
    }

    for (i = 5; i < 10; i++) {
        buf[i] = parseInt(ssn.charAt(i + 2));
    }

    multipliers = [1, 3, 7, 1, 3, 7, 1, 3, 5, 1];
    for (i = 0, sum = 0; i < 10; i++) {
        if (i == 0 || i == 9) {
            sum += (buf[i] * multipliers[i]);
        }
        else {
            sum += (buf[i] * multipliers[i] % 10);
            if (i == 8) {
                sum += Math.floor(buf[i] * multipliers[i] / 10);
            }
        }
    }

    if (sum % 10 != 0) {
        return false;
    }

    return true;
}

/*********************************************************************
기능        : 천단위 콤마 찍기
형식        : 
예제        : 
예제페이지  : 
결과        :
**********************************************************************/
function Formatnumber(n) {
    var reg = /(^[+-]?\d+)(\d{3})/;
    n += '';

    while (reg.test(n))
        n = n.replace(reg, '$1' + ',' + '$2');
    return n;
}

/*********************************************************************
기능        : 100원 단위로 절삭
형식        : 
예제        : 
예제페이지  : 
결과        :
**********************************************************************/
function MoneyCut100(n) {
    var money = String(n);
    money = money.substring(0, money.length - 1) + "0";
    return Formatnumber(money);    
}

/*********************************************************************
기능        : 파일업로드를 위한 팝업 띄우기
형식        : OpenFileUpload(파일용량한도MB, 업로드가능파일타입, 업로드경로, 썸네일만들지여부, 썸네일가로사이즈, 썸네일세로사이즈
예제        : OpenFileUpload(1, 'Img', 'AirLinePath', 1, 100, 100)
예제페이지  : WebAdmin/Code/AirLineCodeManage.aspx
결과        : 
**********************************************************************/
function OpenFileUpload(maxFileLength, fileType, uploadPath, isThumbNail, thumbWidth, thumbHeight) {
    window.open("/Common/FileUpload.aspx?maxFileLength=" + maxFileLength + "&fileType=" + fileType + "&uploadPath=" + uploadPath + "&isThumbNail=" + isThumbNail + "&thumbWidth=" + thumbWidth + "&thumbHeight=" + thumbHeight, "upload", "width=380px, height=180px")


    return false;
}

/*********************************************************************
기능        : 멀티파일업로드를 위한 팝업 띄우기
형식        : OpenMultiFileUpload(파일용량한도MB, 업로드가능파일타입, 업로드경로, 썸네일만들지여부, 썸네일가로사이즈, 썸네일세로사이즈
예제        : OpenMultiFileUpload(1, 'Img', 'AirLinePath', 1, 100, 100)
예제페이지  : WebAdmin/Common/MultiFileUpload.aspx
결과        : 
**********************************************************************/
function OpenMultiFileUpload(maxFileLength, fileType, uploadPath, isThumbNail, thumbWidth, thumbHeight) {
    window.open("/Common/MultiFileUpload.aspx?maxFileLength=" + maxFileLength + "&fileType=" + fileType + "&uploadPath=" + uploadPath + "&isThumbNail=" + isThumbNail + "&thumbWidth=" + thumbWidth + "&thumbHeight=" + thumbHeight, "upload", "width=380px, height=180px")


    return false;
}


/*********************************************************************
기능        : 자바스크립트 쿠기 세팅
형식        : SetCookie(쿠키명, 쿠키값, 만료일)
예제        : SetCookie("salesId", "sales", 1000)
예제페이지  : 
결과        : 
**********************************************************************/
function SetCookie(name, value, expiredays) {
    var todayDate = new Date();
    todayDate.setDate(todayDate.getDate() + expiredays);
    document.cookie = name + "=" + escape(value) + "; path=/;expires=" + todayDate.toGMTString() + "domain=mytour.co.kr"
}

/*********************************************************************
기능        : 자바스크립트 쿠기 자져오기
형식        : GetCookie(쿠키값)
예제        : GetCookie("salesId")
예제페이지  : 
결과        : 
**********************************************************************/
function GetCookie(name) {
    var nameOfCookie = name + "=";
    var x = 0;
    var tempCookie;
    while (x <= document.cookie.length) {
        var y = (x + nameOfCookie.length);
        if (document.cookie.substring(x, y) == nameOfCookie) {
            if ((endOfCookie = document.cookie.indexOf(";", y)) == -1)
                endOfCookie = document.cookie.length;
            return unescape(document.cookie.substring(y, endOfCookie));
        }

        x = document.cookie.indexOf(" ", x) + 1;

        if (x == 0) break;
    }
    return "";
}


/*********************************************************************
기능        : 글자수 제한하기
형식        : 
예제        : 
예제페이지  : 
결과        : 
**********************************************************************/
function StrCheckByte(objName, maxLen) {
    var ls_str = objName.value;
    var li_str_len = ls_str.length;

    var li_max = maxLen;
    var i = 0;
    var li_byte = 0;
    var li_len = 0;
    var ls_one_char = "";
    var ls_str2 = "";

    for (i = 0; i < li_str_len; i++) {
        ls_one_char = ls_str.charAt(i);
        li_byte++;

        if (li_byte <= li_max) {
            li_len = i + 1;
        }
    }

    if (li_byte > li_max) {
        alert(li_max + " 자 까지만 작성하실 수 있습니다. ");
        ls_str2 = ls_str.substr(0, li_len);
        objName.value = ls_str2;

    }
    objName.focus();
}


/*********************************************************************
기능        : IFrame 크기 자동 조절
형식        : 
예제        : 
예제페이지  : 
결과        : 
**********************************************************************/
function ResizeFrame(frameId) {

    var min_h = 100;

    var oIFrame = document.getElementById(frameId);

    try {

        var oDoc = oIFrame.contentDocument || oIFrame.contentWindow.document;

        if (/MSIE/.test(navigator.userAgent)) {
            var frmHeight = oDoc.body.scrollHeight;
        } else {
            var s = oDoc.body.appendChild(document.createElement('DIV'))
            s.style.clear = 'both';

            var frmHeight = s.offsetTop;

            s.parentNode.removeChild(s);
        }


        if (frmHeight < min_h) frmHeight = min_h;
        oIFrame.height = frmHeight;
    } catch (e) { }
}


/*********************************************************************
기능        : 로그인하러 가기
형식        : 
예제        : 
예제페이지  : 
결과        : 
**********************************************************************/
function GotoLogin(returnUrl) {
    alert("로그인 후 이용해 주세요.");
    location.href = "https://www.mytour.co.kr/Member/Login.aspx?ReturnUrl=" + returnUrl;
    return false;
}

/*********************************************************************
기능        : 로그인하러 가기
형식        : 
예제        : 
예제페이지  : 
결과        : 
**********************************************************************/
function MoveLogin(returnUrl) {
    location.href = "https://www.mytour.co.kr/Member/Login.aspx?ReturnUrl=" + returnUrl;
    return false;
}



/*********************************************************************
기능        : 바로예약하기용 로그인하러 가기
형식        : 
예제        : 
예제페이지  : 
결과        : 
**********************************************************************/
function GotoOrderLogin(returnUrl) {
    location.href = "https://www.mytour.co.kr/Member/OrderLogin.aspx?ReturnUrl=" + returnUrl;
    return false;
}



/*********************************************************************
기능        : 실명확인이 결과
형식        : 
예제        : 
예제페이지  : 
결과        : 
**********************************************************************/
function AlertRealNameCheck(returnCode) {
    if (returnCode == 1) {
        alert("실명인증에 성공했습니다.");        
    }
    else if (returnCode == 2 || returnCode == 3) {
        var URL = "http://www.creditbank.co.kr/its/its.cb?m=namecheckMismatch";
        var status = "toolbar=no,directories=no,scrollbars=no,resizable=no,status=no,menubar=no,width=640,height=480,top=0,left=20";
        window.open(URL, "", status);
    }
    else if (returnCode == 50) {
        var URL = "http://www.creditbank.co.kr/its/itsProtect.cb?m=namecheckProtected";
        var status = "toolbar=no,directories=no,scrollbars=no,resizable=no,status=no,menubar=no, width= 640, height= 480, top=0,left=20";
        window.open(URL, "", status);
    }
    else {
        alert("실명인증에 실패했습니다.");
    }

    return false;    
}




