// ----------------------------------------------------------------- //
//	폼값 처리를 위한 함수 시작
// ----------------------------------------------------------------- //
// 폼값을 자동으로 체크한다.
function checkFormEle(form)
{
	var i = 0;
	var chkType = "";
	var chkName = "";
	var chkMsg = "";
	for (i = 0; i < form.elements.length; i++)
	{
		if (form.elements[i].MECheck == 1)
		{
			chkType = form.elements[i].METype;
			if (!chkType || chkType == "undefined") chkType = "C";

			chkName = form.elements[i].title;
			chkMsg = chkName ? chkName + "을(를) " : "";
			chkMsg += "정확하게 입력해주세요.";
			if (!ChkEle(form.elements[i].value, chkType)) return Error(chkMsg, form.elements[i]);
		}
	}
	return true;
}

// 폼 요소의 값을 체크한다.
function ChkEle(str, type, min, max)
{
	var IsNum;
	var Block = true;
	str = Trim(str);

	if(str.length < 1) return false;

	if(type == "I")
	{
		str = str.replace(",", "");
		str = str.replace(".", "");
		if(!IsNumber(str)) return false;
		if(min >= 0 && max >= 0) return ChkLen(str, min, max);
	}
	else if(type == "C")
	{
		return ChkStrLen(str,min,max);
	}
	else
		return false;
}

// 입력값이 숫자나문자인지 체크
function IsAlNum(str)
{
	for(var i=0; i<str.length; i++)
	{
		var chr = str.substr(i,1);
		if((chr < '0' || chr > '9') && (chr < 'a' || chr > 'z') && (chr < 'A' || chr > 'Z'))
		{
			return false;
		}
	}
	return true;
}

// 아이디로 가능한 문자인지 체크
function IsIDStr(str)
{
	var chr;

	chr = str.substr(0,1);
	if((chr < 'a' || chr > 'z') && (chr < 'A' || chr > 'Z'))
	{
		return false;
	}

	for(var i=0; i<str.length; i++)
	{
		chr = str.substr(i,1);
		if((chr < '0' || chr > '9') && (chr < 'a' || chr > 'z') && (chr < 'A' || chr > 'Z') && chr != '_')
		{
			return false;
		}
	}
	return true;
}

// 현재 이벤트값이 숫자인지 아닌지
function onlyNumber(code)
{
	if (code < 48 || code > 57) return false;
	else return true;
}

// 입력값이 숫자인지 검사
function IsNumber(str)
{
	var temp;
	var digits = "0123456789";

	for(var i=0; i<str.length; i++)
	{
		temp = str.substring(i,i+1)
		if(digits.indexOf(temp)==-1)
			return false
	}
	return true;
}

// 입력값의 길이가 min < str < max 인지 체크
function ChkStrLen(str, min, max)
{
	if(!min) min = 1;
	if(!max) max = 999999999;
	min = parseInt(min);
	max = parseInt(max);

	if(str.length >= min && str.length <= max)
	{
		return true;
	}
	return false;
}

// 입력값의 범위가 min < str < max 인지 체크
function ChkLen(digit, min, max)
{
	digit = parseInt(digit);
	min = parseInt(min);
	max = parseInt(max);

	if(!(min >= 0)) min = 0;
	if(!(max >= 0)) max = 9;

	if(digit >= min && digit <= max)
		return true;
	return false;
}

// 입력받은 문자열을 해당폼에 숫자만 리턴한다.
function GetNumber(form,str)
{
	var i;
	var chr;
	var returnNum = "";

	for(i=0; i<str.length; i++)
	{
		chr = str.substr(i,1);
		if(IsNumber(chr))
			returnNum += chr;
	}
	form.value = returnNum;
}

// trim()함수 정의
function Trim(str)
{
	if(!str) str = "";
	return str.replace(/(^\s*)|(\s*$)/g, "");
}

// 에러 및 포커스
function Error(msg, ele)
{
	if(msg) alert(msg);
	if(ele) ele.focus();
	return false;
}

// 에러 및 페이지이동
function error_msg(msg, page, target)
{
	if (msg != "") alert(msg);
	if (page != "")
	{
		if (target == "") target = "window";
		eval(target + ".location.href='" + page + "';");
	}
}
// ----------------------------------------------------------------- //
//	폼값 처리를 위한 함수 끝
// ----------------------------------------------------------------- //

// 주민번호 검사입력값 검사
function IsSSNO(form, formname, mode)
{
	var f = eval("document." + form.name + "." + formname);
	var max_length;
	var next_form;
	var prev_form;

	// form의 다음 elements의 이름을 구한다.
	for(var i=0; i<form.elements.length; i++)
	{
		if(form.elements[i].name == f.name)
			break;
	}
	next_form = eval(form.elements[i+1]);
	prev_form = eval(form.elements[i-1]);

	// 숫자인지 검사
	if(!IsNumber(f.value))
	{
		alert("주민등록번호는 숫자로만 구성됩니다.\n\n다시입력해주세요.");
		f.value="";
		f.focus();
		return false;
	}

	// 자리수검사 및 다음 폼으로 포커스 이동
	if(mode == 1)
	{
		max_length = 6;
		if(f.value.length != max_length)
			return false;
		next_form.focus();
	}
	else
	{
		max_length = 7;

		if(f.value.length != max_length)
			return false;

		if(!CheckSSNO(prev_form.value, f.value))
		{
			alert("잘못된 주민등록번호입니다.\n\n정확하게 입력해주세요.");
			prev_form.focus();
			prev_form.value = "";
			f.value = "";
			return false;
		}
	}

	return true;
}

// 주민번호 검사
function CheckSSNO(ssno1, ssno2)
{
	var check_num = "234567892345";
	var ssno = ssno1 + ssno2;
	var res = 0;

	//-- 입력값 체크 시작
	if(ssno1.length != 6 || ssno2.length != 7)
		return false;

	if(!IsNumber(ssno1) || !IsNumber(ssno2))
		return false;

	if(ssno1.substr(2,2) > 12 || ssno1.substr(4,2) > 31)
		return false;

	if(ssno2.substr(0,1) > 2 || ssno2.substr(0,1) < 1)
		return false;
	//-- 입력값 체크 끝

	for(var i=0; i<12; i++)
		res += ssno.substr(i,1) * check_num.substr(i,1);
	res = (11 - (res % 11)) % 10;

	if(res != ssno.substr(12,1))
		return false;

	return true;
}

// 이메일 검사
function IsEmail(str)
{
	var exclude=/[^@\-\.\w]|^[_@\.\-]|[\._\-]{2}|[@\.]{2}|(@)[^@]*\1/;
	var check=/@[\w\-]+\./;
	var checkend=/\.[a-zA-Z]{2,3}$/;

	if(((str.search(exclude)!=-1)||(str.search(check))==-1)||(str.search(checkend)==-1))
		return false;
	else
		return true;
}

// 화면중앙에 새창띄우기 함수
function new_window(url, name, option, width, height, left, top)
{
	var win_width;
	var win_height;

	// 새창을 위한 좌표값을 구한다.
	if(screen.width < width)
	{
		win_width = 0;
		width = screen.width;
	}
	else
	{
		win_width = (screen.width - width) / 2;
	}

	if(screen.height < height)
	{
		win_height = 0;
		height = screen.height;
	}
	else
	{
		win_height = (screen.height - height) / 2;
	}

	// 옵션처리
	if(!option)
	{
		option = "resizable=no,scrollbars=yes,menubar=no,status=no";
	}

	if(left)
		win_width = left;

	if(top)
		win_height = top;

	// 새창을 띄운다.
	window.open(url,name,option+',width='+width+',height='+height+',left='+win_width+',top='+win_height);
}

function imgSize(max_width)
{
   var lo_img     = window.event.srcElement;

   var li_width   = lo_img.width;
   var li_height  = lo_img.height;

    var temp = 0;
    if (!max_width) var max_width= 500;   // 이미지의 최대 크기

    if ( li_width > max_width ) {  // 이미지가 600보다 크다면 너비를 600으로 맞우고 비율에 맞춰 세로값을 변경한다.
       li_height = li_height/(li_width / max_width);
      lo_img.width = max_width;
      lo_img.height = li_height;
    }
}

function f_resize()
{
   // 이미지객체지정
   var lo_img     = window.event.srcElement;

   var li_width   = lo_img.width+30;
   var li_height  = lo_img.height+60;

   window.resizeTo(li_width,li_height);
}

function isImage(strImg)
{
    // 이미지
    var iStart = strImg.lastIndexOf(".") + 1;
    var strExt = strImg.substr(iStart).toLowerCase();
    if (strExt == "jpg" || strExt == "gif" || strExt == "png") return true;
    return false;
}

function isFlash(strImg)
{
    // 이미지
    var iStart = strImg.lastIndexOf(".") + 1;
    var strExt = strImg.substr(iStart).toLowerCase();
    if (strExt == "swf") return true;
    return false;
}

// object 의 ID를 찾는다.
function findObjectID(n, d)
{
	var p,i,x;
	if (!d) d = document;
	if ((p = n.indexOf("?")) > 0 && parent.frames.length)
	{
		d = parent.frames[n.substring(p+1)].document;
		n=n.substring(0,p);
	}
	if (!(x=d[n]) && d.all) x=d.all[n];
	
	for (i = 0; !x && i < d.forms.length; i++) x=d.forms[i][n];
	for (i = 0; !x && d.layers && i < d.layers.length; i++) x=MM_findObj(n,d.layers[i].document);
	if (!x && d.getElementById) x=d.getElementById(n);
	return x;
}

