/*-------------------------------------------------------------------+
 * 1. 파일명: util.js
 * 2. 설  명: JavaScript 처리시에 필요한 유용한 함수를 정의한다.
 * 3. 의존성: 없음.
 * 4. 작성일: 2006.10.16.
 -------------------------------------------------------------------*/


/**
 * 배열에 특정 값의 존재 여부를 판단하여 돌려 준다.
 *
 * @param array 값이 있는지 확인할 배열.
 * @param value 존재 여부를 확인할 값.
 *
 * @return 배열에 있으면 true, 없으면 false.
 */
function existsInArray(array, value) {
	var result = false;

	for ( var i = 0; i < array.length; i++ ) {
		if ( array[i] == value ) {
			result = true;
			break;
		}
	}

	return result;
}


/**
 * 배열의 요소 중 주어진 값의 index 값을 돌려 준다.
 * 해당 값을 찾을 수 없으면 -1을 돌려 준다.
 *
 * @param array 배열.
 * @param value Index를 찾을 값.
 */
function indexInArray(array, value) {
	var index = -1;

	for ( var i = 0; i < array.length; i++ ) {
		if ( value == array[i] ) {
			index = i;
			break;
		}
	}

	return index;
}


/**
 * 특정 객체의 길이 값을 돌려 준다.
 * 객체가 정의되어 있지 않으면 0,
 * 객체의 length라는 속성이 정의되어 있지 않으면 1,
 * 객체의 length라는 속성이 정의되어 있으면 그 값을 돌려 준다.
 */
function objLength(obj) {
	if ( obj == undefined ) return 0;

	if ( obj.length == undefined ) return 1;

	return obj.length;
}


/**
 * 주어진 변수 값이 객체 참조이면 자신을 "string"이면
 * 이 ID를 가진 개체 참조를 돌려 준다.
 */
function ref(obj, index) {
	if ( index == undefined ) {
		obj = typeof(obj) == "string" ? document.getElementById(obj) : obj;
	}
	else {
		obj = typeof(obj) == "string" ?
				document.getElementsByName(obj)[index] :
				obj.length == undefined ? obj : obj[index];
	}

	return obj;
}

//  마우스오버시 배경색상 바꾸기
function chgMouseOver(obj){
	var cells = obj.cells;
	for(var i=0; i<cells.length; i++)
	{
		cells[i].style.backgroundColor = "#D3E8F5";
	}
}
//마우스아웃시 배경색상 바꾸기
function chgMouseOut(obj, color){
	var cells = obj.cells;
	for(var i=0; i<cells.length; i++)
	{
		cells[i].style.backgroundColor = color;
	}
}
