﻿var JeilAsset = {};

JeilAsset.JModule = {
    /// <summary>
    /// 값 확인 함수
    /// </summary>
    /// <param name="msg">표시할 메세지</param>
    /// <param name="flag">비교할 값</param> 
    /// <param name="param 목록">컨트롤 목록</param>
    /// <param name="..........">컨트롤 목록</param>
    ByIDCheckProcess: function (msg, flag) {
        if (arguments.length == 2) return false;

        try {
            for (var i = 2; i < arguments.length; i++) {
                if (document.getElementById(arguments[i]).value == flag.split('^')[i - 2]) {
                    alert(msg.split('^')[i - 2]);
                    document.getElementById(arguments[i]).focus();

                    return false;
                }
            }
        }
        catch (e) {
            alert(e.Message);

            return false;
        }

        return true;
    },

    /// <summary>
    /// 값 확인 함수
    /// </summary>
    /// <param name="msg">표시할 메세지</param>
    /// <param name="flag">비교할 값</param> 
    /// <param name="param 목록">컨트롤 목록</param>
    /// <param name="..........">컨트롤 목록</param>
    GetCheckProcess: function (msg, flag) {
        if (arguments.length == 2) return false;

        try {
            for (var i = 2; i < arguments.length; i++) {
                if ($get(arguments[i]).value == flag.split('^')[i - 2]) {
                    alert(msg.split('^')[i - 2]);
                    $get(arguments[i]).focus();

                    return false;
                }
            }
        }
        catch (e) {
            alert(e.Message);

            return false;
        }

        return true;
    },

    /// <summary>
    /// MouseOver Event
    /// </summary>
    ByIDMouseOverEvent: function (currID, currImg, prevID, prevImg, targetID, targetImg) {
        if (currID.src.indexOf(currImg) >= 0) return;

        currID.src = currImg;

        document.getElementById(prevID).src = prevImg;

        document.getElementById(targetID).src = targetImg;
    },

    /// <summary>
    /// MouseOver Event
    /// </summary>
    GetMouseOverEvent: function (currID, currImg, prevID, prevImg, targetID, targetImg) {
        if (currID.src.indexOf(currImg) >= 0) return;

        currID.src = currImg;

        $get(prevID).src = prevImg;

        $get(targetID).src = targetImg;
    },

    /// <summary>
    /// MouseOver Event
    /// </summary>
    ByIDMouseOverEventPanel: function (currID, currImg, prevID, prevImg, tab1, tab2, mode) {
        if (currID.src.indexOf(currImg) >= 0) return;

        currID.src = currImg;
        document.getElementById(prevID).src = prevImg;

        document.getElementById(tab1).style.display = (mode == 0) ? '' : 'none';
        document.getElementById(tab2).style.display = (mode == 0) ? 'none' : '';
    },

    /// <summary>
    /// MouseOver Event
    /// </summary>
    GetMouseOverEventPanel: function (currID, currImg, prevID, prevImg, tab1, tab2, mode) {
        if (currID.src.indexOf(currImg) >= 0) return;

        currID.src = currImg;
        $get(prevID).src = prevImg;

        $get(tab1).style.display = (mode == 0) ? '' : 'none';
        $get(tab2).style.display = (mode == 0) ? 'none' : '';
    },

    /// <summary>
    /// Enter Key 이벤트(button 실행)
    /// </summary>
    /// <param name="buttonID">실행될 버튼</param>
    SetEnterKeyEvent: function (buttonID) {
        if (event.keyCode == 13) {
            event.returnValue = false;

            if (arguments.length == 1) document.getElementById(buttonID).click();
            else {
                if (arguments[1]) document.getElementById(buttonID).click();
                else $get(buttonID).click();
            }
        }
        else event.returnValue = true;
    },

    /// <summary>
    /// Enter Key 이벤트(focus 이동)
    /// </summary>
    /// <param name="buttonID">focus control</param>
    FocusEnterKeyEvent: function (focusID) {
        if (event.keyCode == 13) {
            event.returnValue = false;

            if (arguments.length == 1) document.getElementById(focusID).focus();
            else {
                if (arguments[1]) document.getElementById(focusID).focus();
                else $get(focusID).focus();
            }
        }
        else event.returnValue = true;
    },

    /// <summary>
    /// 상세보기 클릭 이벤트
    /// </summary>
    /// <param name="keyValue">상세보기 Key값(arguments[0])</param>
    /// <param name="keyID">상세보기 Key값 저장 HiddenField(arguments[1])</param>
    /// <param name="buttonID">상세보기 Button(arguments[2])</param>
    /// <param name="runID">상세보기 실행여부 저장 HiddenField(arguments[3])</param>
    SetDetailClick: function (/* keyValue, keyID, buttonID, runID */) {
        if (!arguments) {
            alert('상세보기를 위한 정보가 존재하지 않습니다.');

            return;
        }

        if (arguments.length < 3) {
            alert('상세보기를 위한 정보가 부족합니다.');

            return;
        }

        if (arguments.length == 4) {
            if ($get(arguments[3]).value == null || $get(arguments[3]).value == '' || $get(arguments[3]).value == 'N') {
                $get(arguments[3]).value = 'Y';

                return;
            }
        }

        $get(arguments[1]).value = arguments[0];

        $get(arguments[2]).click();
    },

    /// <summary>
    /// Mouse Over/Out 이벤트
    /// </summary>
    /// <param name="thisID">이벤트 발생 컨트롤(arguments[0])</param>
    /// <param name="overOut">image URL or Color(arguments[1])</param>
    /// <param name="eventType">'text' or 'image'(arguments[2])</param>
    /// <param name="mouseType">'over' or 'out'(arguments[3])</param>
    /// <param name="cursorType">Cursor변경 여부 : true or false(arguments[4])</param>
    /// <param name="controls">배경색을 변경할 Control 목록(arguments[5]~arguments[n])</param>
    MouseOverOut: function (thisID, overOut) {
        if (overOut == '') return;

        var eventType = (arguments.length > 2) ? ((arguments[2] == null || arguments[2] == '') ? 'text' : arguments[2]) : 'text';
        var mouseType = (arguments.length > 3) ? ((arguments[3] == null || arguments[3] == '') ? 'over' : arguments[3]) : 'over';
        var cursorType = (arguments.length > 4) ? ((arguments[4] == null || arguments[4].toString() == '') ? true : arguments[4]) : true;

        eventType = (eventType != 'text' && eventType != 'image') ? eventType = 'text' : eventType;
        mouseType = (mouseType != 'over' && mouseType != 'out') ? mouseType = 'over' : mouseType;

        if (eventType == 'text') thisID.style.backgroundColor = overOut;
        else if (eventType == 'image') thisID.src = overOut;

        if (cursorType) thisID.style.cursor = (mouseType == 'over') ? 'hand' : 'default';

        if (arguments.length > 5) {
            for (var i = 5; i < arguments.length; i++) $get(arguments[i]).style.backgroundColor = overOut;
        }
    },

    /// <summary>
    /// 삭제확인
    /// </summary>
    GetDeleteCheck: function () {
        var msg = (arguments.length < 1) ? '삭제하시겠습니까 ?' : arguments[0];

        if (confirm(msg)) return true;

        return false;
    },

    /// <summary>
    /// 저장 전 확인
    /// </summary>
    GetSaveCheck: function (msg, arg) {
        if (arguments.length < 3) return false;

        try {
            if (msg.indexOf('^') < 0) {
                if ($get(arguments[2]).value == arg) {
                    alert(msg);

                    $get(arguments[2]).focus();

                    return false;
                }
            }
            else {
                for (var i = 2; i < arguments.length; i++) {
                    if ($get(arguments[i]).value == arg.split('^')[i - 2]) {
                        alert(msg.split('^')[i - 2]);

                        $get(arguments[i]).focus();

                        return false;
                    }
                }
            }
        }
        catch (e) {
            return false;
        }

        return true;
    },

    /// <summary>
    /// KeyPress 이벤트 - 숫자만
    /// <param name="buttonID">버튼(arguments[0])</param>
    /// </summary>
    GetKeyPressNumber: function (/* buttonID */) {
        if (event.keyCode == 9) return;

        if (arguments.length > 0 && arguments[0] != '') {
            if (event.keyCode == 13) {
                event.returnValue = false;

                $get(arguments[0]).click();

                return false;
            }
        }

        if (event.keyCode >= 48 && event.keyCode <= 57) {
            if (arguments.length > 1) {
                if (($get(arguments[1]).length + 1) == ((arguments[2] == '') ? 0 : arguments[2])) {
                    if (arguments.length > 3) $get(arguments[3]).foucs();
                }
            }

            event.returnValue = true;
        }
        else event.returnValue = false;
    },

    /// <summary>
    /// Mouse Over/Out 이벤트
    /// </summary>
    /// <param name="thisID">이벤트 발생 컨트롤(arguments[0])</param>
    /// <param name="overOut">image URL or Color(arguments[1])</param>
    /// <param name="eventType">'text' or 'image'(arguments[2])</param>
    /// <param name="mouseType">'over' or 'out'(arguments[3])</param>
    /// <param name="cursorType">Cursor변경 여부 : true or false(arguments[4])</param>
    /// <param name="controls">배경색을 변경할 Control 목록(arguments[5]~arguments[n])</param>
    MouseOverOut : function(thisID, overOut) {
        if (overOut == '') return;
                            
        var eventType = (arguments.length > 2) ? ((arguments[2] == null || arguments[2] == '') ? 'text' : arguments[2]) : 'text';
        var mouseType = (arguments.length > 3) ? ((arguments[3] == null || arguments[3] == '') ? 'over' : arguments[3]) : 'over';
        var cursorType = (arguments.length > 4) ? ((arguments[4] == null || arguments[4].toString() == '') ? true : arguments[4]) : true;
                            
        eventType = (eventType != 'text' && eventType != 'image') ? eventType = 'text' : eventType;
        mouseType = (mouseType != 'over' && mouseType != 'out') ? mouseType = 'over' : mouseType;
                            
        if (eventType == 'text') thisID.style.backgroundColor = overOut;
        else if (eventType == 'image') thisID.src = overOut;
                            
        if (cursorType) thisID.style.cursor = (mouseType == 'over') ? 'hand' : 'default';
                            
        if (arguments.length > 5) {
            for (var i = 5; i < arguments.length; i++) $get(arguments[i]).style.backgroundColor = overOut;
        }
    }
};
