﻿function IsNumeric(pStr) {
    var r, re
    re = /[^0-9]/;
    r = pStr.search(re);
    return (r < 0);
}
function IsEmail(str) {
    var r, re;
    re = /^[a-zA-Z0-9\-\_][\w\.-]*[a-zA-Z0-9\-\_]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$/i;
    r = str.match(re);

    if (r == null) return false;
    return (str == r[0]);
}
function Trim(str) {
    return str.replace(/(^\s*)|(\s*$)/g, "");
}
function FillZero(num) {
    if (num < 10) return "0" + String(num);
    else return String(num);
}

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 SetCookie(name, value, expiredays) {
    var todayDate = new Date();
    todayDate.setDate(todayDate.getDate() + expiredays);
    document.cookie = name + "=" + escape(value) + "; path=/; expires=" + todayDate.toGMTString() + ";"
}

function AddEvent(obj, evType, fn) {
    if (obj.addEventListener) {
        obj.addEventListener(evType, fn, false);
        return true;
    } else if (obj.attachEvent) {
        var r = obj.attachEvent("on" + evType, fn);
        return r;
    } else {
        return false;
    }
}
function RemoveEvent(obj, evType, fn) {
    if (obj.removeEventListener) {
        obj.removeEventListener(evType, fn, false);
        return true;
    } else if (obj.detachEvent) {
        var r = obj.detachEvent("on" + evType, fn);
        return r;
    } else {
        return false;
    }
}

function GetFileExtension(controlObject) {
    var contolValue = controlObject.value;

    var index = contolValue.lastIndexOf(".")

    if ((Trim(contolValue) != "") && (contolValue.length != 0)) {
        return contolValue.substring(index + 1).toLowerCase();
    }
    else {
        return '';
    }
}

////////////////// XMLHTTP //////////////////////
function GetAjaxResponseText(url) {
    var xmlHttp = new bd_xmlhttp();
    var ret = xmlHttp.send(url, false); // sync
    if (!ret) return;
    return xmlHttp.responseText();
}
function GetAjaxResponseXML(url) {
    var xmlHttp = new bd_xmlhttp();
    var ret = xmlHttp.send(url, false); // sync
    if (!ret) return;
    return xmlHttp.responseXML();
}
////////////////// XMLHTTP END //////////////////

/*********** Alert Message FadeOut ************/
function AlertFade(divName, message, afterTime) {
    if ($("#" + divName).css("display") == "none") $("#" + divName).css("display", "block");
    $("#" + divName).html(message);
    setTimeout("BeginFade('" + divName + "')", afterTime * 1000);
}
function BeginFade(divName) {
    $("#" + divName).fadeOut("slow");
}

// Javascript로 QueryString 구하기 ---------------------------------------------------------------------------------------------
function RequestParam(valuename) {
    var rtnval = "";
    var nowAddress = unescape(location.href);
    var parameters = (nowAddress.slice(nowAddress.indexOf("?") + 1, nowAddress.length)).split("&");

    for (var i = 0; i < parameters.length; i++) {
        var varName = parameters[i].split("=")[0];
        if (varName.toUpperCase() == valuename.toUpperCase()) {
            rtnval = parameters[i].split("=")[1];
            break;
        }
    }

    return rtnval;
}

// 서버컨트롤 개체 찾기 --------------------------------------------------------------------------------------------------------
// 컨트롤의 Client를 저장합니다.
var clientIDList = new Array();
function FindObject(objectName) {
    var tempObjectName = objectName;

    // 검사대상 컨트롤을 찾습니다.
    // 정의된 clientID리스트를 돕니다.
    for (var i = 0; i < clientIDList.length; i++) {
        // 객체가 있다.
        if (document.getElementById(clientIDList[i] + "_" + objectName) != null) {
            // 아직 컨트롤의 이름이 설정되지 않았다면
            if (tempObjectName == objectName) {
                // 이름을 설정
                tempObjectName = clientIDList[i] + "_" + objectName;
            }
        }
    }

    if (document.getElementById(tempObjectName) != null) {
        return document.getElementById(tempObjectName);
    }
    else {
        return null;
    }
}

function OpenWindow(winName, url, width, height) {
    var x = ($(window).width() / 2) - (width / 2);
    var y = ($(window).height() / 2) - (height / 2);
    var newWin = window.open('', winName, 'toolbar=no,resizable=no,scrollbars=yes,status=0,width=' + width + ',height=' + height + ',left=' + x + ',top=' + y);
    newWin.location = url;
}

/*
YouTube Thumbnail 경로 얻기
thumnail = $.jYoutube('VU5goJA9XOE', 'small');
thumnail = $.jYoutube('http://www.youtube.com/watch?v=VU5goJA9XOE', 'small');
thumnail = $.jYoutube('VU5goJA9XOE');
thumnail = $.jYoutube('http://www.youtube.com/watch?v=VU5goJA9XOE');
*/
$.extend({ jYoutube: function(url, size) { if (url === null) { return ""; } size = (size === null) ? "big" : size; var vid; var results; results = url.match("[\\?&]v=([^&#]*)"); vid = (results === null) ? url : results[1]; if (size == "small") { return "http://img.youtube.com/vi/" + vid + "/2.jpg"; } else { return "http://img.youtube.com/vi/" + vid + "/0.jpg"; } } });

// 한글금액으로 표시
function MoneyToHan(str, obj) {
    arrayNum = new Array("", "일", "이", "삼", "사", "오", "육", "칠", "팔", "구");
    arrayUnit = new Array("", "십", "백", "천", "만 ", "십만 ", "백만 ", "천만 ",
	                    "억 ", "십억 ", "백억 ", "천억 ", "조 ", "십조 ", "백조");
    arrayStr = new Array()
    len = str.length;
    hanStr = "";
    for (i = 0; i < len; i++) { arrayStr[i] = str.substr(i, 1) }
    code = len;
    for (i = 0; i < len; i++) {
        code--;
        tmpUnit = "";
        if (arrayNum[arrayStr[i]] != "") {
            tmpUnit = arrayUnit[code];
            if (code > 4) {
                if ((Math.floor(code / 4) == Math.floor((code - 1) / 4)
				     && arrayNum[arrayStr[i + 1]] != "") ||
				   (Math.floor(code / 4) == Math.floor((code - 2) / 4)
				     && arrayNum[arrayStr[i + 2]] != "")) {
                    tmpUnit = arrayUnit[code].substr(0, 1);
                }
            }
        }
        hanStr += arrayNum[arrayStr[i]] + tmpUnit;
    }
    $(obj).html(hanStr);
}

function isNumObj(obj) {
    for (var i = 0; i < obj.value.length; i++) {
        chr = obj.value.substr(i, 1);
        chr = escape(chr);
        key_eg = chr.charAt(1);
        if (key_eg == 'u') {
            key_num = chr.substr(i, (chr.length - 1));
            if ((key_num < "AC00") || (key_num > "D7A3")) {
                event.returnValue = false;
            }
        }
    }
    if (event.keyCode >= 48 && event.keyCode <= 57) {

    } else {
        event.returnValue = false;
    }
}
