﻿function MM_findObj(n, d) { //v4.01
    var p, i, x; if (!d) d = document; if ((p = n.indexOf("?")) > 0 && parent.frames.length) {
        d = parent.frames[n.substring(p + 1)].document; n = n.substring(0, p);
    }
    if (!(x = d[n]) && d.all) x = d.all[n]; for (i = 0; !x && i < d.forms.length; i++) x = d.forms[i][n];
    for (i = 0; !x && d.layers && i < d.layers.length; i++) x = MM_findObj(n, d.layers[i].document);
    if (!x && d.getElementById) x = d.getElementById(n); return x;
}

function MM_preloadImages() { //v3.0
    var d = document; if (d.images) {
        if (!d.MM_p) d.MM_p = new Array();
        var i, j = d.MM_p.length, a = MM_preloadImages.arguments; for (i = 0; i < a.length; i++)
            if (a[i].indexOf("#") != 0) { d.MM_p[j] = new Image; d.MM_p[j++].src = a[i]; } 
    }
}

function MM_swapImage() { //v3.0
    var i, j = 0, x, a = MM_swapImage.arguments; document.MM_sr = new Array; for (i = 0; i < (a.length - 2); i += 3)
        if ((x = MM_findObj(a[i])) != null) { document.MM_sr[j++] = x; if (!x.oSrc) x.oSrc = x.src; x.src = a[i + 2]; }
}

function MM_swapImgRestore() { //v3.0
    var i, x, a = document.MM_sr; for (i = 0; a && i < a.length && (x = a[i]) && x.oSrc; i++) x.src = x.oSrc;
}

String.prototype.trim = function() {
    return this.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
}

function getCookie(name) {
    var nameOfCookie = name + '=';
    var x = 0;
    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 deleteCookie(cookieName) {
    var expireDate = new Date();
    expireDate.setDate(expireDate.getDate() - 1);
    document.cookie = cookieName + "= " + "; expires=" + expireDate.toGMTString() + "; path=/";
}

function setCookieTimeOut(name, value, expiredays) {
    var expire_date = new Date();
    expire_date.setDate(expire_date.getDate() + expiredays);
    document.cookie = name + "=" + escape(value) + "; expires=" + expire_date.toGMTString() + "; path=/";
}


function bindEnter(event, func) {
    if (event && event.keyCode == 13) { func(); return false; }
    else return true;
}

function emailCheck(tmpStr) {
    var regExp = new RegExp("^[\\w\\-]+(\\.[\\w\\-_]+)*@[\\w\\-]+(\\.[\\w\\-]+)*(\\.[a-zA-Z]{2,})$", "gi");
    if (!regExp.test(tmpStr)) return false;
    else return true;
}

function englishNumberCheck(tmpStr) {
    var valid = "abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
    var ok = "yes";
    var temp;
    for (var i = 0; i < tmpStr.length; i++) {
        temp = "" + tmpStr.substring(i, i + 1);
        if (valid.indexOf(temp) == "-1") ok = "no";
    }
    if (ok == "no") return false;
    else return true;
}

function OnlyNumber(e, decimal) {
    var key;
    var keychar;

    if (window.event) {
        key = window.event.keyCode;
    } else if (e) {
        key = e.which;
    } else {
        return true;
    }
    keychar = String.fromCharCode(key);

    if ((key == null) || (key == 0) || (key == 8) || (key == 9) || (key == 13)
            || (key == 27)) {
        return true;
    } else if ((("0123456789").indexOf(keychar) > -1)) {
        return true;
    } else if (decimal && (keychar == ".")) {
        return true;
    } else
        return false;
}

function autoTab(srcObj, destId, length) {
    if(srcObj && srcObj.value.length == length) {
        $(destId).focus();
    }
}

function isFill(objId, msg) {
    var obj = $(objId);
    if(obj) {
        if(obj.value.trim() == "") {
            if(msg) alert(msg);
            obj.focus();
        }else {
            return true;
        }
    }
    return false;
}

function Regnum_check(renumField1, renumField2) {
    if (renumField1.value.length != 6) {   // 앞번호가 6개 아니라면
        alert("이름 또는 주민번호가 올바르지 않습니다.");
        renumField1.focus(); //커서를 주민번호 앞자리에 놓는다.
        return false;
    } else if (renumField2.value.length != 7) {  //뒷자리가 7개가 아니라면
        alert("이름 또는 주민번호가 올바르지 않습니다.");
        renumField2.focus();  //커서를 주민번호 뒷자리에 놓는다. 
        return false;
    } else {
        var strjumin1 = renumField1.value;   //변수에 주민번호 앞자리 담음
        var strjumin2 = renumField2.value;  //변수에 주민번호 뒷자리 담음
        var digit = 0
        for (var i = 0; i < strjumin1.length; i++) {   //주민번호 앞자리의 길이만큼 for문을 돌린다.
            var strdigit = strjumin1.substring(i, i + 1);  //앞자리중 i번째와 i+i번째 문자를 변수에 담는다.
            if (strdigit < '0' || strdigit > '9') {   //strdigit 의 값이 0보다 작거나 9보다 크면
                digit = digit + 1   //digit에 1을 더한다.
            }
        }
        if (digit != 0) {   //digit가 0이 아니라면
            alert('이름 또는 주민번호가 올바르지 않습니다.');
            renumField1.focus();
            return false;
        }
        var digit1 = 0
        for (var i = 0; i < strjumin2.length; i++) { // 주민번호 뒷자리의 길이만큼 for문을 돌린다.
            var strdigit1 = strjumin2.substring(i, i + 1);
            if (strdigit1 < '0' || strdigit1 > '9') {
                digit1 = digit1 + 1
            }
        }
        if (digit1 != 0) {
            alert('이름 또는 주민번호가 올바르지 않습니다.');
            renumField2.focus();
            return false;
        }
        if (strjumin1.substring(2, 3) > 1) {   //주민번호 월 부분의 첫째 숫자가 1보다 클경우
            alert('이름 또는 주민번호가 올바르지 않습니다.');
            renumField1.focus();
            return false;
        }
        if (strjumin1.substring(4, 5) > 3) { //주민번호 일 부분의 첫째 숫자가 3보다 클경우   
            alert('이름 또는 주민번호가 올바르지 않습니다.');
            renumField1.focus();
            return false;
        }
        if (strjumin2.substring(0, 1) > 4) {  //주민번호 뒷자리의 첫째숫자가 4보다 클경우 외국인 번호
            if (FRegnum_check(strjumin1 + strjumin2)) return true;
            else {
                alert('이름 또는 주민번호가 올바르지 않습니다.');
                renumField2.focus();
                return false;
            }
        }
        var a1 = strjumin1.substring(0, 1)   //주민번호 계산법
        var a2 = strjumin1.substring(1, 2)
        var a3 = strjumin1.substring(2, 3)
        var a4 = strjumin1.substring(3, 4)
        var a5 = strjumin1.substring(4, 5)
        var a6 = strjumin1.substring(5, 6)
        var checkdigit = a1 * 2 + a2 * 3 + a3 * 4 + a4 * 5 + a5 * 6 + a6 * 7
        var b1 = strjumin2.substring(0, 1)
        var b2 = strjumin2.substring(1, 2)
        var b3 = strjumin2.substring(2, 3)
        var b4 = strjumin2.substring(3, 4)
        var b5 = strjumin2.substring(4, 5)
        var b6 = strjumin2.substring(5, 6)
        var b7 = strjumin2.substring(6, 7)
        var checkdigit = checkdigit + b1 * 8 + b2 * 9 + b3 * 2 + b4 * 3 + b5 * 4 + b6 * 5
        checkdigit = checkdigit % 11
        checkdigit = 11 - checkdigit
        checkdigit = checkdigit % 10
        if (checkdigit != b7) {
            alert('잘못된 주민등록번호입니다.\n\n다시 입력해 주시기 바랍니다.');
            renumField1.focus();
            return false;
        }
    }
    return true;
}

function FRegnum_check(s) {
    var sum=0;
    var odd=0;
    buf = new Array(13);
    for(i=0; i<13; i++) { buf[i]=parseInt(s.charAt(i)); }
    odd = buf[7]*10 + buf[8];
    if(odd%2 != 0) { return false; }
    if( (buf[11]!=6) && (buf[11]!=7) && (buf[11]!=8) && (buf[11]!=9) ) {
            return false;
    }
    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]); }
    sum = 11 - (sum%11);
    if(sum >= 10) { sum -= 10; }
    sum += 2;
    if(sum >= 10) { sum -= 10; }
    if(sum != buf[12]) { return false }
    return true;
}

function BizNo_check(vencod) {
    var sum = 0;
    var getlist = new Array(10);
    var chkvalue = new Array("1", "3", "7", "1", "3", "7", "1", "3", "5");
    for (var i = 0; i < 10; i++) { getlist[i] = vencod.substring(i, i + 1); }
    for (var i = 0; i < 9; i++) { sum += getlist[i] * chkvalue[i]; }
    sum = sum + parseInt((getlist[8] * 5) / 10);
    sidliy = sum % 10;
    sidchk = 0;
    if (sidliy != 0) { sidchk = 10 - sidliy; }
    else { sidchk = 0; }
    if (sidchk != getlist[9]) { return false; }
    return true;
}

function getFlashMovieObject(movieName) {
    if (document.embeds[movieName])
        return document.embeds[movieName];
    if (window.document[movieName])
        return window.document[movieName];
    if (window[movieName])
        return window[movieName];
    if (document[movieName])
        return document[movieName];

    return null;
}

function clearLoginBack(obj) {
    obj.className = "input_gray2 blue";
}

var FamilySite = {
    showStatus: false,
    toggle: function() {
        var obj = $('familySiteList');
        obj.toggle();
        obj.onclick = function() {
            this.toggle();
        }
    }
};

var EventRoll = {
    eventCount: 3,
    selectedNum: 0,
    eventObj: null,
    eventNumPrefix: "EventNum",
    interval: 5000,
    hTimer: null,
    supportFilter: false,
    bannerImgs: [ "banner2.gif", "55pevent.gif", "event5.gif" ],
    go: function() {
        switch(this.selectedNum) {
            default:
            case 1: location.href = "/Center/News/Event_Read.aspx?nid=16"; break;
            case 2: location.href = "/Center/News/Event_Read.aspx?nid=21"; break;
            case 3: location.href = "/Center/News/Event_Read.aspx?nid=6"; break;
        }
    },
    init: function(obj) {
        this.eventObj = $(obj);
        this.supportFilter = false;
        this.supportFilter = (navigator.appName == "Microsoft Internet Explorer" && this.version() > 6);
        this.roll(1);
    },
    roll: function(nextNum) {
        if(this.hTimer) clearInterval(this.hTimer);
        if(!nextNum) {
            nextNum = this.selectedNum + 1;
            if(nextNum > this.eventCount) nextNum = 1;
        }
        
        var preObj = $(this.eventNumPrefix + this.selectedNum);
        var currentObj = $(this.eventNumPrefix + nextNum);
        if(preObj) preObj.src = "http://img.bizstatic.com/center/include/" + this.selectedNum + ".gif";
        if(currentObj) currentObj.src = "http://img.bizstatic.com/center/include/" + nextNum + "_on.gif";
        
        if(this.eventObj) {
            if(this.supportFilter) {
                    this.eventObj.style.filter="blendTrans(duration=crossFadeDuration)";
                    this.eventObj.filters.blendTrans.Apply(); 
            }
            this.eventObj.src = "http://img.bizstatic.com/center/banner/" + this.bannerImgs[nextNum - 1];
            if(this.supportFilter) this.eventObj.filters.blendTrans.Play();
        }
        this.selectedNum = nextNum;
        this.hTimer = setTimeout("EventRoll.roll()", this.interval);
    },
    version: function() {    
        var version = 999; 
        if (navigator.appVersion.indexOf("MSIE") != -1) version = parseFloat(navigator.appVersion.split("MSIE")[1]);    
        return version;  
    }
};


var SitePop = {
    open: function(type, url, param) {
        switch(type) {
            case "POLL":
                layerOn(624, 367, "/Center/Pop/PollResult.aspx", null, null, false, "PollResult");
                return false;
                
            case "LOGIN": 
                layerOn(484, 288, "/Center/Pop/Login.aspx", null, null, false, "Login");
                return false;    
                
            case "MILEAGEGOODS":
               layerOn(449, 665, "/Center/Pop/MileageGoods.aspx?target=" + param, 
                    null, 
                    null, 
                    false, 
                    "MileageGoods");
                return false;    
                
            case "ZIPCODE":
                layerOn(449, 500, "/Center/Pop/SearchZip.aspx?target=" + param, 
                    null, 
                    null, 
                    false, 
                    "SearchZip");
                return false;       
                
            case "DISCOUNT":   
               layerOn(535, 397, "/Center/Pop/Discount.aspx",
                    null, 
                    null, 
                    false, 
                    "Discount");                               
                break;
        }
    }
}
