function fn_onload() {
    $(":text,:password,select").css({
        "font-family":"'Malgun Gothic',굴림,돋움,sans-serif",
        "font-size":"12px",
        "border":"1px solid #a9a9a9",
        "background-color":"#fff",
        "padding-left":"2px"}
    );
    $(":text,:password,select").focus(function() {
        $(this).css("border", "1px solid #000");
        $(this).css("background-color", "#ffffe0");
    });
    $(":text,:password,select").blur(function() {
        $(this).css("border", "1px solid #a9a9a9");
        $(this).css("background-color", "#fff");
    });
}

//flash(파일주소, 가로, 세로, 배경색, 윈도우모드, 변수, 경로)
function flash(url,w,h,bg,win,vars,base){
    var s=
    "<object classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000' codebase='http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0' width='"+w+"' height='"+h+"' align='middle'>"+
    "<param name='allowScriptAccess' value='always' />"+
    "<param name='movie' value='"+url+"' />"+
    "<param name='wmode' value='"+win+"' />"+
    "<param name='menu' value='false' />"+
    "<param name='quality' value='high' />"+
    "<param name='FlashVars' value='"+vars+"' />"+
    "<param name='bgcolor' value='"+bg+"' />"+
    "<param name='base' value='"+base+"' />"+
    "<embed src='"+url+"' base='"+base+"' wmode='"+win+"' menu='false' quality='high' bgcolor='"+bg+"' width='"+w+"' height='"+h+"' align='middle' type='application/x-shockwave-flash' pluginspage='http://www.macromedia.com/go/getflashplayer' />"+
    "</object>";
    document.write(s);
}

function isNull(val) {
    if(val == null || val == "") {
        return true;
    } else {
        return false;
    }
}

function isEmpty(obj) {
    if(isNull(obj.val())) {
        alert(obj.attr("title") + "(을)를 입력해 주십시오.");
        obj.focus();
        return true;
    }

    return false;
}

function showCenterDiv(obj) {
    var d = document;
    var w = d.body.clientWidth;
    var h = d.body.clientHeight;
    var x = (window.pageXOffset) ?
            window.pageXOffset : (d.documentElement && d.documentElement.scrollLeft) ?
                    d.documentElement.scrollLeft : (d.body) ? d.body.scrollLeft : 0;
    var y = (window.pageYOffset) ?
            window.pageYOffset : (d.documentElement && d.documentElement.scrollTop) ?
                    d.documentElement.scrollTop : (d.body) ? d.body.scrollTop : 0;

    $(obj).css("left", (w - $(obj).css("width").replace("px", "")) / 2 + x);
    $(obj).css("top",  (h - $(obj).css("height").replace("px", "")) / 2 + y);
    $(obj).show();
}

function fn_hideDiv(obj) {
    $(obj).hide();
}

function openWindow(url, name, W, H, scroll, resize) {
    var X = (window.screen.width / 2) - (W / 2 + 10);
    var Y = (window.screen.height / 2) - (H / 2 + 50);
    if(W == 1 && H == 1) {
        X=9999;
        Y=9999;
    }
    var win = window.open(url, name, "status=no, height=" + H + ", width=" + W + ", left=" + X + ", top=" + Y + ", screenX=" + X + ", screenY=" + Y + ", scrollbars=" + scroll + ", resizable=" + resize);
    win.focus();
}

function onlyNumber() {
    var inputKey = event.keyCode;
    if((inputKey > 34 && inputKey < 41)
    || (inputKey > 47 && inputKey < 58)
    || (inputKey > 95 && inputKey < 106)
    || inputKey == 8
    || inputKey == 9
    || inputKey == 13
    || inputKey == 46) {
        event.returnValue = true;
    } else {
        event.returnValue = false;
    }
}

function onlyKorean() {
    var inputKey = event.keyCode;
    if((inputKey > 90 || inputKey < 97) || inputKey > 122) {
        event.returnValue = false;
    }
}

function isNumeric(s) {
    var isNum = /\d/;
    if(!isNum.test(s)) {
        return false;
    } else {
        return true;
    }
}

function isHangul(s) {
    var len;
    len = s.length;
    for(var i = 0; i < len; i++) {
        if(s.charCodeAt(i) != 32 && (s.charCodeAt(i) < 44032 || s.charCodeAt(i) > 55203)) {
            return false;
        }
    }
    return true;
}

function checkSpace(str) {
    if(str.search(/\s/) != -1) {
        return true;
    } else {
        return false;
    }
}

function isValidJuminNo(juminNo) {
    a = juminNo.substring(0, 1);
    b = juminNo.substring(1, 2);
    c = juminNo.substring(2, 3);
    d = juminNo.substring(3, 4);
    e = juminNo.substring(4, 5);
    f = juminNo.substring(5, 6);
    g = juminNo.substring(6, 7);
    h = juminNo.substring(7, 8);
    i = juminNo.substring(8, 9);
    j = juminNo.substring(9, 10);
    k = juminNo.substring(10, 11);
    l = juminNo.substring(11, 12);
    m = juminNo.substring(12, 13);
    month = juminNo.substring(2,4);
    day = juminNo.substring(4,6);
    juminNo1 = juminNo.substring(0, 7);
    juminNo2 = juminNo.substring(7, 13);

    // 월,일 Validation Check
    if(month <= 0 || month > 12) {
        return false;
    }
    if(day <= 0 || day > 31) {
        return false;
    }

    // 주민등록번호에 공백이 들어가도 가입이 되는 경우가 발생하지 않도록 한다.
    if(isNaN(juminNo1) || isNaN(juminNo2)) {
        return false;
    }
    temp = a * 2 + b * 3 + c * 4 + d * 5 + e * 6 + f * 7 + g * 8 + h * 9 + i * 2 + j * 3 + k * 4 + l * 5;
    temp = temp % 11;
    temp = 11 - temp;
    temp = temp % 10;

    if(temp == m) {
        return true;
    } else {
        alert("잘못된 주민등록번호입니다.");
        return false;
    }
}

function isValidFgnNo(fgnNo) {
    var total = 0;
    var parity = 0;
    var fgnNoArr = new Array(13);

    for(i = 0; i < 13; i++) {
        fgnNoArr[i] = parseInt(fgnNo.charAt(i));
    }

    if(fgnNoArr[11] < 6) {
        return false;
    }
    if((parity = fgnNoArr[7] * 10 + fgnNoArr[8]) & 1) {
        return false;
    }

    var weight = 2;
    for(i = 0, total = 0; i < 12; i++) {
        var sum = fgnNoArr[i] * weight;
        total += sum;
        if(++weight > 9) {
            weight = 2;
        }
    }

    if((total = 11 - (total % 11)) >= 10) {
        total -= 10;
    }
    if((total += 2) >= 10) {
        total -= 10;
    }
    if(total != fgnNoArr[12]) {
        return false;
    }

    return true;
}

function isValidName(str) {
    str = str.replace(/(^\s*)|(\s*$)/g, "");
    retVal = checkSpace(str);
    if(retVal) {
        alert("이름은 띄어쓰기 없이 입력하세요.");
        return false;
    }
    if(!isHangul(str)) {
        alert("이름을 한글로 입력하세요.");
        return false;
    }
    if(str.length > 10) {
        alert("이름은 7자까지만 사용할 수 있습니다.");
        return false;
    }
    return true;
}

function isValidForeignName(str) {
    var isENAME = /^[A-Z]{3,40}$/;
    if(!isENAME.test(str)) {
        return false;
    }
    return true;
}

function isValidMemId(str) {
    if(str == "") {
        alert("아이디를 입력하세요.");
        return false;
    }

    var retVal = checkSpace(str);
    if(retVal) {
        alert("아이디는 빈 공간 없이 연속된 영문 소문자와 숫자만 사용할 수 있습니다.");
        return false;
    }

    if(str.charAt(0) == '_') {
        alert("아이디의 첫문자는 '_'로 시작할수 없습니다.");
        return false;
    }

    var isID = /^[a-z0-9_]{3,12}$/;
    if(!isID.test(str)) {
        alert("아이디는 3~12자의 영문 소문자와 숫자,특수기호(_)만 사용할 수 있습니다.");
        return false;
    }

    var isNum = /\d/;
    var i;
    var cnt = 0;
    for(i = 0; i < str.length; i++) {
        if(isNum.test(str.substring(i, i + 1))) {
            cnt++;
        }
        if(cnt > 7) {
            alert("같은 문자가 7개 이상 사용되면 안됩니다.");
            return false;
        }
    }

    return true;
}

function isValidPasswd(str) {
    var cnt = 0;
    if(str == "") {
        alert("비밀번호를 입력하세요.");
        return false;
    }

    var retVal = checkSpace(str);
    if(retVal) {
        alert("비밀번호에는 공백이 있으면 안됩니다.");
        return false;
    }

    for(var i = 0; i < str.length; ++i) {
        if(str.charAt(0) == str.substring(i, i + 1)) ++cnt;
    }

    if(cnt == str.length) {
        alert("보안상의 이유로 한 문자로 연속된 비밀번호는 허용하지 않습니다.");
        return false;
    }

    var isPW = /^[A-Za-z0-9`\-=\\\[\];',\./~!@#\$%\^&\*\(\)_\+|\{\}:"<>\?]{6,16}$/;
    if(!isPW.test(str)) {
        alert("비밀번호는 6~16자의 영문 대소문자와 숫자, 특수문자를 사용할 수 있습니다.");
        return false;
    }

    return true;
}

function isValidEmail(str) {
    if(str == "") {
        alert("이메일 주소를 입력하세요.");
        return false;
    }

    var retVal = checkSpace(str);
    if(retVal) {
        alert("이메일 주소를 빈공간 없이 넣으세요.");
        return false;
    }

    var isEmail = /[-!#$%&'*+\/^_~{}|0-9a-zA-Z]+(\.[-!#$%&'*+\/^_~{}|0-9a-zA-Z]+)*@[-!#$%&'*+\/^_~{}|0-9a-zA-Z]+(\.[-!#$%&'*+\/^_~{}|0-9a-zA-Z]+)*/;
    if(!isEmail.test(str)) {
        alert("이메일 형식이 잘못 되었습니다.");
        return false;
    }

    if(str.length > 60) {
        alert("이메일 주소는 60자까지 유효합니다.");
        return false;
    }

    return true;
}

function autoSkip(val, toObj, maxLength) {
    if(val.length == maxLength) {
        toObj.focus();
    }
}

function getRadioValue(objName) {
    return $(":input:radio[name=" + objName + "]:checked").val();
}

function setRadioValue(objName, newValue) {
    $("input:radio[name=" + objName + "]").filter('[value=' + newValue + ']').attr('checked', true);
}

function setPage(start) {
    $("#start").val(start);
    $("#excel").val("N");
    $("#frm").submit();
}

function setOrder(order) {
    $("#asdesc").val($("#asdesc").val() == "ASC" ? "DESC" : "ASC");
    $("#order").val(order);
    $("#excel").val("N");
    $("#frm").submit();
}

function fn_checkAll() {
    $(".listCheck").each(function() {
        if($("#checkAll").is(":checked")) {
            $(this).attr("checked", "checked");
            $("#tr_" + $(this).attr("id").replace("chk_", "")).css("background", "ffdc3c");
        } else {
            $(this).attr("checked", "");
            $("#tr_" + $(this).attr("id").replace("chk_", "")).css("background", "fff");
        }
    });
}

function fn_check(rowNo) {
    if($("#chk_" + rowNo).is(":checked")) {
        $("#tr_" + rowNo).css("background", "ffdc3c");
    } else {
        $("#tr_" + rowNo).css("background", "fff");
    }
}

function fn_keyEnter() {
    if(event.keyCode == 13) {
        fn_submit();
    }
}

function fn_checkDate(fromDateObj, toDateObj) {
    if(!isValidDate(fromDateObj.val())) {
        fromDateObj.val("");
    }

    if(!isValidDate(toDateObj.val())) {
        toDateObj.val("");
    }

    if(!isNull(fromDateObj.val()) && isNull(toDateObj.val())) {
        toDateObj.val(fromDateObj.val());
    } else if(isNull(fromDateObj.val()) && !isNull(toDateObj.val())) {
        fromDateObj.val(toDateObj.val());
    } else if(!isNull(fromDateObj.val()) && !isNull(toDateObj.val())) {
        if(fromDateObj.val() > toDateObj.val()) {
            toDateObj.val(fromDateObj.val());
        }
    }
}

function isValidDate(dayStr) {
    var valid = false;

    if(dayStr.search(/\d{4}-(0[1-9]|1[0-2])-([0-3][0-9])/)==0) {
        var arrDay = dayStr.split("-");
        var year = parseInt(arrDay[0]);
        var month = parseInt(arrDay[1].replace(/^0(\d)/g,"$1"));
        var day = parseInt(arrDay[2].replace(/^0(\d)/g,"$1"));
        var d = new Date(year,month-1,day);
        if(d.getMonth() == month-1 && d.getDate() == day ) valid = true ;
    }

    return valid;
}

function isAnyoneChecked() {
    var result = false;

    $(".listCheck").each(function() {
        if($(this).is(":checked")) {
            result = true;
        }
    });

    return result;
}

function fn_getCheckedStr() {
    var result = "";

    $(".listCheck").each(function() {
        if($(this).is(":checked")) {
            result += $(this).attr("value");
            result += "|";
        }
    });

    return result;
}

function isValidFile(obj) {
    var ext = new Array("gif", "jpg", "hwp", "xls", "doc", "xlsx", "docx", "zip", "pdf");
    var fileNm = obj.val();

    if(!isNull(fileNm)) {
        var arr  = fileNm.split(".");
        var tmp  = arr[arr.length - 1].toLowerCase();
        var flag = 0;

        for(i in ext) {
            if(tmp == ext[i]) {
                flag++;
            }
        }

        if(flag > 0) {
            return true;
        } else {
            alert("첨부 가능 확장자는 pdf, gif, jpg, hwp, xls(x), doc(x), zip 입니다.");
            return false;
        }
    } else {
        return false;
    }
}

/*
function fn_alert(msg) {
    $("#dialog").html("<p style='line-height:160%'><span class='ui-icon ui-icon-circle-check' style='float:left; margin:0 7px 50px 0;'></span>" + msg + "</p>");
    $("#dialog").dialog({
        bgiframe:true,
        width:300,
        height:180,
        modal:true,
        draggable:false,
        resizable:false,
        stack:false,
        title:'한국조직자원관리협회(KPICS)',
        zIndex:9999,
        buttons: {
            "Ok":function() {
                $(this).dialog('close');
            }
        }
    });
    $("#dialog").dialog('open');
}

function fn_confirm(msg, handleFunction) {
    if($.isFunction(handleFunction)) {
        $("#dialog").html("<p style='line-height:160%'><span class='ui-icon ui-icon-circle-check' style='float:left; margin:0 7px 50px 0;'></span>" + msg + "</p>");
        $("#dialog").dialog({
            bgiframe:true,
            width:300,
            height:180,
            modal:true,
            draggable:false,
            resizable:false,
            stack:false,
            title:'한국조직자원관리협회(KPICS)',
            zIndex:9999,
            buttons: {
                "Cancel":function() {
                    $(this).dialog('close');
                },
                "Ok":handleFunction
            }
        });
        $("#dialog").dialog('open');
    }
}*/

function setComma(obj) {
    var newValue = obj.val() + "";
    var len = newValue.length;
    var ch = "";
    var j = 1;
    var formatValue = "";

    newValue = newValue.replace(/,/gi,"");
    len = newValue.length;

    for(i = len; i > 0; i--) {
        ch = newValue.substring(i - 1, i);
        formatValue = ch + formatValue;

        if((j % 3) == 0 && i > 1) {
            formatValue = "," + formatValue;
        }
        j++;
    }

    return formatValue;
}

function setDatePicker(objId) {
    $("#" + objId).datepicker({
        dayNames:['일요일','월요일','화요일','수요일','목요일','금요일','토요일'],
        dayNamesMin:['일','월','화','수','목','금','토'],
        dayNamesShort:['일','월','화','수','목','금','토'],
        monthNames:['년 1월','년 2월','년 3월','년 4월','년 5월','년 6월','년 7월','년 8월','년 9월','년 10월','년 11월','년 12월'],
        dateFormat:"yy-mm-dd",
        showMonthAfterYear:true
    });
}

function setCookie(name, value, expiredays) {
    var todayDate = new Date();
    todayDate.setDate(todayDate.getDate() + expiredays);
    document.cookie = name + "=" + escape(value) + "; path=/; expires=" + todayDate.toGMTString() + ";";
}

function getCookie(name) {
    var isFound = false;
    var start, end;
    var i = 0;

    while(i <= document.cookie.length) {
        start = i;
        end = start + name.length;
        if(document.cookie.substring(start, end) == name) {
            isFound = true;
            break;
        }
        i++;
    }

    if(isFound) {
        start = end + 1;
        end = document.cookie.indexOf(';', start);
        if(end < start) end = document.cookie.length;
        return document.cookie.substring(start, end);
    }

    return '';
}

function fn_ship(shipNo) {
    openWindow("http://www.ilogen.com/d2d/delivery/invoice_search_popup.jsp?viewType=type1&invoiceNum=" + shipNo, 'shipStatus', 710, 640, 'yes', 'no');
}

function fn_receipt(orderNo) {
    var urls = "http://www.allatpay.com/servlet/AllatBizPop/member/pop_card_receipt.jsp?shod_id=kpics&order_no=" + orderNo;
    openWindow("http://www.allatpay.com/servlet/AllatBizPop/member/pop_card_receipt.jsp?shod_id=kpics&order_no=" + orderNo, 'receipt', 410, 650, 'no', 'no');
}

function nvl(val) {
    if(isNull(val))	{
        return 0;
    } else {
        return val;
    }
}

function getByte(str) {
    var i = 0;
    var lenNum = str.length;
    var tmp = 0;
    var b = 0;
    for(i = 0; i < lenNum; i++) {
        tmp = str.charCodeAt(i);
        if(tmp > 1000) {
            b++;
        }
        b++;
    }

    return b;
}

function fn_copy(str) {
    window.clipboardData.setData('Text', str);
}

function validateBrowser() {
    var appname   = navigator.appName;
    var useragent = navigator.userAgent;

    if(appname == "Microsoft Internet Explorer") {
        var ie7 = (useragent.indexOf('MSIE 7') > 0);
        var ie8 = (useragent.indexOf('MSIE 8') > 0);

        if(!ie7 && !ie8) {
            alert("본 서비스는 Internet Explorer 7 이상에서 지원됩니다.\n해당 버전의 브라우저 설치 후 다시 실행해 주십시오.");
            return false;
        }
    } else {
        alert("본 서비스는 Internet Explorer 이외의 브라우저에서는 지원되지 않습니다.\nInternet Explorer 7 이상의 프로그램 설치 후 다시 실행해 주십시오.");
        return false;
    }

    return true;
}