var member = {};

var title = "";
var link = "";
var rssUrl = "";

//Event.observe(window, 'load', function(){
//	$('blogInfoDiv').hide();
////	$('blogUpdateDiv').hide();
//});

member.blogAdd = function(){
	$('ajaxLoadingSpanBlog').update('<img id="pwLoadingImage" src = "/mbnweb/image/common/ajax-submit-loader.gif"/>');
	
	var blogUrl = $('blogAdd').value;
	
	if (blogUrl == "") {
		alert("블로그 주소를 입력해 주세요");
		$('ajaxLoadingSpanBlog').update('<input name="find" style=" cursor:pointer;" type="button" class="brown_but" id="blog" onclick="javascript:member.blogAdd()" value="등  록" />');
	} else {
		var myAjax = new Ajax.Request(
			Constants.CONTEXT_NAME + '/member/blogCh.do', {
			method: 'post',
			encoding: "utf-8",
			parameters: {
				blogUrl: encodeURIComponent(blogUrl)
			},
			onLoaded: function(){
			//					alert("Call Ajax Http Request");					
			},
			onComplete: member.tabResponse,
			onFailure: function(e){	
				return alert("member_join.js error HTTPRequest Err:" + e);
			}
		});
	}	
}

member.tabResponse = function(hxr){
	$('ajaxLoadingSpanBlog').update('<input name="find" style=" cursor:pointer;" type="button" class="brown_but" id="blog" onclick="javascript:member.blogAdd()" value="등  록" />');
	
	var result = hxr.responseText.evalJSON(true);

	//1 : success 0 : fail
	if(result.result > 0){
		$('blogInfoDiv').show();
		
		title = result.title;
		link = result.link;
		rssUrl = result.rssUrl;
		
		$('blogUpdateDiv_title').value = title;
		$('blogUpdateDiv_link').value = link;
		$('blogUpdateDiv_rssUrl').value = rssUrl;
		
	}else{
		alert("등록되어있는 주소 이거나 형식이 잘못되었습니다.");
	}
}

member.blogUpdateDiv = function(){
	var infoElement = $('updateInfo').cumulativeOffset();

	var pos_letf = infoElement[0] - 50;
	var pos_top = infoElement[1];
	
	var div =$('blogUpdateDiv');
	div.show();
	div.setStyle({left: (infoElement[0] - 300) +"px", top: infoElement[1]+"px"});
		
	$('blogUpdateDiv_title').value = title;
	$('blogUpdateDiv_link').value = link;
	$('blogUpdateDiv_rssUrl').value = rssUrl;
}

member.blogUpdate = function(){
	var div =$('blogUpdateDiv');
	div.hide();
	
	title_tmp = $('blogUpdateDiv_title').value;
	link_tmp = $('blogUpdateDiv_link').value;
	rssUrl_tmp = $('blogUpdateDiv_rssUrl').value;
	
	if (link_tmp != link || rssUrl_tmp != rssUrl) {
		if (link_tmp != link) {
			var blogUrl = link_tmp;
			member.updateAjax(blogUrl);
		}else {
			var blogUrl = rssUrl_tmp;
			member.updateAjax(blogUrl);
		}
		
	}
	
}

member.updateAjax = function(blogUrl){
	var myAjax = new Ajax.Request( 
		Constants.CONTEXT_NAME + '/member/blogCh.do', 
		{
			method: 'post', 
			encoding: "utf-8",
			parameters: {
				blogUrl: encodeURIComponent(blogUrl)
			}, 
			onLoaded: function () {
//					alert("Call Ajax Http Request");					
			}, 
			onComplete: function(xhr){
				var result = xhr.responseText.evalJSON(true);
				//1 : success 0 : fail
				
				if(result.result > 0){
					title = result.title;
					link = result.link;
					rssUrl = result.rssUrl;
					
					var blogInfo = "1. 블로그명 : "+title+"<br>"+
					"2. 블로그주소 : "+link+"<br>"+
					"3. RSS 주소 : "+rssUrl;
					$('blogInfo').innerHTML = blogInfo;
				}else{
					alert("등록되어있는 주소 이거나 형식이 잘못되었습니다.");
				}
			},
			onFailure: function (e) {
				return alert("member_join.js error HTTPRequest Err:" + e);
			}
		} 
	);
}

member.submit = function(){
	$('ajaxLoadingSpan').update('<img id="pwLoadingImage" src = "/mbnweb/image/common/ajax-submit-loader.gif"/>');
	var form = $('memberForm');
	
	$('hidden_title').value = title;
	$('hidden_link').value = link;
	$('hidden_rssUrl').value = rssUrl;
	
	var joinId_id = $('joinId_id').value;
	var joinPw_id = $('joinPw_id').value;
	var hidden_title = $('blogUpdateDiv_title').value;
	var hidden_link = $('blogUpdateDiv_link').value;
	var hidden_rssUrl = $('blogUpdateDiv_rssUrl').value;
	
	if(member.passwdCheck() && member.idCheck() && member.rePassCheck()){
		var url = Constants.CONTEXT_NAME + '/member/add.do'
		var myAjax = new Ajax.Request( 
			url, 
			{
				method: 'post', 
				encoding: "utf-8",
				parameters: {
					joinId_id: encodeURIComponent(joinId_id),
					joinPw_id: encodeURIComponent(joinPw_id),
					hidden_title: encodeURIComponent(hidden_title),
					hidden_link: encodeURIComponent(hidden_link),
					hidden_rssUrl: encodeURIComponent(hidden_rssUrl)
				}, 
				onComplete: function(xhr){
					var xhr_result = xhr.responseText.evalJSON(true);
					var result = xhr_result.result;
					if(result == 0){
						alert("회원가입에 실패 하였습니다. 다시 시도해 주세요");
						$('ajaxLoadingSpan').update('<input name="find" style=" cursor:pointer;" type="button" class="brown_but" id="blog" onclick="javascript:member.blogAdd()" value="등  록" />');
					}else{
						Util.PopUp.open(Constants.CONTEXT_NAME + '/member/member_join_text.do', 402, 202);
					}
				}
			} 
		);
		
	}
}


member.passwdCheck = function(){
	if($('joinPw_id').value == ""){
		
		alert("패쓰워드 를 입력해주세요");
		$('ajaxLoadingSpan').update('<input name="button" type="button" onclick="javascript:member.submit()" class="blue_but" id="submitButton" value="작성완료" style="margin-right:10px; cursor:pointer;"/>');
		return false;
	}else if(6 > $('joinPw_id').value.length || $('joinPw_id').value.length > 12){
		alert("패쓰워드는 6 ~ 12 자 사이여야 합니다.");
		$('ajaxLoadingSpan').update('<input name="button" type="button" onclick="javascript:member.submit()" class="blue_but" id="submitButton" value="작성완료" style="margin-right:10px; cursor:pointer;"/>');
		return false;
	}else if(/[a-zA-Z]/.test($('joinPw_id').value)){
		     
        if(/[0-9]/.test($('joinPw_id').value)){
            return true;
        }else{
            alert('비밀번호는 6~12자 영문과숫자가 조합되어야합니다.');
			$('ajaxLoadingSpan').update('<input name="button" type="button" onclick="javascript:member.submit()" class="blue_but" id="submitButton" value="작성완료" style="margin-right:10px; cursor:pointer;"/>');
            return false;
        }

    }else{
        alert('비밀번호는 6~12자 영문과숫자가 조합되어야합니다.');
		$('ajaxLoadingSpan').update('<input name="button" type="button" onclick="javascript:member.submit()" class="blue_but" id="submitButton" value="작성완료" style="margin-right:10px; cursor:pointer;"/>');
        return false;
       
    }
	return true;
}

member.idCheck = function(){
	if($('joinId_id').value == ""){
		alert("아이디를 입력해 주세요");
		$('ajaxLoadingSpan').update('<input name="button" type="button" onclick="javascript:member.submit()" class="blue_but" id="submitButton" value="작성완료" style="margin-right:10px; cursor:pointer;"/>');
		return false;
	}
	return true;
}

member.rePassCheck = function(){
	if($('joinPwCheck_id').value == ""){
		alert("패쓰워드 확인 작업을 해주세요");
		$('ajaxLoadingSpan').update('<input name="button" type="button" onclick="javascript:member.submit()" class="blue_but" id="submitButton" value="작성완료" style="margin-right:10px; cursor:pointer;"/>');
		return false;
	}
	return true;
}

/**
 * 이메일 유효성 검사
 * @param {Object} value
 */
member.isValidEmail = function (value) {
	if (value.blank()) {
		alert('이메일을 입력해 주세요.');
		$('ajaxLoadingSpan').update('<input name="button" type="button" onclick="javascript:member.submit()" class="blue_but" id="submitButton" value="작성완료" style="margin-right:10px; cursor:pointer;"/>');
		return false;
	}
	var regex=/^\s*[\w\~\-\.]+\@[\w\~\-]+(\.[\w\~\-]+)+\s*$/g;
	if (value.match(regex) != value) {		
		alert('이메일 형식이 잘못되었습니다.');
		$('joinId_id').value="";
		$('ajaxLoadingSpan').update('<input name="button" type="button" onclick="javascript:member.submit()" class="blue_but" id="submitButton" value="작성완료" style="margin-right:10px; cursor:pointer;"/>');
		return false;
	}
	return true;
}

member.emailCheck = function(e){
	if(member.isValidEmail(e.value)){
		var myAjax = new Ajax.Request( 
		Constants.CONTEXT_NAME + '/member/emailCh.do', 
		{
			method: 'post', 
			encoding: "utf-8",
			parameters: {
				email: encodeURIComponent(e.value)
			}, 
			onLoaded: function () {
//					alert("Call Ajax Http Request");					
			}, 
			onComplete: function(xhr){
				var result = xhr.responseText.evalJSON(true);
				//1 : success 0 : fail
				
				if(result.result > 0){
					alert("등록되어있는 이메일 입니다.");
					$('joinId_id').value = '';
					$('ajaxLoadingSpan').update('<input name="button" type="button" onclick="javascript:member.submit()" class="blue_but" id="submitButton" value="작성완료" style="margin-right:10px; cursor:pointer;"/>');
				}else{
				
				}
			},
			onFailure: function (e) {
				return alert("member_join.js error HTTPRequest Err:" + e);
			}
		} 
	);
	}
}

member.pwCheck = function(e){
	var pw_check_first = $('joinPw_id').value;
	var pw_check_next = e.value;
	
	if(pw_check_first != pw_check_next){
		alert('비밀번호가 일치 하지 않습니다.');
		$('ajaxLoadingSpan').update('<input name="button" type="button" onclick="javascript:member.submit()" class="blue_but" id="submitButton" value="작성완료" style="margin-right:10px; cursor:pointer;"/>');
		
		setTimeout(function(){
	   		$('joinPw_id').focus();
	   	});
	}
}

member.blogCancel = function(){
	$('blogUpdateDiv_title').value = "";
	$('blogUpdateDiv_link').value = "";
	$('blogUpdateDiv_rssUrl').value = "";
	$('blogAdd').value = "";
	
	$('blogInfoDiv').hide();
}

