if (typeof(INPUT_JS) == 'undefined') { // 한번만 실행
    var INPUT_JS = true;
	//checkbox, radio, select
	function setField(obj, str) {
			var sect=(setField.arguments[2])? setField.arguments[2] : ''; //구분자
			var str_arr = new Array();
			if (sect) str_arr = str.split(sect);
			else str_arr[0] = str;

			var str_len=str_arr.length;
			var obj_len=(typeof(obj.length) == 'undefined') ? 1 : obj.length;
			var obj_type=(typeof(obj.type) == 'undefined')? obj[0].type : obj.type;

			var opt=''; // 선택
			switch(obj_type)
			{
					case 'select-one': case 'select-multiple' : opt='selected'; break;
					case 'checkbox' : case 'radio' : opt='checked'; break;
			}

			if (obj_len > 1) {
					for (var i=0; i < str_len; i++) {
							for (var j=0; j < obj_len; j++) {
									if (obj[j].value == str_arr[i]) {
											eval("obj["+j+"]."+opt+"=true");
											break;
									}
							}
					}
			}else{
					if (obj.value == str) eval("obj."+opt+"=true");
			}
	}
	//선택값 가져오기
	function getField(obj) {
			var arr=(typeof(obj.length) == 'undefined')? '' : new Array();
			var obj_len=(typeof(obj.length) == 'undefined') ? 1 : obj.length;
			var obj_type=(typeof(obj.type) == 'undefined')? obj[0].type : obj.type;
			var opt=''; // 선택
			switch(obj_type)
			{
					case 'select-one': case 'select-multiple' : opt='selected'; break;
					case 'checkbox' : case 'radio' : opt='checked'; break;
			}

			if (obj_len > 1) {
					for (var i=0; i < obj_len; i++) {
							if (eval("obj["+i+"]."+opt)) 
							{
									if (obj_type == 'select-one' || obj_type == 'radio')
									{
											return obj[i].value;
									}else{
											arr[i]=obj[i].value;
									}
							}else arr[i]='';
					}

					return arr;
			}else{
					if (obj_type == 'checkbox' || obj_type == 'radio') {
							if (eval("obj."+opt)) return obj.value;
					}else{
							if (eval("obj.options[0]."+opt)) return obj.value;
					}
			}
			return '';
	}

	//선택된 갯수 가져오기
	function countField(obj) {
			var count=0;
			var obj_len=(typeof(obj.length) == 'undefined') ? 1 : obj.length;
			var obj_type=(typeof(obj.type) == 'undefined')? obj[0].type : obj.type;
			var opt=''; // 선택
			switch(obj_type)
			{
					case 'select-one': case 'select-multiple' : opt='selected'; break;
					case 'checkbox' : case 'radio' : opt='checked'; break;
			}

			if (obj_len > 1) {
					for (var i=0; i < obj_len; i++) {
							if (obj_type == 'select-one')
							{
									if (eval("obj.options["+i+"]."+opt)) count++;
							}else{
									if (eval("obj["+i+"]."+opt)) count++;
							}
					}
			}else{        
					if (obj_type == 'checkbox' || obj_type == 'radio') {
							if (eval("obj."+opt)) count++;
					}else{
							if (eval("obj.options[0]."+opt)) count++;
					}
			}
			return count;
	}

	// 체크상태변화 (rev:반전,true=전체선책,false=전체해제)
	function checkField(obj,flag) {
			var obj_len=(typeof(obj.length) == 'undefined') ? 1 : obj.length;
			var obj_type=(typeof(obj.type) == 'undefined')? obj[0].type : obj.type;
			var opt=''; // 선택
			switch(obj_type)
			{
					case 'select-one': case 'select-multiple' : opt='selected'; break;
					case 'checkbox' : case 'radio' : opt='checked'; break;
			}
			if (obj_len > 1) {
					for (var i=0; i < obj_len; i++) {
					
							if (obj_type == 'select-one' || obj_type=='radio' ) {
									return;
							}else if (obj_type == 'checkbox') {
									if (flag == 'rev') {
											if (eval("obj["+i+"]."+opt) ) eval("obj["+i+"]."+opt+"=false");
											else eval("obj["+i+"]."+opt+"=true");
									}else {
											eval("obj["+i+"]."+opt+"="+flag);
									}
							}else{
									if (flag == 'rev') {
											if (eval("obj.options["+i+"]."+opt) ) eval("obj.options["+i+"]."+opt+"=false");
											else eval("obj.options["+i+"]."+opt+"=true");
									}else {
											eval("obj.options["+i+"]."+opt+"="+flag);
									}
							}
					}
			}else{
					if (obj_type == 'select-one' || obj_type=='radio' ) {
							return;
					}else if (obj_type == 'checkbox') {
							if (flag == 'rev') {
									if (eval("obj."+opt) ) eval("obj."+opt+"=false");
									else eval("obj."+opt+"=true");
							}else {
									eval("obj."+opt+"="+flag);
							}
					}else{
							if (flag == 'rev') {
									if (eval("obj.options[0]."+opt) ) eval("obj.options[0]."+opt+"=false");
									else eval("obj.options[0]."+opt+"=true");
							}else {
									eval("obj.options[0]."+opt+"="+flag);
							}
					}
			}
	}

    // Option객체를 생성해서 Return
    function createOption( text, value )
    {
        var oOption = document.createElement("OPTION"); // Option 객체를 생성
        oOption.text = text; // Text(Keyword)를 입력
        oOption.value = value; // Value를 입력
        return oOption;
    }

    // SelectBox의 Option을 초기화
    function initOption( selectObjId ){
        var selectObj = document.getElementById( selectObjId );
        if ( selectObj == null ) return; // 객체가 존재하지 않으면 취소

        selectObj.options.length = 0; // 길이를 0으로 하면 초기화
    }

    // Option을 추가
    function addOptionJS( selectObjId, keywordObjId, valueObjId ){
        // SelectBox의 Object
        var selectObj = document.getElementById( selectObjId );   
        // Option의 Keyword가 될 TextBox의 Object
        var keywordObj = document.getElementById( keywordObjId );
        // Option의 Value가 될 TextBox의 Object
        var valueObj = document.getElementById( valueObjId );
        // 객체가 존재하지 않으면 취소
        if ( selectObj == null || keywordObj == null || valueObj == null ) return;
        // 입력값이 없으면 추가하지 않음
        if ( !keywordObj.value || !valueObj.value ) return;

        // Opeion을 동적 생성
        selectObj.add( createOption( keywordObj.value ,valueObj.value ) );
        keywordObj.value = ""; // Keyword 초기화
        valueObj.value = ""; // Value 초기화
    }

    // Option을 추가
    function addOption( selectObj, key, val ){
        // 입력값이 없으면 추가하지 않음
        if ( !key ) return;

        // Opeion을 동적 생성
        selectObj.add( createOption( key ,val ) );
        key = ""; // Keyword 초기화
        val = ""; // Value 초기화
    }

	// 선택한 SelectBox의 Text와 Value를 출력
    function showSelectValue( selectObjId ){
        var selectObj = document.getElementById( selectObjId );
        if ( selectObj == null ) return; // 객체가 존재하지 않으면 취소
        if (selectObj.selectedIndex == -1 ) return; // 값이 없을때 -1

        var selectedValue = selectObj.options[selectObj.selectedIndex].value; // 값
        var selectedText = selectObj.options[selectObj.selectedIndex].text; // 텍스트
       
        alert( "선택한 " + selectedText + "의 값은 " + selectedValue );
    }
}
