;angularApp.controller("cUserLogin", function($rootScope, $scope, $cookies, $http, $window, $location) {
	const vm = this;
	vm.common = $rootScope.common;
	vm.event = {
		init() {
			if(vm.common.is_login) $location.path("/");
			vm.el = {};
			vm.params = {passwordType: "password", rememberMeData: $cookies.getObject('rememberMe')};
			vm.form = {};
			if(vm.params.rememberMeData && vm.params.rememberMeData.value) {
				vm.params.rememberMe = true;
				vm.form.id = vm.params.rememberMeData.value;
			};
		},
		passwordType() {
			if(vm.params.passwordType == "password") vm.params.passwordType = "text";
			else vm.params.passwordType = "password";
		},
		rememberMe() {
			if(vm.params.rememberMe) {
				const today = new Date();
				$cookies.putObject('rememberMe', {value: vm.form.id}, {expires: new Date(today.getFullYear(), today.getMonth() + 1, today.getDate())});
			} else $cookies.remove('rememberMe');
		},
		login() {
			vm.event.rememberMe();
			vm.params.progressLogin = true;
			$http.post("/common/request/login", vm.form, {responseType: "json"}).then(r => {
				if(r.data.status == "success") {
					vm.common.is_login = true;
					$location.path("/");
				} else if(r.data.message) alert(r.data.message);
				else alert("예기치 못한 오류가 발생하였습니다.");
				vm.params.progressLogin = false;
			}, console.log);
		},
		idEnter(e) {
			if(e.keyCode == 13) {
				$window.document.getElementById('input-password').focus();
			};
		},
		passwordEnter(e) {
			if(e.keyCode == 13) {
				vm.event.login();
			};
		},
		naverLoginPopup() {
			const params = {type: "naverLogin"};
			$http.post("/common/request/token", params, {responseType: "json"}).then(r => {
				if(r.data.status == "success") {
					let url = "https://nid.naver.com/oauth2.0/authorize?response_type=code";
					url += "&client_id=" + encodeURIComponent("A6Bdv_jlngnjrZPOiD6U");
					url += "&state=" + encodeURIComponent(r.data.params);
					url += "&redirect_uri=" + encodeURIComponent("https://default.ls-com.com/common/login/naver");
					// $window.location.href = url;
					$window.open(url, "socialLogin", "width=490,height=540");
				};
			}, console.log);
		},
		kakaoLoginPopup() {
			const params = {type: "kakaoLogin"};
			$http.post("/common/request/token", params, {responseType: "json"}).then(r => {
				if(r.data.status == "success") {
					let url = "https://kauth.kakao.com/oauth/authorize?response_type=code";
					url += "&client_id=" + encodeURIComponent("6fab4c961f7915acc5788e13f75e2c78");
					url += "&state=" + encodeURIComponent(r.data.params);
					url += "&redirect_uri=" + encodeURIComponent("https://default.ls-com.com/common/login/kakao");
					// $window.location.href = url;
					$window.open(url, "socialLogin", "width=490,height=540");
				};
			}, console.log);
		}
	};vm.event.init();

	$scope.$watch("vm.params.rememberMe", (nv) => {
		if(angular.isUndefined(nv)) return;
		if(!nv) vm.event.rememberMe();
	});
});