/**
 * startup function
 */

$(function(){
	
	var loginData = {};
	
	var cookieName = 'eneken_login_check';
	var cookieKeys = ['name', 'user_division'];
	
	var loginFlag = $.cookie(makeCookieName('login_flag'));
	
	if (loginFlag == null) {
		loadXml();
	} else {
		makeDataFromCookie();
		updatePage();
	}
	
	function updatePage() {
		
		var message = '';
		var member_flag = false;
		
		if (loginData.loginFlag) {
		
			var userStr = loginData.user_division.replace(/\[[^]]+\]/, '');
			
			message = 'こんにちは、' + loginData.name + 'さん。' + userStr + 'としてログインしています。';
			
			if (loginData.user_division.match('/セミナー/') == null) {
				member_flag = true;
			}
			$(".login-block").css("display", "block");
			
		} else {
			var loginLink = '/login.php' + getLocationStr();
			var loginLinkStr = '<a href="' + loginLink + '">ログイン</a>';
			
			message = '会員メニューを表示するには' + loginLinkStr + 'してください。新規登録は<a href="/registration/">こちら</a>。';
			$("a.login-link").attr("href", loginLink);
			$(".logout-block").css("display", "block");
		}
		
		$("#login-message").html(message);
		
		if (member_flag) {
			$(".member-block").css("display", "block");
		} else {
			$(".non-member-block").css("display", "block");
		}
	}
	
	function loadXml() {
		$.ajax({
			type: "GET",
			url: "/login_check.php",
			dataType: "xml",
			success: xmlLoaded
		});
	}
	
	function xmlLoaded(xml) {
		makeDataFromXml(xml);
		updatePage();
	}
	
	function makeDataFromXml(xml) {
		
		loginData.loginFlag = $(xml).find("item").find("login_flag").text();
		loginData.loginFlag = parseInt(loginData.loginFlag);
		
		var num = cookieKeys.length;
		for (var i = 0; i < num; i++) {
			var key = cookieKeys[i];
			loginData[key] = $(xml).find("item").find(key).text();
		}
	}
	
	function makeDataFromCookie() {
	
		loginData.loginFlag = $.cookie(makeCookieName('login_flag'));
		loginData.loginFlag = parseInt(loginData.loginFlag);
		
		var num = cookieKeys.length;
		for (var i = 0; i < num; i++) {
			var key = cookieKeys[i];
			loginData[key] = $.cookie(makeCookieName(key));
		}
	}
	
	function makeCookieName(str) {
		return cookieName + '__' + str;
	}
	
	function getLocationStr() {
		
		if (typeof(encodeURIComponent) == 'function') {
			return '?url=' + encodeURIComponent(location.pathname + location.search);
		} else {
			return '';
		}
	}
	
})
