/***
 * 페이지와 관련된 함수 정의
 *
 * page 변수는 rd.page 에서 접근가능하도록 설정하여 외부에서도 조작이 가능한 데이터는 page 변수 아래에 둔다
 * 모든 기능을 page 외부에서 조작이 가능하지 않도록 public, private 를 고려하여 개발해야함
 *
 * init 함수를 통해 흐름이 모두 보일 수 있도록 처리해야 함
 */
(function() {
	
	var _page = rd.object.createNestedObject(window, 'rd.page');
	
	var init = function() {
		
		// 이벤트 바인딩
		bindMajorForm();
		
		// 저장된 아이디 노출
		setRememberedUsername();
	};

	/** 이벤트 바인딩 */
	var bindMajorForm = function() {
		
		/* 로그인 버튼 이벤트 */
		$('#loginBtn').on('click', function(e){
			e.preventDefault();
			
			rd.login();
		});
		
		/* enter submit */
		$('input[name=password],input[name=username]').on('keypress', function(e) {
			
			if (e.keyCode == 13)
				rd.login();
		});
	};
	
	/** 저장된 아이디 노출 */
	var setRememberedUsername = function() {
		
		// 쿠키에 저장된 username 조회한다.
		var username = rd.util.cookie.get('MB_REMEMBER_USERNAME');
		
		if (!rd.util.text.isBlank(username)) {
			// 아이디 자동 세팅
			$('input[name=username]').val(username);
			// 아이디 저장 체크박스 설정
			$('#rememberUsername').prop('checked', true);
		}
	}
	
	/** capslock 경고 문구 출력 */
	_page.capslock = function(e) {
		
		var keyCode = 0;
	    var shirftKey = false;
	    keyCode = e.keyCode;
	    shiftKey = e.shiftKey;

	    if(((keyCode >= 65 && keyCode <90) && !shiftKey) || ((keyCode >= 97 && keyCode <= 112) && shiftKey)){
	        $('#capslockMsg').show();
	    }else{
	        $('#capslockMsg').hide();
	    }
	}
	
	/**
	 * DOM 초기화시 실행
	 */
	$(function(){
		init();
	})
})();
