/**
 ********************************************************
 * ÃÖÃÊÀÛ¼º : 2006-10-16 ssbang
 *
 * FORM, Object °ü·ÃµÈ JAVASCRIPT
 * Object ÀÇ value ¸¦ °¡Á®¿À°Å³ª °¡°øÇÏ´Â À¯Æ¿ JAVASCRIPT ÀÌ´Ù.
 * Object ´Â Guace Component Object Æ÷ÇÔÀÌ µÉ¼ö ÀÖ´Ù.
 * º¯¼öÁß ´ë¹®ÀÚ·Î Ç¥ÇöµÈ º¯¼ö (±Û·Î¹ú)´Â constvar.js ¿¡ ÀÖ´Ù.
 *********************************************************
 */


/**
 * Object ÀÇ Value °ª °¡Á®¿À±â
 * INPUT , GAUCE ÀÇ Object VALUE °ªÀ» °¡Á®¿Ã¼ö ÀÖ´Ù.
 * obj ÀÇ typeof °¡ string ÀÌ¸é ¹Ù·Î return ÇÑ´Ù.
 * »ç¿ë¹æ¹ý getElementValue(MaskEditId);
 * @param obj : HTML OBJECT ¶Ç´Â GAUCE OBJECT
 * @return value ( JAVASCRIPT var : object ÀÇ value ¼Ó¼º¿¡ µû¶ó ÇüÀÌ ´Ù¸£´Ù )
 */
function getElementValue(obj){

    if(typeof(obj) == "string"){
        return obj;
    }
    if(arguments.length > 1 ) defaultVal = arguments[1];
    else defaultVal = "";



    var tname = obj.tagName;
    var returnStr = "";

    if(typeof(tname) == "undefined") {
        if(typeof(obj) == "undefined"){
            returnStr = defaultVal;

        }else if(typeof(obj) == "string"){
            returnStr = obj; // obj ÀÚÃ¼°¡ Value ÀÌ´Ù

        }else if(typeof(obj) == "number"){
            returnStr = obj; // obj ÀÚÃ¼°¡ Value ÀÌ´Ù

        }else if(typeof(obj) == "object"){
            if(typeof(obj.length) == "undefined"){
                returnStr = defaultVal;
            }else{
                var ntype = obj[0].type;
                if(ntype == "checkbox" || ntype == "radio"){
                    returnStr = getRadiosValue(obj);
                }else {
                    alert("[ "+ obj + " ] ´Â ¹«½¼ Object ÀÎÁö ¾Ë¼ö ¾ø½À´Ï´Ù.");
                    returnStr = defaultVal;
                }
            }
        }

    }else if(tname == "INPUT"){
        var ntype = obj.type;
        if(ntype == "checkbox" || ntype == "radio"){
            returnStr = getRadiosValue(obj);
        }else {
            returnStr = obj.value;
        }

    }else if(tname == "SELECT"){
        returnStr = obj.value;

    }else if(tname == "OBJECT"){
        if(typeof(obj.classid) == "undefined") return defaultVal;

        var clsid = obj.classid.toUpperCase();

        if(clsid == Clsid_MxMaskEdit || clsid == Clsid_MxTextArea){
            returnStr = obj.text;

        }else if(clsid == Clsid_MxRadio){
            returnStr = obj.CodeValue;

        }else if(clsid == Clsid_MxFileControl){
            returnStr = obj.value;

        }else if(clsid == Clsid_MxCombo){
            var colName = obj.CBDataColumns;
            colName = colName.substring(0, colName.indexOf(","));
            returnStr = obj.ValueOfIndex(colName, obj.index);

        }else{
            alert("[ "+obj + " ]´Â Value ¸¦ ¾Ë¼ö ¾ø´Â Object ÀÔ´Ï´Ù. ");
            returnStr = defaultVal;
        }
    }else{
        returnStr = defaultVal;
    }

    return returnStr;
}


/**
 * input type=radio ¶Ç´Â checkbox ÀÇ value °ªÀ» °¡Á®¿Â´Ù.
 * @ param obj : radio ¶Ç´Â checkbox Object
 */
function getRadiosValue(obj) {
    if(typeof(obj.length) == "undefined"){
        if(obj.checked == true){
            return obj.value;
        }else{
        	if(typeof(obj.uncheckvalue) != "undefined"){
        		return obj.uncheckvalue;
        	}
        }
    }else{
    	for(i = 0; i < obj.length; i++) {
    		if(obj[i].checked == true)
    			return obj[i].value;
    	}
    	return "";
    }
    return "";
}

/**
 * getElementValue ¿¡¼­ °¡Á®¿Â °ªÀ» String À¸·Î convert ÇÑ´Ù.
 */
function getElementValueToString(obj){
    return new String(getElementValue(obj));
}

/**
 * getElementValue ¿¡¼­ °¡Á®¿Â °ªÀ» int ·Î convert ÇÑ´Ù.
 */
function getElementValueToInteger(obj){
    var objValue = parseInt(getElementValue(obj));
    if(objValue.toString() == "NaN"){ objValue = 0;}
    return objValue;
}

/**
 * getElementValue ¿¡¼­ °¡Á®¿Â °ªÀ» float À¸·Î convert ÇÑ´Ù.
 */
function getElementValueToFloat(obj){
    var objValue = parseFloat(getElementValue(obj));
    if(objValue.toString() == "NaN"){ objValue = 0.0;}
    return objValue;
}


/**
 * Select Box ¼±ÅÃ¿©ºÎ °Ë»ç
 * @param field
 * @param error_msg
 */
function isNotSelected(field, error_msg) {
	if(field.selectedIndex == 0) {
		alert(error_msg);
		field.focus() ;
		return true;
	} else {
		return false;
	}
}

/**
 * Radio ButtonÀ» ¼±ÅÃÇØÁ¦ÇÑ´Ù
 * @param field form.element
 */
function uncheckRadio(field) {
	for(i = 0; i < field.length; i++) {
		field[i].checked = false;
	}
}

/**
 * Radio ButtonÀÇ ¼±ÅÃµÈ °ªÀ» °¡Á®¿Â´Ù
 * @param field form.element
 */
function getRadioVal(obj) {
	if(typeof(obj.length) == "undefined"){
        if(obj.checked == true){
            return obj.value;
        }
    }else{
    	for(i = 0; i < obj.length; i++) {
    		if(obj[i].checked == true)
    			return obj[i].value;
    	}
    	return "";
    }
    return "";
}

/**
 * °Ë»ö¾î°¡ ÀÔ·ÂµÇ´Â FORM element¸¦ ÃÊ±âÈ­("") ÇÑ´Ù.
 *
 * @param frm °Ë»ö¾î ÀÔ·Â FORM
 */
function doInit(frm)
{
	for (i = 0; i < frm.elements.length; i++)
	{
		frm.elements[i].value = "";
	}
}

/**
 * ENTERÅ° ´Ù¿î µÇ¾úÀ»¶§ ³Ñ°Ü¹ÞÀº Function½ÇÇà
 *
 * @param func ½ÇÇàÇÒ Function¸í
 */
function enterKeyDown(func)
{
	enter = event.keyCode;
	if(enter == 13)
	{
		eval(func);
	}
}

/**
 * TABÅ° ´Ù¿î µÇ¾úÀ»¶§ ³Ñ°Ü¹ÞÀº Function½ÇÇà
 *
 * @param func ½ÇÇàÇÒ Function¸í
 */
function tabKeyDown(func)
{
	enter = event.keyCode;
	if(enter == 09)
	{
		eval(func);
	}
}

/**
 * ¼¿·ºÆ® ¹Ú½º¸¦ ¿øÇÏ´Â °ªÀ¸·Î ¼ÂÆÃÇÏ´Â ÇÔ¼ö
 *
 * @param objFrm document.ÇÁ·¹ÀÓ¸í.¼¿·ºÆ® ¹Ú½º ÀÌ¸§
 * @param val ¼ÂÆÃÇÒ °ª
 */
function setSelectVal ( objFrm, val ) {
    var len = objFrm.options.length;

    if ( !len ) {
        return;
    }

    for ( var n = 0; n < len; n++ ) {

        if ( objFrm.options[n].value == val ) {
	    objFrm.options[n].selected = true;
	}
    }
}

/**
 * ¶óµð¿À ¹öÆ°, Ã¼Å©¹Ú½º¸¦ ¿øÇÏ´Â °ªÀ¸·Î ¼ÂÆÃÇÏ´Â ÇÔ¼ö
 *
 * @param objFrm document.ÇÁ·¹ÀÓ¸í.¶óµð¿À ¹öÆ° ÀÌ¸§
 * @param val ¼ÂÆÃÇÒ °ª
 */
function setRadioVal (objFrm, val) {
	var len = objFrm.length;
	if (!len) {
		objFrm.checked = true;
	} else {
		for (var n = 0; n < len; n++) {
			if (objFrm[n].value == val)
				objFrm[n].checked = true;
		}
	}
}

/**
 * radio button check ¿©ºÎ
 * @param field form.element
 * @param error_msg ¿¡·¯ Message
 * @return boolean
 */
function isNotCheckedRadio(field, error_msg) {
	if ( field == null ) {
		alert(error_msg);
		return true;
	}

	if ( field.length == null ) {
		if ( field.checked == true ) {
			return false;
		} else {
			alert(error_msg);
			return true;
		}
	}

	for(i = 0; i < field.length; i++) {
		if(field[i].checked == true) {
			return false;
		}
	}
	alert(error_msg);
	return true;
}

 /**
 * <pre>
 * ÇöÀç °´Ã¼ÀÇ ÀÔ·Â ±ÛÀÚ¼ö°¡ ÀÏÁ¤¼ö¸¦ ³ÑÀ¸¸é ´ÙÀ½ °´Ã¼·Î Æ÷Ä¿½º°¡ ÀÌµ¿ÇÑ´Ù
 * </pre>
 * @param obj ÇöÀç °´Ã¼
 * @param limitLength ÀÔ·Â ±ÛÀÚ¼öÀÇ ÇÑ°è
 * @param nextObj Æ÷Ä¿½º°¡ ÀÌµ¿ÇÒ °´Ã¼
 */
function nextFocus(obj, limitLength, nextObj) {
	if(obj.value.length == limitLength) nextObj.focus();
}

/**
 * <pre>
 * ÀÎ¼ö·Î ¹ÞÀº object°¡ ¹è¿­ÀÎÁö ÆÇ´Ü ÇÑ´Ù.
 * - nullÀÌ¸é 0À» ¸®ÅÏ
 * - ¹è¿­ÀÌ ¾Æ´Ï¸é 1À» ¸®ÅÏ
 * - ¹è¿­ÀÌ¶ó¸é ¹è¿­ ±æÀÌ¸¦ ¸®ÅÏ
 * </pre>
 * @param obj °Ë»çÇÒ form.element
 * @return number (0, 1, obj.length)
 */
function isArray(obj){
	if(obj == null){
		return 0;
	}else {
		//alert(obj.type);
		if(obj.type == 'select-one'){
			return 1;
		}else if(obj.type == 'select-multiple'){
			return 1;
		}else{
			if(obj.length > 1){
				return obj.length;
			}else {
				return 1;
			}
		}
	}
}


/**
 * input elementÀÇ hidden type object¸¦ »ý¼ºÇÏ¿© ¹ÝÈ¯ÇÑ´Ù.
 *
 * @param elemName elementÀÇ ÀÌ¸§
 * @param elemValue elementÀÇ °ª
 * @return input element (&lt;input type="hidden" name="elemName" value="elemValue"&gt;)
 */
function genDomInput(elemName, elemValue){
	var input = document.createElement("input");
	input.setAttribute("type", "hidden");
	input.setAttribute("name", elemName);
	input.setAttribute("id", elemName);
	input.setAttribute("value", elemValue);
	return input;
}

/**
 * input elementÀÇ hidden type object¸¦ »ý¼ºÇÏ¿© ÇØ´ç parent_obj¿¡ ³Ö´Â´Ù.
 *
 * @param parent_obj »ý¼ºµÇ´Â object¸¦ ³ÖÀ» ºÎ¸ð object objectÅ¸ÀÔÀ¸·Î ³Ñ°ÜÁØ´Ù.
 * @param elemName elementÀÇ ÀÌ¸§
 * @param elemValue elementÀÇ °ª
 */
function putDomInput(parent_obj, elemName, elemValue){
	var input = document.createElement("input");
	input.setAttribute("type", "hidden");
	input.setAttribute("name", elemName);
	input.setAttribute("value", elemValue);
	parent_obj.appendChild(input);
}

/**
 * author : leeman93
 * <pre>
 * document»óÀÇ element °ªÀ» È£Ãâ (document.all ÀÇ ÀÀ¿ëversion)
 *
 *  »ç¿ë¹ý : ´ÜÀÏ¼º E('from_date') , ´ÙÇü±¸Á¶  E('from_date')[0], E('from_date')[1]
 *              E('from_date').value;  E('from_date').focus();
 * </pre>
 * @param id : element ÀÌ¸§
 * @return  element object
 */
function E(id) {
  	var obj1 = document.getElementById(id);
  	var obj2 = document.getElementsByName(id);
  	if(obj1 == null){
  		//alert("ÇØ´ç°´Ã¼°¡ Á¸ÀçÇÏÁö¾Ê½À´Ï´Ù È®ÀÎÇØÁÖ¼¼¿ä. id:"+id); return "";
  		return null;

  	}else if(typeof(obj1[0]) == 'undefined' && obj2.length == 1){
  		//alert("´ÜÀÏ:"+id);
  		return document.getElementById(id);
	}else if(obj1.getAttribute("type").toUpperCase()=="SELECT-ONE" && obj2.length == 1){
  		//alert("select´ÜÀÏ:"+id);
  		return document.getElementById(id);
  	}else{
  		//alert("º¹¼ö:"+id);
  		return document.getElementsByName(id);
  	}
}

/**
 * author : papillon212
 *
 * type="text" ¿¡ ¼ýÀÚ°ª¸¸ ÀÔ·Â°¡´É
 * onkeyup="checkNumberOnly(this,1,event)" onblur="checkNumberOnly(this,1,event)"
 *
 * obj´Â ÇØ´ç object
 * default_value´Â ±âº»°ª
 * @param id : element ÀÌ¸§
 */
function checkNumberOnly(obj, default_value, event){
	var str = obj.value;
	var set_value = "";

	var key_code = event.keyCode;

	if(key_code == 0x10 || (key_code >= 0x25 && key_code <= 0x28) || (0x30 <= key_code && key_code <= 0x39) || (0x60 <= key_code && key_code <= 0x69)){ //shift³ª ¹æÇâÅ°³ª ¼ýÀÚÅ°ÀÏ¶§ ¸®ÅÏ
		return;
	}

	for(var i=0;i<str.length;i++){
		var c = str.charCodeAt(i);
		if( 0x30 <= c && c <= 0x39 ){
			set_value += str.charAt(i);
		}
	}

	if(set_value == ""){
		set_value = default_value+"";
	}

	obj.value = set_value;
}

/**
 * ·¹ÀÌ¾î ¼û±â±â
 */
function hideLayer(layer_name){
	document.getElementById(layer_name).style.display = "none";
}