function _go_login(v,login_url) {
	var obj = document.getElementById('login_box');
	$('return_url').value = login_url;
	if(obj && obj.style) {
		obj = obj.style;
		if(v) {
			var obj2 = document.getElementById('user_id');
			if(obj2) {
				obj.display = 'block';
				obj2.focus();
			} else {
				var url = '/login/form';
				var pars = 'return_url='+login_url;
				var sObj = new Ajax.Updater(
					{success: 'login_box'},
					url,
					{
						method: 'get',
						parameters: pars
					}
				);
				obj.display = 'block';
			}
		}
		else obj.display = 'none';
	}
}
function check_login(TheForm) {
	if(TheForm.user_id.value == "") {
		alert("아이디를 입력하세요.");
		TheForm.user_id.focus();
		return false;
	}
	if(TheForm.passwd.value == "") {
		alert("비밀번호를 입력하세요.");
		TheForm.passwd.focus();
		return false;
	}

	var url = TheForm.action;
	var pars = "user_id="+TheForm.user_id.value+"&passwd="+encodeURIComponent(TheForm.passwd.value)+"&return_url="+TheForm.return_url.value;

	var sObj = new Ajax.Request(
		url,
		{
			method: 'post',
			parameters: pars,
			onComplete: _Login,
			onFailure: _FailureLogin
		}
	);

	return false;
}

function _Login(sRequest) {
	if(sRequest.responseXML) {
		var channelList = sRequest.responseXML.getElementsByTagName('channel');
		if(!channelList.length) return false;
		var title = getNodeValues(channelList[0].getElementsByTagName('title')[0]);     
		if(title == "Login Failure") {
			var desc = getNodeValues(channelList[0].getElementsByTagName('description')[0]);
			alert(desc);
			return false;
		} else if(title == "Login Success") {
			var url = getNodeValues(channelList[0].getElementsByTagName('description')[0]);
			if(url) {
				document.location.href = url;
			} else {
				document.location.reload();
			}
		}
	}
	return true;
}

function _FailureLogin(request) {
	alert('알수없는 오류가 발생했습니다.');
	return false;
}

function logout(login_url) {
	document.location.href='/login/logout/?return_url='+login_url
}

function join(mode) {
	var url = '/user/join.php';
	var pars = 'mode='+mode;
 
	var obj = document.getElementById('login_box');
	var sObj = new Ajax.Updater(
		{success: 'login_box'},
		url,
		{
			method: 'get',
			parameters: pars,
			onFailure: showJoinFailureResponse
		}
	);
	if(obj && obj.style) {
		obj = obj.style;
		obj.display = 'block';
	}
}

function check_hangul(str) {
	var len=0;
	var tmp=0;
	for(i=0; i<str.length; i++) {
		if((tmp = str.charCodeAt(i)) >= 127 || tmp < 0) {
			return 1;
		}
	}
	return 0;
}

function check_userid(str) {
	var tmp;
	if(str.length < 4) {
		alert("이용자 아이디는 4자이상 입니다.");
		return -1;
	}
	for(i=0; i<str.length; i++) {
		tmp = str.charCodeAt(i);
		if((tmp > 0x7A && tmp < 0x7F) || (tmp > 0x00 && tmp < 0x30) || (tmp > 0x3A && tmp < 0x41) || (tmp > 0x5A && tmp < 0x61)) {
			alert("이용자 아이디는 띄어쓰기 등의 특수문자는 사용하실 수 없습니다.");
			return -1;
		}
	}
	return 0;
}

function check_emailid(str) {
	var tmp;
	if(str.length < 4) {
		alert("E-Mail 아이디는 4자이상 입니다.");
		return -1;
	}
	if(check_hangul(str)) {
		alert("E-Mail 아이디는 영문/숫자만 가능합니다.");
		return -1;
	}
	for(i=0; i<str.length; i++) {
		tmp = str.charCodeAt(i);
		if((tmp > 0x7A && tmp < 0x7F) || (tmp > 0x00 && tmp < 0x30) || (tmp > 0x3A && tmp < 0x41) || (tmp > 0x5A && tmp < 0x61)) {
			alert("E-Mail 아이디는 띄어쓰기 등의 특수문자는 사용하실 수 없습니다.");
			return -1;
		}
	}
	return 0;
}

function showJoinFailureResponse(request) {
	alert('장애가 발생했습니다.');
}

function check_user_search(id,mode) {
	var inp = document.getElementById(id);
	if(inp.value == '') {
		if(mode == 'user_id') {
			alert("중복체크할 이용자 아이디를 입력하세요.");
		} else if(mode == 'email_id') {
			alert("중복체크할 E-Mail 아이디를 입력하세요.");
		}
		inp.focus();
		return false;
	}
	var url = '/user/check_dup_user.php';
	var pars = 'mode='+mode+'&id='+inp.value;

	var sObj = new Ajax.Request(
		url,
		{
			method: 'get',
			parameters: pars,
			onComplete: showIdSearchResponse,
			onFailure: showIdFailureResponse
		}
   );
}

function showIdSearchResponse(sRequest) {
	var channelList = sRequest.responseXML.getElementsByTagName('user_search_channel');
	var title = getNodeValues(channelList[0].getElementsByTagName('title')[0]);
	var mode = getNodeValues(channelList[0].getElementsByTagName('mode')[0]);
	var nodeList = sRequest.responseXML.getElementsByTagName('user_search_item');
	var chk_mode = mode+"_check";
	if(nodeList.length == 0) {
		alert("중복검사하는 도중 장애가 발생했습니다.");
		document.getElementById(chk_mode).value = '0';
		var obj = document.getElementById(mode);
		if(obj) {
			obj.focus();
			return false;
		}
	} else {
		var node = nodeList[0];
		var search = getNodeValues(node.getElementsByTagName('search')[0]);
		var desc = getNodeValues(node.getElementsByTagName('desc')[0]);
		$(chk_mode).value = search;
		var obj = $(mode);
		if(obj) {
			alert(desc);
			if(search == '0') {
				obj.value = '';
				obj.focus();
			} else {
				if(mode == 'user_id') {
					var emailid = getNodeValues(node.getElementsByTagName('email_id')[0]);
					if(emailid) {
						var obj2 = $('email_id');
						if(obj2) {
							obj2.value = emailid;
							$('email_id_check').value = '1';
							obj1 = $('name');
						}
					} else {
						var obj1 = $('email_id');
						obj1.parentNode.style.display = 'block';
					}
				} else if(mode == 'email_id') {
					var obj1 = $('name');
				}
				if(obj1) {
					obj1.focus();
				}
			}
		}
	}
}

function showIdFailureResponse(request) {
	document.getElementById('user_id_check').value = '0';
	document.getElementById('email_id_check').value = '0';
	alert('중복여부를 검색하는 도중 알수 없는 장애가 발생했습니다.');
}

function zip_search(URL) {
	window.open(URL,'_zip_search','width=450,height=400,scrollbars=yes');
}

function check_user_join(TheForm) {
	if(TheForm.user_id.value == '') {
		alert("이용자 아이디를 입력하세요.");
		TheForm.user_id.focus();
		return false;
	}
	if(check_userid(TheForm.user_id.value)) {
		TheForm.user_id.focus();
		return false;
	}
	if(TheForm.user_id_check.value != '1') {
		alert("이용자 아이디 중복체크를 반드시하세요.");
		TheForm.user_id.focus();
		return false;
	}
	if(TheForm.email_id.value == '') {
		alert("E-Mail 아이디를 입력하세요.");
		TheForm.email_id.focus();
		return false;
	}
	if(check_emailid(TheForm.email_id.value)) {
		TheForm.email_id.focus();
		return false;
	}
	if(TheForm.email_id_check.value != '1') {
		alert("E-Mail 아이디 중복체크를 반드시하세요.");
		TheForm.email_id.focus();
		return false;
	}
	if(TheForm.name.value == '') {
		alert("이름을 입력하세요.");
		TheForm.name.focus();
		return false;
	}
	if(TheForm.passwd.value == '') {
		alert("비밀번호를 입력하세요.");
		TheForm.passwd.focus();
		return false;
	}
	if(TheForm.passwd.value != TheForm.passwd_confirm.value) {
		alert("비밀번호 확인을 입력하세요.");
		TheForm.passwd_confirm.focus();
		return false;
	}
	if(TheForm.question.value == '') {
		alert("비밀번호 찾기 질문을 입력하세요.");
		TheForm.question.focus();
		return false;
	}
	if(TheForm.answer.value == '') {
		alert("비밀번호 찾기 답변을 입력하세요.");
		TheForm.answer.focus();
		return false;
	}
	var url = '/user/join.php';
	var pars = "mode=join";
	var post = "mode=join";
	for(i=0; i<TheForm.length; i++) {
		if(TheForm.elements[i].type == 'text' || TheForm.elements[i].type == 'password' || TheForm.elements[i].type == 'textarea') {
			if(TheForm.elements[i].value) {
				post += "&"+TheForm.elements[i].name+"="+TheForm.elements[i].value;
			}
		} else if(TheForm.elements[i].type == 'select-one') {
			post += "&"+TheForm.elements[i].name+"="+TheForm.elements[i].options[TheForm.elements[i].selectedIndex].value;
		} else if(TheForm.elements[i].type == 'radio' && TheForm.elements[i].checked) {
			post += "&"+TheForm.elements[i].name+"="+TheForm.elements[i].value;
		}
	}

	var sObj = new Ajax.Request(
		url,
		{
			method: 'post',
			parameters: pars,
			postBody: post,
			onComplete: showJoinResponse,
			onFailure: showJoinFailureResponse
		}
	);
}

function check_plog_join(TheForm) {
	if(TheForm.plog_id.value == '') {
		alert("풀로그 주소를 입력하세요.");
		TheForm.plog_id.focus();
		return false;
	}
	if(check_plogid(TheForm.plog_id.value)) {
		TheForm.plog_id.focus();
		return false;
	}
	if(TheForm.plog_id_check.value != '1') {
		alert("풀로그 주소 중복체크를 반드시하세요.");
		TheForm.plog_id.focus();
		return false;
	}
	if(TheForm.nick_name.value == '') {
		alert("닉네임을 입력하세요.");
		TheForm.nick_name.focus();
		return false;
	}
	if(TheForm.nick_name_check.value != '1') {
		alert("닉네임 중복체크를 반드시하세요.");
		TheForm.nick_name_id.focus();
		return false;
	}
	if(TheForm.ment.value == '') {
		alert("자기소개를 입력하세요.");
		TheForm.ment.focus();
		return false;
	}
	var url = '/user/join.php';
	var pars = "mode=plog_join_proc";
	var post = "mode=plog_join_proc&plog_id="+TheForm.plog_id.value+"&nick_name="+TheForm.nick_name.value+"&ment="+TheForm.ment.value;

	var sObj = new Ajax.Request(
		url,
		{
			method: 'post',
			parameters: pars,
			postBody: post,
			onComplete: showPlogJoinResponse,
			onFailure: showJoinFailureResponse
		}
	);
}

function showJoinResponse(sRequest) {
	if(sRequest.responseXML) {
		var channelList = sRequest.responseXML.getElementsByTagName('plog_error_channel');
		if(channelList.length) {
			var title = getNodeValues(channelList[0].getElementsByTagName('title')[0]);
			var desc = getNodeValues(channelList[0].getElementsByTagName('desc')[0]);
			alert(desc);
		} else if (sRequest.responseText) {
			var obj = $('login_box');
			if(obj) {
				obj.update(sRequest.responseText);
			}
			logout_navigation();
		}
	} else if (sRequest.responseText) {
		var obj = $('login_box');
		if(obj) {
			obj.update(sRequest.responseText);
		}
		logout_navigation();
	}
}

function showPlogFailureResponse(request) {
	document.getElementById('plog_id_check').value = '0';
	document.getElementById('nick_name_check').value = '0';
	alert('중복여부를 검색하는 도중 알수 없는 장애가 발생했습니다.');
}

function login_navigation() {
	var obj = $('login_navi');
	obj.setAttribute('className','login');
	var a = obj.getElementsByTagName('a');
	a.setAttribute('href','javascript://');
	a.onclick = _go_login(1);
	a.innerHTML = '로그인';
}

function logout_navigation() {
	var obj = $('login_navi');
	obj.setAttribute('className','logout');
	var a = obj.getElementsByTagName('a')[0];
	if(a) {
		a.setAttribute('href','/logout.php');
		a.onclick= function () {
		}
		a.innerHTML = '로그아웃';
	}
}

function plog_joinned_navigation() {
	var obj = $('nav_join');
	if(obj) {
		obj.innerHTML = "";
	}
}





//진보 메뉴 팝 //
function popmenu(a){
	var obj = document.getElementById('jinbomenu_box');
	obj = obj.style;
	v = obj.display
	var li = a.parentNode;
	if(!v || v == 'none') {
		obj.display='block';
		li.setAttribute("className","jinbomenu_");
		li.setAttribute("class","jinbomenu_");
	}
	else {
		obj.display='none';
		li.setAttribute("className","jinbomenu");
		li.setAttribute("class","jinbomenu");
	}
}

function check_search(TheForm) {
	if(TheForm.search.value == "") {
		alert("검색어를 입력하세요.");
		TheForm.search.focus();
		return false;
	}
	return true;
}

function find_passwd(URL) {
	window.open(URL,'_j_find_passwd','width=400,height=260,scrollbars=no');
}

function getNodeValues(node) {
	var childs = node.childNodes;
	for(var i=0; i<childs.length; ++i) {
		if(childs[i].nodeType == 3 || childs[i].nodeType == 4) {
			return trim(childs[i].data);
		}
	}
}
 
function trim(s) {
	s += '';
	return s.replace(/^\s*|\s*$/g, '');
}
