﻿/* CONST AREA -------------------------------------------------------------------------- */

/* CONST AREA -------------------------------------------------------------------------- */

/* MESSAGE AREA -------------------------------------------------------------------------- */
/* 공용 메세지 */
var MSG_VAL_EMAIL = "메일형식에 맞게 입력해 주시기 바랍니다.";
/* 공용 메세지 */

/* DEF AREA -------------------------------------------------------------------------- */
/*
RegExpChk : 정규표현식 패턴체크
Parameters[
str : 문자열
condition : 패턴의 경우(함수 내부에서 경우의수를 늘려서 사용
]
*/
function RegExpChk(str, condition) {
    var pattern;
    switch (condition) {
        case 0: /* Administrator ID format */
            pattern = /^[a-z0-9_]/;
            break;
        case 1: /* Password format */
            pattern = /^(?=([a-zA-Z]+[0-9]+[a-zA-Z0-9]*|[0-9]+[a-zA-Z]+[a-zA-Z0-9]*)$)./;
            break;
        case 2: /* Email Address */
            pattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
            break;
    }
    return pattern.test(str);
}
/*
IsNull : 문자열이 널인지 체크
*/
String.prototype.IsNull = function(str) {
    if (s == null) return true;
    var result = s.replace(/(^\s*)|(\s*$)/g, "");
    if (result)
        return false;
    else
        return true;
}
/*
IsID : 아이디 인지 체크하는 벨리데이터
Parameters[
min : 최소 글자길이
max : 최대 글자길이
]
*/
String.prototype.IsID = function(min, max) {
    if (this == null) return false;
    if (this.length < parseInt(min, 10) || this.length > parseInt(max, 10)) {
        return false;
    } else {
        if (!RegExpChk(this, 0)) {
            return false;
        } else {
            return true;
        }
    }
}
/*
IsPwd : 비밀번호 형식을 체크
Parameters[
str : 문자열
]
*/
String.prototype.IsPwd = function(str) {
    if (this == null) return false;
    //if (this.IsNull) return false;
    if (!RegExpChk(this, 1)) {
        return false;
    } else {
        return true;
    }
}
/*
IsEmail : 이메일 형식을 체크
Parameters[
str : 문자열
]
*/
String.prototype.IsEmail = function(str) {
    if (this == null) return false;
    //if (this.IsNull) return false;
    if (!RegExpChk(this, 2)) {
        return false;
    } else {
        return true;
    }
}
/*
IsNull : 문자를 널인지 체크
]
*/
String.prototype.IsNull = function() {
    if (this == null) return false;
    if (this.replace(/(^\s*)|(\s*$)/g, "").length > 0) {
        return false;
    } else {
        return true;
    }
}
/*
IsID : 아이디 인지 체크하는 벨리데이터
Parameters[
max : 최대 글자길이
]
*/
String.prototype.IsNullMax = function(max) {
    if (this == null) return false;
    if (this.IsNull) return false;
    if (this.length > parseInt(max, 10)) {
        return false;
    } else {
        return true;
    }
}


/* FUNCTION AREA -------------------------------------------------------------------------- */
/*
jkFocus : focus()함수 후에 해당 객체의 내용을 초기화 선택 기능을 더한함수
Parameters[
obj_name : 객체명
blankyn : true(내용을 지우고 focus()), false(내용을 유지하고 focus())
]
*/
function jkFocus(obj_name, blankyn) {
    var obj = eval("document.getElementById('" + obj_name + "')");
    
    if (blankyn) {
        obj.value = "";
    }
    obj.focus();
}
/*
fn_is_del : 삭제확인 함수
*/
function fn_is_del() {
    if (!confirm(MSG_CONF_DELETE))
        return false;
}
/*
val_null : 빈값인지 검사하는 함수
Parameters[
obj_name : 객체명
IsNull를 사용 : IsNull관련 정보는 IsNull 복사후 Ctrl+F
]
*/
function val_null(obj_name, msg) {
    var obj = eval("document.getElementById('" + obj_name + "')");
    if (obj.value.IsNull()) {
        alert(msg);
        jkFocus(obj_name, false);
        return false;
    } else {
        return true;
    }
}
/*
val_email : 이메일 형식을 체크하는 함수
Parameters[
obj_name : 객체명
IsEmail를 사용 : IsEmail관련 정보는 IsEmail 복사후 Ctrl+F
]
*/
function val_email(obj_name, msg) {
    var obj = eval("document.getElementById('" + obj_name + "')");
    if (!obj.value.IsEmail()) {
        alert(msg);
        jkFocus(obj_name, false);
        return false;
    } else {
        return true;
    }
}

//새창띄우기 중앙으로
function openpopcenter(theURL, winName, sizex, sizey) { //v2.0
    var w = sizex;
    var h = sizey;
    var left = Math.floor((screen.availWidth - (w + 12)) / 2);
    var top = Math.floor((screen.availHeight - (h + 30)) / 2);
    window.open(theURL, winName, "width=" + sizex + ", height=" + sizey + ", top=" + top + ",left=" + left + ",scrollbars=no");
}

function openpopcenter_scroll(theURL, winName, sizex, sizey) { //v2.0
    var w = sizex;
    var h = sizey;
    var left = Math.floor((screen.availWidth - (w + 12)) / 2);
    var top = Math.floor((screen.availHeight - (h + 30)) / 2);
    window.open(theURL, winName, "width=" + sizex + ", height=" + sizey + ", top=" + top + ",left=" + left + ",scrollbars=yes");
}

function fn_email() {
    openpopcenter("/pop_email.aspx?curl=" + location.href, "email", 595, 372);
}

function print_page(img) {
    openpopcenter_scroll("/common/print.aspx?img=" + img, "print", 600, 600);
}
