function attachFile(obj)
{
	var idn = obj.id.substr(obj.id.length-1, 1);
	var fbox = document.getElementById('file'+idn);
	var coln = fbox.getElementsByTagName('LI');

	for (var i=0; i<coln.length; i++)
	{
		if (coln[i].id=='fblk')
			var fblk = coln[i];
		if (coln[i].id=='fnfo')
			var fnfo = coln[i];
		if (coln[i].id=='fview')
			var fview = coln[i];
	}

	if ( /\.(html|php|htm|html|phtml|php3|php4|php5|ph|inc|cgi|pl|plx|py|sh)$/.test(obj.value) )
	{
		alert('보안상의 이유로 업로드할 수 없는 파일 형식입니다.');
		cancelFile(obj);
		return false;
	}
	else if ( /\.(gif|jpg|jpeg|png)$/.test(obj.value) )
	{
		if ( /Explorer/.test(navigator.appName) )
		{
			if ( /\)|\'/.test(obj.value) )
			{
				if ( window.confirm("파일이나 폴더명에 ' 나 ) 등의 특수문자가 포함되어 있을 경우 보안상의 위험을 피하기 위하여 미리보기 기능이 정지됩니다.\n\n그러나 미리 보지는 못하지만 파일은 정상적으로 업로드됩니다. 계속 진행하시겠습니까?") )
					return false;
				else
				{
					var pNod = obj.parentNode;
					var thtml = pNod.innerHTML;
					pNod.removeChild(obj);
					pNod.innerHTML = thtml;
					return false;
				}
			}

			var defWidth = 500;

			fblk.style.display = 'block';
			fblk.style.height = '100%';
			fblk.style.width = '100%';
			fview.style.display = 'block';

			if (fview.firstChild)
				fview.removeChild(fview.firstChild);

			fview.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + obj.value + "',sizingMethod=image)";

			var w = fview.offsetWidth;
			var h = fview.offsetHeight;

			if (w>defWidth)
			{
				var ratioW = w / defWidth;
				var newH = parseInt(h/ratioW);
				fview.style.width = defWidth+'px';
				fview.style.height = newH+'px';
			}
			else
			{
				fview.style.width = w+'px';
				fview.style.height = h+'px';
			}

			fview.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + obj.value + "',sizingMethod=scale)";
			fnfo.innerText = obj.value.substring(obj.value.lastIndexOf('\\')+1, obj.value.length)+" (↓화면:"+fview.style.width+"*"+fview.style.height+"px 원본:"+w+'*'+h+'px)';
			return;
		}
		if ( /Netscape/.test(navigator.appName) )
		{
			fblk.style.display = 'block';
			fnfo.innerHTML = obj.value;
			fview.style.display = 'none';
			return;
		}
	}
	else if ( /\.[\S]{2,4}$/.test(obj.value) )
	{
		fblk.style.display = 'block';
		fnfo.innerHTML = obj.value.substr(obj.value.lastIndexOf("\\")+1);
		fview.style.display = 'none';
		return;
	}
	else
	{
		alert('파일 형식이 올바르지 않습니다.');
		cancelFile(obj);
		return false;
	}
}

function attachImgFile(obj)
{
	var fblk = document.getElementById('fblk');
	var fnfo = document.getElementById('fnfo');
	var fview = document.getElementById('fview');

	if ( /\.(gif|jpg|jpeg|png)$/.test(obj.value) )
	{
		if ( /Explorer/.test(navigator.appName) )
		{
			if ( /\)|\'/.test(obj.value) )
			{
				if ( window.confirm("파일이나 폴더명에 ' 나 ) 등의 특수문자가 포함되어 있을 경우 보안상의 위험을 피하기 위하여 미리보기 기능이 정지됩니다.\n\n그러나 미리 보지는 못하지만 파일은 정상적으로 업로드됩니다. 계속 진행하시겠습니까?") )
					return false;
				else
				{
					var pNod = obj.parentNode;
					var thtml = pNod.innerHTML;
					pNod.removeChild(obj);
					pNod.innerHTML = thtml;
					return false;
				}
			}

			var defWidth = 180;
			var defHeight = 65;

			fblk.style.display = 'block';
			fblk.style.height = '100%';
			fblk.style.width = '100%';
			fview.style.display = 'block';

			if (fview.firstChild)
				fview.removeChild(fview.firstChild);

			fview.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + obj.value + "',sizingMethod=image)";

			var w = fview.offsetWidth;
			var h = fview.offsetHeight;

			if (w!=defWidth || h!=defHeight)
			{
				if (w!=defWidth)
					alert('이미지의 가로길이가 180pixel이어야 합니다');

				if (h!=defHeight)
					alert('이미지의 세로길이가 65pixel이어야 합니다');

				closeImgNfo(obj.id);
				return false;
			}
			else
			{
				fview.style.width = w+'px';
				fview.style.height = h+'px';
			}

			fview.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + obj.value + "',sizingMethod=scale)";
			fnfo.innerText = obj.value.substring(obj.value.lastIndexOf('\\')+1, obj.value.length)+" (↓화면:"+fview.style.width+"*"+fview.style.height+"px 원본:"+w+'*'+h+'px)';
			return;
		}
		if ( /Netscape/.test(navigator.appName) )
		{
			fblk.style.display = 'block';
			fnfo.innerHTML = obj.value;
			fview.style.display = 'none';
			return;
		}
	}
	else
	{
		alert('업로드 가능한 이미지 파일이 아닙니다.');
		cancelFile(obj);
		return false;
	}
}

function cancelFile(obj)
{
	var idn = 'file'+obj.id.substr(obj.id.length-1, 1);
	var fbox = document.getElementById(idn);
	var coln = fbox.getElementsByTagName('INPUT');

	for (var i=0; i<coln.length; i++)
	{
		if (coln[i].type=='file')
		{
			var nNod = coln[i].cloneNode(false);
			nNod.value = '';
			var pNod = obj.parentNode;
			pNod.replaceChild(nNod, coln[i]);
			i = coln.length;
		}
	}

	coln = fbox.getElementsByTagName('LI');
	for (i=0; i<coln.length; i++)
	{
		if (coln[i].id=='fblk')
		{
			coln[i].style.display = 'none';
			i = coln.length;
		}
	}
	return;
}

function centerWin()
{
	if (document.all)
	{
		var leftX = (screen.width-document.body.clientWidth)/2;
		var topY = (screen.height-document.body.clientHeight)/3;
	}
	else
	{
		var leftX = (screen.width-window.innerWidth)/2;
		var topY = (screen.height-window.innerHeight)/3;
	}
	window.moveTo(leftX, topY);
}

function chgEmail(idn, obj)
{
	var val = obj.value;
	while(obj.id!=idn)
	{
		obj = obj.previousSibling;
	}

	if (val=='0')
		obj.value = '';
	else
		obj.value = val;
	return;
}

function chgFileStat(idn, val)
{
	var obj = document.getElementById(idn);
	obj.style.display = (val==true ? 'block' : 'none');
	return;
}

function chgObjROStat(id1, id2)
{
	var obj = document.getElementById(id1);
	if ( /\S/.test(obj.value) )
	{
		obj = document.getElementById(id2)
		obj.readOnly = false;
		obj.style.backgroundColor = '#ffffff';
		return;
	}
	else
	{
		obj.value = '';
		obj = document.getElementById(id2);
		obj.value = '';
		obj.readOnly =true;
		obj.style.backgroundColor = '#eeeeee';
		return;
	}
}

function chkID(idn)
{
	window.open('./cgi/cgi_member_chkid.php?oid='+idn, 'newin', 'width=500,height=135,top=300,left=300');
	return;
}

function chkStrLen(str)
{
	for (var i=0, len=0; i<str.length; i++)
	{
		if (escape(str.charAt(i)).length==6)
			len++;
		len++;
	}
	return len;
}

function chkJumin(val)
{
	var PN=val;
	if (PN.length !=13)
		return false;

	var chk = 0;
	for (var i=0;i<=11;i++)
	{
		if (i<8)
			chk = chk+((i+2)*parseInt(PN.substring(i,i+1)));
		else
			chk = chk+((i-6)*parseInt(PN.substring(i,i+1)));
	}

	chk=11-(chk%11);
	chk=chk%10;

	if (chk == PN.substring(12,13))
		return true;
	else
		return false;
} 

function chkFrmMemTerms(obj)
{
	for (var i=0; i<obj.elements.length; i++)
	{
		var objAtb = obj.elements[i].getAttribute('name');
		if (objAtb=='termsok')
		{
			if (obj.elements[i].checked==false)
			{
				alert('회원 이용 약관에 동의하지 않았습니다.');
				obj.elements[i].focus();
				return false;
			}
		}
		if (objAtb=='privacyok')
		{
			if (obj.elements[i].checked==false)
			{
				alert('개인 정보 보호 정책에 동의하지 않았습니다.');
				obj.elements[i].focus();
				return false;
			}
		}
		if ( objAtb=='usrname' )
		{
			if ( !/\S/.test(obj.elements[i].value) )
			{
				alert('성명을 입력하지 않았습니다.');
				obj.elements[i].value = '';
				obj.elements[i].focus();
				return false;
			}
		}
		if ( objAtb=='usrjumin' )
		{
			if ( !chkJumin(obj.elements[i].value) )
			{
				alert('주민등록번호가 유효하지 않습니다.');
				obj.elements[i].value = '';
				obj.elements[i].focus();
				return false;
			}
		}
	}
	return true;
}

function chgChkPwFrm(idn, val, rno)
{
	var obj = document.getElementById(idn);
	if (val=='show')
	{
		document.getElementById('rno').value = rno;
		obj.style.display = 'block';
		if (document.all)
		{
			widthPn = obj.parentNode.clientWidth;
			heightPn = obj.parentNode.clientHeight;

			obj.style.left = (widthPn-obj.clientWidth)/2;
			obj.style.top = (heightPn-obj.clientHeight)/2;
		}
		else
		{
			obj.style.left = '100px';
			obj.style.top = '100px';
		}
	}
	else
	{
		obj.style.display = 'none';
	}
}

function chgUploadNum(val, min, max)
{
	var obj = document.getElementById('upload');
	var uploads = document.getElementsByName("ufile[]");
	var fbox = obj.getElementsByTagName('UL');
	var lastFbox;

	for (var i=(fbox.length*1-1); i>=0; i--)
	{
		if ( /file/.test(fbox[i].id) )
		{
			lastFbox = fbox[i];
			i = -1;
		}
	}

	if (val==' + ')
	{
		if (uploads.length<max)
		{
			var nNod = lastFbox.cloneNode(true);
			var fn = nNod.id.substr(nNod.id.length-1, 1)*1+1;
			nNod.id = nNod.id.substr(0, nNod.id.length-1)+fn;

			var i = 0;
			for (i=0; i<nNod.childNodes.length; i++)
			{
				if (nNod.childNodes[i].id=='finput')
				{
					fobj = nNod.childNodes[i].childNodes;
					for(idx in fobj)
					{
						if (fobj[idx].nodeName=='INPUT')
							fobj[idx].id = fobj[idx].id.substr(0, fobj[idx].id.length-1)+fn;
						if (fobj[idx].type=='file')
							fobj[idx].value = '';
					}
				}
				if (nNod.childNodes[i].id=='fblk')
					nNod.childNodes[i].style.display = 'none';
			}

			obj.appendChild(nNod);
			return;
		}
		else
		{
			alert('첨부파일의 수를 최대 '+max+'개로 제한합니다.');
			return false;
		}
	}

	if (val==' - ')
	{
		if ( uploads.length > min )
		{
			obj.removeChild(obj.lastChild);
			return;
		}
		else
		{
			alert('첨부파일 입력란을 더 이상 줄일 수 없습니다.');
			return false;
		}
	}
}

function chgNavImg(idn, img, ord)
{
	var obj = document.getElementById(idn);
	var lnkObj = document.getElementById('ankMor');
	obj = obj.getElementsByTagName('DIV');

	for (var i=0; i<obj.length; i++)
	{
		if (obj[i].id.indexOf('news_btn_')>-1)
		{
			if (obj[i].id.substr(obj[i].id.lastIndexOf('_')+1, 1) == ord)
			{
				obj[i].style.backgroundImage = "url(" + img + ")";
				if (ord=='1')
					lnkObj.onclick = function() { location.href='?where=c_1'; }
				else
					lnkObj.onclick = function() { location.href='?where=b_4'; }
			}
			else
			{
				if (obj[i].style.backgroundImage.indexOf('a.gif')<0)
					var str = "a.gif)";
				else
					var str = ".gif)";
				obj[i].style.backgroundImage = obj[i].style.backgroundImage.substr(0, obj[i].style.backgroundImage.length-5) + str;
			}

		}

		if (obj[i].id.indexOf('news_lst_')>-1)
		{
			if (obj[i].id.substr(obj[i].id.lastIndexOf('_')+1, 1) == ord)
				obj[i].style.display = "block";
			else
				obj[i].style.display = "none";
		}
	}
}

function confirmObj(obj)
{
	var arrF = new Array();
	var arrV = new Array();
	var arr;
	var objT;
	var str;
	for (var i=0; i<obj.elements.length; i++)
	{
		var objAtb = obj.elements[i].getAttribute('name');
		if (objAtb == 'passwd1')
		{
			if ( /\S/.test(obj.elements[i].value) )
			{
				if ( /[^A-Za-z0-9]/.test(obj.elements[i].value) || !/^[0-9A-Za-z]{4,15}$/.test(obj.elements[i].value) )
				{
					alert('비밀번호는 4~15자의 영문, 숫자의 조합입니다.');
					obj.elements[i].value = '';
					obj.elements[i].value = '';
					document.getElementById('passwd2').value = '';
					document.getElementById('passwd2').readOnly = true;
					document.getElementById('passwd2').style.backgroundColor = '#eeeeee';
					return false;
				}
				else if (obj.elements[i].value != document.getElementById('passwd2').value)
				{
					alert('비밀번호와 비밀번호 확인이 일치하지 않습니다.');
					obj.elements[i].value = '';
					document.getElementById('passwd2').value = '';
					document.getElementById('passwd2').readOnly = true;
					document.getElementById('passwd2').style.backgroundColor = '#eeeeee';
					return false;
				}
				else
				{
					arrF.push('비밀번호');
					arrV.push(obj.elements[i].value);
				}
			}
		}
		if (objAtb == 'email1')
		{
			objT = document.getElementById('hemail');
			newMail = obj.elements[i].value+'@'+obj.elements[++i].value;;
			if (newMail != objT.value)
			{
				var pattern = /^[_a-zA-Z0-9-\.]+@[\.a-zA-Z0-9-]+\.[a-zA-Z]+$/;
				if (!pattern.test(newMail))
				{
					alert('이메일 형식이 올바르지 않습니다');
					arr = objT.value.split('@');
					obj.elements[ (i-1) ].value = arr[0];
					obj.elements[i].value = arr[1];
					return false;
				}
				arrF.push('이메일');
				arrV.push(newMail);
			}
		}
		if (objAtb == 'passwdQ')
		{
			objT = document.getElementById('hpasswdQ');
			if ( obj.elements[i].value != objT.value)
			{
				arrF.push('비밀번호 분실시 질문');
				arrV.push(obj.elements[i].value);
			}
		}
		if (objAtb == 'passwdA')
		{
			objT = document.getElementById('hpasswdA');
			if ( obj.elements[i].value != objT.value)
			{
				arrF.push('비밀번호 분실시 답');
				arrV.push(obj.elements[i].value);
			}
		}
	}

	if (arrF.length>0)
	{
		str = '다음 항목을 아래와 같이 변경 하시겠습니까?\n\n\n';
		for (idx in arrF)
		{
			if (arrF[idx]=='비밀번호')
			{
				str += '비밀번호 : ';
				for (i=1; i<arrF[idx].length; i++)
				{
					str += '•';
				}
				str += '\n\n';
			}
			else
			{
				str += arrF[idx] + ' : ' + arrV[idx] + '\n\n';
			}
		}

		if (confirm(str))
		{
			obj.action = 'cgi/cgi_member_work.php?wt=modify';
			obj.submit();
		}
		else
		{
			return false;
		}
	}
	else
	{
		location.href = './';
	}
}

function closeImgNfo(idn)
{
	var fblk = document.getElementById('fblk');
	var fview = document.getElementById('fview');
	fblk.style.display = "none";
	fview.style.display = "none";
	initFileFrm(idn);
}

function initFileFrm(idn)
{
	var obj = document.getElementById(idn);
	var pNod = obj.parentNode;
	var nNod = obj.cloneNode(false);
	nNod.value = '';
	pNod.replaceChild(nNod, obj);
}

function set_cookie(name, value, expirehours, domain) 
{
	var today = new Date();
	today.setTime(today.getTime() + (60*60*1000*expirehours));
	document.cookie = name + "=" + escape( value ) + "; path=/; expires=" + today.toGMTString() + ";";
	if (domain) {
		document.cookie += "domain=" + domain + ";";
	}
}

// 쿠키 얻음
function get_cookie(name) 
{
	var find_sw = false;
	var start, end;
	var i = 0;

	for (i=0; i<= document.cookie.length; i++)
	{
		start = i;
		end = start + name.length;

		if(document.cookie.substring(start, end) == name) 
		{
			find_sw = true
			break
		}
	}

	if (find_sw == true) 
	{
		start = end + 1;
		end = document.cookie.indexOf(";", start);

		if(end < start)
			end = document.cookie.length;

		return document.cookie.substring(start, end);
	}
	return "";
}

// 쿠키 지움
function delete_cookie(name) 
{
	var today = new Date();

	today.setTime(today.getTime() - 1);
	var value = get_cookie(name);
	if(value != "")
		document.cookie = name + "=" + value + "; path=/; expires=" + today.toGMTString();
}

function limitStrLen(obj, max, len)
{
	var strlen = chkStrLen(obj.value);
	if (strlen)
		document.getElementById(len).innerHTML = strlen;

	if (strlen >= max)
	{
		if (event.keyCode==229)
		{
			event.keyCode = 9;
			document.forms[0].item(0).focus();
		}
		else
			event.keyCode = 8;
	}
	return;
}

function movURL (where)
{
	location.href = where;
}

function openWin (url, wname, o1, o2, o3, o4, o5, o6, o7, o8)
{
	var l = (screen.availWidth - o1)/2;
	var t = (screen.avaliHeight - o2)/2;
	var opt = 'width='+o1+',height='+o2+',left='+l+',top='+t+',location='+o3+',menubar='+o4+',resizable='+o5+',scrollbars='+o6+',status='+o7+',toolbar='+o8;
	window.open(url, wname, opt);
}

function findZip(fname, fzip1, fzip2, faddr1, faddr2)
{
	url = "./cgi/cgi_zip.php?fname="+fname+"&fzip1="+fzip1+"&fzip2="+fzip2+"&faddr1="+faddr1+"&faddr2="+faddr2;
	openWin(url, "winZip", 616,460,0,0,0,1,1,0);
}

function previewImg (obj)
{
	if ( /\.(gif|jpg|jpeg|png)$/.test(obj.value) )
	{
		if ( /Explorer/.test(navigator.appName) )
		{
			if ( /\)|\'/.test(obj.value) )
			{
				if ( window.confirm("파일이나 폴더명에 ' 나 ) 등의 특수문자가 포함되어 있을 경우 보안상의 위험을 피하기 위하여 미리보기 기능이 정지됩니다.\n\n그러나 미리 보지는 못하지만 파일은 정상적으로 업로드됩니다. 계속 진행하시겠습니까?") )
					return false;
				else
				{
					var pNod = obj.parentNode;
					var thtml = pNod.innerHTML;
					pNod.removeChild(obj);
					pNod.innerHTML = thtml;
					return false;
				}
			}

			var defWidth = 400;
			var blkObj = document.getElementById('imgBlk');
			var imgObj = document.getElementById('imgFrm');
			var nfoObj = document.getElementById('imgNfo');

			blkObj.style.display = 'block';
			blkObj.style.height = '100%';
			blkObj.style.width = '100%';

			if (imgObj.firstChild)
				imgObj.removeChild(imgObj.firstChild);

			imgObj.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + obj.value + "',sizingMethod=image)";

			var w = imgObj.offsetWidth;
			var h = imgObj.offsetHeight;

			if (w>defWidth)
			{
				var ratioW = w / defWidth;
				var newH = parseInt(h/ratioW);
				imgObj.style.width = defWidth+'px';
				imgObj.style.height = newH+'px';
			}

			imgObj.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + obj.value + "',sizingMethod=scale)";
			nfoObj.style.width = imgObj.style.width;
			nfoObj.innerText = obj.value.substring(obj.value.lastIndexOf('\\')+1, obj.value.length)+" ("+w+'*'+h+'px)';
		}
		if ( /Netscape/.test(navigator.appName) )
		{
			var blkObj = document.getElementById('imgBlk');
			var txtObj = document.getElementById('imgTxt');
			var imgObj = document.getElementById('imgFrm');

			blkObj.style.display = 'block';
			imgObj.style.display = 'none';
			txtObj.innerHTML = obj.value;
		}
	}
	else
	{
		alert('업로드 가능한 이미지 파일이 아닙니다. 가능한 이미지 파일형식은 GIF JPG PNG 포멧입니다.');
		var pNod = obj.parentNode;
		var thtml = pNod.innerHTML;
		pNod.removeChild(obj);
		pNod.innerHTML = thtml;
		return false;
	}
}

function reloadImg (obj)
{
	var objSrc = obj.src;
	return obj.src = objSrc;
}

function resetFrm (obj)
{
	obj.reset();
	document.getElementById('fblk').style.display = 'none';
	resetEdt();
	return;
}

function resizeWin (obj)
{
	var viewW = obj.width + 100;
	var viewH = obj.height + 50;
	var winW = screen.width - 50;
	var winH = screen.height - 80;

	if (viewW>winW)
		viewW = winW;
	else if (viewW<300)
		viewW = 300;

	if (viewH>winH)
		viewH = winH;
	else if (viewH<300)
		viewH = 300;

	window.resizeTo(viewW, viewH);
	centerWin();
}

function searchFnc (obj)
{
	var selElm = obj.getElementsByTagName('SELECT')[0];
	var textElm = obj.getElementsByTagName('INPUT')[0];
	if ( !/\S/.test(textElm.value) )
	{
		alert('검색하실 내용을 입력하십시오');
		textElm.value = '';
		textElm.focus();
		return false;
	}
	else
		obj.submit();
}

function chgFindFrm(idn1, idn2)
{
	var objToShow = document.getElementById(idn1);
	var objToHide = document.getElementById(idn2);

	objToShow.style.display = 'block';
	objToShow.style.zIndex = '99';
	objToHide.style.display = 'none';
	objToHide.style.zIndex = '';
}

function chkMemFindFrm(obj)
{
	for (var i=0; i<obj.elements.length; i++)
	{
		var objAtb = obj.elements[i].getAttribute('name');

		if ( objAtb=='usrid' )
		{
			if ( !/\S/.test(obj.elements[i].value) )
			{
				alert('아이디를 입력하지 않았습니다.');
				obj.elements[i].value = '';
				obj.elements[i].focus();
				return false;
			}
			if ( /[^A-Za-z0-9_]/.test(obj.elements[i].value) || !/^[0-9A-Za-z_]{4,15}$/.test(obj.elements[i].value) )
			{
				alert('아이디는 4~15자의 영문, 숫자, _ 의 조합입니다.');
				obj.elements[i].value = '';
				obj.elements[i].focus();
				return false;
			}
		}

		if ( objAtb=='usrname' )
		{
			if ( !/\S/.test(obj.elements[i].value) )
			{
				alert('성명을 입력하지 않았습니다.');
				obj.elements[i].value = '';
				obj.elements[i].focus();
				return false;
			}
		}
		if (objAtb=='email1')
		{
			var pattern = /^[_a-zA-Z0-9-\.]+$/;
			if ( !/\S/.test(obj.elements[i].value) )
			{
				alert('이메일 아이디를 입력하지 않았습니다.');
				obj.elements[i].value = '';
				obj.elements[i].focus();
				return false;
			}
			if (!pattern.test(obj.elements[i].value))
			{
				alert('이메일 아이디의 형식이 올바르지 않습니다.');
				obj.elements[i].value = '';
				obj.elements[i].focus();
				return false;
			}
		}
		if (objAtb=='email2')
		{
			var pattern = /^[\.a-zA-Z0-9-]+\.[a-zA-Z]+$/;
			if ( !/\S/.test(obj.elements[i].value) )
			{
				alert('이메일 도메인을 입력하지 않았습니다.');
				obj.elements[i].value = '';
				obj.elements[i].focus();
				return false;
			}
			if (!pattern.test(obj.elements[i].value))
			{
				alert('이메일 도메인의 형식이 올바르지 않습니다.');
				obj.elements[i].value = '';
				obj.elements[i].focus();
				return false;
			}
		}
	}
	return true;
}

function validator (obj)
{
	for (var i=0; i<obj.elements.length; i++)
	{
		var objAtb = obj.elements[i].getAttribute('name');
		if ( objAtb=='usrname' )
		{
			if ( !/\S/.test(obj.elements[i].value) )
			{
				alert('성명을 입력하지 않았습니다.');
				obj.elements[i].value = '';
				obj.elements[i].focus();
				return false;
			}
		}
		if (objAtb=='usrid')
		{
			if ( !/\S/.test(obj.elements[i].value) )
			{
				alert('아이디를 입력하지 않았습니다.');
				obj.elements[i].value = '';
				obj.elements[i].focus();
				return false;
			}
			if ( /[^A-Za-z0-9_]/.test(obj.elements[i].value) || !/^[0-9A-Za-z_]{4,15}$/.test(obj.elements[i].value) )
			{
				alert('아이디는 4~15자의 영문, 숫자, _ 의 조합입니다.');
				obj.elements[i].value = '';
				obj.elements[i].focus();
				return false;
			}
		}
		if (objAtb=='email')
		{
			if (obj.elements[i].value!='')
			{
				var pattern = /^[_a-zA-Z0-9-\.]+@[\.a-zA-Z0-9-]+\.[a-zA-Z]+$/;
				if (!pattern.test(obj.elements[i].value))
				{
					alert('이메일 형식이 올바르지 않습니다.');
					obj.elements[i].value = '';
					obj.elements[i].focus();
					return false;
				}
			}
		}
		if (objAtb=='email1')
		{
			if (obj.elements[i].value!='')
			{
				var pattern = /^[_a-zA-Z0-9-\.]+$/;
				if (!pattern.test(obj.elements[i].value))
				{
					alert('이메일 형식이 올바르지 않습니다.');
					obj.elements[i].value = '';
					obj.elements[i].focus();
					return false;
				}
			}
		}
		if (objAtb=='email2')
		{
			if (obj.elements[i].value!='')
			{
				var pattern = /^[\.a-zA-Z0-9-]+\.[a-zA-Z]+$/;
				if (!pattern.test(obj.elements[i].value))
				{
					alert('이메일 형식이 올바르지 않습니다.');
					obj.elements[i].value = '';
					obj.elements[i].focus();
					return false;
				}
			}
		}
		if ( (objAtb=='subject') && !(/\S/.test(obj.elements[i].value)) )
		{
			alert('제목을 입력하지 않았습니다.');
			obj.elements[i].value = '';
			obj.elements[i].focus();
			return false;
		}
		if ( (objAtb=='contents') && (!/\S/.test(obj.elements[i].value)) )
		{
			alert('내용을 입력하지 않았습니다.');
			return false;
		}
		if ( (objAtb=='antikey') && (/[^0-9]/.test(obj.elements[i].value) || (obj.elements[i].value.length!=5)) )
		{
			alert('자동입력방지 key는 5글자(숫자)를 입력합니다.');
			obj.elements[i].value = '';
			obj.elements[i].focus();
			return false;
		}
		if (objAtb=='passwd')
		{
			if ( !/\S/.test(obj.elements[i].value) )
			{
				alert('비밀번호를 입력하지 않았습니다.');
				obj.elements[i].value = '';
				obj.elements[i].focus();
				return false;
			}
			else if ( /[^A-Za-z0-9]/.test(obj.elements[i].value) || !/^[0-9A-Za-z]{4,15}$/.test(obj.elements[i].value) )
			{
				alert('비밀번호 형식이 올바르지 않습니다. 비밀번호는 4~15글자(영문자, 숫자)를 입력합니다.');
				obj.elements[i].value = '';
				obj.elements[i].focus();
				return false;
			}
		}
		if (objAtb=='passwd1')
		{
			if ( !/\S/.test(obj.elements[i].value) )
			{
				alert('비밀번호를 입력하지 않았습니다.');
				obj.elements[i].value = '';
				obj.elements[i].focus();
				return false;
			}
			else if ( /[^A-Za-z0-9]/.test(obj.elements[i].value) || !/^[0-9A-Za-z]{4,15}$/.test(obj.elements[i].value) )
			{
				alert('비밀번호 형식이 올바르지 않습니다. 비밀번호는 4~15글자(영문자, 숫자)를 입력합니다.');
				obj.elements[i].value = '';
				obj.elements[i].focus();
				return false;
			}
		}
		if (objAtb=='passwd2')
		{
			if ( document.getElementById('passwd1').value != obj.elements[i].value )
			{
				alert('비밀번호 확인란에 입력한 비밀번호가 상위 비밀번호와 일치하지 않습니다.');
				obj.elements[i].value = '';
				obj.elements[i].focus();
				return false;
			}
		}
		if (objAtb=='passwdQ')
		{
			if ( !obj.elements[i].selectedIndex>0 )
			{
				alert('비밀번호 분실시 본인임을 확인할 수 있는 질문이 선택되지 않았습니다.');
				obj.elements[i].selectedIndex = 0;
				return false;
			}
		}
		if (objAtb=='passwdA')
		{
			if ( !/\S/.test(obj.elements[i].value) )
			{
				alert('비밀번호 분실시 본인임을 확인할 수 있는 답변이 입력되지 않았습니다.');
				obj.elements[i].value = '';
				obj.elements[i].focus();
				return false;
			}
		}
		if (objAtb=='uzip1' || objAtb=='uzip2')
		{
			if ( !/\S/.test(obj.elements[i].value) )
			{
				alert('우편번호가 입력되지 않았습니다');
				return false;
			}
		}
		if (objAtb=='uaddr1')
		{
			if ( !/\S/.test(obj.elements[i].value) )
			{
				alert('주소가 입력되지 않았습니다');
				return false;
			}
		}
		if (objAtb=='uaddr2')
		{
			if ( !/\S/.test(obj.elements[i].value) )
			{
				alert('세부 주소가 입력되지 않았습니다');
				obj.elements[i].value = '';
				obj.elements[i].focus();
				return false;
			}
		}
		if (objAtb=='uphone1' || objAtb=='uphone2' || objAtb=='uphone3')
		{
			if ( !/\S/.test(obj.elements[i].value) )
			{
				alert('연락처가 입력되지 않았습니다');
				obj.elements[i].value = '';
				obj.elements[i].focus();
				return false;
			}
			if ( /\D/.test(obj.elements[i].value) )
			{
				alert('연락처 입력란에는 숫자이외의 문자는 허용되지 않습니다');
				obj.elements[i].value = '';
				obj.elements[i].focus();
				return false;
			}
		}

	}
	return true;
}

function viewImg (obj, fn)
{
	var objLay = document.getElementById('imgView');
	var maskLay = document.getElementById('mask');
	var tImg = new Image();
	tImg.src = obj.src;

	if (objLay.style.display=='none')
	{
		maskLay.style.display = 'block';
		maskLay.style.zIndex = 1;
		maskLay.style.top = maskLay.style.left = '0px';
		maskLay.style.width = document.body.scrollWidth;
		maskLay.style.height = document.body.scrollHeight;
		maskLay.style.filter = "alpha(opacity=80)";
		maskLay.style.opacity = "0.8";

		objLay.style.display = 'block';
		objLay.style.zIndex = 2;
		objLay.innerHTML = "<a href='#'><img src='"+obj.src+"' onClick='viewImg(this)' style='border:0px' alt='"+fn+"&nbsp;("+tImg.width+"*"+tImg.height+")'></a>";

		objLay.style.left = (document.body.scrollLeft*1+(document.body.clientWidth-objLay.offsetWidth)/2) + 'px';
		objLay.style.top = (document.body.scrollTop*1+(document.body.clientHeight-objLay.offsetHeight)/2) + 'px';
	}

	else if (objLay.style.display=='block')
	{
		objLay.innerHTML='';
		objLay.style.display = 'none';
		maskLay.style.display = 'none';
	}
}

var StickerAnimation = function(){};
	StickerAnimation.prototype = {
		duration : null,
		obj : null,
		from : null,
		to : null,
		timer : 0,
		step : 0,
		start : function(obj, from, to, duration, type){
			var self = this;
			this.obj = obj;
			this.from = from;
			this.to = to;
			this.now = new Date;
			this.duration = duration || 1000;
			this._delta = this['_delta' +(type || 'Elastic')];

			if(this.timer)
				this.stop();

			this.timer = setInterval(function(){self.run();}, 10);
		},
		run : function(){

			var time = ((new Date) - this.now) / this.duration;
			var delta = this._delta(time);

			var step = Math.pow(2, this.step);
			var dep_x = (this.to.x - this.from.x) * delta;
			var dep_y = (this.to.y - this.from.y) * delta;

			if(time > 1){
				this.stop();
				this.end();
			}else{

				this.obj.style.marginLeft = this.from.x + dep_x + "px";
				this.obj.style.marginTop = this.from.y + dep_y + "px";
			}
		},
		end : function(){
			this.obj.style.marginLeft = (this.to.x) + "px";
			this.obj.style.marginTop = (this.to.y) + "px";
		},
		stop : function(){
			clearInterval(this.timer);
			this.timer = 0;
		},

		_deltaBounce : function(pos){
			var p = 1 - pos;

			var value;
			for (var a = 0, b = 1; 1; a += b, b /= 2){
				if (p >= (7 - 4 * a) / 11){
					value = - Math.pow((11 - 6 * a - 11 * p) / 4, 2) + b * b;
					break;
				}
			}
			return 1 - value;
		},

		_deltaExpo : function(pos){
			var p = 1 - pos;
			return 1 - Math.pow(2, 8 * (p - 1));
		},

		_deltaElastic : function(pos){
			var p = 1 - pos;
			return 1 - Math.pow(2, 10 * --p) * Math.cos(20 * p * Math.PI * 1 / 3);
		},

		_deltaStatic : function(pos){
			return 1;
		}

	}

	var StickerManager = {
		init : false,
		stickers : [],
		opts : [],
		add : function(id, duration, type){

			if(!this.init){
				var self = this;
				var init_event = function(){self.oninit();};
				var scroll_event = function(){self.onscroll();};

				if(window.attachEvent){
					window.attachEvent('onload', init_event);
					window.attachEvent('onscroll', scroll_event);
				}else{
					window.addEventListener('load', init_event, false);
					document.addEventListener('scroll', scroll_event, false);
				}

				this.init = true;
			}

			this.stickers.push(id);
			this.opts.push({duration:duration,type:type});
		},

		oninit : function(){
			var sticker;
			for(var x = 0, len = this.stickers.length; x < len; x++){
				sticker = document.getElementById(this.stickers[x]);
				if(!sticker){
					alert(this.stickers[x] + ' is bad id.');
					this.stickers[x] = null;
					continue;
				}
				this.stickers[x] = sticker;
				sticker.style.marginLeft = sticker.style.marginTop = "0px";
			}
		},

		onscroll : function(){
			var left = parseInt(document.body.scrollLeft);
			var top = parseInt(document.body.scrollTop);
			var sticker;
			for(var x = 0, len = this.stickers.length; x < len; x++){
				sticker = this.stickers[x];

				if(!sticker)
					continue;

				if(!sticker.animation){
					sticker.animation = new StickerAnimation();
				}else{
					sticker.animation.stop();
				}
				
				sticker.animation.start(
					sticker,
					{x:parseInt(sticker.style.marginLeft), y:parseInt(sticker.style.marginTop)},
					{x:left, y:top},
					this.opts[x].duration,
					this.opts[x].type
				);

			}
		}
	}