function writeDoc(str){
	document.write(str);
}

//테이블 보임/감춤
function showThis(obj){  
	obj.style.display = '';
}
function hideThis(obj){
	obj.style.display = 'none';
}

function openBrWindow(theURL,winName,features) { //v2.0
  var openwindow = window.open(theURL,winName,features);
  openwindow.focus();
}

function SelectComboItemByValue(srcObject, trgValue) {
	for(var i=0; i<srcObject.options.length; i++) {
		if(srcObject.options[i].value == trgValue){ srcObject.selectedIndex = i; }
	}
}
function SelectRadioItemByValue(srcObject, trgValue) {
	for(var i=0; i<srcObject.length; i++) {
		if(srcObject[i].value == trgValue){ 
			srcObject[i].checked = true; break;
		}
	}
}

/* Select Form 값 가져오기 */
function getSelectItemValue(sset) {
	for (var i = 0; i < sset.length; i++ ) {
		if ( sset.options[i].selected ) return (sset[i].value);
	}
	return "";
}
function getSelectRadioValue(sset) {
	for (var i = 0; i < sset.length; i++ ) {
		if ( sset[i].checked == true) return (sset[i].value);
	}
	return "";
}

function next(str, firstorder, order, size){	// 주민번호 valid check , 자동 다음 폼 이동
	socno1ord = firstorder;
	socno2ord = order+1;
	
	nex = order + 1;
	num = str.elements[order].value;
	siz = num.length;
	numFlag = Number(num);
	if(!numFlag && siz > 1 && num != '00' && num != '000'){
		alert('숫자를 넣어주세요');
		str.elements[order].select();
		str.elements[order].focus();
		return false;
	}

	if(siz == size){
	if( order == socno1ord) str.elements[nex].focus();
	return true;
	}
	if(order == socno2ord && siz == 1){
		if(num < 1 || num > 4){
			alert('잘못된 주민번호 형식입니다');
			str.elements[order].select();
			str.elements[order].focus();
			return false;
		}
	}
}


function validNAME(str)
{
	if( str == '' ){
		alert("이름을 입력하세요");
		return 0;
	}
	
	var retVal = checkSpace( str );
	if( retVal != ""){
		alert("이름은 띄어쓰기 없이 입력하세요.");
		return 0;
	}
	if( !isHangul(str) ) {
		alert("이름을 한글로 입력하세요.");
		return 0;
	}
	if( str.length > 10 ) {
		alert("이름은 7자까지만 사용할 수 있습니다.");
		return 0;
	}
	return 1;
}

function isNumeric(s)
{
	var isNum = /\d/;
	if( !isNum.test(s) ) return 0;
	return 1;
}
function isNumer(s)
{
	var isNum = /^[\d]+$/;
	if( s.search(isNum) ) return false;
	return true;
}

function isHangul(s) 
{
	var len;
	
	len = s.length;

	for (var i = 0;i < len;i++) {
		if (s.charCodeAt(i) != 32 && (s.charCodeAt(i) < 44032 || s.charCodeAt(i) > 55203))
		return 0;
	}
	return 1;
}
function checkSpace( str )
{
	if(str.search(/\s/) != -1){
		return 1;
	}

	else {
		return "";
	}
}

function checkNo(elename, size)
{
	var num = elename.value;
	var len = num.length;
	var is_num = Number(num);

	if(!is_num && len > 0 && num != '0' && num != '00' && num != '000')
	{
		alert('숫자를 넣어주세요');

		elename.select();
		elename.focus();
		return false;
	}
	if((size > 0) && (len == size))
	{
		elename.select();
		elename.focus();
		return true;
	}
	return true;
}

function checkDigit_socno(socno)
{
	var socnoStr = socno.toString();
	a = socnoStr.substring(0, 1);
	b = socnoStr.substring(1, 2);
	c = socnoStr.substring(2, 3);
	d = socnoStr.substring(3, 4);
	e = socnoStr.substring(4, 5);
	f = socnoStr.substring(5, 6);
	g = socnoStr.substring(6, 7);
	h = socnoStr.substring(7, 8);
	i = socnoStr.substring(8, 9);
	j = socnoStr.substring(9, 10);
	k = socnoStr.substring(10, 11);
	l = socnoStr.substring(11, 12);
	m = socnoStr.substring(12, 13);
	month = socnoStr.substring(2,4);
	day = socnoStr.substring(4,6);
	socnoStr1 = socnoStr.substring(0, 7);
	socnoStr2 = socnoStr.substring(7, 13);

	/* 2004.03.20 월일 valid check */
	if(month <= 0 || month > 12) return 'N';
	if(day <= 0 || day > 31) return 'N';

	/* 2004.03.20 주민등록뒷자리 첫번째 번호 유효성 체크 (1,2,3,4) are only valid -- by muse */
	if(g > 4 || g == 0) return 'N';

	/* 2004.05.07 주민등록번호에 공백이 들어가도 가입이 되는 경우가 발생하지 않도록 -- by fywowng*/
	if (isNaN(socnoStr1) || isNaN(socnoStr2))
	{
		return 'N';
	}

	temp=a*2+b*3+c*4+d*5+e*6+f*7+g*8+h*9+i*2+j*3+k*4+l*5;
	temp=temp%11;
	temp=11-temp;
	temp=temp%10;
	
	if(temp == m)
	return 'Y';
	else
	return 'N';
}

////////////////////////////////////////////////////////////////////////////
/////////////////////  회원가입 페이지
////////////////////////////////////////////////////////////////////////////
/* 중복아이디 체크 팝업 */
function checkExistedUser(userid, resturl)
{
	if (!validUserid(userid)) {
		userid.focus();
		userid.select();
		return;
	}
	//&rfile=pop_check_dupuser
	var popupurl = resturl+"&userid="+userid.value;

	var param = getCenterWinStr(480, 305);

	var checkDupIDWin = window.open(popupurl, "checkExistedUser", param+",menubar=no,scrollbars=no");
	checkDupIDWin.focus();
}
/* 아이디 체크 */
function validUserid(userid) {
	var str = userid.value;
	var len = bytelength(str);

	if (str == "" || len == 0) { 
		alert("아이디는 반드시 입력해야 합니다. 아이디를 입력하시기 바랍니다.");
		return false;
	}

	if (len < 4 || len > 12) {
		alert("아이디는 6글자 이상 12글자 이하이어야 합니다. 아이디를 다시 입력하시기 바랍니다.");
		return false;
	}

	if (str.indexOf(" ") != -1) {
		alert("아이디에는 공백을 넣을 수 없습니다. 아이디를 다시 입력하시기 바랍니다.");
		return false;		
	}

	if (!alphadigitstr(str)) {
		alert("아이디는 영문자와 숫자로만 이루어져야 합니다. 아이디를 다시 입력하시기 바랍니다.");
		return false;
	}

	return true;
}

function getCenterWinStr(width, height)
{
	var str = "";
	str = "height=" + height + ",innerHeight=" + height;
	str += ",width=" + width + ",innerWidth=" + width;

	if (window.screen) {
		var ah = screen.availHeight - 30;
		var aw = screen.availWidth - 10;

		var xc = (aw - width) / 2;
		var yc = (ah - height) / 2;

		str += ",left=" + xc + ",screenX=" + xc;
		str += ",top=" + yc + ",screenY=" + yc;
	}

	return str;
}
/* 영문자 체크 */
function engdigitstr(pstr) {
	var valid = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ";
	return checkstr(pstr, valid, 0);
}
function alphadigitstr(pstr) {
	var valid = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
	return checkstr(pstr, valid, 0);
}
/* 영문자,숫자,특수문자 스트링 체크 */
function charstr(pstr) {
	var valid = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789~!@#$%^*()_+`-={}|[]\\:\";'<>?,./&";
	return checkstr(pstr, valid, 0);
}

/* 문자열의 BYTE 길이 구하기 */ 
function bytelength(pstr) {
	var i, ch;
	len = pstr.length;
	for (i = 0; i < pstr.length; i++) {
		ch = pstr.substr(i,1).charCodeAt(0);
		if (ch > 127) { len++; }
	}
	return len;
}

function checkstr(pstr, pvalid, han) {
	var valid = pvalid;
	var tmp;
	var flag = true;

	for (var i = 0; i < pstr.length; i++) {
		flag = true;
		tmp = "" + pstr.substring(i, i+1);
		
		if (han != 1) {
			if (valid.indexOf(tmp) == -1) {
				return false;
			}
		} else {
			ch = escape(pstr.charAt(i));  // ISO-Latin-1 문자셋으로 변경
			if (valid.indexOf(tmp) == -1 && strCharByte(ch) != 2)
			{
				return false;
			}
		}
	}
	return true;;
}

/* 문자열의 양쪽(왼쪽, 오른쪽) 공백 제거 */ 
function trim(pstr) {
	var search = 0
	while (pstr.charAt(search) == " ") {
		search = search + 1
	}
	pstr = pstr.substring(search, (pstr.length))
	search = pstr.length - 1
	while (pstr.charAt(search) ==" ")
	{
		search = search - 1
	}
	return pstr.substring(0, search + 1)         
}

/* 비밀번호확인 체크 */
function validCPasswd(fpasswdchk, fpasswd, fnamechk, fname) {
	var str1 = trim(fpasswdchk.value);
	var str2 = trim(fpasswd.value);
	var len1 = bytelength(str1);
	var len2 = bytelength(str2);
	if (!fnamechk)	fnamechk = "비밀번호확인";
	if (!fname)		fname = "비밀번호";

	if (str1 == "" || len1 == 0) { 
		alert(fnamechk+"은 반드시 입력해야 합니다. "+fnamechk+"을 입력하시기 바랍니다.");
		return false;
	}

	if (len1 < 6 || len1 > 12) {
		alert(fnamechk+"은 6글자 이상 12글자 이하이어야 합니다. "+fnamechk+"을 다시 입력하시기 바랍니다.");
		return false;
	}		

	if (str1.indexOf(" ") != -1) {
		alert(fnamechk+"에는 공백을 넣을 수 없습니다. "+fnamechk+"을 다시 입력하시기 바랍니다.");
		return false;		
	}

	if (!charstr(str1)) {
		alert(fnamechk+"은 영문, 숫자, 특수문자로만 이루어져야 합니다. "+fnamechk+"을 다시 입력하시기 바랍니다.");
		return false;
	}

	if (str1 != str2) {
		alert(fname+"와 "+fnamechk+"이 일치하지 않습니다. "+fname+"를 다시 입력하시기 바랍니다.");
		return false;
	}
	return true;
}


/* 비밀번호 체크 */
function validPasswd(fpasswd, fname) {
	var str = fpasswd.value;
	var len = bytelength(str);
	
	if (!fname)		fname = "비밀번호";

	if (str == "" || len == 0)
	{ 
		alert(fname+"는 반드시 입력해야 합니다. "+fname+"를 입력하시기 바랍니다.");
		return false;
	}
	 
	if (len < 6 || len > 12)
	{
		alert(fname+"는 6글자 이상 12글자 이하이어야 합니다. "+fname+"를 다시 입력하시기 바랍니다.");
		return false;
	}
	
	if (str.indexOf(" ") != -1)
	{
		alert(fname+"에는 공백을 넣을 수 없습니다. "+fname+"를 다시 입력하시기 바랍니다.");
		return false;		
	}		

	if (!charstr(str))
	{
		alert(fname+"는 영문, 숫자, 특수문자로만 이루어져야 합니다. "+fname+"를 다시 입력하시기 바랍니다.");
		return false;
	}

	for (i = 0;i < len; i++ )
	{
		if (i + 1 >= len || i + 2 >= len) continue;

		if (str.charAt(i) == str.charAt(i+1) && str.charAt(i+1) == str.charAt(i+2))
		{
			alert(fname+"에는 동일글자 3회 이상 연속적으로 반복할 수 없습니다.. "+fname+"를 다시 입력하시기 바랍니다.");	
			return false;
		}
	}
	return true;
}
/* 이동전화번호 체크 */
function validPhone(fphone1, fphone2, fphone3, fname) {
	var str1 = getSelectItemValue(fphone1);
	var str2 = fphone2.value;
	var str3 = fphone3.value;
	var len1 = bytelength(str1);
	var len2 = bytelength(str2);
	var len3 = bytelength(str3);
	if (!fname)		fname = "전화번호";
	
	if (!isNumer(str1) || !isNumer(str2) || !isNumer(str3)) {
		alert(fname+"는 숫자로만 이루어져야 합니다. "+fname+"를 다시 입력하시기 바랍니다.");
		return false;
	}

	if (len1 < 2 || len1 > 4 || len2 < 3 || len2 > 4 || len3 != 4) { 
		alert(fname+"가 올바르지 않습니다. "+fname+"를 확인하신후 다시 입력하시기 바랍니다.");
		return false;
	}       

	return true;
}

function changeEmail(email2,email3) {
	if(email3.value == ''){
		email2.value=''
		email2.readOnly = false;
	}else{
		email2.value = email3.value;
		email2.readOnly = true;
	}
}

// email 체크
function validEmail(email){
	invalidChars="/:,;%$"

	if(email==""){
		return false
	}
	for(i=0;i<invalidChars.length;i++){
		badChar=invalidChars.charAt(i)
		if(email.indexOf(badChar,0)>-1){
			return false
		}
	}
	atPos=email.indexOf("@",1)
	if(atPos==-1){
		return false
	}
	periodPos=email.indexOf(".",atPos)
	if(periodPos==-1){
		return false
	}
	if(periodPos+3>email.length){
		return false
	}
	return true
}

// image resizing
function resize(imgpath, imgid, w, h){
	var obj = new Image();
	obj.src=imgpath;
	var wsize = obj.width;
	var hsize = obj.height;
	var maxsize_w = w;
	var maxsize_h = h;
	var resize_w = 0;
	var resize_h = 0;
	//if(wsize > maxsize_w || hsize > maxsize_h){
		if(maxsize_w/wsize < maxsize_h/hsize){
			var abs_per = maxsize_w/wsize;
			resize_w = Math.round(wsize*abs_per);
			resize_h = Math.round(hsize*abs_per);
		}else{
			var abs_per = maxsize_h/hsize;
			resize_w = Math.round(wsize*abs_per);
			resize_h = Math.round(hsize*abs_per);
		}
	//}else{
	//	resize_w = maxsize_w;
	//	resize_h = maxsize_h;
	//}
	document.images[imgid].width = resize_w;
	document.images[imgid].height = resize_h;
	document.images[imgid].src = imgpath;
}